Skip to content
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

'Stacking' on the windows taskbar mixing in with 'normal' cmd.com prompts. #260

Closed
ciaranj opened this issue Jul 31, 2015 · 15 comments
Closed

Comments

@ciaranj
Copy link

ciaranj commented Jul 31, 2015

GitForWindows (cmd.com mode) 'stacks' in with 'other' cmd.com windows on the windows taskbar (on server 2012 but happens across all windows that support the stackable tab thingies.)

Is this 'just the way it hast to be' now?, or is it something someone could point me in the direction of looking at how to fix it :/ I did try hunting around google to see how windows determines what windows should be stacked and which shouldn't but failed to find anything definitive (my initial guess would've been by process name but that appears not to be the case!)

@elieux
Copy link

elieux commented Jul 31, 2015

There's an ID associated to every taskbar icon and to every process (or is it per-window?). Matching ID's get grouped together. The ID is usually determined automatically by Windows (from the process name, executable path and/or other factors), but can be programatically set under some conditions.

I'm not sure if it's possible to change this ID for a Command Prompt window, but I just tested an Azure SDK cmd window and it seems to somehow not group with other cmd windows, so I'm hopeful.

Use Taskbar Inspector to look at the ID's.

@ciaranj
Copy link
Author

ciaranj commented Jul 31, 2015

Yeah, so git-bash (my pinned icon) gets one guid (cut'n'paste from taskbar inspector does not work sadly), all the git-bash launched command windows get a different (but shared amongst themselves) guid, and visual studio command prompts get another (but also shared amongst themselves guid).. I'll take a look at how visual studio prompts get launched to see if I can find a clue there.

@ciaranj
Copy link
Author

ciaranj commented Jul 31, 2015

right, so this https://msdn.microsoft.com/en-us/library/dd378459(VS.85).aspx is what I needed to know previously ;)

@ciaranj
Copy link
Author

ciaranj commented Jul 31, 2015

Best guess is we should? Call https://msdn.microsoft.com/en-us/library/dd378422(v=vs.85).aspx (SetCurrentProcessExplicitAppUserModelID ) in this scenario .. I'm going to try (again) to get the git sdk working for me locally

@ciaranj
Copy link
Author

ciaranj commented Jul 31, 2015

Hmm, sidenote, I fear I may have duped a closed bug #248

@ciaranj
Copy link
Author

ciaranj commented Jul 31, 2015

sigh once again I've failed. The new SDK installer works a treat (yay!) and I was able to patch 'git-wrapper.c' and make install it, then I was able to checkout build-extra and create an installer (that worked, double yay!)

However I'm completely unsure if my change has made it into git-bash.exe. I can't see where git-wrapper.exe 'changes/evolves/relates-to' git-bash.exe .. :(

@nalla
Copy link

nalla commented Jul 31, 2015

It is part of the mingw-w64-git package. There in the PKGBUILD git-bash.exe is getting compiled and installed into the package.

That package is then being picked up by the installer. To be precise, the files listed as being part of that package.

See https://github.com/git-for-windows/MINGW-packages/blob/master/mingw-w64-git/PKGBUILD for details.

You'll see that PKGBUILD will install the files in the line install -m755 git-bash.exe git-cmd.exe $pkgdir. $pkgdir is representing the root directory of the targeting file system. So if your overwrite the git-cmd.exe and git-bash.exe residing in /c/path/to/sdk they should be picked up by the installer script.

@ciaranj
Copy link
Author

ciaranj commented Jul 31, 2015

I'm not sure I explained myself well :/ If I want to change the git-bash.exe and test those changes, is it sufficient for me to edit git-wrapper.c then do a make install, then make an installer, then use the installer (ideally is there a less circuitous set of steps I can follow ? :)

@nalla
Copy link

nalla commented Jul 31, 2015

To answer you question: No, it is not sufficient.

If - however - you follow my instructions roughly outlined in my previous comment. Especially that part about compiling and replacing the git-bash.exe and git-cmd.exe you can archive what you want.

$ cd /usr/src/MINGW-packages/mingw-w64-git
$ windres -O coff git-bash.rc -o git-bash.res
$ gcc -mwindows -s -O2 -Wall -o git-bash.exe git-bash.res ../../git/compat/win32/git-wrapper.o ../../git/git.res -lshlwapi
$ cp git-bash.exe /

@ciaranj
Copy link
Author

ciaranj commented Jul 31, 2015

thank you, that's what I needed to know :)

@ciaranj
Copy link
Author

ciaranj commented Jul 31, 2015

However, now I'm doubly confused. When I use the approach outlined above I end up with a git-bash.exe that is 136Kb (as opposed to the 28Kb exe I get from the installer)... and it appears to stack separately from the common.com windows ?!?!

@dscho
Copy link
Member

dscho commented Aug 12, 2015

@ciaranj the package contains stripped binaries. Not what you want for debugging.

@dscho
Copy link
Member

dscho commented Aug 14, 2015

After working on #263 for a substantial amount of time, I am convinced that this ticket will be addressed by said ticket. As things have progressed further than here in the other ticket, I close this one.

@dscho dscho closed this as completed Aug 14, 2015
@ciaranj
Copy link
Author

ciaranj commented Aug 14, 2015

Seems likely, I'd completely missed #167 (only skimmed the title I guess) this is clearly a dupe of that (and of #263) sorry :(

@dscho
Copy link
Member

dscho commented Aug 15, 2015

@ciaranj there is no need to be sorry. The good news is that it looks like this issue will be finally addressed soon!

jeffhostetler added a commit to jeffhostetler/git that referenced this issue Apr 20, 2020
…e-status-deserialize-v226

status: fix crash in `git status --deserialize --verbose` (based on v2.26)
jeffhostetler pushed a commit to jeffhostetler/git that referenced this issue Jun 3, 2020
Includes these pull requests:

	#1
	#6
	#10
	#11
	git-for-windows#157
	git-for-windows#212
	git-for-windows#260
	git-for-windows#270

Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
jeffhostetler pushed a commit to jeffhostetler/git that referenced this issue May 14, 2021
Includes these pull requests:

	#1
	#6
	#10
	#11
	git-for-windows#157
	git-for-windows#212
	git-for-windows#260
	git-for-windows#270

Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
jeffhostetler pushed a commit to jeffhostetler/git that referenced this issue Jun 21, 2021
Includes these pull requests:

	#1
	#6
	#10
	#11
	git-for-windows#157
	git-for-windows#212
	git-for-windows#260
	git-for-windows#270

Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
jeffhostetler pushed a commit to jeffhostetler/git that referenced this issue Aug 18, 2021
Includes these pull requests:

	#1
	#6
	#10
	#11
	git-for-windows#157
	git-for-windows#212
	git-for-windows#260
	git-for-windows#270

Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
mjcheetham pushed a commit to mjcheetham/git that referenced this issue Jun 16, 2022
mjcheetham pushed a commit to mjcheetham/git that referenced this issue Jul 23, 2024
mjcheetham pushed a commit to mjcheetham/git that referenced this issue Jan 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants