feat(hyprland): Refactor workspaces and add blur effect

Refactor Hyprland configuration to:
- Move Steam and Music from special workspaces to unique, named workspaces for better integration into the regular workflow.
- Update Waybar's workspace module to correctly display icons for these new named workspaces and filter them out from the special workspaces module.
- Implement a global blur effect for inactive windows, with a specific exception to keep Firefox windows fully opaque, enhancing focus on active content.
This commit is contained in:
kenji
2026-03-14 08:29:12 -05:00
parent dca67e19bc
commit 1c71784ac9
5 changed files with 47 additions and 23 deletions
+1
View File
@@ -25,6 +25,7 @@
windowrulev2 = [ windowrulev2 = [
"workspace special:youtube, class:^(youtube)$" "workspace special:youtube, class:^(youtube)$"
"workspace special:jellyfin, class:^(jellyfin)$" "workspace special:jellyfin, class:^(jellyfin)$"
"opacity 1.0 1.0, class:^(firefox)$"
]; ];
}; };
imports = [ imports = [
+3 -1
View File
@@ -5,11 +5,12 @@
gaps_out = 15; gaps_out = 15;
layout = "dwindle"; layout = "dwindle";
allow_tearing = true; allow_tearing = true;
resize_on_border = true;
}; };
decoration = { decoration = {
rounding = 0; rounding = 0;
active_opacity = 0.99; active_opacity = 0.99;
inactive_opacity = 0.95; inactive_opacity = 0.7;
shadow = { shadow = {
enabled = true; enabled = true;
range = 2; range = 2;
@@ -20,6 +21,7 @@
enabled = true; enabled = true;
size = 8; size = 8;
passes = 2; passes = 2;
new_optimizations = true;
special = true; special = true;
brightness = 0.60; brightness = 0.60;
contrast = 0.75; contrast = 0.75;
+28 -11
View File
@@ -116,18 +116,39 @@ in {
all-outputs = true; all-outputs = true;
format = "{icon}"; format = "{icon}";
format-icons = { format-icons = {
"music" = "󰎆";
"gaming" = "󰊖";
"steam" = "󰓓";
"default" = ""; "default" = "";
"active" = "󱓻";
# Numbered workspaces 1-5
"1" = "1"; "1" = "1";
"2" = "2"; "2" = "2";
"3" = "3"; "3" = "3";
"4" = "4"; "4" = "4";
"5" = "5"; "5" = "5";
"6" = "6";
"7" = "7"; # Kanji for workspaces 6-10
"8" = "8"; "6" = "";
"9" = "9"; "7" = "";
"10" = "0"; "8" = "";
"active" = "󱓻"; "9" = "";
"10" = "";
# Dice for workspaces 11-15
"11" = "";
"12" = "";
"13" = "";
"14" = "";
"15" = "";
# Circled numbers for 16-20
"16" = "";
"17" = "";
"18" = "";
"19" = "";
"20" = "";
}; };
persistent-workspaces = { persistent-workspaces = {
"1" = []; "1" = [];
@@ -143,17 +164,13 @@ in {
show-special = true; show-special = true;
special-visible-only = true; special-visible-only = true;
all-outputs = true; all-outputs = true;
ignore-workspaces = ["^[0-9]+$"]; ignore-workspaces = ["^([0-9]+|gaming|steam|music)$"];
format = "{icon}"; format = "{icon}";
format-icons = { format-icons = {
"special:youtube" = "󰗃"; "special:youtube" = "󰗃";
"special:music" = "󰎆";
"special:steam" = "󰓓";
"special:custom" = "󱗼"; "special:custom" = "󱗼";
"special:preload" = "󱗼"; "special:preload" = "󱗼";
"youtube" = "󰗃"; "youtube" = "󰗃";
"music" = "󰎆";
"steam" = "󰓓";
"custom" = "󱗼"; "custom" = "󱗼";
"preload" = "󱗼"; "preload" = "󱗼";
"default" = "󱗼"; "default" = "󱗼";
+8 -4
View File
@@ -61,22 +61,26 @@ in {
wayland.windowManager.hyprland.settings = { wayland.windowManager.hyprland.settings = {
workspace = [ workspace = [
"name:gaming, monitor:0, default:true" "name:gaming, monitor:0, default:true"
"name:steam, monitor:0, default:true"
]; ];
exec-once = [ exec-once = [
"[workspace special:steam silent] uwsm app -- steam" # No longer launching steam on startup
# "[workspace special:steam silent] uwsm app -- steam"
]; ];
bindd = [ bindd = [
"SUPER, A, Toggle Steam, togglespecialworkspace, steam" # "SUPER, A, Toggle Steam, togglespecialworkspace, steam"
"SUPER SHIFT, A, Move to Steam Special Workspace, movetoworkspace, special:steam" # "SUPER SHIFT, A, Move to Steam Special Workspace, movetoworkspace, special:steam"
"SUPER, G, Switch to Gaming Workspace, workspace, name:gaming" "SUPER, G, Switch to Gaming Workspace, workspace, name:gaming"
"SUPER, A, Switch to Steam Workspace, workspace, name:steam"
]; ];
windowrulev2 = windowrulev2 =
[ [
# --- STEAM LAUNCHER RULES --- # --- STEAM LAUNCHER RULES ---
"workspace special:steam silent, class:^(steam)$" "workspace name:steam, class:^(steam)$"
# "workspace special:steam silent, class:^(steam)$"
"noinitialfocus, class:^(steam)$" "noinitialfocus, class:^(steam)$"
"suppressevent activate, class:^(steam)$" "suppressevent activate, class:^(steam)$"
] ]
+7 -7
View File
@@ -34,22 +34,22 @@ in {
wayland.windowManager.hyprland.settings = { wayland.windowManager.hyprland.settings = {
workspace = [ workspace = [
"special:music, on-created-empty:hakase-music-launch" "name:music, on-created-empty:hakase-music-launch"
]; ];
bindd = [ bindd = [
"SUPER, M, Toggle Music, togglespecialworkspace, music" "SUPER, M, Switch to Music, workspace, name:music"
"SUPER SHIFT, M, Move to Music Special Workspace, movetoworkspace, special:music" "SUPER SHIFT, M, Move to Music Workspace, movetoworkspace, name:music"
]; ];
windowrulev2 = [ windowrulev2 = [
# --- MUSIC RULES (Jellyfin-TUI) --- # --- MUSIC RULES (Jellyfin-TUI) ---
"workspace special:music silent, title:^(jellyfin-tui)$" "workspace name:music silent, title:^(jellyfin-tui)$"
"workspace special:music silent, initialTitle:^(jellyfin-tui)$" "workspace name:music silent, initialTitle:^(jellyfin-tui)$"
# --- CAVA RULES --- # --- CAVA RULES ---
"workspace special:music silent, title:^(cava)$" "workspace name:music silent, title:^(cava)$"
"workspace special:music silent, initialTitle:^(cava)$" "workspace name:music silent, initialTitle:^(cava)$"
]; ];
}; };
} }