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

[FEATURE REQUEST] Tabbed monocle layout #5127

Closed
luravoid opened this issue Mar 15, 2024 · 1 comment
Closed

[FEATURE REQUEST] Tabbed monocle layout #5127

luravoid opened this issue Mar 15, 2024 · 1 comment
Labels
enhancement New feature or request

Comments

@luravoid
Copy link

Description

In a sense, this is a duplicate of already existing feature requests (see #2050, #2822), but I want to expand on them and describe in more detail a feature that I think would be very useful and hopefully inspire developers capable of creating it.

I think one of the biggest weaknesses of hyprland's window management is that there is no proper monocle layout, and I think to create one, it would be a really good idea to use the already existing groups feature, but implement it as a layout.

Of course, I know that there is a fullscreen 0 and 1 dispatcher, which in a way works like a monocle, but its purpose is a bit different. You only want to toggle fullscreen for a moment when the window is too small to see things more clearly, and then untoggle it.

With a properly implemented monocle layout, you can spawn windows, move them to or from the workspace, arrange them in a specific order, all without leaving the layout.

Take a look at this script from #2822, which replicates this behavior to some extent, but the problem is that it's still quite limiting and a proper implementation needs to be more than a hacky bash script:
https://gist.github.com/Atrate/b08c5b67172abafa5e7286f4a952ca4d

Here is the video showcasing the script:

2024-03-15.23-58-08.mp4

The problems with the script are that:

  1. If there's too many windows on the screen then not every window will be toggled as group
  2. I can't use my keybindings for master layout, I need to define specific dispatchers for groups and if the bindings will be the same as for the master then I will not be able to use groups in the normal way.
bind  = $mainMod, J, layoutmsg, cyclenext
bind  = $mainMod, K, layoutmsg, cycleprev
bind  = $mainMod SHIFT, J, layoutmsg, swapnext
bind  = $mainMod SHIFT, K, layoutmsg, swapprev

bind = $mainMod, J, changegroupactive, f
bind = $mainMod, K, changegroupactive, b
bind = $mainMod SHIFT,J, movegroupwindow, f
bind = $mainMod SHIFT,K, movegroupwindow, b

The solution would be to add specific dispatchers, such as "monocle, cyclenext", "monocle, swapprev", etc.

  1. I cannot move a window in a group to another workspace without moving the whole group. First I have to detach the window from the group and only then I can move it. Same as when I want to move a window to an already toggled group.
  2. The position of the windows changes randomly when I use this script, and the desired behavior would be so the placement of the windows in the monocle layout would mirror the placement of the windows in the tiled layout.

So yeah, I think tabbed layout would be a really nice feature to have

@luravoid luravoid added the enhancement New feature or request label Mar 15, 2024
@vaxerski
Copy link
Member

vaxerski commented Mar 15, 2024

#2050

use the search feature

Expand in a comment not a fr.

@vaxerski vaxerski closed this as not planned Won't fix, can't repro, duplicate, stale Mar 15, 2024
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