-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Taskbar icon after pinning the program reverts to default ConEmu icon. Systray icon is always ConEmu's. #154
Comments
Windows 7, 8, 8.1? |
I am sorry for not specifying it earlier: it's Windows 7. |
Does this in Win8x64 as well. |
Could you provide a screenshot, I can't seem to reproduce it. Thanks. |
Can you confirm you are using Version 1.1.3 (https://github.com/bliker/cmder/releases/tag/v1.1.3) or 1.1.4? |
1.1.3, just downloaded it this morning. |
The executable launcher in 1.1.4 fixes this problem. (The problem is caused by the fact that the old launcher was just a batch file that started the ConEmu executable, so it was that executable that got pinned. With a real executable launcher, the proper thing gets pinned.) |
That seems strange to me. 1.1.3 does have a "true" launcher in that it is a real executable launcher (Cmder.exe), and there are no batch files -- except for setting aliases and environment details. Have all the steps I mentioned been tested with the upcoming 1.1.4 version? (Also, when should its binaries be available?) |
That'll teach me to comment without double checking the numbers. I was thinking of 1.1.2 which is the last version with the batch scripts. This works perfectly for me in 1.1.3. |
@dcominottim You can also try the modified launcher that I built for #159, and see if you still have a problem using that one. You can get just that file from https://github.com/kohenkatz/cmder/raw/fix-context-menu/Cmder.exe |
This problem still persists on latest Windows 8.1. I'm using the modified launcher built for #159 - still happening. |
And this is not the only problem. It's even worse: After pinning, and exiting Cmder... if you click the pinned icon (which is the ConEmu's one) then ConEmu is launched, instead of Cmder. |
I am having the same issue that @DEVTIME is having on Windows 8.1. If the Cmder.exe is pinned, it spawns new windows for ConEmu. If you pin the running task, it pins ConEmu rather than Cmder, losing all the awesomeness of Cmder. |
I have two Windows 8.1 computers, and this works properly on one of them but not the other. I will try to see if I can compare them and figure out the difference. |
When I first posted about this issue, I was using Windows 7 Professional x64; but it has always been reproducible on my Windows 8/8.1 Pro x64 installation, too (even with the launcher from #159). |
If I pin the launcher, and click on it, I'll get a new window. This is Windows 8.1 x64 (using 1.1.3, and also the launcher from #159). |
Looking at the source of the launcher it looks like it's doing the right thing. Meh, I don't have time to debug this right now... |
@MartiUK I've not used the taskbar management APIs recently, so my memory is kinda hazy; but in the launcher shouldn't the AppID be retrieved using GetCurrentProcessExplicitAppUserModelID instead of the current exe path? [edit: MSDN says that this only works if an explicit ID was set beforehand, and that there's no way to retrieve the system-assigned ID. possibly this is not working because my system has assigned some other ID to the launcher?] |
@lowjoel From what I understand, Conemu retrieves the icon and config through CreateProcess. The STARTUPINFO and PROCESS_INFORMATION is passed through this as well. This hasn't changed since it was first commited by @austinwagner so using the launcher from #159 shouldn't have broken this. I'll have to look into why this is not working for some, I think it may be something to do with https://github.com/bliker/cmder/blob/master/launcher/src/CmderLauncher.cpp#L13 |
@MartiUK hope you make progress on this... I'll see if I can somehow debug this too. Thing is, both the released version and the pre-release fix version doesn't work in this manner. |
@MartiUK I've found the culprit. This problem manifests because we are reverse-engineering Microsoft's AppID generation technique. Pinning EXE's generally result in the path stored as the AppID, but when the program pinned is in the Program Files folder, the KnownFolderID is used instead. Launcher is a 32-bit app, so placing it in Program Files (x86) on a x64 Windows install will use the 32-bit known folder ID. I have a patch which substitutes the path with Known Folder IDs. But if Cmder is put in the 64-bit Program Files folder on a x64 Windows install the same problem will manifest. Because to the 32-bit app, the 64-bit Program Files directory isn't special. If I place Cmder in my user profile, with my patch, it'll break once again, because apparently Explorer doesn't substitute my user profile path with the Known Folder ID... I'll push a patch which fixes the Program Files problem. We need a better way of fixing this however. |
@kohenkatz Can you do a taskbar inspection and share with us your findings? This fixes it on both my computers (I use the one with 7+ Taskbar Tweaker) |
Here are my findings:
The only other place that I can find this GUID is in the Shortcut that was created when I did "Pin to Start" - it appears that dragging the program from Explorer just gets a copy of that shortcut. Dumping the Unpinning Cmder from the Start Screen, pinning it to the Taskbar, and then repinning it to the Start Screen has solved my problem. |
@jacobch, your solution works!! I'm using Windows 8.1 64 bits. =) |
@Stanzilla Why was this closed? It's still an issue. Non of the above worked for me. I'm on Window 10 |
@RDugan23 I tested it on Win10 and it works. You have to right click cmder.exe in the cmder folder and pin it. then works fine, stays as one (the correct) icon. This is was with the development branch code. If you want to test a build, get this one https://github.com/Stanzilla/cmder/releases/tag/1.2.6 |
@Stanzilla Thank you for your help. Using your build I was able to get it working. One change I had to make, though, was with the vendor/init.bat file. Using the bat file that came with your build the 'ls' command wouldn't work. I had to revert that file back to my old version and the 'ls' command began working again. Let me know if you want more info. Again, thank you for all of your hard work and your help! :) |
still have the same problem that mentioned by other people on Windows 10. |
@Stanzilla Somehow I messed things up so I did a fresh install with you latest build and everything seems to be working now. I don't know what I did wrong last time. Thanks again for your help. |
Sounds great :) |
How will this work in the new release, where - as I can see - there is no cmder.exe, but Cmder.bat which launches ConEmu.exe, and I don't see a way of that not appearing as a separate icon on the task bar? Does anyone have a solution? |
Sorry, I just saw this was closed. Anyway, the question is still valid. |
@winston01 I'm not sure where you got the idea that the new release has no |
@kohenkatz I was testing the development branch and that one does not build the executable. |
@winston01 you have to compile the executable yourself when you are on the development branch. Look in the |
@kohenkatz Thx for you help, I have the Cmder.exe now! |
Sadly none of the above worked for me too, on Windows 10 x64, but I figure out one myself.
|
@ksubileau Oops! I missed it :) |
I found another fix for this. Right-click Cmder.exe and then Pin to Start. Then find it in the Start Menu and right-click it and Pin to Taskbar. |
@mikesigs thank you so very much. Your 'fix' worked wonderfully. |
You can also create shortcut on the desktop and then "Pin to taskbar" |
The above tricks do not work if there is no running cmder instance and launching "cmd" from the run dialog (cmder is my default terminal) |
This issue is still present on Windows 10 |
On Windows 10 Pro I just right click on cmder.exe and choose pin to taskbar. Just it! Now work like a charm :-) |
I repro this issue on Windows 10 Pro Version 1803 OS build 17134.345. |
Solution.
|
Before you do this, make sure you've deleted any previous "pin to start" shortcut:
Now if you follow the steps from @lawweiliang it works. |
First of all, congratulations on your great customization and integration work! Cmder is a true visual joy. :-) As for the report, the issue can be easily reproduced just by 1) launching Cmder, right-clicking its icon on the taskbar, and choosing "Pin this program...", and 2) looking also at the systray icons.
The text was updated successfully, but these errors were encountered: