diff options
| author | Donald Williams <129223418+dwilliam62@users.noreply.github.com> | 2025-05-19 23:44:00 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-05-19 23:44:00 -0400 |
| commit | dcf0e1246c06406dcc50a7002c0925b6aa340533 (patch) | |
| tree | 5b3fbba16327c5a43ab55232047d2267bba6ec7b /config | |
| parent | 2be2599608b67390bb210a80584a31cb093ec13f (diff) | |
| parent | b6b6acad2a51c096ba707f976bf862c5dec5cb5e (diff) | |
Merge branch 'main' into main
Diffstat (limited to 'config')
| -rw-r--r-- | config/hypr/UserConfigs/WindowRules-new.conf | 222 | ||||
| -rw-r--r-- | config/hypr/UserConfigs/WindowRules-old.conf | 206 | ||||
| -rw-r--r-- | config/hypr/UserConfigs/WindowRules.conf | 296 | ||||
| -rwxr-xr-x | config/hypr/UserScripts/Weather.py | 2 | ||||
| -rwxr-xr-x | config/hypr/UserScripts/Weather.sh | 4 | ||||
| -rwxr-xr-x | config/hypr/scripts/Kitty_themes.sh | 149 | ||||
| -rwxr-xr-x | config/hypr/scripts/Polkit.sh | 1 | ||||
| -rw-r--r-- | config/waybar/Modules | 4 |
8 files changed, 489 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/hypr/scripts/Polkit.sh b/config/hypr/scripts/Polkit.sh index c0b6b152..d009ecc8 100755 --- a/config/hypr/scripts/Polkit.sh +++ b/config/hypr/scripts/Polkit.sh @@ -7,6 +7,7 @@ polkit=( "/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1" "/usr/libexec/hyprpolkitagent" "/usr/lib/hyprpolkitagent" + "/usr/lib/hyprpolkitagent/hyprpolkitagent" "/usr/lib/polkit-kde-authentication-agent-1" "/usr/lib/polkit-gnome-authentication-agent-1" "/usr/libexec/polkit-gnome-authentication-agent-1" 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 +} |
