aboutsummaryrefslogtreecommitdiffstats
path: root/config/hypr/configs
diff options
context:
space:
mode:
authorMartin Guzman <55927935+brockar@users.noreply.github.com>2026-01-21 16:18:43 -0300
committerGitHub <noreply@github.com>2026-01-21 16:18:43 -0300
commitc6198c1bedeffd08ec3f60f7ba3a41e6c5870885 (patch)
tree458c030873b4e70ff9eda0baed5df257434871f4 /config/hypr/configs
parent7dedbe3d4a4560ac15987fdf8164dbbb1f4701bf (diff)
parent88a09344e8cc7cffe69a017eb752e8c6fa17ddcb (diff)
Merge pull request #927 from JaKooLit/development
Merge Development to main branch for release
Diffstat (limited to 'config/hypr/configs')
-rw-r--r--config/hypr/configs/Keybinds.conf15
-rw-r--r--config/hypr/configs/Startup_Apps.conf27
-rw-r--r--config/hypr/configs/SystemSettings.conf5
-rw-r--r--config/hypr/configs/WindowRules-config-v3.conf65
-rw-r--r--config/hypr/configs/WindowRules-pre-53.conf4
-rw-r--r--config/hypr/configs/WindowRules.conf95
6 files changed, 143 insertions, 68 deletions
diff --git a/config/hypr/configs/Keybinds.conf b/config/hypr/configs/Keybinds.conf
index 1ddbc81a..dea22719 100644
--- a/config/hypr/configs/Keybinds.conf
+++ b/config/hypr/configs/Keybinds.conf
@@ -23,6 +23,7 @@ bindd = $mainMod, Return, Open terminal, exec, $term
bindd = $mainMod, E, file manager, exec, $files
# FEATURES / EXTRAS
+bindd = $mainMod, T, Global theme switcher using Wallust, exec, $scriptsDir/ThemeChanger.sh #Global theme switcher
bindd = $mainMod, H, help / cheat sheet, exec, $scriptsDir/KeyHints.sh
bindd = $mainMod ALT, R, refresh bar and menus, exec, $scriptsDir/Refresh.sh
bindd = $mainMod ALT, E, emoji menu, exec, $scriptsDir/RofiEmoji.sh
@@ -43,7 +44,7 @@ bindd = $mainMod SHIFT, Return, DropDown terminal, exec, $scriptsDir/Droptermina
# Desktop zooming or magnifier
bindd = $mainMod ALT, mouse_down, zoom in, exec, hyprctl keyword cursor:zoom_factor "$(hyprctl getoption cursor:zoom_factor | awk 'NR==1 {factor = $2; if (factor < 1) {factor = 1}; print factor * 2.0}')"
-bindd = $mainMod ALT, mouse_up, zoom out, exec, hyprctl keyword cursor:zoom_factor "$(hyprctl getoption cursor:zoom_factor | awk 'NR==1 {factor = $2; if (factor < 1) {factor = 1}; print factor / 2.0}')"
+bindd = $mainMod ALT, mouse_up, zoom out, exec, hyprctl keyword cursor:zoom_factor "$(hyprctl getoption cursor:zoom_factor | awk 'NR==1 {factor = $2; if (factor < 1) {factor = 1}; print factor / 2.0}')"
# Waybar / Bar related
bindd = $mainMod CTRL ALT, B, toggle waybar on/off, exec, pkill -SIGUSR1 waybar
@@ -58,11 +59,11 @@ bindd = $mainMod SHIFT, M, online music, exec, $UserScripts/RofiBeats.sh
bindd = $mainMod, W, select wallpaper, exec, $UserScripts/WallpaperSelect.sh
bindd = $mainMod SHIFT, W, wallpaper effects, exec, $UserScripts/WallpaperEffects.sh
bindd = CTRL ALT, W, random wallpaper, exec, $UserScripts/WallpaperRandom.sh
-bindd = $mainMod CTRL, O, toggle active window opacity, exec, hyprctl setprop active opaque toggle
+bindd = $mainMod CTRL, O, toggle active window opacity, setprop, active opaque toggle
bindd = $mainMod SHIFT, K, search keybinds, exec, $scriptsDir/KeyBinds.sh
bindd = $mainMod SHIFT, A, animations menu, exec, $scriptsDir/Animations.sh
bindd = $mainMod SHIFT, O, change oh-my-zsh theme, exec, $UserScripts/ZshChangeTheme.sh
-bindlnd = ALT_L, SHIFT_L, switch keyboard layout globally, exec, $scriptsDir/SwitchKeyboardLayout.sh
+bindlnd = ALT_L, SHIFT_L, switch keyboard layout globally, exec, $scriptsDir/KeyboardLayout.sh switch
bindlnd = SHIFT_L, ALT_L, switch keyboard layout per-window, exec, $scriptsDir/Tak0-Per-Window-Switch.sh
bindd = $mainMod ALT, C, calculator, exec, $UserScripts/RofiCalc.sh
@@ -97,6 +98,8 @@ bindd = $mainMod, P, toggle pseudo (dwindle), pseudo,
# Works on either layout (Master or Dwindle)
bindd = $mainMod, M, set split ratio 0.3, exec, hyprctl dispatch splitratio 0.3
+# layout aware keybinds
+exec-once = $scriptsDir/ChangeLayout.sh init
# Cycle windows; if floating bring to top
@@ -106,6 +109,8 @@ bindd = ALT, tab, bring active to top, bringactivetotop
# Special Keys / Hot Keys
bindeld = , xf86audioraisevolume, volume up, exec, $scriptsDir/Volume.sh --inc
bindeld = , xf86audiolowervolume, volume down, exec, $scriptsDir/Volume.sh --dec
+bindeld = ALT, xf86audioraisevolume, volume up precise, exec, $scriptsDir/Volume.sh --inc-precise
+bindeld = ALT, xf86audiolowervolume, volume down precise, exec, $scriptsDir/Volume.sh --dec-precise
bindld = , xf86AudioMicMute, toggle mic mute, exec, $scriptsDir/Volume.sh --toggle-mic
bindld = , xf86audiomute, toggle mute, exec, $scriptsDir/Volume.sh --toggle
bindld = , xf86Sleep, sleep, exec, systemctl suspend
@@ -160,7 +165,7 @@ bindd = $mainMod CTRL, K, Move left into group, moveintogroup, l # Move active w
bindd = $mainMod CTRL, L, Move Right into group, moveintogroup, r # Move active window right into a group
bindd = $mainMod CTRL, H, Move active out of group, moveoutofgroup # Move active window out of group
-# Try to dynamically move in grouped window and when ungrouped
+# Try to dynamically move in grouped window and when ungrouped
# Not working for me DW 11/26/25 PR: https://github.com/JaKooLit/Hyprland-Dots/pull/872
#bindd = $mainMod, right, focus right, exec, bash -c 'if hyprctl activewindow -j | jq -e "((.grouped | type) == \"boolean\") or (.address == (.grouped[-1] // empty))" >/dev/null 2>&1; then hyprctl dispatch movefocus r; else hyprctl dispatch changegroupactive f; fi'
#bindd = $mainMod, left, focus left, exec, bash -c 'if hyprctl activewindow -j | jq -e "((.grouped | type) == \"boolean\") or (.address == (.grouped[0] // empty))" >/dev/null 2>&1; then hyprctl dispatch movefocus l; else hyprctl dispatch changegroupactive b; fi'
@@ -181,7 +186,7 @@ bindd = $mainMod, U, toggle special workspace, togglespecialworkspace,
# The following mappings use the key codes to better support various keyboard layouts
# 1 is code:10, 2 is code 11, etc
-# Switch workspaces with mainMod + [0-9]
+# Switch workspaces with mainMod + [0-9]
bindd = $mainMod, code:10, workspace 1, workspace, 1 # NOTE: code:10 = key 1
bindd = $mainMod, code:11, workspace 2, workspace, 2 # NOTE: code:11 = key 2
bindd = $mainMod, code:12, workspace 3, workspace, 3 # NOTE: code:12 = key 3
diff --git a/config/hypr/configs/Startup_Apps.conf b/config/hypr/configs/Startup_Apps.conf
index 0cfb6427..0cc5da11 100644
--- a/config/hypr/configs/Startup_Apps.conf
+++ b/config/hypr/configs/Startup_Apps.conf
@@ -1,35 +1,23 @@
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
# Commands and Apps to be executed at launch (vendor defaults)
-
$scriptsDir = $HOME/.config/hypr/scripts
$UserScripts = $HOME/.config/hypr/UserScripts
-
-$wallDIR=$HOME/Pictures/wallpapers
$lock = $scriptsDir/LockScreen.sh
$SwwwRandom = $UserScripts/WallpaperAutoChange.sh
$livewallpaper=""
+$wallDIR = $HOME/Pictures/wallpapers # change path manually here if needed
### wallpaper stuff ###
exec-once = swww-daemon --format xrgb
#exec-once = mpvpaper '*' -o "load-scripts=no no-audio --loop" $livewallpaper
-
# wallpaper random
#exec-once = $SwwwRandom $wallDIR # random wallpaper switcher every 30 minutes
### Startup ###
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
-exec-once = $scriptsDir/KeybindsLayoutInit.sh
-
-# Drop Down terminal
-# See Bug#810 https://github.com/JaKooLit/Hyprland-Dots/issues/810#issuecomment-3351947644
exec-once = $HOME/.config/hypr/scripts/Dropterminal.sh kitty &
-
-
-# Polkit (Polkit Gnome / KDE)
exec-once = $scriptsDir/Polkit.sh
-
-# starup apps
exec-once = nm-applet --indicator
exec-once = nm-tray # For ubuntu
exec-once = swaync
@@ -38,23 +26,20 @@ exec-once = swaync
#exec-once = rog-control-center
exec-once = waybar
exec-once = qs -c overview # Quickshell Overview
+exec-once = hypridle
+exec-once = $scriptsDir/Hyprsunset.sh init
# Clipboard manager
exec-once = wl-paste --type text --watch cliphist store
exec-once = wl-paste --type image --watch cliphist store
-# Rainbow borders
-exec-once = $UserScripts/RainbowBorders.sh
+# Rainbow borders (disabled by default; use quick settings menu)
+#exec-once = $UserScripts/RainbowBorders.sh
-# hypridle for hyprlock
-exec-once = hypridle
-
-# Resume Hyprsunset if state is "on" from previous session
-exec-once = $scriptsDir/Hyprsunset.sh init
# Here are list of features available but disabled by default
# Persistent wallpaper
-# exec-once = swww-daemon --format xrgb && swww img $HOME/Pictures/wallpapers/mecha-nostalgia.png
+# exec-once = swww-daemon --format xrgb && swww img $wallDIR/mecha-nostalgia.png
# Gnome polkit for NixOS
#exec-once = $scriptsDir/Polkit-NixOS.sh
diff --git a/config/hypr/configs/SystemSettings.conf b/config/hypr/configs/SystemSettings.conf
index 44521156..f49960cd 100644
--- a/config/hypr/configs/SystemSettings.conf
+++ b/config/hypr/configs/SystemSettings.conf
@@ -93,6 +93,11 @@ misc {
enable_anr_dialog = true # Application not Responding (ANR)
anr_missed_pings = 15 # ANR Threshold default 1 is too low
allow_session_lock_restore = true # Prevent lockscreen crash when resume from suspend
+ # This only works with HL v0.53+
+ on_focus_under_fullscreen = 1
+ # 0 - Default, no change
+ # 1 - New focused window takes over fullscreen (Windows-like Alt-Tab)
+ # 2 - New focused window stays behind the fullscreen one
}
#opengl {
diff --git a/config/hypr/configs/WindowRules-config-v3.conf b/config/hypr/configs/WindowRules-config-v3.conf
index ba179461..6aab2590 100644
--- a/config/hypr/configs/WindowRules-config-v3.conf
+++ b/config/hypr/configs/WindowRules-config-v3.conf
@@ -2,10 +2,24 @@
# Vendor defaults for window rules and layerrules
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
-# NOTES: This is only for Hyprland > 0.52.1
-# note for ja: This should NOT be implemented on Debian and Ubuntu
+# NOTES: This is only for Hyprland >= 0.53
-# windowrule - tags - add apps under appropriate tag to use the same settings
+# Some samples on hwo to start apps on specific workspaces
+# windowrule = match:tag email*, workspace 1
+# windowrule = match:tag browser*, workspace 2
+# windowrule = match:tag projects*, workspace 3
+# windowrule = match:tag screenshare*, workspace 4 silent
+# windowrule = match:tag gamestore*, workspace 5
+# windowrule = match:class ^(virt-manager)$, workspace 6 silent
+# windowrule = match:class ^(.virt-manager-wrapped)$, workspace 6 silent
+# windowrule = match:tag im*, workspace 7
+# windowrule = match:class obsidian, workspace 8
+# windowrule = match:tag games*, workspace 8
+# windowrule = match:tag multimedia*, workspace 9 silent
+
+
+
+# TAGS - add apps under appropriate tag to use the same settings
# browser tags
windowrule = match:class ^([Ff]irefox|org.mozilla.firefox|[Ff]irefox-esr|[Ff]irefox-bin)$, tag +browser
windowrule = match:class ^([Gg]oogle-chrome(-beta|-dev|-unstable)?)$, tag +browser
@@ -14,7 +28,7 @@ windowrule = match:class ^([Cc]hromium)$, tag +browser
windowrule = match:class ^([Mm]icrosoft-edge(-stable|-beta|-dev|-unstable))$, tag +browser
windowrule = match:class ^(Brave-browser(-beta|-dev|-unstable)?)$, tag +browser
windowrule = match:class ^([Tt]horium-browser|[Cc]achy-browser)$, tag +browser
-windowrule = match:class ^(zen-alpha|zen)$, tag +browser
+windowrule = match:class ^(zen)$, tag +browser
# notif tags
windowrule = match:class ^(swaync-control-center|swaync-notification-window|swaync-client|class)$, tag +notif
@@ -30,11 +44,13 @@ windowrule = match:class ^(Alacritty|kitty|kitty-dropterm)$, tag +terminal
# email tags
windowrule = match:class ^([Tt]hunderbird|org.gnome.Evolution)$, tag +email
windowrule = match:class ^(eu.betterbird.Betterbird)$, tag +email
+windowrule = match:class ^(org.gnome.Evolution)$, tag +email
# project tags
windowrule = match:class ^(codium|codium-url-handler|VSCodium)$, tag +projects
windowrule = match:class ^(VSCode|code|code-url-handler)$, tag +projects
windowrule = match:class ^(jetbrains-.+)$, tag +projects
+windowrule = match:class ^(dev.zed.Zed|antigravity)$, tag +projects
# screenshare tags
windowrule = match:class ^(com.obsproject.Studio)$, tag +screenshare
@@ -43,7 +59,6 @@ windowrule = match:class ^(com.obsproject.Studio)$, tag +screenshare
windowrule = match:class ^([Dd]iscord|[Ww]ebCord|[Vv]esktop)$, tag +im
windowrule = match:class ^([Ff]erdium)$, tag +im
windowrule = match:class ^([Ww]hatsapp-for-linux)$, tag +im
-windowrule = match:class ^(ZapZap|com.rtosta.zapzap)$, tag +im
windowrule = match:class ^(org.telegram.desktop|io.github.tdesktop_x64.TDesktop)$, tag +im
windowrule = match:class ^(teams-for-linux)$, tag +im
windowrule = match:class ^(im.riot.Riot|Element)$, tag +im
@@ -79,10 +94,12 @@ windowrule = match:title (Kvantum Manager), tag +settings
windowrule = match:class ^(file-roller|org.gnome.FileRoller)$, tag +settings
windowrule = match:class ^(nm-applet|nm-connection-editor|blueman-manager)$, tag +settings
windowrule = match:class ^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$, tag +settings
-windowrule = match:class ^(qt5ct|qt6ct|[Yy]ad)$, tag +settings
+windowrule = match:class ^(qt5ct|qt6ct)$, tag +settings
windowrule = match:class (xdg-desktop-portal-gtk), tag +settings
windowrule = match:class ^(org.kde.polkit-kde-authentication-agent-1)$, tag +settings
windowrule = match:class ^([Rr]ofi)$, tag +settings
+windowrule = match:class ^(btrfs-assistant)$, tag +settings
+windowrule = match:class ^(timeshift-gtk)$, tag +settings
# viewer tags
windowrule = match:class ^(gnome-system-monitor|org.gnome.SystemMonitor|io.missioncenter.MissionCenter)$, tag +viewer
@@ -153,23 +170,21 @@ windowrule = match:tag wallpaper, opacity 0.9 0.7
windowrule = match:class ^(gedit|org.gnome.TextEditor|mousepad)$, opacity 0.8 0.7
windowrule = match:class ^(deluge)$, opacity 0.9 0.8
windowrule = match:class ^(seahorse)$, opacity 0.9 0.8
-windowrule = match:title ^(Picture-in-Picture)$, opacity 0.95 0.75
# SIZE
windowrule = match:tag KooL_Cheat, size (monitor_w*0.65) (monitor_h*0.9)
windowrule = match:tag wallpaper, size (monitor_w*0.7) (monitor_h*0.7)
windowrule = match:tag settings, size (monitor_w*0.7) (monitor_h*0.7)
-windowrule = match:class ^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$, size (monitor_w*0.6) (monitor_h*0.7)
windowrule = match:class ^([Ff]erdium)$, size (monitor_w*0.6) (monitor_h*0.7)
+windowrule = match:class (org.gnome.Calculator|qalculate-gtk), center on, size (monitor_w*0.25) (monitor_h*0.3)
-# PINNING
-windowrule = match:title ^(Picture-in-Picture)$, pin on, keep_aspect_ratio on
# BLUR & FULLSCREEN
windowrule = match:tag games, no_blur on, fullscreen 0
windowrule = match:tag games, fullscreen 0
-# This not gonna take the focus to the window that appears when hovering over some of the parts of the IntelliJ Products
+# This not gonna take the focus to the window that appears when
+# hovering over some of the parts of the IntelliJ Products
windowrule = match:class ^(jetbrains-*), no_initial_focus on
windowrule = match:title ^(wind.*)$, no_initial_focus on
@@ -178,3 +193,31 @@ layerrule = match:namespace rofi, blur on
layerrule = match:namespace notifications, blur on
layerrule = match:namespace quickshell:overview, blur on
layerrule = match:namespace quickshell:overview, ignore_alpha 0.5
+
+# Named rules for special cases
+windowrule {
+ name = Whatsapp-zapzap
+ match:class = ^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$
+ size = (monitor_w*0.6) (monitor_h*0.7)
+ center = on
+}
+windowrule {
+ name = Picture-in-Picture
+ match:title = ^(Picture-in-Picture)$
+ float = on
+ move = 72% 7%
+ opacity = 0.95 0.75
+ pin = on
+ keep_aspect_ratio = on
+ size = (monitor_w*0.3) (monitor_h*0.3)
+}
+# Thunar copy progress dialog
+windowrule {
+ name = Thunar-Progress-bar
+ match:class = ^(thunar)$
+ match:title = ^(File Operation Progress)$
+ float = on
+ center = on
+ size = (monitor_w*0.26) (monitor_h*0.18)
+}
+
diff --git a/config/hypr/configs/WindowRules-pre-53.conf b/config/hypr/configs/WindowRules-pre-53.conf
index d1fb9315..8a5f99c7 100644
--- a/config/hypr/configs/WindowRules-pre-53.conf
+++ b/config/hypr/configs/WindowRules-pre-53.conf
@@ -4,8 +4,6 @@
# NOTES: This is only for Hyprland > 0.48
-# note for ja: This should NOT be implemented on Debian and Ubuntu
-
# windowrule - tags - add apps under appropriate tag to use the same settings
# browser tags
windowrule = tag +browser, class:^([Ff]irefox|org.mozilla.firefox|[Ff]irefox-esr|[Ff]irefox-bin)$
@@ -228,4 +226,4 @@ layerrule = ignorealpha 0.5, quickshell:overview
#layerrule = ignorezero, <rofi>
#layerrule = ignorezero, overview
-#layerrule = blur, overview \ No newline at end of file
+#layerrule = blur, overview
diff --git a/config/hypr/configs/WindowRules.conf b/config/hypr/configs/WindowRules.conf
index ba179461..d110cd4a 100644
--- a/config/hypr/configs/WindowRules.conf
+++ b/config/hypr/configs/WindowRules.conf
@@ -2,10 +2,24 @@
# Vendor defaults for window rules and layerrules
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
-# NOTES: This is only for Hyprland > 0.52.1
-# note for ja: This should NOT be implemented on Debian and Ubuntu
+# NOTES: This is only for Hyprland >= 0.53
-# windowrule - tags - add apps under appropriate tag to use the same settings
+# Some samples on hwo to start apps on specific workspaces
+# windowrule = match:tag email*, workspace 1
+# windowrule = match:tag browser*, workspace 2
+# windowrule = match:tag projects*, workspace 3
+# windowrule = match:tag screenshare*, workspace 4 silent
+# windowrule = match:tag gamestore*, workspace 5
+# windowrule = match:class ^(virt-manager)$, workspace 6 silent
+# windowrule = match:class ^(.virt-manager-wrapped)$, workspace 6 silent
+# windowrule = match:tag im*, workspace 7
+# windowrule = match:class obsidian, workspace 8
+# windowrule = match:tag games*, workspace 8
+# windowrule = match:tag multimedia*, workspace 9 silent
+
+
+
+# TAGS - add apps under appropriate tag to use the same settings
# browser tags
windowrule = match:class ^([Ff]irefox|org.mozilla.firefox|[Ff]irefox-esr|[Ff]irefox-bin)$, tag +browser
windowrule = match:class ^([Gg]oogle-chrome(-beta|-dev|-unstable)?)$, tag +browser
@@ -28,13 +42,15 @@ windowrule = match:class ^(nwg-displays|nwg-look)$, tag +KooL-Settings
windowrule = match:class ^(Alacritty|kitty|kitty-dropterm)$, tag +terminal
# email tags
-windowrule = match:class ^([Tt]hunderbird|org.gnome.Evolution)$, tag +email
+windowrule = match:class ^([Tt]hunderbird|org.mozilla.Thunderbird)$, tag +email
windowrule = match:class ^(eu.betterbird.Betterbird)$, tag +email
+windowrule = match:class ^(org.gnome.Evolution)$, tag +email
# project tags
windowrule = match:class ^(codium|codium-url-handler|VSCodium)$, tag +projects
windowrule = match:class ^(VSCode|code|code-url-handler)$, tag +projects
windowrule = match:class ^(jetbrains-.+)$, tag +projects
+windowrule = match:class ^(dev.zed.Zed|antigravity)$, tag +projects
# screenshare tags
windowrule = match:class ^(com.obsproject.Studio)$, tag +screenshare
@@ -43,7 +59,6 @@ windowrule = match:class ^(com.obsproject.Studio)$, tag +screenshare
windowrule = match:class ^([Dd]iscord|[Ww]ebCord|[Vv]esktop)$, tag +im
windowrule = match:class ^([Ff]erdium)$, tag +im
windowrule = match:class ^([Ww]hatsapp-for-linux)$, tag +im
-windowrule = match:class ^(ZapZap|com.rtosta.zapzap)$, tag +im
windowrule = match:class ^(org.telegram.desktop|io.github.tdesktop_x64.TDesktop)$, tag +im
windowrule = match:class ^(teams-for-linux)$, tag +im
windowrule = match:class ^(im.riot.Riot|Element)$, tag +im
@@ -79,10 +94,12 @@ windowrule = match:title (Kvantum Manager), tag +settings
windowrule = match:class ^(file-roller|org.gnome.FileRoller)$, tag +settings
windowrule = match:class ^(nm-applet|nm-connection-editor|blueman-manager)$, tag +settings
windowrule = match:class ^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$, tag +settings
-windowrule = match:class ^(qt5ct|qt6ct|[Yy]ad)$, tag +settings
+windowrule = match:class ^(qt5ct|qt6ct)$, tag +settings
windowrule = match:class (xdg-desktop-portal-gtk), tag +settings
windowrule = match:class ^(org.kde.polkit-kde-authentication-agent-1)$, tag +settings
windowrule = match:class ^([Rr]ofi)$, tag +settings
+windowrule = match:class ^(btrfs-assistant)$, tag +settings
+windowrule = match:class ^(timeshift-gtk)$, tag +settings
# viewer tags
windowrule = match:class ^(gnome-system-monitor|org.gnome.SystemMonitor|io.missioncenter.MissionCenter)$, tag +viewer
@@ -92,53 +109,46 @@ windowrule = match:class ^(eog|org.gnome.Loupe)$, tag +viewer
# Some special override rules
windowrule = match:tag multimedia_video, no_blur on
windowrule = match:tag multimedia_video, opacity 1.0
+windowrule = match:tag multimedia, no_blur on
+windowrule = match:tag multimedia, opacity 1.0
# POSITION
-# windowrule = match:floating true, center on
windowrule = match:tag KooL_Cheat, center on
-windowrule = match:class ([Tt]hunar) match:title negative:(.*[Tt]hunar.*), center on
-windowrule = match:title ^(ROG Control)$, center on
windowrule = match:tag KooL-Settings, center on
+windowrule = match:title ^(ROG Control)$, center on
windowrule = match:title ^(Keybindings)$, center on
windowrule = match:class ^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$, center on
-windowrule = match:class ^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$, center on
windowrule = match:class ^([Ff]erdium)$, center on
-windowrule = match:title ^(Picture-in-Picture)$, move 72% 7%
# windowrule to avoid idle for fullscreen apps
windowrule = match:fullscreen true, idle_inhibit fullscreen
+windowrule = idle_inhibit fullscreen, match:fullscreen 1
+windowrule = idle_inhibit fullscreen, match:class ^(*)$
+windowrule = idle_inhibit fullscreen, match:title ^(*)$
# FLOAT
windowrule = match:tag KooL_Cheat, float on
-windowrule = match:tag wallpaper, float on
-windowrule = match:tag settings, float on
-windowrule = match:tag viewer, float on
-windowrule = match:tag KooL-Settings, float on
+windowrule = match:tag wallpaper, float on, center on
+windowrule = match:tag settings, float on, center on
+windowrule = match:tag viewer, float on, center on
+windowrule = match:tag KooL-Settings, float on, center on
windowrule = match:class ([Zz]oom|onedriver|onedriver-launcher), float on
-windowrule = match:class (org.gnome.Calculator) match:title (Calculator), float on
+windowrule = match:class (org.gnome.Calculator|qalculate-gtk), float on
windowrule = match:class ^(mpv|com.github.rafostar.Clapper)$, float on
windowrule = match:class ^([Qq]alculate-gtk)$, float on
windowrule = match:class ^([Ff]erdium)$, float on
-windowrule = match:title ^(Picture-in-Picture)$, float on
-# windowrule - ######### float popups and dialogue #######
+# popups and dialogue
windowrule = match:title ^(Authentication Required)$, float on, center on
windowrule = match:class (codium|codium-url-handler|VSCodium) match:title negative:(.*codium.*|.*VSCodium.*), float on
windowrule = match:class ^(com.heroicgameslauncher.hgl)$ match:title negative:(Heroic Games Launcher), float on
windowrule = match:class ^([Ss]team)$ match:title negative:^([Ss]team)$, float on
-windowrule = match:class ([Tt]hunar) match:title negative:(.*[Tt]hunar.*), float on
-
windowrule = match:title ^(Add Folder to Workspace)$, float on, size (monitor_w*0.7) (monitor_h*0.6), center on
-
windowrule = match:title ^(Save As)$, float on, size (monitor_w*0.7) (monitor_h*0.6), center on
-
windowrule = match:initial_title (Open Files), float on, size (monitor_w*0.7) (monitor_h*0.6)
-
windowrule = match:title ^(SDDM Background)$, float on, center on, size (monitor_w*0.16) (monitor_h*0.12)
-
-# YAD dialog for wallpaper confirmation
-windowrule = match:class ^(yad)$ match:title ^(YAD)$, float on, center on, size (monitor_w*0.2) (monitor_h*0.2)
-# END of float popups and dialogue #######
+windowrule = match:class ^(yad)$, float on, center on, size (monitor_w*0.2) (monitor_h*0.2)
+windowrule = match:class ^(hyprland-donate-screen)$, float on, center on
# OPACITY
windowrule = match:tag browser, opacity 0.99 0.8
@@ -169,7 +179,8 @@ windowrule = match:title ^(Picture-in-Picture)$, pin on, keep_aspect_ratio on
windowrule = match:tag games, no_blur on, fullscreen 0
windowrule = match:tag games, fullscreen 0
-# This not gonna take the focus to the window that appears when hovering over some of the parts of the IntelliJ Products
+# This not gonna take the focus to the window that appears when
+# hovering over some of the parts of the IntelliJ Products
windowrule = match:class ^(jetbrains-*), no_initial_focus on
windowrule = match:title ^(wind.*)$, no_initial_focus on
@@ -178,3 +189,31 @@ layerrule = match:namespace rofi, blur on
layerrule = match:namespace notifications, blur on
layerrule = match:namespace quickshell:overview, blur on
layerrule = match:namespace quickshell:overview, ignore_alpha 0.5
+
+# Named rules for special cases
+windowrule {
+ name = Whatsapp-zapzap
+ match:class = ^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$
+ size = (monitor_w*0.6) (monitor_h*0.7)
+ center = on
+}
+windowrule {
+ name = Picture-in-Picture
+ match:title = ^(Picture-in-Picture)$
+ float = on
+ move = 72% 7%
+ opacity = 0.95 0.75
+ pin = on
+ keep_aspect_ratio = on
+ size = (monitor_w*0.3) (monitor_h*0.3)
+}
+# Thunar copy progress dialog
+windowrule {
+ name = Thunar-Progress-bar
+ match:class = ^(thunar)$
+ match:title = ^(File Operation Progress)$
+ float = on
+ center = on
+ size = (monitor_w*0.26) (monitor_h*0.18)
+}
+
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage