Supersedes the old flat .config/ layout (last published 2026-06-28) with the private repo's structure: one shared base plus per-host overlays. - packages: common/ gui/ lw/ fl/ wm/ plus install.sh and bin/ tooling (dotsync, reconcile-hyde.sh) - new README covering the layout, deploy order and the HyDE dependency - current HyDE waybar rig (layouts/, cava), pi agent extensions, claude/ config, tmux, presenterm, aichat roles - fish: kp (keepassxc-cli + fzf picker, db path from $KP_DB) and bind_M_n_history (alt+1..9 recalls the nth history entry) - drops cruft that should never have been tracked: the duplicate top-level .pi/ copy, btop.log, zellij config.kdl.bak, fish_variables - .pi/agent/auth.json is gitignored; auth.json.example ships instead Host-specific work sessions and the personal backlog stay in the private tree. Endpoint locators in the llamacpp/whisper guides are placeholders ($SERVER, <own-domain>) — the guides themselves stay, since they are the useful part.
146 lines
8.8 KiB
Plaintext
146 lines
8.8 KiB
Plaintext
|
|
# █░█░█ █ █▄░█ █▀▄ █▀█ █░█░█ █▀█ █░█ █░░ █▀▀ █▀
|
|
# ▀▄▀▄▀ █ █░▀█ █▄▀ █▄█ ▀▄▀▄▀ █▀▄ █▄█ █▄▄ ██▄ ▄█
|
|
|
|
# See https://wiki.hypr.land/Configuring/Window-Rules/
|
|
|
|
#? ------- WINDOWRULES_HYPRLAND_V_0_53 COMPATIBLE ----------------
|
|
# This Config is compatible with windowrules changes in Hyprland v0.53+
|
|
# Any future breaking changes disables this block and notifies the user to update.
|
|
# User template files will be provided in $XDG_DATA_HOME/hyde/templates/hypr/windowrules.conf for manual update.
|
|
|
|
# hyprlang if WINDOWRULES_HYPRLAND_V_0_53
|
|
|
|
# idle_inhibit rules
|
|
windowrule = idle_inhibit fullscreen, match:class ^(.*celluloid.*)$|^(.*mpv.*)$|^(.*vlc.*)$
|
|
windowrule = idle_inhibit fullscreen, match:class ^(.*[Ss]potify.*)$
|
|
windowrule = idle_inhibit fullscreen, match:class ^(.*LibreWolf.*)$|^(.*floorp.*)$|^(.*brave-browser.*)$|^(.*firefox.*)$|^(.*chromium.*)$|^(.*zen.*)$|^(.*vivaldi.*)$
|
|
|
|
# Picture-in-Picture
|
|
windowrule {
|
|
name = hyde_picture_in_picture
|
|
match:title = ^([Pp]icture[-\s]?[Ii]n[-\s]?[Pp]icture)(.*)$
|
|
tag = +picture-in-picture
|
|
tag = +hyde_picture_in_picture
|
|
float = true
|
|
keep_aspect_ratio = true
|
|
move = (monitor_w*0.73) (monitor_h*0.72)
|
|
size = (monitor_w*0.25) (monitor_h*0.25)
|
|
pin = true
|
|
}
|
|
|
|
windowrule = opacity 0.90 $& 0.90 $& 1,match:class ^(firefox)$
|
|
windowrule = opacity 0.90 $& 0.90 $& 1,match:class ^(zen)$
|
|
windowrule = opacity 0.90 $& 0.90 $& 1,match:class ^(brave-browser)$
|
|
windowrule = opacity 0.80 $& 0.80 $& 1,match:class ^(code-oss)$
|
|
windowrule = opacity 0.80 $& 0.80 $& 1,match:class ^([Cc]ode)$
|
|
windowrule = opacity 0.80 $& 0.80 $& 1,match:class ^(code-url-handler)$
|
|
windowrule = opacity 0.80 $& 0.80 $& 1,match:class ^(code-insiders-url-handler)$
|
|
windowrule = opacity 0.80 $& 0.80 $& 1,match:class ^(kitty)$
|
|
windowrule = opacity 0.80 $& 0.80 $& 1,match:class ^(org.kde.dolphin)$
|
|
windowrule = opacity 0.80 $& 0.80 $& 1,match:class ^(org.kde.ark)$
|
|
windowrule = opacity 0.80 $& 0.80 $& 1,match:class ^(nwg-look)$
|
|
windowrule = opacity 0.80 $& 0.80 $& 1,match:class ^(qt5ct)$
|
|
windowrule = opacity 0.80 $& 0.80 $& 1,match:class ^(qt6ct)$
|
|
windowrule = opacity 0.80 $& 0.80 $& 1,match:class ^(kvantummanager)$
|
|
windowrule = opacity 0.80 $& 0.70 $& 1,match:class ^(org.pulseaudio.pavucontrol)$
|
|
windowrule = opacity 0.80 $& 0.70 $& 1,match:class ^(blueman-manager)$
|
|
windowrule = opacity 0.80 $& 0.70 $& 1,match:class ^(nm-applet)$
|
|
windowrule = opacity 0.80 $& 0.70 $& 1,match:class ^(nm-connection-editor)$
|
|
windowrule = opacity 0.80 $& 0.70 $& 1,match:class ^(hyprpolkitagent)$
|
|
windowrule = opacity 0.80 $& 0.70 $& 1,match:class ^(org.freedesktop.impl.portal.desktop.gtk)$
|
|
windowrule = opacity 0.80 $& 0.70 $& 1,match:class ^(org.freedesktop.impl.portal.desktop.hyprland)$
|
|
windowrule = opacity 0.70 $& 0.70 $& 1,match:class ^([Ss]team)$
|
|
windowrule = opacity 0.70 $& 0.70 $& 1,match:class ^(steamwebhelper)$
|
|
windowrule = opacity 0.70 $& 0.70 $& 1,match:class ^([Ss]potify)$
|
|
windowrule = opacity 0.70 $& 0.70 $& 1,match:initial_title ^(Spotify Free)$
|
|
windowrule = opacity 0.70 $& 0.70 $& 1,match:initial_title ^(Spotify Premium)$
|
|
windowrule = opacity 1.00 $& 1.00 $& 1,match:class ^(blender)$
|
|
|
|
windowrule = opacity 0.90 0.90,match:class ^(com.github.rafostar.Clapper)$ # Clapper-Gtk
|
|
windowrule = opacity 0.80 0.80,match:class ^(com.github.tchx84.Flatseal)$ # Flatseal-Gtk
|
|
windowrule = opacity 0.80 0.80,match:class ^(hu.kramo.Cartridges)$ # Cartridges-Gtk
|
|
windowrule = opacity 0.80 0.80,match:class ^(com.obsproject.Studio)$ # Obs-Qt
|
|
windowrule = opacity 0.80 0.80,match:class ^(gnome-boxes)$ # Boxes-Gtk
|
|
windowrule = opacity 0.80 0.80,match:class ^(vesktop)$ # Vesktop
|
|
windowrule = opacity 0.80 0.80,match:class ^(discord)$ # Discord-Electron
|
|
windowrule = opacity 0.80 0.80,match:class ^(WebCord)$ # WebCord-Electron
|
|
windowrule = opacity 0.80 0.80,match:class ^(ArmCord)$ # ArmCord-Electron
|
|
windowrule = opacity 0.80 0.80,match:class ^(app.drey.Warp)$ # Warp-Gtk
|
|
windowrule = opacity 0.80 0.80,match:class ^(net.davidotek.pupgui2)$ # ProtonUp-Qt
|
|
windowrule = opacity 0.80 0.80,match:class ^(yad)$ # Protontricks-Gtk
|
|
windowrule = opacity 0.80 0.80,match:class ^(Signal)$ # Signal-Gtk
|
|
windowrule = opacity 0.80 0.80,match:class ^(io.github.alainm23.planify)$ # planify-Gtk
|
|
windowrule = opacity 0.80 0.80,match:class ^(io.gitlab.theevilskeleton.Upscaler)$ # Upscaler-Gtk
|
|
windowrule = opacity 0.80 0.80,match:class ^(com.github.unrud.VideoDownloader)$ # VideoDownloader-Gtk
|
|
windowrule = opacity 0.80 0.80,match:class ^(io.gitlab.adhami3310.Impression)$ # Impression-Gtk
|
|
windowrule = opacity 0.80 0.80,match:class ^(io.missioncenter.MissionCenter)$ # MissionCenter-Gtk
|
|
windowrule = opacity 0.80 0.80,match:class ^(io.github.flattool.Warehouse)$ # Warehouse-Gtk
|
|
|
|
windowrule = float true,match:class ^(Signal)$ # Signal-Gtk
|
|
windowrule = float true,match:class ^(com.github.rafostar.Clapper)$ # Clapper-Gtk
|
|
windowrule = float true,match:class ^(app.drey.Warp)$ # Warp-Gtk
|
|
windowrule = float true,match:class ^(net.davidotek.pupgui2)$ # ProtonUp-Qt
|
|
windowrule = float true,match:class ^(yad)$ # Protontricks-Gtk
|
|
windowrule = float true,match:class ^(eog)$ # Imageviewer-Gtk
|
|
windowrule = float true,match:class ^(io.github.alainm23.planify)$ # planify-Gtk
|
|
windowrule = float true,match:class ^(io.gitlab.theevilskeleton.Upscaler)$ # Upscaler-Gtk
|
|
windowrule = float true,match:class ^(com.github.unrud.VideoDownloader)$ # VideoDownloader-Gkk
|
|
windowrule = float true,match:class ^(io.gitlab.adhami3310.Impression)$ # Impression-Gtk
|
|
windowrule = float true,match:class ^(io.missioncenter.MissionCenter)$ # MissionCenter-Gtk
|
|
windowrule = float true,match:title ^(Friends List)$ # Steam Friends List
|
|
windowrule = float true,match:title ^(Steam Settings)$ # Steam Settings
|
|
windowrule = float true,match:initial_title ^(Image Editor)$,match:class ^(blender)$ # Blender Render
|
|
windowrule = size (monitor_w*0.5) (monitor_h*0.5),match:initial_title ^(Image Editor)$,match:class ^(blender)$
|
|
windowrule = float true, match:initial_title ^(Ghidra: NO ACTIVE PROJECT) #Ghidra Project manager
|
|
|
|
# workaround for jetbrains IDEs dropdowns/popups cause flickering
|
|
windowrule = no_initial_focus true,match:class ^(.*jetbrains.*)$,match:title ^(win[0-9]+)$
|
|
|
|
# █░░ ▄▀█ █▄█ █▀▀ █▀█ █▀█ █░█ █░░ █▀▀ █▀
|
|
# █▄▄ █▀█ ░█░ ██▄ █▀▄ █▀▄ █▄█ █▄▄ ██▄ ▄█
|
|
|
|
layerrule = blur true,match:namespace rofi
|
|
layerrule = ignore_alpha 0,match:namespace rofi
|
|
layerrule = blur true,match:namespace notifications
|
|
layerrule = ignore_alpha 0,match:namespace notifications
|
|
layerrule = blur true,match:namespace swaync-notification-window
|
|
layerrule = ignore_alpha 0,match:namespace swaync-notification-window
|
|
layerrule = blur true,match:namespace swaync-control-center
|
|
layerrule = ignore_alpha 0,match:namespace swaync-control-center
|
|
layerrule = blur true,match:namespace logout_dialog
|
|
|
|
# █▀▄ █▀█ ▀█▀ █▀ █▀▀ █░█ █▀ ▀█▀ █▀█ █▀▄▀█
|
|
# █▄▀ █▄█ ░█░ ▄█ █▄▄ █▄█ ▄█ ░█░ █▄█ █░▀░█
|
|
# dots-only rules preserved from the legacy windowrules.conf (converted to v0.53 syntax)
|
|
|
|
# float utility / settings / dialog windows
|
|
windowrule = float true,match:class ^(org.kde.dolphin)$,match:title ^(Progress Dialog — Dolphin)$
|
|
windowrule = float true,match:class ^(org.kde.dolphin)$,match:title ^(Copying — Dolphin)$
|
|
windowrule = float true,match:title ^(About Mozilla Firefox)$
|
|
windowrule = float true,match:class ^(firefox)$,match:title ^(Library)$
|
|
windowrule = float true,match:class ^(kitty)$,match:title ^(top)$
|
|
windowrule = float true,match:class ^(kitty)$,match:title ^(btop)$
|
|
windowrule = float true,match:class ^(kitty)$,match:title ^(htop)$
|
|
windowrule = float true,match:class ^(vlc)$
|
|
windowrule = float true,match:class ^(kvantummanager)$
|
|
windowrule = float true,match:class ^(qt5ct)$
|
|
windowrule = float true,match:class ^(qt6ct)$
|
|
windowrule = float true,match:class ^(nwg-look)$
|
|
windowrule = float true,match:class ^(org.kde.ark)$
|
|
windowrule = float true,match:class ^(org.pulseaudio.pavucontrol)$
|
|
windowrule = float true,match:class ^(blueman-manager)$
|
|
windowrule = float true,match:class ^(nm-applet)$
|
|
windowrule = float true,match:class ^(nm-connection-editor)$
|
|
windowrule = float true,match:class ^(org.kde.polkit-kde-authentication-agent-1)$
|
|
windowrule = float true,match:class ^(xdg-desktop-portal-gtk)$
|
|
|
|
# common file-dialog modals
|
|
windowrule = float true,match:title ^(Open)$
|
|
windowrule = float true,match:title ^(Choose Files)$
|
|
windowrule = float true,match:title ^(Save As)$
|
|
windowrule = float true,match:title ^(Confirm to replace files)$
|
|
windowrule = float true,match:title ^(File Operation Progress)$
|
|
|
|
# hyprlang endif
|