4 Commits

Author SHA1 Message Date
kenji ecb13d8b19 feat(hypr): firefox will always have the same opacity as active.
vidoes are now easier to look at even when unfocused
2026-03-14 09:02:06 -05:00
kenji 3558d604eb fix(firefox): Use noblur rule to prevent blur
Resolve the persistent issue of Firefox windows blurring when inactive by:
- Removing the ineffective  rule from .
- Implementing the direct  window rule for all relevant Firefox classes (, , ), ensuring explicit exemption from Hyprland's blur effect.
2026-03-14 08:45:13 -05:00
kenji fffe6bc7cc fix(hyprland): Resolve Firefox blur issue
Address the issue where Firefox windows were still blurring when inactive, despite a specific window rule.
- Refined the  in  to use a simplified and more robust regex, , ensuring it targets all relevant Firefox profiles.
- Adjusted the opacity for inactive Firefox windows to  (from ) in , as a potential workaround for Hyprland's blur handling with fully opaque windows.
- Ensured  is  and  is  in  for the global blur effect.
2026-03-14 08:40:32 -05:00
kenji 1c71784ac9 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.
2026-03-14 08:29:12 -05:00
5 changed files with 52 additions and 23 deletions
+3 -1
View File
@@ -5,11 +5,12 @@
gaps_out = 15;
layout = "dwindle";
allow_tearing = true;
resize_on_border = true;
};
decoration = {
rounding = 0;
active_opacity = 0.99;
inactive_opacity = 0.95;
inactive_opacity = 0.99;
shadow = {
enabled = true;
range = 2;
@@ -20,6 +21,7 @@
enabled = true;
size = 8;
passes = 2;
new_optimizations = true;
special = true;
brightness = 0.60;
contrast = 0.75;
+6
View File
@@ -1,5 +1,11 @@
{
wayland.windowManager.hyprland.settings = {
windowrulev2 = [
# Make all inactive windows transparent
"opacity 0.99 0.8, class:.*"
# But make Firefox windows opaque again (last rule wins)
"opacity 0.99 0.99, class:(?i)(firefox|youtube|jellyfin)"
];
workspace = [
];
};
+28 -11
View File
@@ -116,18 +116,39 @@ in {
all-outputs = true;
format = "{icon}";
format-icons = {
"music" = "󰎆";
"gaming" = "󰊖";
"steam" = "󰓓";
"default" = "";
"active" = "󱓻";
# Numbered workspaces 1-5
"1" = "1";
"2" = "2";
"3" = "3";
"4" = "4";
"5" = "5";
"6" = "6";
"7" = "7";
"8" = "8";
"9" = "9";
"10" = "0";
"active" = "󱓻";
# Kanji for workspaces 6-10
"6" = "";
"7" = "";
"8" = "";
"9" = "";
"10" = "";
# Dice for workspaces 11-15
"11" = "";
"12" = "";
"13" = "";
"14" = "";
"15" = "";
# Circled numbers for 16-20
"16" = "";
"17" = "";
"18" = "";
"19" = "";
"20" = "";
};
persistent-workspaces = {
"1" = [];
@@ -143,17 +164,13 @@ in {
show-special = true;
special-visible-only = true;
all-outputs = true;
ignore-workspaces = ["^[0-9]+$"];
ignore-workspaces = ["^([0-9]+|gaming|steam|music)$"];
format = "{icon}";
format-icons = {
"special:youtube" = "󰗃";
"special:music" = "󰎆";
"special:steam" = "󰓓";
"special:custom" = "󱗼";
"special:preload" = "󱗼";
"youtube" = "󰗃";
"music" = "󰎆";
"steam" = "󰓓";
"custom" = "󱗼";
"preload" = "󱗼";
"default" = "󱗼";
+8 -4
View File
@@ -61,22 +61,26 @@ in {
wayland.windowManager.hyprland.settings = {
workspace = [
"name:gaming, monitor:0, default:true"
"name:steam, monitor:0, default:true"
];
exec-once = [
"[workspace special:steam silent] uwsm app -- steam"
# No longer launching steam on startup
# "[workspace special:steam silent] uwsm app -- steam"
];
bindd = [
"SUPER, A, Toggle Steam, togglespecialworkspace, steam"
"SUPER SHIFT, A, Move to Steam Special Workspace, movetoworkspace, special:steam"
# "SUPER, A, Toggle Steam, togglespecialworkspace, steam"
# "SUPER SHIFT, A, Move to Steam Special Workspace, movetoworkspace, special:steam"
"SUPER, G, Switch to Gaming Workspace, workspace, name:gaming"
"SUPER, A, Switch to Steam Workspace, workspace, name:steam"
];
windowrulev2 =
[
# --- STEAM LAUNCHER RULES ---
"workspace special:steam silent, class:^(steam)$"
"workspace name:steam, class:^(steam)$"
# "workspace special:steam silent, class:^(steam)$"
"noinitialfocus, class:^(steam)$"
"suppressevent activate, class:^(steam)$"
]
+7 -7
View File
@@ -34,22 +34,22 @@ in {
wayland.windowManager.hyprland.settings = {
workspace = [
"special:music, on-created-empty:hakase-music-launch"
"name:music, on-created-empty:hakase-music-launch"
];
bindd = [
"SUPER, M, Toggle Music, togglespecialworkspace, music"
"SUPER SHIFT, M, Move to Music Special Workspace, movetoworkspace, special:music"
"SUPER, M, Switch to Music, workspace, name:music"
"SUPER SHIFT, M, Move to Music Workspace, movetoworkspace, name:music"
];
windowrulev2 = [
# --- MUSIC RULES (Jellyfin-TUI) ---
"workspace special:music silent, title:^(jellyfin-tui)$"
"workspace special:music silent, initialTitle:^(jellyfin-tui)$"
"workspace name:music silent, title:^(jellyfin-tui)$"
"workspace name:music silent, initialTitle:^(jellyfin-tui)$"
# --- CAVA RULES ---
"workspace special:music silent, title:^(cava)$"
"workspace special:music silent, initialTitle:^(cava)$"
"workspace name:music silent, title:^(cava)$"
"workspace name:music silent, initialTitle:^(cava)$"
];
};
}