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

Always on top feature #829

Open
wants to merge 141 commits into
base: master
Choose a base branch
from
Open

Always on top feature #829

wants to merge 141 commits into from

Conversation

pro470
Copy link

@pro470 pro470 commented May 16, 2024

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.

@pro470 pro470 marked this pull request as ready for review May 16, 2024 17:41
@LGUG2Z LGUG2Z force-pushed the master branch 2 times, most recently from 0c842e4 to 05af7ce Compare May 19, 2024 21:27
@pro470
Copy link
Author

pro470 commented May 20, 2024

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

pro470 and others added 3 commits May 25, 2024 13:40
This commit ensures that the "send" behaviour is respected in
named-workspace command variants such as send-to-named-workspace.
LGUG2Z and others added 8 commits October 11, 2024 13:09
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.
LGUG2Z and others added 5 commits October 11, 2024 14:14
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.
@LGUG2Z LGUG2Z force-pushed the master branch 3 times, most recently from 9a18ed2 to c0c3c81 Compare October 16, 2024 00:04
@LGUG2Z LGUG2Z force-pushed the master branch 8 times, most recently from 12870dc to e46a1a6 Compare October 16, 2024 23:15
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.

5 participants