Split Workspaces Plugin

- Add hyprpm reload command to startup
- Change workspace to split-workspace
- Change movetoworkspace to split-movetoworkspace
- Add split-monitor-workspaces plugin configuration
- Add icons for workspaces 1-50 in waybar hyprland
  workspaces module
This commit is contained in:
Sravan Balaji
2025-05-18 21:19:49 -04:00
parent a1132117df
commit ccd91bd506
3 changed files with 176 additions and 49 deletions

View File

@@ -48,6 +48,7 @@
- [[#ecosystem][Ecosystem]]
- [[#plugins][Plugins]]
- [[#hypreasymotion][hyprEasymotion]]
- [[#split-monitor-workspaces][Split Monitor Workspaces]]
- [[#xdg-desktop-portal-hyprland][xdg-desktop-portal-hyprland]]
- [[#screencopy][Screencopy]]
- [[#hypridle][Hypridle]]
@@ -153,6 +154,7 @@ exec-once = uwsm app -- wl-paste --type image --watch cliphist store &
*** Desktop Setup
#+BEGIN_SRC conf :tangle hyprland.conf
exec-once = uwsm app -- hyprpm reload -n &
exec-once = uwsm app -- shikane &
exec-once = uwsm app -- waypaper --restore &
exec-once = uwsm app -- gammastep -x &
@@ -530,22 +532,22 @@ bind = $mainMod, J, movefocus, d
Switch workspaces with mainMod + [0-9]
#+BEGIN_SRC conf :tangle hyprland.conf
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10
bind = $mainMod, 1, split-workspace, 1
bind = $mainMod, 2, split-workspace, 2
bind = $mainMod, 3, split-workspace, 3
bind = $mainMod, 4, split-workspace, 4
bind = $mainMod, 5, split-workspace, 5
bind = $mainMod, 6, split-workspace, 6
bind = $mainMod, 7, split-workspace, 7
bind = $mainMod, 8, split-workspace, 8
bind = $mainMod, 9, split-workspace, 9
bind = $mainMod, 0, split-workspace, 10
#+END_SRC
Switch between most recent workspace
#+BEGIN_SRC conf :tangle hyprland.conf
bind = $mainMod, Tab, workspace, previous_per_monitor
bind = $mainMod, Tab, split-workspace, previous_per_monitor
#+END_SRC
*** Move Windows to Workspace
@@ -553,16 +555,16 @@ bind = $mainMod, Tab, workspace, previous_per_monitor
Move active window to a workspace with mainMod + SHIFT + [0-9]
#+BEGIN_SRC conf :tangle hyprland.conf
bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10
bind = $mainMod SHIFT, 1, split-movetoworkspace, 1
bind = $mainMod SHIFT, 2, split-movetoworkspace, 2
bind = $mainMod SHIFT, 3, split-movetoworkspace, 3
bind = $mainMod SHIFT, 4, split-movetoworkspace, 4
bind = $mainMod SHIFT, 5, split-movetoworkspace, 5
bind = $mainMod SHIFT, 6, split-movetoworkspace, 6
bind = $mainMod SHIFT, 7, split-movetoworkspace, 7
bind = $mainMod SHIFT, 8, split-movetoworkspace, 8
bind = $mainMod SHIFT, 9, split-movetoworkspace, 9
bind = $mainMod SHIFT, 0, split-movetoworkspace, 10
#+END_SRC
*** Special Workspace
@@ -571,7 +573,7 @@ Example special workspace (scratchpad)
#+BEGIN_EXAMPLE conf
bind = $mainMod, S, togglespecialworkspace, magic
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
bind = $mainMod SHIFT, S, split-movetoworkspace, special:magic
#+END_EXAMPLE
*** Workspace Scroll
@@ -579,8 +581,8 @@ bind = $mainMod SHIFT, S, movetoworkspace, special:magic
Scroll through existing workspaces with mainMod + scroll
#+BEGIN_SRC conf :tangle hyprland.conf
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1
bind = $mainMod, mouse_down, split-workspace, e+1
bind = $mainMod, mouse_up, split-workspace, e-1
#+END_SRC
*** Move / Resize Windows
@@ -795,6 +797,30 @@ plugin {
}
#+END_SRC
*** Split Monitor Workspaces
- [[https://github.com/Duckonaut/split-monitor-workspaces][GitHub - split-monitor-workspaces]]
#+BEGIN_SRC conf :tangle hyprland.conf
plugin {
split-monitor-workspaces {
# How many workspaces to bind to the monitor
count = 10
# Keep current workspaces focused on plugin init / reload
keep_focused = true
# Enable notifications
enable_notifications = false
# Enable management of persistent workspaces.
# This means the plugin will at initialization create $count
# workspaces on each monitor and make them persistent
enable_persistent_workspaces = false
}
}
#+END_SRC
* xdg-desktop-portal-hyprland
- [[https://wiki.hyprland.org/Hypr-Ecosystem/xdg-desktop-portal-hyprland/#configuration][Hyprland Wiki - Hypr Ecosystem - xdg-desktop-portal-hyprland - Configuration]]
@@ -1273,6 +1299,47 @@ fi
"7": "󰊢 ₇",
"8": "󰊖 ₈",
"9": " ₉",
"10": " ₁₀",
"11": "󰻧 ₁",
"12": "󰍩 ₂",
"13": "󰠮 ₃",
"14": " ₄",
"15": "󰖟 ₅",
"16": " ₆",
"17": "󰊢 ₇",
"18": "󰊖 ₈",
"19": " ₉",
"20": " ₁₀",
"21": "󰻧 ₁",
"22": "󰍩 ₂",
"23": "󰠮 ₃",
"24": " ₄",
"25": "󰖟 ₅",
"26": " ₆",
"27": "󰊢 ₇",
"28": "󰊖 ₈",
"29": " ₉",
"30": " ₁₀",
"31": "󰻧 ₁",
"32": "󰍩 ₂",
"33": "󰠮 ₃",
"34": " ₄",
"35": "󰖟 ₅",
"36": " ₆",
"37": "󰊢 ₇",
"38": "󰊖 ₈",
"39": " ₉",
"40": " ₁₀",
"41": "󰻧 ₁",
"42": "󰍩 ₂",
"43": "󰠮 ₃",
"44": " ₄",
"45": "󰖟 ₅",
"46": " ₆",
"47": "󰊢 ₇",
"48": "󰊖 ₈",
"49": " ₉",
"50": " ₁₀",
},
"show-special": true,
"special-visible-only": true,
@@ -1289,8 +1356,8 @@ fi
},
"hyprland/submap": {
"format": "󰘳 {}",
"default-submap": "",
"always-on": false,
"default-submap": "",
},
#+END_SRC

View File

@@ -11,6 +11,7 @@ exec-once = uwsm app -- kdeconnectd --replace &
exec-once = uwsm app -- wl-paste --type text --watch cliphist store &
exec-once = uwsm app -- wl-paste --type image --watch cliphist store &
exec-once = uwsm app -- hyprpm reload -n &
exec-once = uwsm app -- shikane &
exec-once = uwsm app -- waypaper --restore &
exec-once = uwsm app -- gammastep -x &
@@ -209,32 +210,32 @@ bind = $mainMod, L, movefocus, r
bind = $mainMod, K, movefocus, u
bind = $mainMod, J, movefocus, d
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10
bind = $mainMod, 1, split-workspace, 1
bind = $mainMod, 2, split-workspace, 2
bind = $mainMod, 3, split-workspace, 3
bind = $mainMod, 4, split-workspace, 4
bind = $mainMod, 5, split-workspace, 5
bind = $mainMod, 6, split-workspace, 6
bind = $mainMod, 7, split-workspace, 7
bind = $mainMod, 8, split-workspace, 8
bind = $mainMod, 9, split-workspace, 9
bind = $mainMod, 0, split-workspace, 10
bind = $mainMod, Tab, workspace, previous_per_monitor
bind = $mainMod, Tab, split-workspace, previous_per_monitor
bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10
bind = $mainMod SHIFT, 1, split-movetoworkspace, 1
bind = $mainMod SHIFT, 2, split-movetoworkspace, 2
bind = $mainMod SHIFT, 3, split-movetoworkspace, 3
bind = $mainMod SHIFT, 4, split-movetoworkspace, 4
bind = $mainMod SHIFT, 5, split-movetoworkspace, 5
bind = $mainMod SHIFT, 6, split-movetoworkspace, 6
bind = $mainMod SHIFT, 7, split-movetoworkspace, 7
bind = $mainMod SHIFT, 8, split-movetoworkspace, 8
bind = $mainMod SHIFT, 9, split-movetoworkspace, 9
bind = $mainMod SHIFT, 0, split-movetoworkspace, 10
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1
bind = $mainMod, mouse_down, split-workspace, e+1
bind = $mainMod, mouse_up, split-workspace, e-1
bind = $mainMod SHIFT, H, movewindow, l
bind = $mainMod SHIFT, L, movewindow, r
@@ -342,3 +343,21 @@ plugin {
only_special = true
}
}
plugin {
split-monitor-workspaces {
# How many workspaces to bind to the monitor
count = 10
# Keep current workspaces focused on plugin init / reload
keep_focused = true
# Enable notifications
enable_notifications = false
# Enable management of persistent workspaces.
# This means the plugin will at initialization create $count
# workspaces on each monitor and make them persistent
enable_persistent_workspaces = false
}
}

View File

@@ -162,6 +162,47 @@
"7": "󰊢 ₇",
"8": "󰊖 ₈",
"9": " ₉",
"10": " ₁₀",
"11": "󰻧 ₁",
"12": "󰍩 ₂",
"13": "󰠮 ₃",
"14": " ₄",
"15": "󰖟 ₅",
"16": " ₆",
"17": "󰊢 ₇",
"18": "󰊖 ₈",
"19": " ₉",
"20": " ₁₀",
"21": "󰻧 ₁",
"22": "󰍩 ₂",
"23": "󰠮 ₃",
"24": " ₄",
"25": "󰖟 ₅",
"26": " ₆",
"27": "󰊢 ₇",
"28": "󰊖 ₈",
"29": " ₉",
"30": " ₁₀",
"31": "󰻧 ₁",
"32": "󰍩 ₂",
"33": "󰠮 ₃",
"34": " ₄",
"35": "󰖟 ₅",
"36": " ₆",
"37": "󰊢 ₇",
"38": "󰊖 ₈",
"39": " ₉",
"40": " ₁₀",
"41": "󰻧 ₁",
"42": "󰍩 ₂",
"43": "󰠮 ₃",
"44": " ₄",
"45": "󰖟 ₅",
"46": " ₆",
"47": "󰊢 ₇",
"48": "󰊖 ₈",
"49": " ₉",
"50": " ₁₀",
},
"show-special": true,
"special-visible-only": true,
@@ -178,8 +219,8 @@
},
"hyprland/submap": {
"format": "󰘳 {}",
"default-submap": "",
"always-on": false,
"default-submap": "",
},
"idle_inhibitor": {