aboutsummaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
Diffstat (limited to 'config')
-rw-r--r--config/hypr/UserConfigs/WindowRules-new.conf222
-rw-r--r--config/hypr/UserConfigs/WindowRules-old.conf206
-rw-r--r--config/hypr/UserConfigs/WindowRules.conf296
-rwxr-xr-xconfig/hypr/UserScripts/Weather.py2
-rwxr-xr-xconfig/hypr/UserScripts/Weather.sh4
-rwxr-xr-xconfig/hypr/scripts/Kitty_themes.sh149
-rw-r--r--config/waybar/Modules4
7 files changed, 488 insertions, 395 deletions
diff --git a/config/hypr/UserConfigs/WindowRules-new.conf b/config/hypr/UserConfigs/WindowRules-new.conf
deleted file mode 100644
index ed40e842..00000000
--- a/config/hypr/UserConfigs/WindowRules-new.conf
+++ /dev/null
@@ -1,222 +0,0 @@
-# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
-# For window rules and layerrules
-# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
-
-# NOTES: This is only for Hyprland > 0.48. If you use copy.sh, no need to do anything
-
-# 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)$
-windowrule = tag +browser, class:^([Gg]oogle-chrome(-beta|-dev|-unstable)?)$
-windowrule = tag +browser, class:^(chrome-.+-Default)$ # Chrome PWAs
-windowrule = tag +browser, class:^([Cc]hromium)$
-windowrule = tag +browser, class:^([Mm]icrosoft-edge(-stable|-beta|-dev|-unstable))$
-windowrule = tag +browser, class:^(Brave-browser(-beta|-dev|-unstable)?)$
-windowrule = tag +browser, class:^([Tt]horium-browser|[Cc]achy-browser)$
-windowrule = tag +browser, class:^(zen-alpha|zen)$
-
-# notif tags
-windowrule = tag +notif, class:^(swaync-control-center|swaync-notification-window|swaync-client|class)$
-
-# KooL settings tag
-windowrule = tag +KooL_Cheat, title:^(KooL Quick Cheat Sheet)$
-windowrule = tag +KooL_Settings, title:^(KooL Hyprland Settings)$
-windowrule = tag +KooL-Settings, class:^(nwg-displays|nwg-look)$
-
-# terminal tags
-windowrule = tag +terminal, class:^(Alacritty|kitty|kitty-dropterm)$
-
-# email tags
-windowrule = tag +email, class:^([Tt]hunderbird|org.gnome.Evolution)$
-windowrule = tag +email, class:^(eu.betterbird.Betterbird)$
-
-# project tags
-windowrule = tag +projects, class:^(codium|codium-url-handler|VSCodium)$
-windowrule = tag +projects, class:^(VSCode|code-url-handler)$
-windowrule = tag +projects, class:^(jetbrains-.+)$ # JetBrains IDEs
-
-# screenshare tags
-windowrule = tag +screenshare, class:^(com.obsproject.Studio)$
-
-# IM tags
-windowrule = tag +im, class:^([Dd]iscord|[Ww]ebCord|[Vv]esktop)$
-windowrule = tag +im, class:^([Ff]erdium)$
-windowrule = tag +im, class:^([Ww]hatsapp-for-linux)$
-windowrule = tag +im, class:^(ZapZap|com.rtosta.zapzap)$
-windowrule = tag +im, class:^(org.telegram.desktop|io.github.tdesktop_x64.TDesktop)$
-windowrule = tag +im, class:^(teams-for-linux)$
-
-# game tags
-windowrule = tag +games, class:^(gamescope)$
-windowrule = tag +games, class:^(steam_app_\d+)$
-
-# gamestore tags
-windowrule = tag +gamestore, class:^([Ss]team)$
-windowrule = tag +gamestore, title:^([Ll]utris)$
-windowrule = tag +gamestore, class:^(com.heroicgameslauncher.hgl)$
-
-# file-manager tags
-windowrule = tag +file-manager, class:^([Tt]hunar|org.gnome.Nautilus|[Pp]cmanfm-qt)$
-windowrule = tag +file-manager, class:^(app.drey.Warp)$
-
-# wallpaper tags
-windowrule = tag +wallpaper, class:^([Ww]aytrogen)$
-
-# multimedia tags
-windowrule = tag +multimedia, class:^([Aa]udacious)$
-
-# multimedia-video tags
-windowrule = tag +multimedia_video, class:^([Mm]pv|vlc)$
-
-# settings tags
-windowrule = tag +settings, title:^(ROG Control)$
-windowrule = tag +settings, class:^(wihotspot(-gui)?)$ # wifi hotspot
-windowrule = tag +settings, class:^([Bb]aobab|org.gnome.[Bb]aobab)$ # Disk usage analyzer
-windowrule = tag +settings, class:^(gnome-disks|wihotspot(-gui)?)$
-windowrule = tag +settings, title:(Kvantum Manager)
-windowrule = tag +settings, class:^(file-roller|org.gnome.FileRoller)$ # archive manager
-windowrule = tag +settings, class:^(nm-applet|nm-connection-editor|blueman-manager)$
-windowrule = tag +settings, class:^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$
-windowrule = tag +settings, class:^(qt5ct|qt6ct|[Yy]ad)$
-windowrule = tag +settings, class:(xdg-desktop-portal-gtk)
-windowrule = tag +settings, class:^(org.kde.polkit-kde-authentication-agent-1)$
-windowrule = tag +settings, class:^([Rr]ofi)$
-
-# viewer tags
-windowrule = tag +viewer, class:^(gnome-system-monitor|org.gnome.SystemMonitor|io.missioncenter.MissionCenter)$ # system monitor
-windowrule = tag +viewer, class:^(evince)$ # document viewer
-windowrule = tag +viewer, class:^(eog|org.gnome.Loupe)$ # image viewer
-
-# Some special override rules
-windowrule = noblur, tag:multimedia_video*
-windowrule = opacity 1.0, tag:multimedia_video*
-
-# POSITION
-# windowrule = center,floating:1 # warning, it cause even the menu to float and center.
-windowrule = center, tag:KooL_Cheat*
-windowrule = center, class:([Tt]hunar), title:negative:(.*[Tt]hunar.*)
-windowrule = center, title:^(ROG Control)$
-windowrule = center, tag:KooL-Settings*
-windowrule = center, title:^(Keybindings)$
-windowrule = center, class:^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$
-windowrule = center, class:^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$
-windowrule = center, class:^([Ff]erdium)$
-windowrule = move 72% 7%,title:^(Picture-in-Picture)$
-#windowrule = move 72% 7%,title:^(Firefox)$
-
-# windowrule to avoid idle for fullscreen apps
-#windowrule = idleinhibit fullscreen, class:^(*)$
-#windowrule = idleinhibit fullscreen, title:^(*)$
-windowrule = idleinhibit fullscreen, fullscreen:1
-
-# windowrule move to workspace
-windowrule = workspace 1, tag:email*
-windowrule = workspace 2, tag:browser*
-#windowrule = workspace 3, class:^([Tt]hunar)$
-#windowrule = workspace 3, tag:projects*
-windowrule = workspace 5, tag:gamestore*
-windowrule = workspace 7, tag:im*
-windowrule = workspace 8, tag:games*
-
-# windowrule move to workspace (silent)
-windowrule = workspace 4 silent, tag:screenshare*
-windowrule = workspace 6 silent, class:^(virt-manager)$
-windowrule = workspace 6 silent, class:^(.virt-manager-wrapped)$
-windowrule = workspace 9 silent, tag:multimedia*
-
-# FLOAT
-windowrule = float, tag:KooL_Cheat*
-windowrule = float, tag:wallpaper*
-windowrule = float, tag:settings*
-windowrule = float, tag:viewer*
-windowrule = float, tag:KooL-Settings*
-windowrule = float, class:([Zz]oom|onedriver|onedriver-launcher)$
-windowrule = float, class:(org.gnome.Calculator), title:(Calculator)
-windowrule = float, class:^(mpv|com.github.rafostar.Clapper)$
-windowrule = float, class:^([Qq]alculate-gtk)$
-#windowrule = float, class:^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$
-windowrule = float, class:^([Ff]erdium)$
-windowrule = float, title:^(Picture-in-Picture)$
-#windowrule = float, title:^(Firefox)$
-
-# windowrule - ######### float popups and dialogue #######
-windowrule = float, title:^(Authentication Required)$
-windowrule = center, title:^(Authentication Required)$
-windowrule = float, class:(codium|codium-url-handler|VSCodium), title:negative:(.*codium.*|.*VSCodium.*)
-windowrule = float, class:^(com.heroicgameslauncher.hgl)$, title:negative:(Heroic Games Launcher)
-windowrule = float, class:^([Ss]team)$, title:negative:^([Ss]team)$
-windowrule = float, class:([Tt]hunar), title:negative:(.*[Tt]hunar.*)
-
-windowrule = float, title:^(Add Folder to Workspace)$
-windowrule = size 70% 60%, title:^(Add Folder to Workspace)$
-windowrule = center, title:^(Add Folder to Workspace)$
-
-windowrule = float, title:^(Save As)$
-windowrule = size 70% 60%, title:^(Save As)$
-windowrule = center, title:^(Save As)$
-
-windowrule = float, initialTitle:(Open Files)
-windowrule = size 70% 60%, initialTitle:(Open Files)
-
-windowrule = float, title:^(SDDM Background)$ #KooL's Dots YAD for setting SDDM background
-windowrule = center, title:^(SDDM Background)$ #KooL's Dots YAD for setting SDDM background
-windowrule = size 16% 12%, title:^(SDDM Background)$ #KooL's Dots YAD for setting SDDM background
-# END of float popups and dialogue #######
-
-# OPACITY
-windowrule = opacity 0.9 0.7, tag:browser*
-windowrule = opacity 0.9 0.8, tag:projects*
-windowrule = opacity 0.94 0.86, tag:im*
-windowrule = opacity 0.94 0.86, tag:multimedia*
-windowrule = opacity 0.9 0.8, tag:file-manager*
-windowrule = opacity 0.8 0.7, tag:terminal*
-windowrule = opacity 0.8 0.7, tag:settings*
-windowrule = opacity 0.82 0.75, tag:viewer*
-windowrule = opacity 0.9 0.7, tag:wallpaper*
-windowrule = opacity 0.8 0.7, class:^(gedit|org.gnome.TextEditor|mousepad)$
-windowrule = opacity 0.9 0.8, class:^(deluge)$
-windowrule = opacity 0.9 0.8, class:^(im.riot.Riot)$ # Element matrix client
-windowrule = opacity 0.9 0.8, class:^(seahorse)$ # gnome-keyring gui
-windowrule = opacity 0.95 0.75, title:^(Picture-in-Picture)$
-
-# SIZE
-windowrule = size 65% 90%, tag:KooL_Cheat*
-windowrule = size 70% 70%, tag:wallpaper*
-windowrule = size 70% 70%, tag:settings*
-windowrule = size 60% 70%, class:^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$
-windowrule = size 60% 70%, class:^([Ff]erdium)$
-
-#windowrule = size 25% 25%, title:^(Picture-in-Picture)$
-#windowrule = size 25% 25%, title:^(Firefox)$
-
-# PINNING
-windowrule = pin, title:^(Picture-in-Picture)$
-#windowrule = pin,title:^(Firefox)$
-
-# windowrule - extras
-windowrule = keepaspectratio, title:^(Picture-in-Picture)$
-
-# BLUR & FULLSCREEN
-windowrule = noblur, tag:games*
-windowrule = fullscreen, tag:games*
-
-#windowrule = bordercolor rgb(EE4B55) rgb(880808), fullscreen:1
-#windowrule = bordercolor rgb(282737) rgb(1E1D2D), floating:1
-#windowrule = opacity 0.8 0.8, pinned:1
-
-# LAYER RULES
-layerrule = blur, rofi
-layerrule = ignorezero, rofi
-layerrule = blur, notifications
-layerrule = ignorezero, notifications
-#layerrule = ignorealpha 0.5, tag:notif*
-
-#layerrule = ignorezero, class:^([Rr]ofi)$
-#layerrule = blur, class:^([Rr]ofi)$
-#layerrule = unset,class:^([Rr]ofi)$
-#layerrule = ignorezero, <rofi>
-
-#layerrule = ignorezero, overview
-#layerrule = blur, overview \ No newline at end of file
diff --git a/config/hypr/UserConfigs/WindowRules-old.conf b/config/hypr/UserConfigs/WindowRules-old.conf
new file mode 100644
index 00000000..d6e1dead
--- /dev/null
+++ b/config/hypr/UserConfigs/WindowRules-old.conf
@@ -0,0 +1,206 @@
+# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
+# For window rules and layerrules
+# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
+
+# NOTES: This is only for Hyprland older versions (< 0.48)
+
+# windowrule v2 - tags - add apps under appropriate tag to use the same settings
+# browser tags
+windowrulev2 = tag +browser, class:^([Ff]irefox|org.mozilla.firefox|[Ff]irefox-esr|[Ff]irefox-bin)$
+windowrulev2 = tag +browser, class:^([Gg]oogle-chrome(-beta|-dev|-unstable)?)$
+windowrulev2 = tag +browser, class:^(chrome-.+-Default)$ # Chrome PWAs
+windowrulev2 = tag +browser, class:^([Cc]hromium)$
+windowrulev2 = tag +browser, class:^([Mm]icrosoft-edge(-stable|-beta|-dev|-unstable))$
+windowrulev2 = tag +browser, class:^(Brave-browser(-beta|-dev|-unstable)?)$
+windowrulev2 = tag +browser, class:^([Tt]horium-browser|[Cc]achy-browser)$
+windowrulev2 = tag +browser, class:^(zen-alpha|zen)$
+windowrulev2 = tag +notif, class:^(swaync-control-center|swaync-notification-window|swaync-client|class)$
+windowrulev2 = tag +KooL_Cheat, title:^(KooL Quick Cheat Sheet)$
+windowrulev2 = tag +KooL_Settings, title:^(KooL Hyprland Settings)$
+windowrulev2 = tag +KooL-Settings, class:^(nwg-displays|nwg-look)$
+
+# terminal tags
+windowrulev2 = tag +terminal, class:^(Alacritty|kitty|kitty-dropterm)$
+
+# email tags
+windowrulev2 = tag +email, class:^([Tt]hunderbird|org.gnome.Evolution)$
+windowrulev2 = tag +email, class:^(eu.betterbird.Betterbird)$
+
+# project tags
+windowrulev2 = tag +projects, class:^(codium|codium-url-handler|VSCodium)$
+windowrulev2 = tag +projects, class:^(VSCode|code-url-handler)$
+windowrulev2 = tag +projects, class:^(jetbrains-.+)$ # JetBrains IDEs
+
+# screenshare tags
+windowrulev2 = tag +screenshare, class:^(com.obsproject.Studio)$
+
+# IM tags
+windowrulev2 = tag +im, class:^([Dd]iscord|[Ww]ebCord|[Vv]esktop)$
+windowrulev2 = tag +im, class:^([Ff]erdium)$
+windowrulev2 = tag +im, class:^([Ww]hatsapp-for-linux)$
+windowrulev2 = tag +im, class:^(ZapZap|com.rtosta.zapzap)$
+windowrulev2 = tag +im, class:^(org.telegram.desktop|io.github.tdesktop_x64.TDesktop)$
+windowrulev2 = tag +im, class:^(teams-for-linux)$
+
+# game tags
+windowrulev2 = tag +games, class:^(gamescope)$
+windowrulev2 = tag +games, class:^(steam_app_\d+)$
+
+# gamestore tags
+windowrulev2 = tag +gamestore, class:^([Ss]team)$
+windowrulev2 = tag +gamestore, title:^([Ll]utris)$
+windowrulev2 = tag +gamestore, class:^(com.heroicgameslauncher.hgl)$
+
+# file-manager tags
+windowrulev2 = tag +file-manager, class:^([Tt]hunar|org.gnome.Nautilus|[Pp]cmanfm-qt)$
+windowrulev2 = tag +file-manager, class:^(app.drey.Warp)$
+
+# wallpaper tags
+windowrulev2 = tag +wallpaper title:^([Ww]aytrogen)$
+windowrulev2 = tag +wallpaper, class:^([Ww]aytrogen)$
+
+# multimedia tags
+windowrulev2 = tag +multimedia, class:^([Aa]udacious)$
+
+
+# settings tags
+windowrulev2 = tag +settings, title:^(ROG Control)$
+windowrulev2 = tag +settings, class:^(wihotspot(-gui)?)$ # wifi hotspot
+windowrulev2 = tag +settings, class:^([Bb]aobab|org.gnome.[Bb]aobab)$ # Disk usage analyzer
+windowrulev2 = tag +settings, class:^(gnome-disks|wihotspot(-gui)?)$
+windowrulev2 = tag +settings, title:(Kvantum Manager)
+windowrulev2 = tag +settings, class:^(file-roller|org.gnome.FileRoller)$ # archive manager
+windowrulev2 = tag +settings, class:^(nm-applet|nm-connection-editor|blueman-manager)$
+windowrulev2 = tag +settings, class:^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$
+windowrulev2 = tag +settings, class:^(qt5ct|qt6ct|[Yy]ad)$
+windowrulev2 = tag +settings, class:(xdg-desktop-portal-gtk)
+windowrulev2 = tag +settings, class:^(org.kde.polkit-kde-authentication-agent-1)$
+windowrulev2 = tag +settings, class:^([Rr]ofi)$
+
+# viewer tags
+windowrulev2 = tag +viewer, class:^(gnome-system-monitor|org.gnome.SystemMonitor|io.missioncenter.MissionCenter)$ # system monitor
+windowrulev2 = tag +viewer, class:^(evince)$ # document viewer
+windowrulev2 = tag +viewer, class:^(eog|org.gnome.Loupe)$ # image viewer
+
+# POSITION
+# windowrulev2 = center,floating:1 # warning, it cause even the menu to float and center.
+windowrulev2 = center, tag:KooL_Cheat*
+windowrulev2 = center, class:([Tt]hunar), title:negative:(.*[Tt]hunar.*)
+windowrulev2 = center, title:^(ROG Control)$
+windowrulev2 = center, tag:KooL-Settings*
+windowrulev2 = center, title:^(Keybindings)$
+windowrulev2 = center, class:^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$
+windowrulev2 = center, class:^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$
+windowrulev2 = center, class:^([Ff]erdium)$
+windowrulev2 = move 72% 7%,title:^(Picture-in-Picture)$
+#windowrulev2 = move 72% 7%,title:^(Firefox)$
+
+# windowrule v2 to avoid idle for fullscreen apps
+#windowrulev2 = idleinhibit fullscreen, class:^(*)$
+#windowrulev2 = idleinhibit fullscreen, title:^(*)$
+windowrulev2 = idleinhibit fullscreen, fullscreen:1
+
+# windowrule v2 move to workspace
+windowrulev2 = workspace 1, tag:email*
+windowrulev2 = workspace 2, tag:browser*
+#windowrulev2 = workspace 3, class:^([Tt]hunar)$
+#windowrulev2 = workspace 3, tag:projects*
+windowrulev2 = workspace 5, tag:gamestore*
+windowrulev2 = workspace 7, tag:im*
+windowrulev2 = workspace 8, tag:games*
+
+# windowrule v2 move to workspace (silent)
+windowrulev2 = workspace 4 silent, tag:screenshare*
+windowrulev2 = workspace 6 silent, class:^(virt-manager)$
+windowrulev2 = workspace 6 silent, class:^(.virt-manager-wrapped)$
+windowrulev2 = workspace 9 silent, tag:multimedia*
+
+# FLOAT
+windowrulev2 = float, tag:KooL_Cheat*
+windowrulev2 = float, tag:wallpaper*
+windowrulev2 = float, tag:settings*
+windowrulev2 = float, tag:viewer*
+windowrulev2 = float, tag:KooL-Settings*
+windowrulev2 = float, class:([Zz]oom|onedriver|onedriver-launcher)$
+windowrulev2 = float, class:(org.gnome.Calculator), title:(Calculator)
+windowrulev2 = float, class:^(mpv|com.github.rafostar.Clapper)$
+windowrulev2 = float, class:^([Qq]alculate-gtk)$
+#windowrulev2 = float, class:^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$
+windowrulev2 = float, class:^([Ff]erdium)$
+windowrulev2 = float, title:^(Picture-in-Picture)$
+#windowrulev2 = float, title:^(Firefox)$
+
+
+#windowrule v2 - float popups and dialogue
+windowrulev2 = float, title:^(Authentication Required)$
+windowrulev2 = center, title:^(Authentication Required)$
+windowrulev2 = float, class:(codium|codium-url-handler|VSCodium), title:negative:(.*codium.*|.*VSCodium.*)
+windowrulev2 = float, class:^(com.heroicgameslauncher.hgl)$, title:negative:(Heroic Games Launcher)
+windowrulev2 = float, class:^([Ss]team)$, title:negative:^([Ss]team)$
+windowrulev2 = float, class:([Tt]hunar), title:negative:(.*[Tt]hunar.*)
+#windowrulev2 = float, class:(electron), title:(Add Folder to Workspace)
+windowrulev2 = float, title:^(Add Folder to Workspace)$
+windowrulev2 = size 70% 60%, title:^(Add Folder to Workspace)$
+windowrulev2 = center, title:^(Add Folder to Workspace)$
+windowrulev2 = float, initialTitle:(Open Files)
+windowrulev2 = size 70% 60%, initialTitle:(Open Files)
+windowrulev2 = float, title:^(SDDM Background)$ #KooL's Dots YAD for setting SDDM background
+windowrulev2 = center, title:^(SDDM Background)$ #KooL's Dots YAD for setting SDDM background
+windowrulev2 = size 16% 12%, title:^(SDDM Background)$ #KooL's Dots YAD for setting SDDM background
+
+# OPACITY
+windowrulev2 = opacity 0.9 0.7, tag:browser*
+windowrulev2 = opacity 0.9 0.8, tag:projects*
+windowrulev2 = opacity 0.94 0.86, tag:im*
+windowrulev2 = opacity 0.94 0.86, tag:multimedia*
+windowrulev2 = opacity 0.9 0.8, tag:file-manager*
+windowrulev2 = opacity 0.8 0.7, tag:terminal*
+windowrulev2 = opacity 0.8 0.7, tag:settings*
+windowrulev2 = opacity 0.82 0.75, tag:viewer*
+windowrulev2 = opacity 0.9 0.7, tag:wallpaper*
+windowrulev2 = opacity 0.8 0.7, class:^(gedit|org.gnome.TextEditor|mousepad)$
+windowrulev2 = opacity 0.9 0.8, class:^(deluge)$
+windowrulev2 = opacity 0.9 0.8, class:^(im.riot.Riot)$ # Element matrix client
+windowrulev2 = opacity 0.9 0.8, class:^(seahorse)$ # gnome-keyring gui
+windowrulev2 = opacity 0.95 0.75, title:^(Picture-in-Picture)$
+
+
+# SIZE
+windowrulev2 = size 65% 90%, tag:KooL_Cheat*
+windowrulev2 = size 70% 70%, tag:wallpaper*
+windowrulev2 = size 70% 70%, tag:settings*
+windowrulev2 = size 60% 70%, class:^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$
+windowrulev2 = size 60% 70%, class:^([Ff]erdium)$
+
+#windowrulev2 = size 25% 25%, title:^(Picture-in-Picture)$
+#windowrulev2 = size 25% 25%, title:^(Firefox)$
+
+# PINNING
+windowrulev2 = pin, title:^(Picture-in-Picture)$
+#windowrulev2 = pin,title:^(Firefox)$
+
+# windowrule v2 - extras
+windowrulev2 = keepaspectratio, title:^(Picture-in-Picture)$
+
+# BLUR & FULLSCREEN
+windowrulev2 = noblur, tag:games*
+windowrulev2 = fullscreen, tag:games*
+
+#windowrulev2 = bordercolor rgb(EE4B55) rgb(880808), fullscreen:1
+#windowrulev2 = bordercolor rgb(282737) rgb(1E1D2D), floating:1
+#windowrulev2 = opacity 0.8 0.8, pinned:1
+
+# LAYER RULES
+layerrule = blur, rofi
+layerrule = ignorezero, rofi
+layerrule = blur, notifications
+layerrule = ignorezero, notifications
+#layerrule = ignorealpha 0.5, tag:notif*
+
+#layerrule = ignorezero, class:^([Rr]ofi)$
+#layerrule = blur, class:^([Rr]ofi)$
+#layerrule = unset,class:^([Rr]ofi)$
+#layerrule = ignorezero, <rofi>
+
+#layerrule = ignorezero, overview
+#layerrule = blur, overview \ No newline at end of file
diff --git a/config/hypr/UserConfigs/WindowRules.conf b/config/hypr/UserConfigs/WindowRules.conf
index d15d4d00..661b3a17 100644
--- a/config/hypr/UserConfigs/WindowRules.conf
+++ b/config/hypr/UserConfigs/WindowRules.conf
@@ -2,191 +2,209 @@
# For window rules and layerrules
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
-# windowrule v2 - tags - add apps under appropriate tag to use the same settings
+# 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
-windowrulev2 = tag +browser, class:^([Ff]irefox|org.mozilla.firefox|[Ff]irefox-esr|[Ff]irefox-bin)$
-windowrulev2 = tag +browser, class:^([Gg]oogle-chrome(-beta|-dev|-unstable)?)$
-windowrulev2 = tag +browser, class:^(chrome-.+-Default)$ # Chrome PWAs
-windowrulev2 = tag +browser, class:^([Cc]hromium)$
-windowrulev2 = tag +browser, class:^([Mm]icrosoft-edge(-stable|-beta|-dev|-unstable))$
-windowrulev2 = tag +browser, class:^(Brave-browser(-beta|-dev|-unstable)?)$
-windowrulev2 = tag +browser, class:^([Tt]horium-browser|[Cc]achy-browser)$
-windowrulev2 = tag +browser, class:^(zen-alpha|zen)$
-windowrulev2 = tag +notif, class:^(swaync-control-center|swaync-notification-window|swaync-client|class)$
-windowrulev2 = tag +KooL_Cheat, title:^(KooL Quick Cheat Sheet)$
-windowrulev2 = tag +KooL_Settings, title:^(KooL Hyprland Settings)$
-windowrulev2 = tag +KooL-Settings, class:^(nwg-displays|nwg-look)$
+windowrule = tag +browser, class:^([Ff]irefox|org.mozilla.firefox|[Ff]irefox-esr|[Ff]irefox-bin)$
+windowrule = tag +browser, class:^([Gg]oogle-chrome(-beta|-dev|-unstable)?)$
+windowrule = tag +browser, class:^(chrome-.+-Default)$ # Chrome PWAs
+windowrule = tag +browser, class:^([Cc]hromium)$
+windowrule = tag +browser, class:^([Mm]icrosoft-edge(-stable|-beta|-dev|-unstable))$
+windowrule = tag +browser, class:^(Brave-browser(-beta|-dev|-unstable)?)$
+windowrule = tag +browser, class:^([Tt]horium-browser|[Cc]achy-browser)$
+windowrule = tag +browser, class:^(zen-alpha|zen)$
+
+# notif tags
+windowrule = tag +notif, class:^(swaync-control-center|swaync-notification-window|swaync-client|class)$
+
+# KooL settings tag
+windowrule = tag +KooL_Cheat, title:^(KooL Quick Cheat Sheet)$
+windowrule = tag +KooL_Settings, title:^(KooL Hyprland Settings)$
+windowrule = tag +KooL-Settings, class:^(nwg-displays|nwg-look)$
# terminal tags
-windowrulev2 = tag +terminal, class:^(Alacritty|kitty|kitty-dropterm)$
+windowrule = tag +terminal, class:^(Alacritty|kitty|kitty-dropterm)$
# email tags
-windowrulev2 = tag +email, class:^([Tt]hunderbird|org.gnome.Evolution)$
-windowrulev2 = tag +email, class:^(eu.betterbird.Betterbird)$
+windowrule = tag +email, class:^([Tt]hunderbird|org.gnome.Evolution)$
+windowrule = tag +email, class:^(eu.betterbird.Betterbird)$
# project tags
-windowrulev2 = tag +projects, class:^(codium|codium-url-handler|VSCodium)$
-windowrulev2 = tag +projects, class:^(VSCode|code-url-handler)$
-windowrulev2 = tag +projects, class:^(jetbrains-.+)$ # JetBrains IDEs
+windowrule = tag +projects, class:^(codium|codium-url-handler|VSCodium)$
+windowrule = tag +projects, class:^(VSCode|code-url-handler)$
+windowrule = tag +projects, class:^(jetbrains-.+)$ # JetBrains IDEs
# screenshare tags
-windowrulev2 = tag +screenshare, class:^(com.obsproject.Studio)$
+windowrule = tag +screenshare, class:^(com.obsproject.Studio)$
# IM tags
-windowrulev2 = tag +im, class:^([Dd]iscord|[Ww]ebCord|[Vv]esktop)$
-windowrulev2 = tag +im, class:^([Ff]erdium)$
-windowrulev2 = tag +im, class:^([Ww]hatsapp-for-linux)$
-windowrulev2 = tag +im, class:^(ZapZap|com.rtosta.zapzap)$
-windowrulev2 = tag +im, class:^(org.telegram.desktop|io.github.tdesktop_x64.TDesktop)$
-windowrulev2 = tag +im, class:^(teams-for-linux)$
+windowrule = tag +im, class:^([Dd]iscord|[Ww]ebCord|[Vv]esktop)$
+windowrule = tag +im, class:^([Ff]erdium)$
+windowrule = tag +im, class:^([Ww]hatsapp-for-linux)$
+windowrule = tag +im, class:^(ZapZap|com.rtosta.zapzap)$
+windowrule = tag +im, class:^(org.telegram.desktop|io.github.tdesktop_x64.TDesktop)$
+windowrule = tag +im, class:^(teams-for-linux)$
# game tags
-windowrulev2 = tag +games, class:^(gamescope)$
-windowrulev2 = tag +games, class:^(steam_app_\d+)$
+windowrule = tag +games, class:^(gamescope)$
+windowrule = tag +games, class:^(steam_app_\d+)$
# gamestore tags
-windowrulev2 = tag +gamestore, class:^([Ss]team)$
-windowrulev2 = tag +gamestore, title:^([Ll]utris)$
-windowrulev2 = tag +gamestore, class:^(com.heroicgameslauncher.hgl)$
+windowrule = tag +gamestore, class:^([Ss]team)$
+windowrule = tag +gamestore, title:^([Ll]utris)$
+windowrule = tag +gamestore, class:^(com.heroicgameslauncher.hgl)$
# file-manager tags
-windowrulev2 = tag +file-manager, class:^([Tt]hunar|org.gnome.Nautilus|[Pp]cmanfm-qt)$
-windowrulev2 = tag +file-manager, class:^(app.drey.Warp)$
+windowrule = tag +file-manager, class:^([Tt]hunar|org.gnome.Nautilus|[Pp]cmanfm-qt)$
+windowrule = tag +file-manager, class:^(app.drey.Warp)$
# wallpaper tags
-windowrulev2 = tag +wallpaper title:^([Ww]aytrogen)$
-windowrulev2 = tag +wallpaper, class:^([Ww]aytrogen)$
+windowrule = tag +wallpaper, class:^([Ww]aytrogen)$
# multimedia tags
-windowrulev2 = tag +multimedia, class:^([Aa]udacious)$
+windowrule = tag +multimedia, class:^([Aa]udacious)$
+# multimedia-video tags
+windowrule = tag +multimedia_video, class:^([Mm]pv|vlc)$
# settings tags
-windowrulev2 = tag +settings, title:^(ROG Control)$
-windowrulev2 = tag +settings, class:^(wihotspot(-gui)?)$ # wifi hotspot
-windowrulev2 = tag +settings, class:^([Bb]aobab|org.gnome.[Bb]aobab)$ # Disk usage analyzer
-windowrulev2 = tag +settings, class:^(gnome-disks|wihotspot(-gui)?)$
-windowrulev2 = tag +settings, title:(Kvantum Manager)
-windowrulev2 = tag +settings, class:^(file-roller|org.gnome.FileRoller)$ # archive manager
-windowrulev2 = tag +settings, class:^(nm-applet|nm-connection-editor|blueman-manager)$
-windowrulev2 = tag +settings, class:^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$
-windowrulev2 = tag +settings, class:^(qt5ct|qt6ct|[Yy]ad)$
-windowrulev2 = tag +settings, class:(xdg-desktop-portal-gtk)
-windowrulev2 = tag +settings, class:^(org.kde.polkit-kde-authentication-agent-1)$
-windowrulev2 = tag +settings, class:^([Rr]ofi)$
+windowrule = tag +settings, title:^(ROG Control)$
+windowrule = tag +settings, class:^(wihotspot(-gui)?)$ # wifi hotspot
+windowrule = tag +settings, class:^([Bb]aobab|org.gnome.[Bb]aobab)$ # Disk usage analyzer
+windowrule = tag +settings, class:^(gnome-disks|wihotspot(-gui)?)$
+windowrule = tag +settings, title:(Kvantum Manager)
+windowrule = tag +settings, class:^(file-roller|org.gnome.FileRoller)$ # archive manager
+windowrule = tag +settings, class:^(nm-applet|nm-connection-editor|blueman-manager)$
+windowrule = tag +settings, class:^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$
+windowrule = tag +settings, class:^(qt5ct|qt6ct|[Yy]ad)$
+windowrule = tag +settings, class:(xdg-desktop-portal-gtk)
+windowrule = tag +settings, class:^(org.kde.polkit-kde-authentication-agent-1)$
+windowrule = tag +settings, class:^([Rr]ofi)$
# viewer tags
-windowrulev2 = tag +viewer, class:^(gnome-system-monitor|org.gnome.SystemMonitor|io.missioncenter.MissionCenter)$ # system monitor
-windowrulev2 = tag +viewer, class:^(evince)$ # document viewer
-windowrulev2 = tag +viewer, class:^(eog|org.gnome.Loupe)$ # image viewer
+windowrule = tag +viewer, class:^(gnome-system-monitor|org.gnome.SystemMonitor|io.missioncenter.MissionCenter)$ # system monitor
+windowrule = tag +viewer, class:^(evince)$ # document viewer
+windowrule = tag +viewer, class:^(eog|org.gnome.Loupe)$ # image viewer
+# Some special override rules
+windowrule = noblur, tag:multimedia_video*
+windowrule = opacity 1.0, tag:multimedia_video*
+
# POSITION
-# windowrulev2 = center,floating:1 # warning, it cause even the menu to float and center.
-windowrulev2 = center, tag:KooL_Cheat*
-windowrulev2 = center, class:([Tt]hunar), title:negative:(.*[Tt]hunar.*)
-windowrulev2 = center, title:^(ROG Control)$
-windowrulev2 = center, tag:KooL-Settings*
-windowrulev2 = center, title:^(Keybindings)$
-windowrulev2 = center, class:^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$
-windowrulev2 = center, class:^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$
-windowrulev2 = center, class:^([Ff]erdium)$
-windowrulev2 = move 72% 7%,title:^(Picture-in-Picture)$
-#windowrulev2 = move 72% 7%,title:^(Firefox)$
+# windowrule = center,floating:1 # warning, it cause even the menu to float and center.
+windowrule = center, tag:KooL_Cheat*
+windowrule = center, class:([Tt]hunar), title:negative:(.*[Tt]hunar.*)
+windowrule = center, title:^(ROG Control)$
+windowrule = center, tag:KooL-Settings*
+windowrule = center, title:^(Keybindings)$
+windowrule = center, class:^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$
+windowrule = center, class:^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$
+windowrule = center, class:^([Ff]erdium)$
+windowrule = move 72% 7%,title:^(Picture-in-Picture)$
+#windowrule = move 72% 7%,title:^(Firefox)$
-# windowrule v2 to avoid idle for fullscreen apps
-#windowrulev2 = idleinhibit fullscreen, class:^(*)$
-#windowrulev2 = idleinhibit fullscreen, title:^(*)$
-windowrulev2 = idleinhibit fullscreen, fullscreen:1
+# windowrule to avoid idle for fullscreen apps
+#windowrule = idleinhibit fullscreen, class:^(*)$
+#windowrule = idleinhibit fullscreen, title:^(*)$
+windowrule = idleinhibit fullscreen, fullscreen:1
-# windowrule v2 move to workspace
-windowrulev2 = workspace 1, tag:email*
-windowrulev2 = workspace 2, tag:browser*
-#windowrulev2 = workspace 3, class:^([Tt]hunar)$
-#windowrulev2 = workspace 3, tag:projects*
-windowrulev2 = workspace 5, tag:gamestore*
-windowrulev2 = workspace 7, tag:im*
-windowrulev2 = workspace 8, tag:games*
+# windowrule move to workspace
+windowrule = workspace 1, tag:email*
+windowrule = workspace 2, tag:browser*
+#windowrule = workspace 3, class:^([Tt]hunar)$
+#windowrule = workspace 3, tag:projects*
+windowrule = workspace 5, tag:gamestore*
+windowrule = workspace 7, tag:im*
+windowrule = workspace 8, tag:games*
-# windowrule v2 move to workspace (silent)
-windowrulev2 = workspace 4 silent, tag:screenshare*
-windowrulev2 = workspace 6 silent, class:^(virt-manager)$
-windowrulev2 = workspace 6 silent, class:^(.virt-manager-wrapped)$
-windowrulev2 = workspace 9 silent, tag:multimedia*
+# windowrule move to workspace (silent)
+windowrule = workspace 4 silent, tag:screenshare*
+windowrule = workspace 6 silent, class:^(virt-manager)$
+windowrule = workspace 6 silent, class:^(.virt-manager-wrapped)$
+windowrule = workspace 9 silent, tag:multimedia*
# FLOAT
-windowrulev2 = float, tag:KooL_Cheat*
-windowrulev2 = float, tag:wallpaper*
-windowrulev2 = float, tag:settings*
-windowrulev2 = float, tag:viewer*
-windowrulev2 = float, tag:KooL-Settings*
-windowrulev2 = float, class:([Zz]oom|onedriver|onedriver-launcher)$
-windowrulev2 = float, class:(org.gnome.Calculator), title:(Calculator)
-windowrulev2 = float, class:^(mpv|com.github.rafostar.Clapper)$
-windowrulev2 = float, class:^([Qq]alculate-gtk)$
-#windowrulev2 = float, class:^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$
-windowrulev2 = float, class:^([Ff]erdium)$
-windowrulev2 = float, title:^(Picture-in-Picture)$
-#windowrulev2 = float, title:^(Firefox)$
+windowrule = float, tag:KooL_Cheat*
+windowrule = float, tag:wallpaper*
+windowrule = float, tag:settings*
+windowrule = float, tag:viewer*
+windowrule = float, tag:KooL-Settings*
+windowrule = float, class:([Zz]oom|onedriver|onedriver-launcher)$
+windowrule = float, class:(org.gnome.Calculator), title:(Calculator)
+windowrule = float, class:^(mpv|com.github.rafostar.Clapper)$
+windowrule = float, class:^([Qq]alculate-gtk)$
+#windowrule = float, class:^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$
+windowrule = float, class:^([Ff]erdium)$
+windowrule = float, title:^(Picture-in-Picture)$
+#windowrule = float, title:^(Firefox)$
+# windowrule - ######### float popups and dialogue #######
+windowrule = float, title:^(Authentication Required)$
+windowrule = center, title:^(Authentication Required)$
+windowrule = float, class:(codium|codium-url-handler|VSCodium), title:negative:(.*codium.*|.*VSCodium.*)
+windowrule = float, class:^(com.heroicgameslauncher.hgl)$, title:negative:(Heroic Games Launcher)
+windowrule = float, class:^([Ss]team)$, title:negative:^([Ss]team)$
+windowrule = float, class:([Tt]hunar), title:negative:(.*[Tt]hunar.*)
-#windowrule v2 - float popups and dialogue
-windowrulev2 = float, title:^(Authentication Required)$
-windowrulev2 = center, title:^(Authentication Required)$
-windowrulev2 = float, class:(codium|codium-url-handler|VSCodium), title:negative:(.*codium.*|.*VSCodium.*)
-windowrulev2 = float, class:^(com.heroicgameslauncher.hgl)$, title:negative:(Heroic Games Launcher)
-windowrulev2 = float, class:^([Ss]team)$, title:negative:^([Ss]team)$
-windowrulev2 = float, class:([Tt]hunar), title:negative:(.*[Tt]hunar.*)
-#windowrulev2 = float, class:(electron), title:(Add Folder to Workspace)
-windowrulev2 = float, title:^(Add Folder to Workspace)$
-windowrulev2 = size 70% 60%, title:^(Add Folder to Workspace)$
-windowrulev2 = center, title:^(Add Folder to Workspace)$
-windowrulev2 = float, initialTitle:(Open Files)
-windowrulev2 = size 70% 60%, initialTitle:(Open Files)
-windowrulev2 = float, title:^(SDDM Background)$ #KooL's Dots YAD for setting SDDM background
-windowrulev2 = center, title:^(SDDM Background)$ #KooL's Dots YAD for setting SDDM background
-windowrulev2 = size 16% 12%, title:^(SDDM Background)$ #KooL's Dots YAD for setting SDDM background
+windowrule = float, title:^(Add Folder to Workspace)$
+windowrule = size 70% 60%, title:^(Add Folder to Workspace)$
+windowrule = center, title:^(Add Folder to Workspace)$
-# OPACITY
-windowrulev2 = opacity 0.9 0.7, tag:browser*
-windowrulev2 = opacity 0.9 0.8, tag:projects*
-windowrulev2 = opacity 0.94 0.86, tag:im*
-windowrulev2 = opacity 0.94 0.86, tag:multimedia*
-windowrulev2 = opacity 0.9 0.8, tag:file-manager*
-windowrulev2 = opacity 0.8 0.7, tag:terminal*
-windowrulev2 = opacity 0.8 0.7, tag:settings*
-windowrulev2 = opacity 0.82 0.75, tag:viewer*
-windowrulev2 = opacity 0.9 0.7, tag:wallpaper*
-windowrulev2 = opacity 0.8 0.7, class:^(gedit|org.gnome.TextEditor|mousepad)$
-windowrulev2 = opacity 0.9 0.8, class:^(deluge)$
-windowrulev2 = opacity 0.9 0.8, class:^(im.riot.Riot)$ # Element matrix client
-windowrulev2 = opacity 0.9 0.8, class:^(seahorse)$ # gnome-keyring gui
-windowrulev2 = opacity 0.95 0.75, title:^(Picture-in-Picture)$
+windowrule = float, title:^(Save As)$
+windowrule = size 70% 60%, title:^(Save As)$
+windowrule = center, title:^(Save As)$
+
+windowrule = float, initialTitle:(Open Files)
+windowrule = size 70% 60%, initialTitle:(Open Files)
+windowrule = float, title:^(SDDM Background)$ #KooL's Dots YAD for setting SDDM background
+windowrule = center, title:^(SDDM Background)$ #KooL's Dots YAD for setting SDDM background
+windowrule = size 16% 12%, title:^(SDDM Background)$ #KooL's Dots YAD for setting SDDM background
+# END of float popups and dialogue #######
+
+# OPACITY
+windowrule = opacity 0.9 0.7, tag:browser*
+windowrule = opacity 0.9 0.8, tag:projects*
+windowrule = opacity 0.94 0.86, tag:im*
+windowrule = opacity 0.94 0.86, tag:multimedia*
+windowrule = opacity 0.9 0.8, tag:file-manager*
+windowrule = opacity 0.8 0.7, tag:terminal*
+windowrule = opacity 0.8 0.7, tag:settings*
+windowrule = opacity 0.82 0.75, tag:viewer*
+windowrule = opacity 0.9 0.7, tag:wallpaper*
+windowrule = opacity 0.8 0.7, class:^(gedit|org.gnome.TextEditor|mousepad)$
+windowrule = opacity 0.9 0.8, class:^(deluge)$
+windowrule = opacity 0.9 0.8, class:^(im.riot.Riot)$ # Element matrix client
+windowrule = opacity 0.9 0.8, class:^(seahorse)$ # gnome-keyring gui
+windowrule = opacity 0.95 0.75, title:^(Picture-in-Picture)$
# SIZE
-windowrulev2 = size 65% 90%, tag:KooL_Cheat*
-windowrulev2 = size 70% 70%, tag:wallpaper*
-windowrulev2 = size 70% 70%, tag:settings*
-windowrulev2 = size 60% 70%, class:^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$
-windowrulev2 = size 60% 70%, class:^([Ff]erdium)$
+windowrule = size 65% 90%, tag:KooL_Cheat*
+windowrule = size 70% 70%, tag:wallpaper*
+windowrule = size 70% 70%, tag:settings*
+windowrule = size 60% 70%, class:^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$
+windowrule = size 60% 70%, class:^([Ff]erdium)$
-#windowrulev2 = size 25% 25%, title:^(Picture-in-Picture)$
-#windowrulev2 = size 25% 25%, title:^(Firefox)$
+#windowrule = size 25% 25%, title:^(Picture-in-Picture)$
+#windowrule = size 25% 25%, title:^(Firefox)$
# PINNING
-windowrulev2 = pin, title:^(Picture-in-Picture)$
-#windowrulev2 = pin,title:^(Firefox)$
+windowrule = pin, title:^(Picture-in-Picture)$
+#windowrule = pin,title:^(Firefox)$
-# windowrule v2 - extras
-windowrulev2 = keepaspectratio, title:^(Picture-in-Picture)$
+# windowrule - extras
+windowrule = keepaspectratio, title:^(Picture-in-Picture)$
# BLUR & FULLSCREEN
-windowrulev2 = noblur, tag:games*
-windowrulev2 = fullscreen, tag:games*
+windowrule = noblur, tag:games*
+windowrule = fullscreen, tag:games*
-#windowrulev2 = bordercolor rgb(EE4B55) rgb(880808), fullscreen:1
-#windowrulev2 = bordercolor rgb(282737) rgb(1E1D2D), floating:1
-#windowrulev2 = opacity 0.8 0.8, pinned:1
+#windowrule = bordercolor rgb(EE4B55) rgb(880808), fullscreen:1
+#windowrule = bordercolor rgb(282737) rgb(1E1D2D), floating:1
+#windowrule = opacity 0.8 0.8, pinned:1
# LAYER RULES
layerrule = blur, rofi
diff --git a/config/hypr/UserScripts/Weather.py b/config/hypr/UserScripts/Weather.py
index c962ecd3..efa96813 100755
--- a/config/hypr/UserScripts/Weather.py
+++ b/config/hypr/UserScripts/Weather.py
@@ -88,7 +88,7 @@ temp_max = (
temp_min_max = f" {temp_min}\t\t {temp_max}"
# wind speed
-wind_speed = html_data("span[data-testid='Wind']").text().split("\n")[0]
+wind_speed = str(html_data("span[data-testid='Wind'] > span").text())
wind_text = f" {wind_speed}"
# humidity
diff --git a/config/hypr/UserScripts/Weather.sh b/config/hypr/UserScripts/Weather.sh
index f5bf9fa9..0294e042 100755
--- a/config/hypr/UserScripts/Weather.sh
+++ b/config/hypr/UserScripts/Weather.sh
@@ -4,7 +4,7 @@
# Remember to add city
city=
-cachedir="~/.cache/rbn"
+cachedir="$HOME/.cache/rbn"
cachefile=${0##*/}-$1
if [ ! -d $cachedir ]; then
@@ -84,4 +84,4 @@ echo -e "{\"text\":\""$temperature $condition"\", \"alt\":\""${weather[0]}"\", \
cached_weather=" $temperature \n$condition ${weather[1]}"
-echo -e $cached_weather > "~/.cache/.weather_cache" \ No newline at end of file
+echo -e $cached_weather > "$HOME/.cache/.weather_cache"
diff --git a/config/hypr/scripts/Kitty_themes.sh b/config/hypr/scripts/Kitty_themes.sh
index 31c19a1d..48bfa99f 100755
--- a/config/hypr/scripts/Kitty_themes.sh
+++ b/config/hypr/scripts/Kitty_themes.sh
@@ -1,45 +1,136 @@
#!/bin/bash
-# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
+# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */  #
# Kitty Themes Source https://github.com/dexpota/kitty-themes #
# Define directories and variables
kitty_themes_DiR="$HOME/.config/kitty/kitty-themes" # Kitty Themes Directory
-theme_path="$kitty_themes_DiR/$theme.conf"
kitty_config="$HOME/.config/kitty/kitty.conf"
-iDIR="$HOME/.config/swaync/images"
-rofi_theme="$HOME/.config/rofi/config-kitty-theme.rasi"
+iDIR="$HOME/.config/swaync/images" # For notifications
+rofi_theme_for_this_script="$HOME/.config/rofi/config-kitty-theme.rasi"
+
+# --- Helper Functions ---
+notify_user() {
+ notify-send -u low -i "$1" "$2" "$3"
+}
+
+# Function to apply the selected kitty theme
+apply_kitty_theme_to_config() {
+ local theme_name_to_apply="$1"
+ if [ -z "$theme_name_to_apply" ]; then
+ echo "Error: No theme name provided to apply_kitty_theme_to_config." >&2
+ return 1
+ fi
+
+ local theme_file_path_to_apply="$kitty_themes_DiR/$theme_name_to_apply.conf"
+ if [ ! -f "$theme_file_path_to_apply" ]; then
+ notify_user "$iDIR/error.png" "Error" "Theme file not found: $theme_name_to_apply.conf"
+ return 1
+ fi
+
+ local temp_kitty_config_file
+ temp_kitty_config_file=$(mktemp)
+ cp "$kitty_config" "$temp_kitty_config_file"
+
+ if grep -q -E '^[#[:space:]]*include\s+\./kitty-themes/.*\.conf' "$temp_kitty_config_file"; then
+ sed -i -E "s|^([#[:space:]]*include\s+\./kitty-themes/).*\.conf|include ./kitty-themes/$theme_name_to_apply.conf|g" "$temp_kitty_config_file"
+ else
+ if [ -s "$temp_kitty_config_file" ] && [ "$(tail -c1 "$temp_kitty_config_file")" != "" ]; then
+ echo >>"$temp_kitty_config_file"
+ fi
+ echo "include ./kitty-themes/$theme_name_to_apply.conf" >>"$temp_kitty_config_file"
+ fi
+
+ cp "$temp_kitty_config_file" "$kitty_config"
+ rm "$temp_kitty_config_file"
+
+ for pid_kitty in $(pidof kitty); do
+ if [ -n "$pid_kitty" ]; then
+ kill -SIGUSR1 "$pid_kitty"
+ fi
+ done
+ return 0
+}
+
+# --- Main Script Execution ---
-# Check if the Kitty Themes directory exists
if [ ! -d "$kitty_themes_DiR" ]; then
- notify-send -i "$iDIR/error.png" "E-R-R-O-R" "Unable to locate Kitty Themes directory. Exiting....."
+ notify_user "$iDIR/error.png" "E-R-R-O-R" "Kitty Themes directory not found: $kitty_themes_DiR"
+ exit 1
+fi
+
+if [ ! -f "$rofi_theme_for_this_script" ]; then
+ notify_user "$iDIR/error.png" "Rofi Config Missing" "Rofi theme for Kitty selector not found at: $rofi_theme_for_this_script."
exit 1
fi
-# List the kitty-theme files from the themes directory
-theme=$(ls "$kitty_themes_DiR"/*.conf | xargs -n 1 basename | sed 's/\.conf$//' | rofi -dmenu -config $rofi_theme)
+original_kitty_config_content_backup=$(cat "$kitty_config")
+
+mapfile -t available_theme_names < <(find "$kitty_themes_DiR" -maxdepth 1 -name "*.conf" -type f -printf "%f\n" | sed 's/\.conf$//' | sort)
-# Check if no theme was selected, and exit if empty
-if [ -z "$theme" ]; then
- notify-send -u low -i "$iDIR/note.png" "No kitty theme" "selected. Exiting....."
+if [ ${#available_theme_names[@]} -eq 0 ]; then
+ notify_user "$iDIR/error.png" "No Kitty Themes" "No .conf files found in $kitty_themes_DiR."
exit 1
fi
-# Uncomment the line that includes the kitty themes if it's commented
-if grep -q '#include ./kitty-themes/' "$kitty_config"; then
- sed -i "s|#include ./kitty-themes/|include ./kitty-themes/$theme.conf|g" "$kitty_config"
-
- notify-send -u low -i "$iDIR/ja.png" "$theme" "Kitty Theme Loaded"
-
- for pid_kitty in $(pidof kitty); do
- kill -SIGUSR1 "$pid_kitty"
- done
-else
- # If the line is already uncommented, just add the chosen theme
- sed -i "s|include ./kitty-themes/.*|include ./kitty-themes/$theme.conf|g" "$kitty_config"
-
- notify-send -u low -i "$iDIR/ja.png" "$theme" "Kitty Theme Loaded"
-
- for pid_kitty in $(pidof kitty); do
- kill -SIGUSR1 "$pid_kitty"
- done
+current_selection_index=0
+current_active_theme_name=$(awk -F'include ./kitty-themes/|\\.conf' '/^[[:space:]]*include \.\/kitty-themes\/.*\.conf/{print $2; exit}' "$kitty_config")
+
+if [ -n "$current_active_theme_name" ]; then
+ for i in "${!available_theme_names[@]}"; do
+ if [[ "${available_theme_names[$i]}" == "$current_active_theme_name" ]]; then
+ current_selection_index=$i
+ break
+ fi
+ done
fi
+
+while true; do
+ theme_to_preview_now="${available_theme_names[$current_selection_index]}"
+
+ if ! apply_kitty_theme_to_config "$theme_to_preview_now"; then
+ echo "$original_kitty_config_content_backup" >"$kitty_config"
+ for pid_kitty in $(pidof kitty); do if [ -n "$pid_kitty" ]; then kill -SIGUSR1 "$pid_kitty"; fi; done
+ notify_user "$iDIR/error.png" "Preview Error" "Failed to apply $theme_to_preview_now. Reverted."
+ exit 1
+ fi
+
+ rofi_input_list=""
+ for theme_name_in_list in "${available_theme_names[@]}"; do
+ rofi_input_list+="$theme_name_in_list\n"
+ done
+ rofi_input_list_trimmed="${rofi_input_list%\\n}"
+
+ chosen_index_from_rofi=$(echo -e "$rofi_input_list_trimmed" |
+ rofi -dmenu -i \
+ -format 'i' \
+ -p "Kitty Theme" \
+ -mesg "Preview: ${theme_to_preview_now} | Enter: Preview | Ctrl+S: Apply & Exit | Esc: Cancel" \
+ -config "$rofi_theme_for_this_script" \
+ -selected-row "$current_selection_index" \
+ -kb-custom-1 "Control+s") # MODIFIED HERE: Changed to Control+s for custom action 1
+
+ rofi_exit_code=$?
+
+ if [ $rofi_exit_code -eq 0 ]; then
+ if [[ "$chosen_index_from_rofi" =~ ^[0-9]+$ ]] && [ "$chosen_index_from_rofi" -lt "${#available_theme_names[@]}" ]; then
+ current_selection_index="$chosen_index_from_rofi"
+ else
+ :
+ fi
+ elif [ $rofi_exit_code -eq 1 ]; then
+ notify_user "$iDIR/note.png" "Kitty Theme" "Selection cancelled. Reverting to original theme."
+ echo "$original_kitty_config_content_backup" >"$kitty_config"
+ for pid_kitty in $(pidof kitty); do if [ -n "$pid_kitty" ]; then kill -SIGUSR1 "$pid_kitty"; fi; done
+ break
+ elif [ $rofi_exit_code -eq 10 ]; then # This is the exit code for -kb-custom-1
+ notify_user "$iDIR/ja.png" "Kitty Theme Applied" "$theme_to_preview_now"
+ break
+ else
+ notify_user "$iDIR/error.png" "Rofi Error" "Unexpected Rofi exit ($rofi_exit_code). Reverting."
+ echo "$original_kitty_config_content_backup" >"$kitty_config"
+ for pid_kitty in $(pidof kitty); do if [ -n "$pid_kitty" ]; then kill -SIGUSR1 "$pid_kitty"; fi; done
+ break
+ fi
+done
+
+exit 0
diff --git a/config/waybar/Modules b/config/waybar/Modules
index 32664326..de5c7c3b 100644
--- a/config/waybar/Modules
+++ b/config/waybar/Modules
@@ -109,7 +109,7 @@
"format": {
"months": "<span color='#ffead3'><b>{}</b></span>",
"days": "<span color='#ecc6d9'><b>{}</b></span>",
- "weeks": "<span color='#99ffdd'><b>W{}</b></span>",
+ "weeks": "<span color='#99ffdd'><b>W{:%V}</b></span>",
"weekdays": "<span color='#ffcc66'><b>{}</b></span>",
"today": "<span color='#ff6699'><b><u>{}</u></b></span>"
}
@@ -404,4 +404,4 @@
"kitty-dropterm"
],
},
-} \ No newline at end of file
+}
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage