diff options
| author | Ja.KooLit <85185940+JaKooLit@users.noreply.github.com> | 2025-05-20 15:48:58 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-05-20 15:48:58 +0000 |
| commit | ddcc6d59e24e334d1d8cd812170a133e591f98bf (patch) | |
| tree | 5eadf581be0ac201cc7a433fc05a688d6a8e14ab | |
| parent | 2c59d4521a9a610a590876db94b176afeb5b26d8 (diff) | |
| parent | 359f04a969f4e4c729a6d5d44b26639073497857 (diff) | |
Merge pull request #702 from JaKooLit/merge-fix
main to development
| -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/RofiBeats.sh | 61 | ||||
| -rwxr-xr-x | config/hypr/UserScripts/Weather.py | 12 | ||||
| -rwxr-xr-x | config/hypr/UserScripts/Weather.sh | 4 | ||||
| -rw-r--r-- | config/hypr/hyprlock-1080p.conf | 13 | ||||
| -rw-r--r-- | config/hypr/hyprlock.conf | 15 | ||||
| -rwxr-xr-x | config/hypr/scripts/Kitty_themes.sh | 149 | ||||
| -rwxr-xr-x | config/hypr/scripts/Polkit.sh | 1 | ||||
| -rwxr-xr-x | config/hypr/scripts/WaybarScripts.sh | 2 | ||||
| -rw-r--r-- | config/waybar/Modules | 4 | ||||
| -rwxr-xr-x | copy.sh | 14 |
13 files changed, 561 insertions, 438 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/RofiBeats.sh b/config/hypr/UserScripts/RofiBeats.sh index 781e9f64..1cddce09 100755 --- a/config/hypr/UserScripts/RofiBeats.sh +++ b/config/hypr/UserScripts/RofiBeats.sh @@ -58,7 +58,10 @@ play_local_music() { # Find the corresponding file path based on user's choice and set that to play the song then continue on the list for (( i=0; i<"${#filenames[@]}"; ++i )); do if [ "${filenames[$i]}" = "$choice" ]; then - + + if music_playing; then + stop_music + fi notification "$choice" mpv --playlist-start="$i" --loop-playlist --vid=no "${local_music[@]}" @@ -69,6 +72,9 @@ play_local_music() { # Main function for shuffling local music shuffle_local_music() { + if music_playing; then + stop_music + fi notification "Shuffle Play local music" # Play music in $mDIR on shuffle @@ -87,12 +93,20 @@ play_online_music() { link="${online_music[$choice]}" + if music_playing; then + stop_music + fi notification "$choice" # Play the selected online music using mpv mpv --shuffle --vid=no "$link" } +# Function to check if music is already playing +music_playing() { + pgrep -x "mpv" > /dev/null +} + # Function to stop music and kill mpv processes stop_music() { mpv_pids=$(pgrep -x mpv) @@ -110,25 +124,30 @@ stop_music() { fi } -# Check if music is already playing -if pgrep -x "mpv" > /dev/null; then - stop_music -else - user_choice=$(printf "Play from Online Stations\nPlay from Music directory\nShuffle Play from Music directory" | rofi -dmenu -config $rofi_theme_1) +user_choice=$(printf "%s\n" \ + "Play from Online Stations" \ + "Play from Music directory" \ + "Shuffle Play from Music directory" \ + "Stop RofiBeats" \ + | rofi -dmenu -config $rofi_theme_1) - echo "User choice: $user_choice" +echo "User choice: $user_choice" - case "$user_choice" in - "Play from Music directory") - play_local_music - ;; - "Play from Online Stations") - play_online_music - ;; - "Shuffle Play from Music directory") - shuffle_local_music - ;; - *) - ;; - esac -fi
\ No newline at end of file +case "$user_choice" in + "Play from Online Stations") + play_online_music + ;; + "Play from Music directory") + play_local_music + ;; + "Shuffle Play from Music directory") + shuffle_local_music + ;; + "Stop RofiBeats") + if music_playing; then + stop_music + fi + ;; + *) + ;; +esac diff --git a/config/hypr/UserScripts/Weather.py b/config/hypr/UserScripts/Weather.py index b9efe4e4..efa96813 100755 --- a/config/hypr/UserScripts/Weather.py +++ b/config/hypr/UserScripts/Weather.py @@ -22,30 +22,32 @@ weather_icons = { "default": "î", } + # Get current location based on IP address def get_location(): response = requests.get("https://ipinfo.io") data = response.json() loc = data["loc"].split(",") return float(loc[0]), float(loc[1]) - + + # Get latitude and longitude latitude, longitude = get_location() # Open-Meteo API endpoint url = f"https://weather.com/en-PH/weather/today/l/{latitude},{longitude}" -# manual location_id +# manual location_id # NOTE: if you want to add manually, make sure you disable def get_location above # to get your own location_id, go to https://weather.com & search your location. # once you choose your location, you can see the location_id in the URL(64 chars long hex string) # like this: https://weather.com/en-PH/weather/today/l/bca47d1099e762a012b9a139c36f30a0b1e647f69c0c4ac28b537e7ae9c1c200 -#location_id = "bca47d1099e762a012b9a139c36f30a0b1e647f69c0c4ac28b537e7ae9c1c200" # TODO +# location_id = "bca47d1099e762a012b9a139c36f30a0b1e647f69c0c4ac28b537e7ae9c1c200" # TODO # NOTE to change to deg F, change the URL to your preffered location after weather.com # Default is English-Philippines with Busan, South Korea as location_id # get html page -#url = "https://weather.com/en-PH/weather/today/l/" + location_id +# url = "https://weather.com/en-PH/weather/today/l/" + location_id html_data = PyQuery(url=url) @@ -86,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")[1] +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/hyprlock-1080p.conf b/config/hypr/hyprlock-1080p.conf index 8fc3b075..fbd24915 100644 --- a/config/hypr/hyprlock-1080p.conf +++ b/config/hypr/hyprlock-1080p.conf @@ -111,6 +111,17 @@ label { valign = bottom } +# LAYOUT +label { + monitor = + text = $LAYOUT + color = $color13 + font_size = 24 + font_family = Victor Mono Bold Oblique + position = 0, 120 + halign = center + valign = bottom +} # INPUT FIELD input-field { @@ -157,4 +168,4 @@ label { position = 50, 0 halign = left valign = bottom -}
\ No newline at end of file +} diff --git a/config/hypr/hyprlock.conf b/config/hypr/hyprlock.conf index a3cbb76f..a0d075cb 100644 --- a/config/hypr/hyprlock.conf +++ b/config/hypr/hyprlock.conf @@ -106,11 +106,22 @@ label { color = $color13 font_size = 24 font_family = Victor Mono Bold Oblique - position = 0, 200 + position = 0, 250 halign = center valign = bottom } +# LAYOUT +label { + monitor = + text = $LAYOUT + color = $color13 + font_size = 24 + font_family = Victor Mono Bold Oblique + position = 0, 200 + halign = center + valign = bottom +} # INPUT FIELD input-field { @@ -157,4 +168,4 @@ label { position = 50, 0 halign = left valign = bottom -}
\ No newline at end of file +} 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/hypr/scripts/WaybarScripts.sh b/config/hypr/scripts/WaybarScripts.sh index 24f54699..7b3aaba2 100755 --- a/config/hypr/scripts/WaybarScripts.sh +++ b/config/hypr/scripts/WaybarScripts.sh @@ -41,4 +41,4 @@ else echo "--nmtui : Open nmtui in a new term" echo "--term : Launch a term window" echo "--files : Launch a file manager" -fi +fi
\ No newline at end of file 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 +} @@ -124,20 +124,6 @@ fi printf "\n%.0s" {1..1} -# Extract Hyprland version (first occurrence of x.y.z after "Hyprland") -version_output=$(hyprctl version | awk '/^Hyprland/ {print $2}') - -# Check if version is 0.48.0 or higher -if [[ "$(printf '%s\n' "0.48.0" "$version_output" | sort -V | head -n1)" == "0.48.0" ]]; then - - mv config/hypr/UserConfigs/WindowRules.conf config/hypr/UserConfigs/WindowRules-old.conf - mv config/hypr/UserConfigs/WindowRules-new.conf config/hypr/UserConfigs/WindowRules.conf - - echo "$NOTE - Window Rule set up for Hyprland $version_output" -fi - -printf "\n%.0s" {1..1} - # Function to detect keyboard layout using localectl or setxkbmap detect_layout() { if command -v localectl >/dev/null 2>&1; then |
