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

Show all alt tab windows on Shift #384

Merged
merged 7 commits into from
Mar 12, 2023

Conversation

mbartlett21
Copy link
Contributor

This will show all the windows over all screens, and when one is selected that isn't on the current screen it will be brought to the current screen.

Also, without shift being held down, it will now show windows that are off-screen, but closest to the current monitor. This will probably cause the problems with VirtualWin from #298 (comment) to reappear.
I'm not sure of a way to prevent it from showing VirtualWin's windows without stopping it showing any windows that are off-screen, other than having it configurable as an option in the settings.

@RamonUnch
Copy link
Owner

RamonUnch commented Mar 11, 2023

Thanks a lot for your contribution, however, I think it would be better to just create a new action such as AC_ALTTBAFULLLIST.
Also an extra parameter should be set to TrackMenuOfWindows() to indicate if we want or not to move the window to pointed monitor and you could create a new function named MoveToCurrentMoniterIfNeeded() or something, just for clarity.

EDIT:
Actually for the second parameter of TrackMenuOfWindows() we should use flags:

#define TRK_LASERMODE (1<<0)
#define TRK_MOVETOMONITOR (1<<1)

@RamonUnch
Copy link
Owner

I agree that a global setting makes sense for the Move to the current monitor setting this can apply to all list of windows but it actually makes a difference only for this AltTabFullList action so for now it is not needed.

@mbartlett21
Copy link
Contributor Author

This was just what I have been running with for the past couple of months (just rebased on top of a recent commit).

I was saying about a global setting for whether to show windows that are off-screen completely (which appears to be how VirtualWin works)

@mbartlett21 mbartlett21 force-pushed the alttablist-multiscreen branch 2 times, most recently from cfa945c to f14eebf Compare March 11, 2023 12:07
@mbartlett21 mbartlett21 force-pushed the alttablist-multiscreen branch from f14eebf to b73f16c Compare March 11, 2023 12:13
@mbartlett21
Copy link
Contributor Author

I've just redone the AltTabFullList to be a separate action and added the flag options to TrackMenuOfWindows.

@RamonUnch
Copy link
Owner

Wow that is quite nice indeed.

@mbartlett21
Copy link
Contributor Author

I've added an option for IgnoreOffscreenWindows and fixed the list to include minimized windows again.

To test it you can add this to your ini file: (I haven't added it there because Github doesn't like showing differences well at all)

[Advanced]
IgnoreOffscreenWindows=0
; If set to 1, both AltTabList and AltTabFullList will no longer show
; windows that are off-screen.

@RamonUnch
Copy link
Owner

RamonUnch commented Mar 11, 2023

Perfect, Just the last change I would prefer to have an opt-in option with a name that include the Menu keyword. MenuShowOffscreenWin that would have to be set to 1 to enable the display of off-screen windows and that would be disabled by default.

@RamonUnch RamonUnch marked this pull request as ready for review March 12, 2023 09:04
@mbartlett21
Copy link
Contributor Author

Ok. I've just pushed another commit changing that.

Suggested option for the ini:

MenuShowOffscreenWin=0
; If set to 1, both AltTabList and AltTabFullList will include windows
; that are off-screen.

@RamonUnch RamonUnch merged commit 4f196c1 into RamonUnch:main Mar 12, 2023
@RamonUnch
Copy link
Owner

Very nice work, thanks.

@mbartlett21 mbartlett21 deleted the alttablist-multiscreen branch March 19, 2023 12:22
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

Successfully merging this pull request may close these issues.

2 participants