-
-
Notifications
You must be signed in to change notification settings - Fork 188
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
Always on top feature #829
base: master
Are you sure you want to change the base?
Conversation
0c842e4
to
05af7ce
Compare
I finished all the work I have to do so this is a PR to enable the feature to have a window always on top so when you change the workspace the always-on-top window will move with the focus workspace. This is helpful if you have multiple monitors and are focusing on a specific workspace but also want to move a window. This feature will shorten the command you have to run to achieve this. There are also different scenarios in which this command can also be handy like moving multiple windows at once. This is my first PR so if something is wrong or you want me to change something or give me criticism PLEASE DO. I hope this PR can be helpful for somebody |
This commit ensures that the "send" behaviour is respected in named-workspace command variants such as send-to-named-workspace.
This commit introduces a distinction between ignored applications (previously identified with float_rules) and floating applications. All instances of "float_" with the initial meaning of "ignored" have been renamed with backwards compatibility aliases. Floating applications will be managed under Workspace.floating_windows if identified using a rule, and this allows them to now be moved across workspaces. A new border type has been added for floating applications, and the colour can be configured via theme.floating_border. This interactively rebased commit contains changes from the following individual commits: 17ea1e6 feat(wm): separate floating and ignored apps 8b34449 feat(wm): allow ws moves of floating apps 7d8e2ad refactor(wm): float_rules > ignore_rules w/ compat d68346a fix(borders): no redraws on floating win title change a93e937 fix(borders): update on floating win drag 68e9365 fix(borders): send notif on ignored hwnd events
This commit introduces a new option `float_override`, which makes it so every every window opened, shown or uncloaked will be set to floating, but it won't be ignored. It will be added to the floating_windows of the workspace, meaning that the user can later tile that window with toggle-float command. This allows the users to have all windows open as floating and then manually tile the ones they want. This interactively rebased commit contains changes from the following individual commits: 0e8dc85 feat(wm): add new float override option 30bdaf3 feat(cli): add command for new option `ToggleFloatOverride` b7bedce feat(wm): add window_container_behaviour and float_override to workspaces 221e4ea feat(cli): add commands for workspace new window behaviour and float_override b182cb5 fix(wm): show floating apps in front of stacked windows as well 7c9cb11 fix(wm): Remove unecessary duplicated code
This commit creates a new function for the workspaces to check if they are empty or not. This function properly accounts for maximized windows, monocle windows and floating windows. This should fix the cases where the WM was checking if the workspace was empty to focus the desktop in order to loose focus from previously focused window. Previously it wasn't checking for floating windows so it cause continues focus flickering when there were only floating windows on the workspace.
This commit changes the `move_container_to_monitor` from the WM to allow moving floating windows as well. It also adds a new method `move_to_area` to the `Window` that allows moving a window from one monitor to another keeping its size.
This commit adds a new method, subscribe_with_options to komorebi-client. The first option introduced is to tell komorebi to only send notifications when the window manager state has been changed during the processing of an event. This new subscription option is now used with komorebi-bar to improve rendering and update performance.
9a18ed2
to
c0c3c81
Compare
12870dc
to
e46a1a6
Compare
I create a feature which allows a window to be always on the focused workspace. So you only need to focus the workspace I have some things still to do:
-Clean up
-Window Manager Event on Destroy and Unmanaged
a more detailed description is coming when I got everything done but I wanted to make the pull request now because I promise it in the discord chat.