From 3ea2296ecae729398b712528fd3789cf080940a5 Mon Sep 17 00:00:00 2001 From: Jacob Babor Date: Mon, 8 Jun 2026 00:45:40 -0500 Subject: [PATCH] Experimenting with hyprland --- .../.config/hypr/config.d/03-keybinds.conf | 23 ++++++++- .../hypr/config.d/50-window-rules.conf | 14 +++--- .../config.d/85-autostart-applications.conf | 10 ++-- .../30-dsk-ryzen-1.ws.mgmt.desu.ltd.conf | 6 +++ hyprland/.config/waybar/config | 50 ++++++++++++++----- hyprland/.config/waybar/style.css | 12 +++++ 6 files changed, 89 insertions(+), 26 deletions(-) diff --git a/hyprland/.config/hypr/config.d/03-keybinds.conf b/hyprland/.config/hypr/config.d/03-keybinds.conf index 65ce5c26..8cbde939 100644 --- a/hyprland/.config/hypr/config.d/03-keybinds.conf +++ b/hyprland/.config/hypr/config.d/03-keybinds.conf @@ -75,12 +75,31 @@ bind = $mainMod SHIFT, 9, movetoworkspace, 9 bind = $mainMod SHIFT, 0, movetoworkspace, 10 bind = $mainMod SHIFT, MINUS, movetoworkspace, 11 -# Scroll through existing workspaces with mainMod + scroll +# Role workspaces +bind = $mainMod, E, workspace, name:mail +bind = $mainMod SHIFT, E, movetoworkspace, name:mail +bind = $mainMod, C, workspace, name:comms +bind = $mainMod SHIFT, C, movetoworkspace, name:comms +bind = $mainMod, M, workspace, name:media +bind = $mainMod SHIFT, M, movetoworkspace, name:media +bind = $mainMod, S, togglespecialworkspace, secrets +bind = $mainMod SHIFT, S, movetoworkspace, special:secrets +bind = $mainMod, N, togglespecialworkspace, scratch +bind = $mainMod SHIFT, N, movetoworkspace, special:scratch + +# Monitor-local workspace movement +bind = $mainMod, bracketleft, workspace, r-1 +bind = $mainMod, bracketright, workspace, r+1 +bind = $mainMod SHIFT, bracketleft, movetoworkspace, r-1 +bind = $mainMod SHIFT, bracketright, movetoworkspace, r+1 +bind = $mainMod, BackSpace, workspace, previous_per_monitor + +# Scroll through existing workspaces bind = $mainMod, Period, workspace, e+1 bind = $mainMod, Comma, workspace, e-1 # Move windows around -#bindm = $mainMod, mouse:272, movewindow +bindm = $mainMod, mouse:272, movewindow # Resize mouse binding and submap bindm = $mainMod, mouse:273, resizewindow diff --git a/hyprland/.config/hypr/config.d/50-window-rules.conf b/hyprland/.config/hypr/config.d/50-window-rules.conf index a883529d..c429c040 100644 --- a/hyprland/.config/hypr/config.d/50-window-rules.conf +++ b/hyprland/.config/hypr/config.d/50-window-rules.conf @@ -14,10 +14,10 @@ windowrule = pin on, match:class ^(.*pavucontrol.*)$ # Assign specific windows to specific workspaces on launch windowrule = workspace 2 silent, match:class ^(steam)$ -windowrule = workspace 8 silent, match:class ^(org.keepassxc.KeePassXC)$ -windowrule = workspace 8 silent, match:class ^(org.mozilla.Thunderbird)$ -windowrule = workspace 9 silent, match:class ^(im.riot.Riot)$ -windowrule = workspace 9 silent, match:class ^(.*vesktop.*)$ -windowrule = workspace 10 silent, match:class ^(.*spotube.*)$ -windowrule = workspace 10 silent, match:class ^(.*potify.*)$ -windowrule = workspace 10 silent, match:class ^(feishin)$ +windowrule = workspace special:secrets silent, match:class ^(org\.keepassxc\.KeePassXC)$ +windowrule = workspace name:mail silent, match:class ^(org\.mozilla\.Thunderbird|org\.mozilla\.thunderbird_esr)$ +windowrule = workspace name:comms silent, match:class ^(im\.riot\.Riot)$ +windowrule = workspace name:comms silent, match:class ^(.*vesktop.*)$ +windowrule = workspace name:media silent, match:class ^(.*spotube.*)$ +windowrule = workspace name:media silent, match:class ^(.*potify.*)$ +windowrule = workspace name:media silent, match:class ^(feishin)$ diff --git a/hyprland/.config/hypr/config.d/85-autostart-applications.conf b/hyprland/.config/hypr/config.d/85-autostart-applications.conf index b4123502..5eb1bebb 100644 --- a/hyprland/.config/hypr/config.d/85-autostart-applications.conf +++ b/hyprland/.config/hypr/config.d/85-autostart-applications.conf @@ -1,9 +1,9 @@ # vim: set ft=hyprlang: # Workspace-specific applications exec-once = [workspace 2 silent] flatpak run com.valvesoftware.Steam -silent -exec-once = [workspace 8 silent] flatpak run org.keepassxc.KeePassXC || keepassxc -exec-once = [workspace 8 silent] flatpak run org.mozilla.Thunderbird || thunderbird -exec-once = [workspace 9 silent] flatpak run im.riot.Riot || element-desktop -exec-once = [workspace 9 silent] flatpak run dev.vencord.Vesktop +exec-once = [workspace special:secrets silent] flatpak run org.keepassxc.KeePassXC || keepassxc +exec-once = [workspace name:mail silent] flatpak run org.mozilla.Thunderbird || thunderbird +exec-once = [workspace name:comms silent] flatpak run im.riot.Riot || element-desktop +exec-once = [workspace name:comms silent] flatpak run dev.vencord.Vesktop #exec-once = [workspace 10 silent] flatpak run com.spotify.Client -exec-once = [workspace 10 silent] flatpak run org.jeffvli.feishin || ~/Programs/feishin +exec-once = [workspace name:media silent] flatpak run org.jeffvli.feishin || ~/Programs/feishin diff --git a/hyprland/.config/hypr/contrib/30-dsk-ryzen-1.ws.mgmt.desu.ltd.conf b/hyprland/.config/hypr/contrib/30-dsk-ryzen-1.ws.mgmt.desu.ltd.conf index 0d03586e..04d79387 100644 --- a/hyprland/.config/hypr/contrib/30-dsk-ryzen-1.ws.mgmt.desu.ltd.conf +++ b/hyprland/.config/hypr/contrib/30-dsk-ryzen-1.ws.mgmt.desu.ltd.conf @@ -16,3 +16,9 @@ workspace = 8, monitor:DP-2 workspace = 9, monitor:DP-2 workspace = 10, monitor:DP-2 workspace = 11, monitor:DP-2 + +workspace = name:mail, monitor:DP-2, persistent:true +workspace = name:comms, monitor:DP-2, persistent:true +workspace = name:media, monitor:DP-2, persistent:true +workspace = special:secrets, persistent:true +workspace = special:scratch, persistent:true diff --git a/hyprland/.config/waybar/config b/hyprland/.config/waybar/config index f1400d42..2968116b 100644 --- a/hyprland/.config/waybar/config +++ b/hyprland/.config/waybar/config @@ -8,18 +8,44 @@ "margin-right": 16, "modules-left": ["hyprland/workspaces", "hyprland/window", "hyprland/submap", "sway/mode"], "modules-right": ["tray"], - "hyprland/workspaces": { - "all-outputs": false, - "disable-scroll": true, - "persistent-workspaces": { - "eDP-1": [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 ], - "DP-1": [ 1, 2, 3, 4, 5, 6, 7 ], - "DP-2": [ 8, 9, 10, 11 ] - } - }, - "hyprland/window": { - "separate-outputs": true, - "format": "{}" + "hyprland/workspaces": { + "all-outputs": false, + "disable-scroll": true, + "show-special": true, + "special-visible-only": false, + "format": "{icon}", + "format-icons": { + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7", + "8": "8", + "9": "9", + "10": "10", + "11": "11", + "mail": "", + "comms": "", + "media": "", + "special:secrets": "S", + "special:scratch": "N", + "secrets": "S", + "scratch": "N", + "special": "", + "empty": "", + "default": "" + }, + "persistent-workspaces": { + "eDP-1": [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 ], + "DP-1": [ 1, 2, 3, 4, 5, 6, 7 ], + "DP-2": [ 8, 9, 10, 11 ] + } + }, + "hyprland/window": { + "separate-outputs": true, + "format": "{}" }, "hyprland/submap": { "on-click": "hyprctl dispatch submap reset" diff --git a/hyprland/.config/waybar/style.css b/hyprland/.config/waybar/style.css index 6a981f62..1e34d93b 100644 --- a/hyprland/.config/waybar/style.css +++ b/hyprland/.config/waybar/style.css @@ -66,6 +66,18 @@ window#waybar { color: #fabd2f; font-weight: bold; } +#workspaces button.special { + color: rgba(235, 219, 178, 0.55); +} +#workspaces button.special.empty { + color: rgba(235, 219, 178, 0.2); +} +#workspaces button.special.visible, +#workspaces button.special.active { + color: rgba(40, 40, 40, 0.8); + background: #d3869b; + font-weight: bold; +} /* Window and mode display */ #window { color: rgba(235, 219, 178, 0.4);