LGUG2Z / komorebi

A tiling window manager for Windows 🍉
https://lgug2z.github.io/komorebi/
Other
9.2k stars 187 forks source link

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

Closed rp1231 closed 5 months ago

rp1231 commented 5 months ago

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

LGUG2Z commented 5 months ago

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 commented 5 months ago

Actually, this behaviour above is already broken ^ 🤔

rp1231 commented 5 months ago

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 commented 5 months ago

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 commented 5 months ago

Need to get some more feedback on this: https://github.com/LGUG2Z/komorebi/commit/57825db88619229f75c6befcd3615a98f9eccacb

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

rp1231 commented 5 months ago

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 commented 5 months ago

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.

rp1231 commented 5 months ago

Thanks a lot!

rp1231 commented 5 months ago

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 commented 5 months ago

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 commented 5 months ago

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 commented 5 months ago

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.