-
-
Save megum1n/89ee3bb58b4105fbcba49a0a869b66e6 to your computer and use it in GitHub Desktop.
| general { | |
| layout = hy3 | |
| } | |
| plugin { | |
| hy3 { | |
| tabs { | |
| height = 6 | |
| padding = 4 | |
| render_text = false | |
| } | |
| autotile { | |
| enable = true | |
| } | |
| } | |
| } | |
| bind = $mainMod, h, hy3:movefocus, l | |
| bind = $mainMod, l, hy3:movefocus, r | |
| bind = $mainMod, k, hy3:movefocus, u | |
| bind = $mainMod, j, hy3:movefocus, d | |
| bind = $mainMod SHIFT, h, hy3:movewindow, l | |
| bind = $mainMod SHIFT, l, hy3:movewindow, r | |
| bind = $mainMod SHIFT, k, hy3:movewindow, u | |
| bind = $mainMod SHIFT, j, hy3:movewindow, d | |
| bindn = , mouse:272, hy3:focustab, mouse | |
| bindn = , mouse_down, hy3:focustab, l, require_hovered | |
| bindn = , mouse_up, hy3:focustab, r, require_hovered | |
| bind = $mainMod, tab, hy3:focustab, r, wrap | |
| bind = $mainMod, W, hy3:changegroup, toggletab | |
| bind = $mainMod, S, togglefloating |
| dwindle { | |
| pseudotile = true | |
| preserve_split = true | |
| force_split = 2 | |
| } | |
| group { | |
| col.border_active = rgba(33ccffee) rgba(00ff99ee) 45deg | |
| col.border_inactive = rgba(595959aa) | |
| col.border_locked_active = -1 | |
| col.border_locked_inactive = -1 | |
| groupbar { | |
| font_size = 13 | |
| font_family = Source Code Pro | |
| font_weight_active = bold | |
| font_weight_inactive = normal | |
| indicator_height = 0 | |
| indicator_gap = 5 | |
| height = 20 | |
| gaps_in = 5 | |
| gaps_out = 0 | |
| scrolling = false | |
| text_color = rgb(000000) | |
| text_color_inactive = rgba(ffffff90) | |
| col.active = rgba(33ccffcc) | |
| col.inactive = rgba(303030cc) | |
| gradients = true | |
| gradient_rounding = 6 | |
| gradient_round_only_edges = false | |
| blur = true | |
| } | |
| } | |
| bind = $mainMod, h, exec, ~/.config/hypr/scripts/movefocus.sh l | |
| bind = $mainMod, l, exec, ~/.config/hypr/scripts/movefocus.sh r | |
| bind = $mainMod, k, movefocus, u | |
| bind = $mainMod, j, movefocus, d | |
| bind = $mainMod SHIFT, h, movewindow, l | |
| bind = $mainMod SHIFT, l, movewindow, r | |
| bind = $mainMod SHIFT, k, movewindow, u | |
| bind = $mainMod SHIFT, j, movewindow, d | |
| bind = $mainMod, tab, changegroupactive | |
| bind = $mainMod, W, togglegroup | |
| bind = $mainMod, S, moveoutofgroup | |
| bind = $mainMod, S, togglefloating | |
| #!/usr/bin/env bash | |
| direction=$1 | |
| in_group=$(hyprctl activewindow -j | jq -e '.grouped[1]') | |
| if [[ $in_group != "null" ]]; then | |
| next="f" | |
| if [[ $direction == "l" ]]; then | |
| next="b" | |
| fi | |
| hyprctl dispatch changegroupactive $next | |
| else | |
| next="" | |
| if [[ $direction == "l" ]]; then | |
| next="prev" | |
| fi | |
| hyprctl dispatch cyclenext $next | |
| fi |
@ajboni it seems that hyprland dev team improved tabs because I could not use them 2 years ago and now I don't really have any complains. It works just fine for me.
Binding is the only annoying thing since you have to do separate operations for tab and windows. But it is manageable IMO.
I also don't remember exact reason why 2 years ago tabs were unusable. IIRC you couldn't set bg color for tabs, so they were transparent and you couldn't set one key binding for tabs and windows.
been using it for a few hs, and its good! main pain points (didn't do a full research yet):
-
super + drag a grouped window into another group for example: drags the whole group and merge it with the other group.
-
super + drag the tab header only moves that tab, which is great, but a bit annoying to click on that area specifically!
merge_groups_on_groupbar/merge_groups_on_dragcontrols this but I'd like to be able to pop a single tab onto another group by dragging. (movewindoworgroupmaybe?) -
group new windows by default?
-
moving tabs inside a group (reorder) can be done with
movegroupwindow:
bind = $mainMod SHIFT, left, movegroupwindow, b
bind = $mainMod SHIFT, right, movegroupwindow, f
- does not play nice with virtual-desktop plugin because it moves the whole "window" (the group) instead of the single tab. need to ungroup that tab first
I think, as you said, the main issue is the distinction between tabs and windows.
Thanks for this. I only use(d) hy3 for tabs as well, and now wondering if this is all I need now? I remember landing into hy3 back then because there were some missing features to the group feature, but cant recall... any issues you have so far?