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

[FEAT]: Alt+Tabbing to a window obscured by the monocle should disable monocle and focus the alt+tabbed window #834

Closed
rp1231 opened this issue May 19, 2024 · 12 comments
Labels
enhancement New feature or request

Comments

@rp1231
Copy link

rp1231 commented May 19, 2024

Is your feature request related to a problem? Please describe.
Alt tabbing to a window obscured by the monocle takes you to the monocle frame, but does not reveal it.

Describe the solution you'd like
Alt+Tabbing to a window obscured by the monocle should disable monocle and focus the alt+tabbed window

@rp1231 rp1231 added the enhancement New feature or request label May 19, 2024
@LGUG2Z
Copy link
Owner

LGUG2Z commented May 19, 2024

This is possible to implement, but doing so would break the ability to focus left/right to a different monitor while in monocle mode (monocle mode would be toggled off)

Unfortunately Windows does not send a unique event for focus via alt-tab, so all event where a window is shown on a workspace either via the focus command or via alt-tab would toggle off monocle mode ^

@LGUG2Z
Copy link
Owner

LGUG2Z commented May 19, 2024

Actually, this behaviour above is already broken ^ 🤔

@rp1231
Copy link
Author

rp1231 commented May 19, 2024

I'm a little confused. Which behavior is the broken one?
I'm currently able to focus left/right to a different monitor while in monocle mode on the latest branch.

@LGUG2Z
Copy link
Owner

LGUG2Z commented May 19, 2024

I'm currently able to focus left/right to a different monitor while in monocle mode

This is broken for me on master, taking a look now

LGUG2Z added a commit that referenced this issue May 19, 2024
This commit adds a change to automatically toggle monocle mode off on
the focused workspace when a window on the same workspace is
foregrounded by alt-tab.

resolve #834
@LGUG2Z
Copy link
Owner

LGUG2Z commented May 19, 2024

Need to get some more feedback on this: 57825db

The only way this can work is if the monocle state doesn't persist across workspace transitions

@rp1231
Copy link
Author

rp1231 commented May 19, 2024

Hmm... I would personally prefer the existing behavior then.....
In which the monocle state persists through workspace changes.

Also, coming from a very naive point of view, would it be a lot of work to implement a replacement for the alt tab window that behaves and sends the unique Id needed?

LGUG2Z added a commit that referenced this issue May 19, 2024
This commit ensures that horizontal focus moves onto other monitors from
a monocle container are respected (ie. we don't try moving left/right
within the workspace on the focused monitor).

Additionally, if the user tries to alt-tab a window to the foreground on
a workspace where a monocle container exists, the window will flash
before being hidden behind the monocle container as a visual cue that
monocle mode needs to be disabled to access that window.

This is in contrast to the current behaviour where that window floats on
top of the monocle container in a somewhat broken state.

re #834
@LGUG2Z
Copy link
Owner

LGUG2Z commented May 19, 2024

I have fixed the horizontal focus moves towards other monitors from a monocle container.

Regarding the alt-tab behaviour, for now I have settled to let an alt-tabbed window flash above a monocle container briefly before being hidden again, instead of having it stay on top in a somewhat broken visual state.

For an alt-tab replacement, I think it is possible, and if someone wanted to build that it would be possible to integrate it with komorebi's state via the komorebi_client library.

@LGUG2Z LGUG2Z closed this as completed May 19, 2024
@rp1231
Copy link
Author

rp1231 commented May 19, 2024

Thanks a lot!

@rp1231
Copy link
Author

rp1231 commented May 20, 2024

What would be your advice regarding the alt-tab switcher as a project for a beginner who has just finished the cs50 course and who is just starting to learn rust via the rust book. Is it too advanced of a project or would it be doable?

@rp1231
Copy link
Author

rp1231 commented May 20, 2024

I found this https://github.com/ike9000e/Classic-AltTab That I thought I could maybe port to rust as a learning project and integrate with komorebi.
edit: found this as well by the creator of explorer patcher https://github.com/valinet/sws

@rp1231
Copy link
Author

rp1231 commented May 20, 2024

Also I'm making a feedback post regarding the need for a better virtual desktops api on the windows feedback app.
What are the things that you would consider important with regards to komorebi?
So that I can include those things in the feedback post.

@rp1231
Copy link
Author

rp1231 commented May 20, 2024

Found another bug, Closing a monocled window via clicking the close button or Alt+F4 results in a blank monocle which then has to be exited using the toggle monocle keyboard shortcut.

LGUG2Z added a commit that referenced this issue May 20, 2024
This commit fixes a regression introduced by hiding other containers
when monocle is enabled. When the monocle container is closed, other
containers on the workspace will now be restored.

re #834
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants