471 lines
16 KiB
Text
471 lines
16 KiB
Text
# ==================================================
|
|
# KoolDots (2026)
|
|
# Project URL: https://github.com/LinuxBeginnings
|
|
# License: GNU GPLv3
|
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
# ==================================================
|
|
# Vendor defaults for window rules and layerrules
|
|
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
|
|
|
# NOTES: This is only for Hyprland >= 0.53
|
|
|
|
# Some samples on hwo to start apps on specific workspaces
|
|
# windowrule = match:tag email*, workspace 1
|
|
# windowrule = match:tag browser*, workspace 2
|
|
# windowrule = match:tag projects*, workspace 3
|
|
# windowrule = match:tag screenshare*, workspace 4 silent
|
|
# windowrule = match:tag gamestore*, workspace 5
|
|
# windowrule = match:class ^(virt-manager)$, workspace 6 silent
|
|
# windowrule = match:class ^(.virt-manager-wrapped)$, workspace 6 silent
|
|
# windowrule = match:tag im*, workspace 7
|
|
# windowrule = match:class obsidian, workspace 8
|
|
# windowrule = match:tag games*, workspace 8
|
|
# windowrule = match:tag multimedia*, workspace 9 silent
|
|
|
|
# TAGS - add apps under appropriate tag to use the same settings
|
|
# browser tags
|
|
windowrule = match:class ^([Ff]irefox|org.mozilla.firefox|[Ff]irefox-esr|[Ff]irefox-bin)$, tag +browser
|
|
windowrule = match:class ^([Gg]oogle-chrome(-beta|-dev|-unstable)?)$, tag +browser
|
|
windowrule = match:class ^(chrome-.+-Default)$, tag +browser
|
|
windowrule = match:class ^([Cc]hromium)$, tag +browser
|
|
windowrule = match:class ^([Mm]icrosoft-edge(-stable|-beta|-dev|-unstable))$, tag +browser
|
|
windowrule = match:class ^([Bb]rave-browser(-beta|-dev|-unstable)?)$, tag +browser
|
|
windowrule = match:class ^([Tt]horium-browser|[Cc]achy-browser)$, tag +browser
|
|
windowrule = match:class ^(zen-alpha|zen)$, tag +browser
|
|
|
|
# notif tags
|
|
windowrule = match:class ^(swaync-control-center|swaync-notification-window|swaync-client|class)$, tag +notif
|
|
|
|
# KooL settings tag
|
|
windowrule = match:title ^(KooL Quick Cheat Sheet)$, tag +KooL_Cheat
|
|
windowrule = match:title ^(KooL Hyprland Settings)$, tag +KooL_Settings
|
|
windowrule = match:class ^(nwg-displays|nwg-look)$, tag +KooL-Settings
|
|
|
|
# terminal tags
|
|
windowrule = match:class ^(ghostty|wezterm|Alacritty|kitty|kitty-dropterm)$, tag +terminal
|
|
|
|
# email tags
|
|
windowrule = match:class ^([Tt]hunderbird|org.mozilla.Thunderbird)$, tag +email
|
|
windowrule = match:class ^(eu.betterbird.Betterbird)$, tag +email
|
|
windowrule = match:class ^(org.gnome.Evolution)$, tag +email
|
|
|
|
# project tags
|
|
windowrule = match:class ^(codium|codium-url-handler|VSCodium)$, tag +projects
|
|
windowrule = match:class ^(VSCode|code|code-url-handler)$, tag +projects
|
|
windowrule = match:class ^(jetbrains-.+)$, tag +projects
|
|
windowrule = match:class ^(dev.zed.Zed|antigravity)$, tag +projects
|
|
|
|
# screenshare tags
|
|
windowrule = match:class ^(com.obsproject.Studio)$, tag +screenshare
|
|
|
|
# IM tags
|
|
windowrule = match:class ^([Dd]iscord|[Ww]ebCord|[Vv]esktop)$, tag +im
|
|
windowrule = match:class ^([Ff]erdium)$, tag +im
|
|
windowrule = match:class ^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$, tag +im
|
|
windowrule = match:class ^(org.telegram.desktop|io.github.tdesktop_x64.TDesktop)$, tag +im
|
|
windowrule = match:class ^(teams-for-linux)$, tag +im
|
|
windowrule = match:class ^(im.riot.Riot|Element)$, tag +im
|
|
|
|
# game tags
|
|
windowrule = match:class ^(gamescope)$, tag +games
|
|
windowrule = match:class ^(steam_app_\\d+)$, tag +games
|
|
windowrule = match:xdg_tag ^(proton-game)$, tag +games
|
|
|
|
# gamestore tags
|
|
windowrule = match:class ^([Ss]team)$, tag +gamestore
|
|
windowrule = match:title ^([Ll]utris)$, tag +gamestore
|
|
windowrule = match:class ^(com.heroicgameslauncher.hgl)$, tag +gamestore
|
|
|
|
# file-manager tags
|
|
windowrule = match:class ^([Tt]hunar|org.gnome.Nautilus|[Pp]cmanfm-qt)$, tag +file-manager
|
|
windowrule = match:class ^(app.drey.Warp)$, tag +file-manager
|
|
|
|
# wallpaper tags
|
|
windowrule = match:class ^([Ww]aytrogen)$, tag +wallpaper
|
|
|
|
# multimedia tags
|
|
windowrule = match:class ^([Aa]udacious)$, tag +multimedia
|
|
|
|
# multimedia-video tags
|
|
windowrule = match:class ^([Mm]pv|vlc)$, tag +multimedia_video
|
|
|
|
# settings tags
|
|
windowrule = match:title ^(ROG Control)$, tag +settings
|
|
windowrule = match:class ^(wihotspot(-gui)?)$, tag +settings
|
|
windowrule = match:class ^([Bb]aobab|org.gnome.[Bb]aobab)$, tag +settings
|
|
windowrule = match:class ^(gnome-disks|wihotspot(-gui)?)$, tag +settings
|
|
windowrule = match:title (Kvantum Manager), tag +settings
|
|
windowrule = match:class ^(file-roller|org.gnome.FileRoller)$, tag +settings
|
|
windowrule = match:class ^(nm-applet|nm-connection-editor|blueman-manager)$, tag +settings
|
|
windowrule = match:class ^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$, tag +settings
|
|
windowrule = match:class ^(qt5ct|qt6ct)$, tag +settings
|
|
windowrule = match:class (xdg-desktop-portal-gtk), tag +settings
|
|
windowrule = match:class ^(org.kde.polkit-kde-authentication-agent-1)$, tag +settings
|
|
windowrule = match:class ^([Rr]ofi)$, tag +settings
|
|
windowrule = match:class ^(btrfs-assistant)$, tag +settings
|
|
windowrule = match:class ^(timeshift-gtk)$, tag +settings
|
|
|
|
# viewer tags
|
|
windowrule = match:class ^(gnome-system-monitor|org.gnome.SystemMonitor|io.missioncenter.MissionCenter)$, tag +viewer
|
|
windowrule = match:class ^(evince)$, tag +viewer
|
|
windowrule = match:class ^(eog|org.gnome.Loupe)$, tag +viewer
|
|
|
|
# Some special override rules
|
|
windowrule = match:tag multimedia, no_blur on
|
|
windowrule = match:tag multimedia, opacity 1.0
|
|
|
|
# FLOAT
|
|
windowrule = match:class ([Zz]oom|onedriver|onedriver-launcher), float on
|
|
windowrule = match:class ^(mpv|com.github.rafostar.Clapper)$, float on
|
|
windowrule = match:class ^([Qq]alculate-gtk)$, float on
|
|
|
|
# float popups and dialogue
|
|
windowrule = match:title ^(Authentication Required)$, float on, center on
|
|
windowrule = match:class ^(xfce-polkit|mate-polkit|polkit-mate-authentication-agent-1)$, match:title ^(Authentication required|Authentication Required)$, float on, center on, size (monitor_w*0.35) (monitor_h*0.35)
|
|
windowrule = match:class (codium|codium-url-handler|VSCodium), match:title negative:(.*codium.*|.*VSCodium.*), float on
|
|
windowrule = match:class ^(com.heroicgameslauncher.hgl)$, match:title negative:(Heroic Games Launcher), float on
|
|
windowrule = match:class ^([Ss]team)$, match:title negative:^([Ss]team)$, float on
|
|
windowrule = match:title ^(Add Folder to Workspace)$, float on, size (monitor_w*0.7) (monitor_h*0.6), center on
|
|
windowrule = match:title ^(Save As)$, float on, size (monitor_w*0.7) (monitor_h*0.6), center on
|
|
windowrule = match:initial_title (Open Files), float on, size (monitor_w*0.7) (monitor_h*0.6)
|
|
windowrule = match:title ^(SDDM Background)$, float on, center on, size (monitor_w*0.16) (monitor_h*0.12)
|
|
windowrule = match:class ^(yad)$, float on, center on, size (monitor_w*0.2) (monitor_h*0.2)
|
|
windowrule = match:class ^(hyprland-donate-screen)$, float on, center on
|
|
|
|
# SIZE
|
|
|
|
# POSITION
|
|
windowrule = match:title ^(ROG Control)$, center on
|
|
windowrule = match:title ^(Keybindings)$, center on
|
|
windowrule = match:class ^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$, center on
|
|
windowrule = match:class ^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$, center on
|
|
windowrule = match:class ^(nm-connection-editor)$, center on
|
|
windowrule = match:class ^(nm-applet)$, match:title ^(Wi-Fi Network Authentication Required)$, center on
|
|
|
|
# windowrule to avoid idle for fullscreen apps
|
|
windowrule = match:fullscreen true, idle_inhibit fullscreen
|
|
windowrule = idle_inhibit fullscreen, match:fullscreen 1
|
|
windowrule = idle_inhibit fullscreen, match:class .*
|
|
windowrule = idle_inhibit fullscreen, match:title .*
|
|
|
|
# OPACITY
|
|
windowrule = match:tag browser, opacity 0.99 0.8
|
|
windowrule = match:tag projects, opacity 0.9 0.8
|
|
windowrule = match:tag im, opacity 0.94 0.86
|
|
windowrule = match:tag multimedia, opacity 0.94 0.86
|
|
windowrule = match:tag file-manager, opacity 0.9 0.8
|
|
windowrule = match:tag terminal, opacity 0.9 0.7
|
|
windowrule = match:class ^(gedit|org.gnome.TextEditor|mousepad)$, opacity 0.8 0.7
|
|
windowrule = match:class ^(deluge)$, opacity 0.9 0.8
|
|
windowrule = match:class ^(seahorse)$, opacity 0.9 0.8
|
|
|
|
# BLUR & FULLSCREEN
|
|
|
|
# This not gonna take the focus to the window that appears
|
|
# when hovering over some of the parts of the IntelliJ Products
|
|
windowrule = match:class ^(jetbrains-.*)$, no_initial_focus on
|
|
windowrule = match:title ^(wind.*)$, no_initial_focus on
|
|
|
|
# LAYER RULES
|
|
layerrule = match:namespace rofi, blur on
|
|
layerrule = match:namespace notifications, blur on
|
|
layerrule = match:namespace quickshell:overview, blur on
|
|
layerrule = match:namespace quickshell:overview, ignore_alpha 0.5
|
|
|
|
#
|
|
layerrule = blur on, match:namespace wallpaper
|
|
layerrule = animation slide, match:namespace rofi
|
|
layerrule = animation slide, match:namespace notifications
|
|
|
|
# Optional Layer rules
|
|
# To Resolve blurred corners in rofi Add to User config
|
|
# SUPER SHIFT + E Edit User Window Rules
|
|
#layerrule = blur on, ignore_alpha 0, match:namespace rofi
|
|
#layerrule = blur on, match:namespace waybar
|
|
|
|
|
|
windowrule {
|
|
name = Picture-in-Picture
|
|
match:title = ^[Pp]icture-in-[Pp]icture$
|
|
float = on
|
|
move = 72% 7%
|
|
opacity = 0.95 0.75
|
|
pin = on
|
|
keep_aspect_ratio = on
|
|
size = (monitor_w*0.3) (monitor_h*0.3)
|
|
}
|
|
|
|
# Named rule for CachyOS Kernel Manager
|
|
windowrule {
|
|
name = CachyOS Kernel Manager
|
|
match:class = ^(org.cachyos.KernelManager)$
|
|
match:title = ^(CachyOS Kernel Manager)$
|
|
match:initial_class = ^(org.cachyos.KernelManager)$
|
|
match:initial_title = ^(CachyOS Kernel Manager)$
|
|
float = on
|
|
center = on
|
|
size = (monitor_w*0.6) (monitor_h*0.6)
|
|
}
|
|
|
|
# Named rule for Mainline Kernels
|
|
windowrule {
|
|
name = Mainline Kernels
|
|
match:class = ^(mainline-gtk)$
|
|
match:title = ^(Mainline Kernels)$
|
|
match:initial_class = ^(mainline-gtk)$
|
|
match:initial_title = ^(Mainline Kernels)$
|
|
float = on
|
|
center = on
|
|
size = (monitor_w*0.45) (monitor_h*0.55)
|
|
}
|
|
|
|
# Named rule for Kwallet
|
|
windowrule {
|
|
name = Kwallet
|
|
match:class = ^(org.kde.kwalletmanager)$
|
|
match:title = ^(Wallet Manager)$
|
|
match:initial_class = ^(org.kde.kwalletmanager)$
|
|
match:initial_title = ^(Wallet Manager)$
|
|
float = on
|
|
center = on
|
|
size = (monitor_w*0.6) (monitor_h*0.6)
|
|
}
|
|
# Named rule for NVIDIA Settings
|
|
windowrule {
|
|
name = NVIDIA Settings
|
|
match:class = ^(nvidia-settings)$
|
|
match:title = ^(NVIDIA Settings)$
|
|
match:initial_class = ^(nvidia-settings)$
|
|
match:initial_title = ^(NVIDIA Settings)$
|
|
float = on
|
|
center = on
|
|
size = (monitor_w*0.6) (monitor_h*0.6)
|
|
}
|
|
# Named rule for CachyOS Package Installer
|
|
windowrule {
|
|
name = CachyOS Package Installer
|
|
match:class = ^(org.cachyos.cachyos-pi)$
|
|
match:title = ^(CachyOS Package Installer)$
|
|
match:initial_class = ^(org.cachyos.cachyos-pi)$
|
|
match:initial_title = ^(CachyOS Package Installer)$
|
|
float = on
|
|
center = on
|
|
size = (monitor_w*0.6) (monitor_h*0.6)
|
|
}
|
|
# Named rule for Shelly
|
|
windowrule {
|
|
name = Shelly
|
|
match:class = ^(com.shellyorg.shelly)$
|
|
match:title = ^(Shelly)$
|
|
match:initial_class = ^(com.shellyorg.shelly)$
|
|
match:initial_title = ^(Shelly)$
|
|
float = on
|
|
center = on
|
|
size = (monitor_w*0.6) (monitor_h*0.6)
|
|
}
|
|
|
|
# Named rule for CachyOS Hello
|
|
windowrule {
|
|
name = CachyOS Hello
|
|
match:class = ^(CachyOSHello)$
|
|
match:title = ^(CachyOS Hello)$
|
|
match:initial_class = ^(CachyOSHello)$
|
|
match:initial_title = ^(CachyOS Hello)$
|
|
float = on
|
|
center = on
|
|
size = (monitor_w*0.6) (monitor_h*0.6)
|
|
}
|
|
|
|
# Named rule for Cache Cleaner - Octopi
|
|
windowrule {
|
|
name = Cache Cleaner - Octopi
|
|
match:class = ^(octopi-cachecleaner)$
|
|
match:title = ^(Cache Cleaner - Octopi)$
|
|
match:initial_class = ^(octopi-cachecleaner)$
|
|
match:initial_title = ^(Cache Cleaner - Octopi)$
|
|
float = on
|
|
center = on
|
|
size = (monitor_w*0.6) (monitor_h*0.6)
|
|
}
|
|
|
|
# Named rule for Octopi Package Manager
|
|
windowrule {
|
|
name = Octopi Package Manager
|
|
match:class = ^(octopi)$
|
|
match:title = ^(Octopi)$
|
|
match:initial_class = ^(octopi)$
|
|
match:initial_title = ^(Octopi)$
|
|
float = on
|
|
center = on
|
|
size = (monitor_w*0.6) (monitor_h*0.6)
|
|
}
|
|
|
|
# Named rule for Repository Editor - Octopi
|
|
windowrule {
|
|
name = Repository Editor - Octopi
|
|
match:class = ^(octopi-repoeditor)$
|
|
match:title = ^(Repository Editor - Octopi)$
|
|
match:initial_class = ^(octopi-repoeditor)$
|
|
match:initial_title = ^(Repository Editor - Octop)$
|
|
float = on
|
|
center = on
|
|
size = (monitor_w*0.6) (monitor_h*0.6)
|
|
}
|
|
|
|
# Named rule for KooL Cheat (tag)
|
|
windowrule {
|
|
name = KooL Cheat (tag)
|
|
match:tag = KooL_Cheat
|
|
float = on
|
|
center = on
|
|
size = (monitor_w*0.65) (monitor_h*0.9)
|
|
}
|
|
|
|
# Named rule for Wallpaper (tag)
|
|
windowrule {
|
|
name = Wallpaper (tag)
|
|
match:tag = wallpaper
|
|
float = on
|
|
center = on
|
|
size = (monitor_w*0.7) (monitor_h*0.7)
|
|
opacity = 0.9 0.7
|
|
}
|
|
|
|
# Named rule for Settings (tag)
|
|
windowrule {
|
|
name = Settings (tag)
|
|
match:tag = settings
|
|
float = on
|
|
center = on
|
|
size = (monitor_w*0.7) (monitor_h*0.7)
|
|
opacity = 0.8 0.7
|
|
}
|
|
|
|
# Named rule for Viewer (tag)
|
|
windowrule {
|
|
name = Viewer (tag)
|
|
match:tag = viewer
|
|
float = on
|
|
center = on
|
|
opacity = 0.82 0.75
|
|
}
|
|
|
|
# Named rule for KooL Settings (tag)
|
|
windowrule {
|
|
name = KooL Settings (tag)
|
|
match:tag = KooL-Settings
|
|
float = on
|
|
center = on
|
|
}
|
|
|
|
# Named rule for Multimedia Video (tag)
|
|
windowrule {
|
|
name = Multimedia Video (tag)
|
|
match:tag = multimedia_video
|
|
no_blur = on
|
|
opacity = 1.0
|
|
}
|
|
|
|
# Named rule for Games (tag)
|
|
windowrule {
|
|
name = Games (tag)
|
|
match:tag = games
|
|
no_blur = on
|
|
fullscreen = 0
|
|
}
|
|
|
|
# Named rule for Ferdium
|
|
windowrule {
|
|
name = Ferdium
|
|
match:class = ^([Ff]erdium)$
|
|
float = on
|
|
center = on
|
|
size = (monitor_w*0.6) (monitor_h*0.7)
|
|
}
|
|
|
|
# Named rule for Calculators
|
|
windowrule {
|
|
name = Calculators
|
|
match:class = (org.gnome.Calculator|qalculate-gtk)
|
|
float = on
|
|
center = on
|
|
size = (monitor_w*0.55) (monitor_h*0.45)
|
|
}
|
|
|
|
# Named rule for Thunar Dialogs
|
|
windowrule {
|
|
name = Thunar Dialogs
|
|
match:class = ([Tt]hunar)
|
|
match:title = negative:(.*[Tt]hunar.*)
|
|
float = on
|
|
center = on
|
|
}
|
|
|
|
# Named rule for Bitwarden
|
|
windowrule {
|
|
name = Bitwarden
|
|
match:class = ^(Bitwarden)$
|
|
match:title = ^(Bitwarden)$
|
|
match:initial_class = ^(Bitwarden)$
|
|
match:initial_title = ^(Bitwarden)$
|
|
float = on
|
|
center = on
|
|
size = (monitor_w*0.6) (monitor_h*0.6)
|
|
}
|
|
# Named rule for hyprpwcenter audio control panel
|
|
windowrule {
|
|
name = hyprland audio panel
|
|
match:class = ^(hyprpwcenter)$
|
|
match:initial_class = ^(hyprpwcenter)$
|
|
float = on
|
|
center = on
|
|
size = (monitor_w*0.6) (monitor_h*0.6)
|
|
}
|
|
# Named rule for Garida Assistant
|
|
windowrule {
|
|
name = Garuda Assistant
|
|
match:class = ^(garuda-assistant)$
|
|
match:title = ^(Garuda Assistant)$
|
|
match:initial_class = ^(garuda-assistant)$
|
|
match:initial_title = ^(Garuda Assistant)$
|
|
float = on
|
|
center = on
|
|
size = (monitor_w*0.6) (monitor_h*0.6)
|
|
}
|
|
|
|
# Named rule for HyprMod HL config GUI
|
|
windowrule {
|
|
name = HyprMod GUI
|
|
match:class = ^(com.github.hyprmod)$
|
|
match:title = ^(HyprMod)$
|
|
match:initial_class = ^(com.github.hyprmod)$
|
|
match:initial_title = ^(HyprMod)$
|
|
float = on
|
|
center = on
|
|
size = (monitor_w*0.7) (monitor_h*0.75)
|
|
}
|
|
# Named rule for easy effects
|
|
windowrule {
|
|
name = EasyEffects
|
|
match:class = ^(com.github.wwmm.easyeffects)$
|
|
match:title = ^(Easy Effects)$
|
|
match:initial_class = ^(com.github.wwmm.easyeffects)$
|
|
match:initial_title = ^(Easy Effects)$
|
|
float = on
|
|
center = on
|
|
size = (monitor_w*0.6) (monitor_h*0.65)
|
|
}
|
|
|
|
# Named rule for Mousam weather GUI
|
|
windowrule {
|
|
name = Mousam Weather
|
|
match:class = ^(io.github.amit9838.mousam)$
|
|
match:title = ^(Mousam)$
|
|
match:initial_class = ^(io.github.amit9838.mousam)$
|
|
match:initial_title = ^(Mousam)$
|
|
float = on
|
|
center = on
|
|
size = (monitor_w*0.7) (monitor_h*0.75)
|
|
}
|
|
|
|
|