[Sync] adopt unified stow layout from the private repo

Mirrors the private dots tree at 900bdda: one shared base plus per-host
overlays, replacing the old flat .config/ layout (last synced 2026-06-28).

- packages: common/ gui/ wm/ lw/ fl/ + install.sh and bin/ tooling (dotsync,
  reconcile-hyde.sh)
- new README (layout, deploy order, HyDE dependency), plus ToDo.md and
  HYDE-UPDATE.md
- current HyDE waybar rig (layouts/, cava), pi agent extensions, claude/
  config, tmux, presenterm, aichat roles
- drops stale duplicates and generated cruft that should never have been
  tracked: the second top-level .pi/ copy, btop.log, zellij config.kdl.bak,
  fish_variables, nvim codecompanion.lua
- .pi/agent/auth.json is gitignored now; auth.json.example ships instead
- fl/ and wm/ hypr themes/ stay untracked (HyDE-generated per machine, per
  the root .gitignore)
This commit is contained in:
coja
2026-08-12 22:50:18 +02:00
parent f62cb40499
commit a700e23e0a
318 changed files with 12564 additions and 10772 deletions
+12
View File
@@ -0,0 +1,12 @@
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
#
# See https://wiki.hypr.land/Configuring/Animations/
# Edit or add presets in ./animations/, then run 'animations.sh --select' to switch.
# (noanim layerrules for hyprpicker/selection live in userprefs.conf)
$ANIMATION=theme
# Absolute, not ./ — HyDE re-sources $ANIMATION_PATH from ~/.local/share/hyde/hyprland.conf,
# where a relative path resolves against that directory instead of this one.
$ANIMATION_PATH=~/.config/hypr/animations/theme.conf
source = $ANIMATION_PATH
+18
View File
@@ -0,0 +1,18 @@
# -----------------------------------------------------
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
#
# name "Classic"
# credit https://github.com/mylinuxforwork/dotfiles
# -----------------------------------------------------
animations {
enabled = true
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
animation = windows, 1, 7, myBezier
animation = windowsOut, 1, 7, default, popin 80%
animation = border, 1, 10, default
animation = borderangle, 1, 8, default
animation = fade, 1, 7, default
animation = workspaces, 1, 6, default
}
+35
View File
@@ -0,0 +1,35 @@
# -----------------------------------------------------
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
#
# name "Diablo-1"
# credit https://github.com/Itz-Abhishek-Tiwari
# -----------------------------------------------------
animations {
enabled = 1
bezier = default, 0.05, 0.9, 0.1, 1.05
bezier = wind, 0.05, 0.9, 0.1, 1.05
bezier = overshot, 0.13, 0.99, 0.29, 1.08
bezier = liner, 1, 1, 1, 1
bezier = bounce, 0.4, 0.9, 0.6, 1.0
bezier = snappyReturn, 0.4, 0.9, 0.6, 1.0
bezier = slideInFromRight, 0.5, 0.0, 0.5, 1.0
animation = windows, 1, 5, snappyReturn, slidevert
animation = windowsIn, 1, 5, snappyReturn, slidevert right
animation = windowsOut, 1, 5, snappyReturn, slide
animation = windowsMove, 1, 6, bounce, slide
animation = layersOut, 1, 5, bounce, slidevert right
animation = fadeIn, 1, 10, default
animation = fadeOut, 1, 10, default
animation = fadeSwitch, 1, 10, default
animation = fadeShadow, 1, 10, default
animation = fadeDim, 1, 10, default
animation = fadeLayers, 1, 10, default
animation = workspaces, 1, 7, overshot, slidevert
animation = border, 1, 1, liner
animation = layers, 1, 4, bounce, slidevert right
animation = borderangle, 1, 30, liner, loop
}
+29
View File
@@ -0,0 +1,29 @@
# -----------------------------------------------------
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
#
# name "Diablo-2"
# credit https://github.com/Itz-Abhishek-Tiwari
# -----------------------------------------------------
animations {
enabled = 1
bezier = default, 0.05, 0.9, 0.1, 1.05
bezier = wind, 0.05, 0.9, 0.1, 1.05
bezier = overshot, 0.13, 0.99, 0.29, 1.08
bezier = liner, 1, 1, 1, 1
animation = windows, 1, 7, wind, popin
animation = windowsIn, 1, 7, overshot, popin
animation = windowsOut, 1, 5, overshot, popin
animation = windowsMove, 1, 6, overshot, slide
animation = layers, 1, 5, default, popin
animation = fadeIn, 1, 10, default
animation = fadeOut, 1, 10, default
animation = fadeSwitch, 1, 10, default
animation = fadeShadow, 1, 10, default
animation = fadeDim, 1, 10, default
animation = fadeLayers, 1, 10, default
animation = workspaces, 1, 7, overshot, slidevert
animation = border, 1, 1, liner
animation = borderangle, 1, 30, liner, loop
}
+9
View File
@@ -0,0 +1,9 @@
# // ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
# // █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
# See https://wiki.hyprland.org/Configuring/Animations/
# credits: https://github.com/prasanthrangan/hyprdots
animations:enabled=false
+23
View File
@@ -0,0 +1,23 @@
# -----------------------------------------------------
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
#
# name "Dynamic"
# credit https://github.com/mylinuxforwork/dotfiles
# -----------------------------------------------------
animations {
enabled = true
bezier = wind, 0.05, 0.9, 0.1, 1.05
bezier = winIn, 0.1, 1.1, 0.1, 1.1
bezier = winOut, 0.3, -0.3, 0, 1
bezier = liner, 1, 1, 1, 1
animation = windows, 1, 6, wind, slide
animation = windowsIn, 1, 6, winIn, slide
animation = windowsOut, 1, 5, winOut, slide
animation = windowsMove, 1, 5, wind, slide
animation = border, 1, 1, liner
animation = borderangle, 1, 30, liner, loop
animation = fade, 1, 10, default
animation = workspaces, 1, 5, wind
}
+43
View File
@@ -0,0 +1,43 @@
# -----------------------------------------------------
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
#
# name "End4"
# credit https://github.com/end-4/dots-hyprland
# -----------------------------------------------------
animations {
enabled = true
# Animation curves
bezier = linear, 0, 0, 1, 1
bezier = md3_standard, 0.2, 0, 0, 1
bezier = md3_decel, 0.05, 0.7, 0.1, 1
bezier = md3_accel, 0.3, 0, 0.8, 0.15
bezier = overshot, 0.05, 0.9, 0.1, 1.1
bezier = crazyshot, 0.1, 1.5, 0.76, 0.92
bezier = hyprnostretch, 0.05, 0.9, 0.1, 1.0
bezier = menu_decel, 0.1, 1, 0, 1
bezier = menu_accel, 0.38, 0.04, 1, 0.07
bezier = easeInOutCirc, 0.85, 0, 0.15, 1
bezier = easeOutCirc, 0, 0.55, 0.45, 1
bezier = easeOutExpo, 0.16, 1, 0.3, 1
bezier = softAcDecel, 0.26, 0.26, 0.15, 1
bezier = md2, 0.4, 0, 0.2, 1 # use with .2s duration
# Animation configs
animation = windows, 1, 3, md3_decel, popin 60%
animation = windowsIn, 1, 3, md3_decel, popin 60%
animation = windowsOut, 1, 3, md3_accel, popin 60%
animation = border, 1, 10, default
animation = fade, 1, 3, md3_decel
# animation = layers, 1, 2, md3_decel, slide
animation = layersIn, 1, 3, menu_decel, slide
animation = layersOut, 1, 1.6, menu_accel
animation = fadeLayersIn, 1, 2, menu_decel
animation = fadeLayersOut, 1, 4.5, menu_accel
animation = workspaces, 1, 7, menu_decel, slide
# animation = workspaces, 1, 2.5, softAcDecel, slide
# animation = workspaces, 1, 7, menu_decel, slidefade 15%
# animation = specialWorkspace, 1, 3, md3_decel, slidefadevert 15%
animation = specialWorkspace, 1, 3, md3_decel, slidevert
}
+26
View File
@@ -0,0 +1,26 @@
# -----------------------------------------------------
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
#
# name "Fast"
# credit https://github.com/mylinuxforwork/dotfiles
# -----------------------------------------------------
animations {
enabled = true
bezier = linear, 0, 0, 1, 1
bezier = md3_standard, 0.2, 0, 0, 1
bezier = md3_decel, 0.05, 0.7, 0.1, 1
bezier = md3_accel, 0.3, 0, 0.8, 0.15
bezier = overshot, 0.05, 0.9, 0.1, 1.1
bezier = crazyshot, 0.1, 1.5, 0.76, 0.92
bezier = hyprnostretch, 0.05, 0.9, 0.1, 1.0
bezier = fluent_decel, 0.1, 1, 0, 1
bezier = easeInOutCirc, 0.85, 0, 0.15, 1
bezier = easeOutCirc, 0, 0.55, 0.45, 1
bezier = easeOutExpo, 0.16, 1, 0.3, 1
animation = windows, 1, 3, md3_decel, popin 60%
animation = border, 1, 10, default
animation = fade, 1, 2.5, md3_decel
animation = workspaces, 1, 3.5, easeOutExpo, slide
animation = specialWorkspace, 1, 3, md3_decel, slidevert
}
+23
View File
@@ -0,0 +1,23 @@
# -----------------------------------------------------
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
#
# name "High"
# credit https://github.com/mylinuxforwork/dotfiles
# -----------------------------------------------------
animations {
enabled = true
bezier = wind, 0.05, 0.9, 0.1, 1.05
bezier = winIn, 0.1, 1.1, 0.1, 1.1
bezier = winOut, 0.3, -0.3, 0, 1
bezier = liner, 1, 1, 1, 1
animation = windows, 1, 6, wind, slide
animation = windowsIn, 1, 6, winIn, slide
animation = windowsOut, 1, 5, winOut, slide
animation = windowsMove, 1, 5, wind, slide
animation = border, 1, 1, liner
animation = borderangle, 1, 30, liner, loop
animation = fade, 1, 10, default
animation = workspaces, 1, 5, wind
}
+32
View File
@@ -0,0 +1,32 @@
# -----------------------------------------------------
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
#
# name "Ja"
# credit https://github.com/JaKooLit/Hyprland-Dots
# -----------------------------------------------------
animations {
enabled = yes
bezier = wind, 0.05, 0.9, 0.1, 1.05
bezier = winIn, 0.1, 1.1, 0.1, 1.1
bezier = winOut, 0.3, -0.3, 0, 1
bezier = liner, 1, 1, 1, 1
bezier = overshot, 0.05, 0.9, 0.1, 1.05
bezier = smoothOut, 0.5, 0, 0.99, 0.99
bezier = smoothIn, 0.5, -0.5, 0.68, 1.5
animation = windows, 1, 6, wind, slide
animation = windowsIn, 1, 5, winIn, slide
animation = windowsOut, 1, 3, smoothOut, slide
animation = windowsMove, 1, 5, wind, slide
animation = border, 1, 1, liner
#animation = borderangle, 1, 180, liner, loop #used by rainbow borders and rotating colors
animation = fade, 1, 3, smoothOut
animation = workspaces, 1, 5, overshot
# animations for -git or version >0.42.0
animation = workspacesIn, 1, 5, winIn, slide
animation = workspacesOut, 1, 5, winOut, slide
}
+58
View File
@@ -0,0 +1,58 @@
# -----------------------------------------------------
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
#
# name "Me-1"
# credit https://github.com/mahaveergurjar
# -----------------------------------------------------
animations {
enabled = true
# Animation curves
bezier = wind, 0.05, 0.9, 0.1, 1.05
bezier = winIn, 0.1, 1.1, 0.1, 1.1
bezier = winOut, 0.3, -0.3, 0, 1
bezier = liner, 1, 1, 1, 1
# bezier = linear, 0, 0, 1, 1
bezier = md3_standard, 0.2, 0, 0, 1
bezier = md3_decel, 0.05, 0.7, 0.1, 1
bezier = md3_accel, 0.3, 0, 0.8, 0.15
bezier = overshot, 0.05, 0.9, 0.1, 1.1
bezier = crazyshot, 0.1, 1.5, 0.76, 0.92
bezier = hyprnostretch, 0.05, 0.9, 0.1, 1.0
bezier = menu_decel, 0.1, 1, 0, 1
bezier = menu_accel, 0.38, 0.04, 1, 0.07
bezier = easeInOutCirc, 0.85, 0, 0.15, 1
bezier = easeOutCirc, 0, 0.55, 0.45, 1
bezier = easeOutExpo, 0.16, 1, 0.3, 1
bezier = softAcDecel, 0.26, 0.26, 0.15, 1
bezier = md2, 0.4, 0, 0.2, 1 # use with .2s duration
# Animation configs
# animation = windows, 1, 3, md3_decel, popin 60%
# animation = windowsIn, 1, 3, md3_decel, popin 60%
# animation = windowsOut, 1, 3, md3_accel, popin 60%
# animation = windows, 1, 6, wind, slide
animation = border, 1, 1, liner
animation = borderangle, 1, 30, liner, loop
animation = windows, 1, 6, wind, slide
animation = windowsIn, 1, 6, winIn, slide
animation = windowsOut, 1, 5, winOut, slide
animation = windowsMove, 1, 5, wind, slide
# animation = border, 1, 10, default
animation = fade, 1, 3, md3_decel
# animation = layers, 1, 2, md3_decel, slide
animation = layersIn, 1, 3, menu_decel, slide
animation = layersOut, 1, 1.6, menu_accel
animation = fadeLayersIn, 1, 2, menu_decel
animation = fadeLayersOut, 1, 4.5, menu_accel
animation = workspaces, 1, 7, menu_decel, slide
animation = workspaces, 1, 5, wind
# animation = workspaces, 1, 2.5, softAcDecel, slide
# animation = workspaces, 1, 7, menu_decel, slidefade 15%
animation = specialWorkspace, 1, 3, md3_decel, slidefadevert 15%
animation = specialWorkspace, 1, 3, md3_decel, slidevert
}
+50
View File
@@ -0,0 +1,50 @@
# -----------------------------------------------------
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
#
# name "Me-2"
# credit https://github.com/mahaveergurjar
# -----------------------------------------------------
animations {
enabled = true
# Animation curves
bezier = wind, 0.05, 0.9, 0.1, 1.05
bezier = winIn, 0.1, 1.1, 0.1, 1.1
bezier = winOut, 0.3, -0.3, 0, 1
bezier = liner, 1, 1, 1, 1
bezier = md3_standard, 0.2, 0, 0, 1
bezier = md3_decel, 0.05, 0.7, 0.1, 1
bezier = md3_accel, 0.3, 0, 0.8, 0.15
bezier = overshot, 0.05, 0.9, 0.1, 1.1
bezier = crazyshot, 0.1, 1.5, 0.76, 0.92
bezier = hyprnostretch, 0.05, 0.9, 0.1, 1.0
bezier = menu_decel, 0.1, 1, 0, 1
bezier = menu_accel, 0.38, 0.04, 1, 0.07
bezier = easeInOutCirc, 0.85, 0, 0.15, 1
bezier = easeOutCirc, 0, 0.55, 0.45, 1
bezier = easeOutExpo, 0.16, 1, 0.3, 1
bezier = softAcDecel, 0.26, 0.26, 0.15, 1
bezier = md2, 0.4, 0, 0.2, 1 # use with .2s duration
bezier = OutBack, 0.34, 1.56, 0.64, 1
bezier = easeInOutCirc, 0.85, 0, 0.15, 1
animation = border, 1, 1, liner
animation = borderangle, 1, 30, liner, loop
# animation = windows, 1, 6, wind, slide
animation = windowsIn, 1, 6, winIn, slide
# animation = windowsOut, 1, 5, winOut, slide
animation = windows, 1, 5, easeInOutCirc
animation = windowsOut, 1, 5, OutBack
animation = windowsMove, 1, 5, wind, slide
animation = fade, 1, 3, md3_decel
animation = layersIn, 1, 3, menu_decel, slide
animation = layersOut, 1, 1.6, menu_accel
animation = fadeLayersIn, 1, 2, menu_decel
animation = fadeLayersOut, 1, 4.5, menu_accel
animation = workspaces, 1, 7, menu_decel, slide
animation = workspaces, 1, 5, wind
animation = specialWorkspace, 1, 3, md3_decel, slidefadevert 15%
animation = specialWorkspace, 1, 3, md3_decel, slidevert
}
@@ -0,0 +1,29 @@
# -----------------------------------------------------
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
#
# name "Minimal-1"
# -----------------------------------------------------
animations {
enabled = true
# █▄▄ █▀▀ ▀█ █ █▀▀ █▀█   █▀▀ █░█ █▀█ █░█ █▀▀
# █▄█ ██▄ █▄ █ ██▄ █▀▄   █▄▄ █▄█ █▀▄ ▀▄▀ ██▄
bezier = wind, 0.05, 0.9, 0.1, 1.05
bezier = winIn, 0.1, 1.1, 0.1, 1.1
bezier = winOut, 0.3, -0.3, 0, 1
bezier = liner, 1, 1, 1, 1
#▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
#█▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
animation = windows, 1, 6, wind, slide
animation = windowsIn, 1, 6, winIn, slide
animation = windowsOut, 1, 5, winOut, slide
animation = windowsMove, 1, 5, wind, slide
animation = border, 1, 1, liner
animation = borderangle, 1, 30, liner, loop
animation = fade, 1, 10, default
animation = workspaces, 1, 5, wind
}
@@ -0,0 +1,18 @@
# -----------------------------------------------------
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
#
# name "Minimal-2"
# -----------------------------------------------------
animations {
enabled = yes
bezier = quart, 0.25, 1, 0.5, 1
animation = windows, 1, 6, quart, slide
animation = border, 1, 6, quart
animation = borderangle, 1, 6, quart
animation = fade, 1, 6, quart
animation = workspaces, 1, 6, quart
}
+22
View File
@@ -0,0 +1,22 @@
# -----------------------------------------------------
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
#
# name "Moving"
# credit https://github.com/mylinuxforwork/dotfiles
# -----------------------------------------------------
animations {
enabled = true
bezier = overshot, 0.05, 0.9, 0.1, 1.05
bezier = smoothOut, 0.5, 0, 0.99, 0.99
bezier = smoothIn, 0.5, -0.5, 0.68, 1.5
animation = windows, 1, 5, overshot, slide
animation = windowsOut, 1, 3, smoothOut
animation = windowsIn, 1, 3, smoothOut
animation = windowsMove, 1, 4, smoothIn, slide
animation = border, 1, 5, default
animation = fade, 1, 5, smoothIn
animation = fadeDim, 1, 5, smoothIn
animation = workspaces, 1, 6, default
}
@@ -0,0 +1,43 @@
# -----------------------------------------------------
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
#
# name "Optimized"
# -----------------------------------------------------
animations {
enabled = true
bezier = wind, 0.05, 0.85, 0.03, 0.97
bezier = winIn, 0.07, 0.88, 0.04, 0.99
bezier = winOut, 0.20, -0.15, 0, 1
bezier = liner, 1, 1, 1, 1
bezier = md3_standard, 0.12, 0, 0, 1
bezier = md3_decel, 0.05, 0.80, 0.10, 0.97
bezier = md3_accel, 0.20, 0, 0.80, 0.08
bezier = overshot, 0.05, 0.85, 0.07, 1.04
bezier = crazyshot, 0.1, 1.22, 0.68, 0.98
bezier = hyprnostretch, 0.05, 0.82, 0.03, 0.94
bezier = menu_decel, 0.05, 0.82, 0, 1
bezier = menu_accel, 0.20, 0, 0.82, 0.10
bezier = easeInOutCirc, 0.75, 0, 0.15, 1
bezier = easeOutCirc, 0, 0.48, 0.38, 1
bezier = easeOutExpo, 0.10, 0.94, 0.23, 0.98
bezier = softAcDecel, 0.20, 0.20, 0.15, 1
bezier = md2, 0.30, 0, 0.15, 1
bezier = OutBack, 0.28, 1.40, 0.58, 1
bezier = easeInOutCirc, 0.78, 0, 0.15, 1
animation = border, 1, 1.6, liner
animation = borderangle, 1, 82, liner, loop
animation = windowsIn, 1, 3.2, winIn, slide
animation = windowsOut, 1, 2.8, easeOutCirc
animation = windowsMove, 1, 3.0, wind, slide
animation = fade, 1, 1.8, md3_decel
animation = layersIn, 1, 1.8, menu_decel, slide
animation = layersOut, 1, 1.5, menu_accel
animation = fadeLayersIn, 1, 1.6, menu_decel
animation = fadeLayersOut, 1, 1.8, menu_accel
animation = workspaces, 1, 4.0, menu_decel, slide
animation = specialWorkspace, 1, 2.3, md3_decel, slidefadevert 15%
}
+18
View File
@@ -0,0 +1,18 @@
# -----------------------------------------------------
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
#
# name "Standard"
# credit https://github.com/mylinuxforwork/dotfiles
# -----------------------------------------------------
animations {
enabled = true
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
animation = windows, 1, 7, myBezier
animation = windowsOut, 1, 7, default, popin 80%
animation = border, 1, 10, default
animation = borderangle, 1, 8, default
animation = fade, 1, 7, default
animation = workspaces, 1, 6, default
}
+1
View File
@@ -0,0 +1 @@
source = ./HyDE.conf
+34
View File
@@ -0,0 +1,34 @@
# -----------------------------------------------------
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
#
# name "Vertical"
# -----------------------------------------------------
animations {
bezier = fluent_decel, 0, 0.2, 0.4, 1
bezier = easeOutCirc, 0, 0.55, 0.45, 1
bezier = easeOutCubic, 0.33, 1, 0.68, 1
bezier = easeinoutsine, 0.37, 0, 0.63, 1
# Windows
animation = windowsIn, 1, 1.5, easeinoutsine, popin 60% # window open
animation = windowsOut, 1, 1.5, easeOutCubic, popin 60% # window close.
animation = windowsMove, 1, 1.5, easeinoutsine, slide # everything in between, moving, dragging, resizing.
# Fading
animation = fade, 1, 2.5, fluent_decel
animation = fadeLayersIn, 0
animation = border, 0
# Layers
animation = layers, 1, 1.5, easeinoutsine, popin
# Workspaces
#animation = workspaces, 1, 3, fluent_decel, slidefade 30% # styles: slide, slidevert, fade, slidefade, slidefadevert
animation = workspaces, 1, 3, fluent_decel, slidefadevert 30% # styles: slide, slidevert, fade, slidefade, slidefadevert
animation = specialWorkspace, 1, 2, fluent_decel, slidefade 10%
}
+11
View File
@@ -0,0 +1,11 @@
#!/usr/bin/env bash
# Battery readout for the hyprlock label. Prints nothing on machines without a
# battery (wm desktop), so the label just stays empty there.
for bat in /sys/class/power_supply/BAT*; do
[ -r "$bat/capacity" ] || continue
cap=$(<"$bat/capacity")
glyph="󰁹"
[ "$(cat "$bat/status" 2>/dev/null)" = "Charging" ] && glyph="󰂄"
printf '%s %s%%' "$glyph" "$cap"
exit 0
done
+4
View File
@@ -0,0 +1,4 @@
# Default (empty) per-host extras — fallback shared by all GUI hosts.
# Real host.conf comes from the per-host overlay (e.g. wm/ sources nvidia.conf here).
# Present so `source = ./host.conf` in hyprland.conf always resolves, even mid-install
# before the host overlay is stowed (avoids the transient "source globbing error").
+134
View File
@@ -0,0 +1,134 @@
#!   ░▒▒▒░░░▓▓          ___________
#! ░░▒▒▒░░░░░▓▓        //___________/
#! ░░▒▒▒░░░░░▓▓     _   _ _    _ _____
#! ░░▒▒░░░░░▓▓▓▓▓▓ | | | | |  | |  __/
#! ░▒▒░░░░▓▓   ▓▓ | |_| | |_/ /| |___
#!  ░▒▒░░▓▓   ▓▓   \__  |____/ |____/
#!    ░▒▓▓   ▓▓  //____/
# Use this for reference to override the default HyDE' hyprland configuration
# ! Never source ~/.config/hypr/hyde.conf directly, it is sourced by the main configuration file
# This file acts as an override configuration for the user to set their environment variables and startup commands
# Static variable declaration in hyde.conf will be prioritized over the default and dynamic configuration
#  NOTE 
# Leaving the variable empty will unset the variable
# Commenting out the variable will use the default value
# For updated configuration options, see https://github.com/HyDE-Project/HyDE/blob/master/Configs/.config/hypr/hyde.conf
# For simplicity, ./hyde.conf ONLY accepts $ for variables and # for comments, will sanitize the file to remove any other characters
# $start.VAR , $env.VAR are ONLY HyDE specific conventions for consistency.
# Keyboard modifier
# $mainMod = SUPER # windows key
# ▄▀█ █▀█ █▀█ █▀
# █▀█ █▀▀ █▀▀ ▄█
# $QUICKAPPS = # used for quick app launcher
# $BROWSER = firefox # default browser, if commented out , will use the default browser
# $EDITOR = code # default editor, if commented out , will use the default editor
# $EXPLORER= dolphin # default file manager, if commented out , will use the default file manager
# $TERMINAL = kitty # default terminal, if commented out , will use the org.gnome.desktop.default-applications.terminal
# $LOCKSCREEN=hyprlock # default lockscreen, you can use any lockscreen you want, eg swaylock
# $IDLE=hypridle # default idle manager, you can use any idle manager you want,eg swayidle
# // █░░ ▄▀█ █░█ █▄░█ █▀▀ █░█
# // █▄▄ █▀█ █▄█ █░▀█ █▄▄ █▀█
# See https://wiki.hyprland.org/Configuring/Keywords/
# Override the default startup commands
# $start.XDG_PORTAL_RESET=$scrPath/resetxdgportal.sh
# $start.DBUS_SHARE_PICKER=dbus-update-activation-environment --systemd --all # for XDPH
# $start.SYSTEMD_SHARE_PICKER=systemctl --user import-environment QT_QPA_PLATFORMTHEME WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # for XDPH
# $start.BAR=waybar
# $start.NOTIFICATIONS=swaync # dunst
# $start.APPTRAY_BLUETOOTH=blueman-applet
# $start.WALLPAPER=$scrPath/swwwallpaper.sh
# $start.TEXT_CLIPBOARD=wl-paste --type text --watch cliphist store
# $start.IMAGE_CLIPBOARD=wl-paste --type image --watch cliphist store
# $start.BATTERY_NOTIFY=$scrPath/batterynotify.sh
# $start.NETWORK_MANAGER=nm-applet --indicator
# $start.REMOVABLE_MEDIA=udiskie --no-automount --smart-tray
# $start.AUTH_DIALOGUE=$scrPath/polkitkdeauth.sh
# $start.IDLE_DAEMON=$IDLE
# // █▀▀ █▄░█ █░█
# // ██▄ █░▀█ ▀▄▀
# See https://wiki.hyprland.org/Configuring/Environment-variables/
# Override the default environment variables
# # Toolkit Backend Variables - https://wiki.hyprland.org/Configuring/Environment-variables/#toolkit-backend-variables
# $env.GDK_BACKEND = wayland,x11,* #s GTK: Use wayland if available. If not: try x11, then any other GDK backend.
# # $env.QT_QPA_PLATFORM = wayland;xcb #Qt: Use wayland if available, fall back to x11 if not.
# $env.SDL_VIDEODRIVER = wayland #s Run SDL2 applications on Wayland. Remove or set to x11 if games that provide older versions of SDL cause compatibility issues
# $env.CLUTTER_BACKEND = wayland #s Clutter package already has wayland enabled, this variable will force Clutter applications to try and use the Wayland backend
# # XDG Specifications - https://wiki.hyprland.org/Configuring/Environment-variables/#xdg-specifications
# $env.XDG_CURRENT_DESKTOP = Hyprland
# $env.XDG_SESSION_TYPE = wayland
# $env.XDG_SESSION_DESKTOP = Hyprland
# # Qt Variables - https://wiki.hyprland.org/Configuring/Environment-variables/#qt-variables
# $env.QT_AUTO_SCREEN_SCALE_FACTOR = 1 # (From the Qt documentation) enables automatic scaling, based on the monitors pixel density
# $env.QT_QPA_PLATFORM=wayland;xcb # Tell Qt applications to use the Wayland backend, and fall back to x11 if Wayland is unavailable
# $env.QT_WAYLAND_DISABLE_WINDOWDECORATION = 1 # Disables window decorations on Qt applications
# $env.QT_QPA_PLATFORMTHEME = qt6ct # Tells Qt based applications to pick your theme from qt5ct, use with Kvantum.
# # HyDE Environment Variables -
# $env.PATH =
# $env.MOZ_ENABLE_WAYLAND=1 # Enable Wayland for Firefox
# $env.GDK_SCALE=1 # Set GDK scale to 1 // For Xwayland on HiDPI
# $env.ELECTRON_OZONE_PLATFORM_HINT=auto # Set Electron Ozone Platform Hint to auto // For Electron apps on Wayland
# # XDG-DIRS
# $env.XDG_RUNTIME_DIR=$XDG_RUNTIME_DIR
# $env.XDG_CONFIG_HOME=$HOME/.config
# $env.XDG_CACHE_HOME=$HOME/.cache
# $env.XDG_DATA_HOME=$HOME/.local/share
# These variable will override the default and the theme configuration
# Do not uncomment the variables if you want want HyDE do the theme configuration for you
# // █▀▀ ▀█▀ █▄▀
# // █▄█ ░█░ █░█
#$GTK_THEME=Wallbash-Gtk
#$ICON_THEME=Tela-circle-dracula
#$COLOR_SCHEME=prefer-dark
# // █▀▀ █░█ █▀█ █▀ █▀█ █▀█
# // █▄▄ █▄█ █▀▄ ▄█ █▄█ █▀▄
#$CURSOR_THEME=Bibata-Modern-Ice
#$CURSOR_SIZE=30
# // █▀▀ █▀█ █▄░█ ▀█▀
# // █▀░ █▄█ █░▀█ ░█░
#$FONT=Canterell
#$FONT_SIZE=10
#$DOCUMENT_FONT=Cantarell
#$DOCUMENT_FONT_SIZE=10
#$MONOSPACE_FONT=CaskaydiaCove Nerd Font Mono
#$MONOSPACE_FONT_SIZE=9
#$FONT_ANTIALIASING=rgba
#$FONT_HINTING=full
# // █░░ █▀█ █▀▀ █▄▀ █▀ █▀▀ █▀█ █▀▀ █▀▀ █▄░█
# // █▄▄ █▄█ █▄▄ █░█ ▄█ █▄▄ █▀▄ ██▄ ██▄ █░▀█
#Setting the Hyprlock layout will override any layout set in the ./hypr/hyprlock.sh
# Dynamic Hyprlock layout should be set in the ./hypr/hyprlock.sh file
# $LAYOUT_PATH=/path/to/hyprlock/layout.conf
+50
View File
@@ -0,0 +1,50 @@
#!   ░▒▒▒░░░▓▓          ___________
#! ░░▒▒▒░░░░░▓▓        //___________/
#! ░░▒▒▒░░░░░▓▓     _   _ _    _ _____
#! ░░▒▒░░░░░▓▓▓▓▓▓ | | | | |  | |  __/
#! ░▒▒░░░░▓▓   ▓▓ | |_| | |_/ /| |___
#!  ░▒▒░░▓▓   ▓▓   \__  |____/ |____/
#!    ░▒▓▓   ▓▓  //____/
# $LOCKSCREEN = hyprlock # preferred LOCKSCREEN e.g swaylock
$LOCKSCREEN = lockscreen.sh # Calls $LOCKSCREEN set from hyprland
general {
lock_cmd = $LOCKSCREEN
unlock_cmd = #notify-send "unlock!" # same as above, but unlock
before_sleep_cmd = $LOCKSCREEN # command ran before sleep
after_sleep_cmd = # notify-send "Awake!" # command ran after sleep
ignore_dbus_inhibit = 0
}
# Dims the display
listener {
timeout = 120
on-timeout = { brightnessctl -s && brightnessctl s 1% ;}
on-resume = brightnessctl -r
}
# Lock it first before dpms off so that screen won't show for a moment after wake up.
listener {
timeout = 240
on-timeout = $LOCKSCREEN
}
# DPMS off
listener {
timeout = 2300
on-timeout = hyprctl dispatch dpms off #do not turn off display while media is playing
on-resume = hyprctl dispatch dpms on
}
# Suspend
# listener {
# timeout = 500
# on-timeout = systemctl suspend
# }
# hyprlang noerror true
# Source anything from this path if you want to add your own listener
# source command actually do not exist yet
source = ~/.config/hypridle/*
# hyprlang noerror false
+117
View File
@@ -0,0 +1,117 @@
$HYDE_HYPRLAND=set #! Do not remove - HyDE marker to prevent file overwrite
#!   ░▒▒▒░░░▓▓          ___________
#! ░░▒▒▒░░░░░▓▓        //___________/
#! ░░▒▒▒░░░░░▓▓     _   _ _    _ _____
#! ░░▒▒░░░░░▓▓▓▓▓▓ | | | | |  | |  __/
#! ░▒▒░░░░▓▓   ▓▓ | |_| | |_/ /| |___
#!  ░▒▒░░▓▓   ▓▓   \__  |____/ |____/
#!    ░▒▓▓   ▓▓  //____/
#?  HyDE's Hyprland Configuration 
# First, let's understand the structure of the configuration file
# It is divided into 3 sections: Boilerplate, Overrides, and Users
#* 1. Boilerplate
# - This section is for the default configuration of HyDE
# - It is recommended to not change this section
# - Filepath: $XDG_DATA_HOME/share/hyde/hyprland.conf
#* 2. Overrides
# - This section is for overriding the default configuration of HyDE
# - Change this section if you intended to:
# - Change the startup and env variables
# - Stop a app/service from starting
# - Override HyDE specific variables
# - Filepath: $XDG_CONFIG_HOME/hypr/hyde.conf
#* 3. Users
# - This section is for user configuration
# - It is recommended to change this section to your liking
# - Filepath: ./keybindings.conf, ./windowrules.conf, ./monitors.conf, ./userprefs.conf
#?  Boilerplate 
source = ~/.local/share/hyde/hyprland.conf
#?  Overrides 
# Overriding startup and env variables
# To avoid breaking and conflicts, HyDE will use variables to store the env and startup variables
# See ~/.config/hypr/hyde.conf for overriding the default env and startup variables
#* startup:
# - The startup variables are the variables that are set when the shell starts
# - $start.BAR=waybar will launch waybar on startup (default waybar)
# - $start.BAR= will unset the variable
# - $start.BAR=other_bar will launch other_bar on startup, overriding the default (waybar)
#* env:
# - The env variables are the variables that are set when the shell starts
# - $env.QT_QPA_PLATFORMTHEME= will unset the variable
# - $env.QT_QPA_PLATFORMTHEME=qt6ct will set the variable to qt6ct
# for updated configuration, see the https://github.com/HyDE-Project/HyDE/blob/master/Configs/.config/hypr/hyde.conf
#?  Users 
# These files are for user configuration
# Edit the files to your liking
# Refer to https://wiki.hyprland.org
source = ./keybindings.conf # Keyboard shortcuts
source = ./windowrules.conf # Window rules
source = ./monitors.conf # Monitor configuration (from per-host overlay)
source = ./userprefs.conf # Personal hyprland configuration
source = ./host.conf # Per-host extras: nvidia, etc. (from per-host overlay)
#!▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄
#? █▀█ █▀▀ █▀▀ █▀▀ █▀█ █▀▀ █▄░█ █▀▀ █▀▀
#? █▀▄ ██▄ █▀░ ██▄ █▀▄ ██▄ █░▀█ █▄▄ ██▄
#!▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄
#?  Reference 
# Configurations below are for reference ONLY
# They are not essential for HyDE to work but can be used to enhance QOL
# Copy the config line and paste it in the Users section to use it
# This is to prevent bloating users configuration files when not needed
# // █▀▀ █▄░█ █░█
# // ██▄ █░▀█ ▀▄▀
# env = MANGOHUD,1
# env = MANGOHUD_DLSYM,1
# // █▄▀ █▀▀ █▄█ █▄▄ █ █▄░█ █▀▄ █ █▄░█ █▀▀ █▀
# // █░█ ██▄ ░█░ █▄█ █ █░▀█ █▄▀ █ █░▀█ █▄█ ▄█
# bind = Ctrl+Alt+Shift, R, pass, ^(com\.obsproject\.Studio)$ # toggle obs screen recording // install obs flatpak
# bind = $mainMod+Shift, G, exec, pkill -x rofi || $scrPath/gamelauncher.sh # launch steam game launcher // install steam
# bind = $mainMod, Period, exec, emote # launch emoji selector // install emote
# bind = $mainMod+Alt, XF86MonBrightnessDown, exec, hyprshade on blue-light-filter # enable blue light filter // install hyprshade
# bind = $mainMod+Alt, XF86MonBrightnessUp, exec, hyprshade off # disable blue light filter // install hyprshade
# // █░░ ▄▀█ █░█ █▄░█ █▀▀ █░█
# // █▄▄ █▀█ █▄█ █░▀█ █▄▄ █▀█
# exec-once = swayidle -w timeout 600 'swaylock' timeout 900 'hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on' # lock after 10 mins, sleep after 15 mins // install swayidle
# exec-once = swayidle -w timeout 1200 'swaylock; hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on' timeout 1800 'systemctl suspend' # lock and sleep after 20 mins, suspend after 30 mins // install swayidle
# exec-once = libinput-gestures // install libinput-gestures
# exec-once = swayosd-server # enable swayosd service
# exec-once = `pkexec swayosd-libinput-backend` # swayosd service for keyboard input (requires to be run in a subshell)
# // █░█░█ █ █▄░█ █▀▄ █▀█ █░█░█   █▀█ █░█ █░░ █▀▀ █▀
# // ▀▄▀▄▀ █ █░▀█ █▄▀ █▄█ ▀▄▀▄▀   █▀▄ █▄█ █▄▄ ██▄ ▄█
# // █░█ █▀▄▀█
# // ▀▄▀ █░▀░█
# bind = Ctrl+Alt_L, V, submap, passthrough
# submap = passthrough
# bind = Ctrl+Alt_L, V, submap, reset
# submap = reset
+9
View File
@@ -0,0 +1,9 @@
# Default (empty) per-host hyprlock sizes — fallback shared by all GUI hosts.
# The real one comes from the per-host overlay (see lw/.config/hypr/hyprlock-host.conf).
# Present so `source = ~/.config/hypr/hyprlock-host.conf` in hyprlock.conf always resolves,
# even mid-install before the host overlay is stowed. A missing `source` target is a hard
# parse error in hyprlang — for hyprlock that means the lock screen itself fails, so this
# file must never be deleted.
#
# gui's defaults are tuned for wm (3072x1728 logical). To override, redefine any of:
# $fsClock $fsDate $fsMeta $fsSmall $fsIcon $logoSize
+195
View File
@@ -0,0 +1,195 @@
#! █░█ █▄█ █▀█ █▀█ █░░ █▀█ █▀▀ █▄▀
#! █▀█ ░█░ █▀▀ █▀▄ █▄▄ █▄█ █▄▄ █░█
#* Hyprlock Configuration File
# Everything is anchored to the CENTRE (only the two bottom-corner labels use valign), in this
# order top to bottom: uptime, greeting, logo, input field, clock, date. The offsets spread the
# content out to the top and bottom edges. Centre-anchoring is deliberate: an earlier pass used
# TOP/BOTTOM valign bands and silently reordered the clock and date, putting the date above the
# clock and the clock half off the bottom edge — don't reintroduce that.
# Every `position` and `size` is a percentage (hyprlock accepts them: both are LAYOUTCONFIG
# values), so the arrangement scales instead of being the fixed pixel offsets it once was.
# The percentages are the old pixel offsets expressed against a 1080-tall screen.
#
# `font_size` and `image:size` are plain ints in hyprlock 0.9.6 and cannot take a
# percentage, so they can't scale on their own. They're hoisted into the variables below:
# retune those few numbers for a very different screen (they are tuned for wm, 3072x1728 logical),
# or `source` a per-host file that redefines them, as kitty.conf does with host.conf.
#
# Coordinates: +x is right, +y is UP — so centre-anchored, a positive y sits above centre.
# (For the two bottom-corner labels, valign = bottom means positive y moves up from it.)
$fontColor = rgba(255,255,255,0.5)
$fontFamily = SourceCodeVF ExtraBold
$timeFontFamily = Cantarell ExtraBold
# Type scale — tuned for wm's 3072x1728 logical screen (this file is shared with lw —
# see ToDo.md). Since these can't be
# percentages, they are the one thing to retune on a very different display: they are
# roughly clock 13%, date 2.5%, meta 1.5% of screen height.
$fsClock = 220
$fsDate = 44
$fsMeta = 26
$fsSmall = 24
$fsIcon = 40
$logoSize = 280
# Vertical positions — % of screen height from centre, + is up. Order top to bottom: uptime,
# greet, logo, input, clock, date. Deliberately pushed OUT to the edges: uptime/greet ride near
# the top, clock/date near the bottom, leaving logo + input as the only things near the middle.
# Anchored to centre rather than valign top/bottom on purpose — an earlier pass used bands and
# silently reordered the clock and date (see the header). Percentages scale, and because each
# host's font sizes are set to the same *proportion* of its screen (clock ~12.8% of height on
# both), one set of offsets gives both hosts the same layout — hence no per-host override here
# by default. Add $y* to hyprlock-host.conf if a host ever needs to differ.
$yUptime = 45%
$yGreet = 41%
$yLogo = 12%
$yInput = -5%
$yClock = -30%
$yDate = -42%
# Per-host override for the six sizes above. They are ints, not percentages, so they are the
# one thing that cannot scale itself — a host with a different panel redefines whichever it
# needs here, and everything below picks up the new value (hyprlang expands in file order).
# Shipped empty in gui/ so this always resolves even mid-install, before a host overlay is
# stowed — same idiom, and same reason, as hypr/host.conf.
source = ~/.config/hypr/hyprlock-host.conf
general {
ignore_empty_input = true
text_trim = true
}
# Dropped as of hyprlock 0.9.6 — it rejected all four as "config option does not exist"
# and carried on without them, so they never took effect:
# no_fade_in / fade_in_time -> fade-in is CLI-only now: lockscreen.sh --no-fade-in
# grade, disable_loading_bar -> no equivalent
background {
monitor =
path = ~/.config/hypr/hyprlock/assets/background.jpg
# Heavier blur than you'd expect: the wallpaper has "open source" set across its
# middle, which otherwise reads as text competing with the clock sitting on top of it.
blur_passes = 3
blur_size = 6
contrast = 0.7
brightness = 0.38
vibrancy = 0.15
vibrancy_darkness = 0.5
}
# // ▀█▀ █▀█ █▀█
# // ░█░ █▄█ █▀▀
# uptime
label {
monitor =
text = cmd[update:5000] echo "<span alpha='40%'>$(uptime -p)</span>"
color = $fontColor
font_family = $fontFamily
font_size = $fsMeta
position = 0, $yUptime
halign = center
valign = center
}
# greeting / weather
label {
monitor =
text = cmd[update:300000] echo "<span alpha='50%'>$(cat ~/.config/fish/greet.txt)</span>"
color = $fontColor
font_family = $fontFamily
font_size = $fsSmall
position = 0, $yGreet
halign = center
valign = center
}
# // █▀▄▀█ █ █▀▄ █▀▄ █░░ █▀▀
# // █░▀░█ █ █▄▀ █▄▀ █▄▄ ██▄
image {
monitor =
path = ~/.config/hypr/hyprlock/assets/logo.jpg
size = $logoSize
position = 0, $yLogo
halign = center
valign = center
reload_time = -1
reload_cmd =
}
input-field {
monitor =
size = 20%, 5%
position = 0, $yInput
halign = center
valign = center
outline_thickness = 3
dots_size = 0.08
dots_spacing = 0.2
dots_center = true
outer_color = rgba(0,0,0,0.1)
inner_color = $fontColor
fade_on_empty = true
}
# // █▄▄ █▀█ ▀█▀ ▀█▀ █▀█ █▀▄▀█
# // █▄█ █▄█ ░█░ ░█░ █▄█ █░▀░█
# date — sits BELOW the clock (-28% vs the clock's -17%), as it did before the band rewrite.
label {
monitor =
text = cmd[update:1000] echo "<span alpha='50%'>$(LC_TIME=en_US.UTF-8 date +'%A, %B %d')</span>"
color = $fontColor
font_family = $fontFamily
font_size = $fsDate
position = 0, $yDate
halign = center
valign = center
}
# clock — 17% below centre, directly under the input field, with the date below it. Centre-
# anchored, so y is the box's CENTRE and the glyphs grow both ways from it; budget for that
# when changing $fsClock, which is by far the tallest text here.
label {
monitor =
text = cmd[update:1000] echo "<span alpha='50%'>$(date +"%H:%M")</span>"
color = $fontColor
font_family = $timeFontFamily
font_size = $fsClock
position = 0, $yClock
halign = center
valign = center
shadow_passes = 1
shadow_size = 1
shadow_color = rgba(0, 0, 0, 0.5)
}
# power
label {
monitor =
text = cmd[] echo "<span alpha='50%'>⏻ </span>"
color = $fontColor
font_size = $fsIcon
onclick = systemctl poweroff
position = 3%, 3%
halign = left
valign = bottom
}
# battery (prints nothing on a desktop)
label {
monitor =
text = cmd[update:1000] echo -e "<span alpha='50%'>$(~/.config/hypr/battery.sh)</span>"
color = $fontColor
font_family = $fontFamily
font_size = $fsSmall
position = -3%, 3%
halign = right
valign = bottom
}
+132
View File
@@ -0,0 +1,132 @@
# ░▒▒▒░░░░░▓▓ ___________
# ░░▒▒▒░░░░░▓▓ //___________/
# ░░▒▒▒░░░░░▓▓ _ _ _ _ _____
# ░░▒▒░░░░░▓▓▓▓▓▓ | | | | | | | __/
# ░▒▒░░░░▓▓ ▓▓ | |_| | |_/ /| |___
# ░▒▒░░▓▓ ▓▓ \__ |____/ |____/
# ░▒▓▓ ▓▓ //____/
$fontFamily = JetBrainsMono Nerd Font # We already have this font installed
# Resolving custom fonts
# Provide the font name and the download link separated by a pipe |
# Run font.sh resolve $LAYOUT_PATH to install the font
$resolve.font=Anurati|https://font.download/dl/font/anurati.zip
$resolve.font=Inter|https://github.com/rsms/inter/releases/download/v4.1/Inter-4.1.zip
background {
monitor =
color = $wallbash_pry1_rgba
path = $BACKGROUND_PATH
blur_size = 4
blur_passes = 3 # 0 disables blurring
noise = 0.0117
contrast = 1.3000 # Vibrant!!!
brightness = 0.8000
vibrancy = 0.2100
vibrancy_darkness = 0.0
}
# DAY
label {
monitor =
text = cmd[update:1000] echo "$(date +"%A" | sed 's/./&/g' | tr '[:lower:]' '[:upper:]')" # Add a thin space between each character
color = $wallbash_1xa9_rgba
font_size = 110 # Wednesday is too long
font_family = Anurati
position = 0, 100
halign = center
valign = center
}
# DATE
label {
monitor =
text = cmd[update:1000] echo "$(date +"%B %d")"
color = $wallbash_2xa9_rgba
font_size = 35
font_family = $font_family Thin
position = 0, -20
halign = center
valign = center
}
# TIME
label {
monitor =
text = cmd[update:1000] echo "$(date +"%-I:%M %p")"
#text = $TIME
color = $wallbash_txt1_rgba
font_size = 20 #!
font_family = $font_family
position = 0, 150
halign = center
valign = bottom
}
# INPUT FIELD
input-field {
monitor =
size = 200, 50 #!
outline_thickness = 3
dots_size = 0.33 # Scale of input-field height, 0.2 - 0.8
dots_spacing = 0.15 # Scale of dots' absolute size, 0.0 - 1.0
dots_center = true
dots_rounding = -1 # -1 default circle, -2 follow input-field rounding
outer_color = $wallbash_pry4_rgba
inner_color = $wallbash_pry2_rgba
font_color = $wallbash_3xa9_rgba
fade_on_empty = true
fade_timeout = 1000 # Milliseconds before fade_on_empty is triggered.
placeholder_text = <i>Input Password...</i> # Text rendered in the input box when it's empty.
hide_input = false
rounding = -1 # -1 means complete rounding (circle/oval)
check_color = $wallbash_pry4_rgba
fail_color = rgba(FF0000FF) # if authentication failed, changes outer_color and fail message color
fail_text = <i>$FAIL <b>($ATTEMPTS)</b></i> # can be set to empty
fail_transition = 300 # transition time in ms between normal outer_color and fail_color
capslock_color = -1
numlock_color = -1
bothlock_color = -1 # when both locks are active. -1 means don't change outer color (same for above)
invert_numlock = false # change color if numlock is off
swap_font_color = true # see below
position = 0, 80
halign = center
valign = bottom
}
#User tag
label {
monitor =
text =  $USER
color = $wallbash_4xa9_rgba
font_size = 20
font_family = Inter Display Medium
position = 0, 30
halign = center
valign = bottom
}
# Battery Status if present
label {
monitor =
text = cmd[update:5000] $BATTERY_ICON
color = $wallbash_4xa9_rgba
font_size = 20
font_family = JetBrainsMono Nerd Font
position = -1%, 1%
halign = right
valign = bottom
}
# Current Keyboard Layout
label {
monitor =
text = cmd[update:1000] $KEYBOARD_LAYOUT
color = $wallbash_4xa9_rgba
font_size = 20
font_family = Inter Display Medium
position = -2%, 1%
halign = right
valign = bottom
}
@@ -0,0 +1,158 @@
# Hyprclouds from Arfan on Clouds
# By: Arfan on Clouds https://github.com/arfan-on-clouds/hyprclouds
# Modified by: The HyDE Project
$resolve.font=SF Pro Display|https://font.download/dl/font/sf-pro-display.zip
$resolve.font=AlfaSlabOne|https://font.download/dl/font/alfa-slab-one.zip
# BACKGROUND
background {
monitor =
color = $wallbash_pry1_rgba
path = $BACKGROUND_PATH
blur_size = 4
blur_passes = 3 # 0 disables blurring
noise = 0.0117
contrast = 1.3000 # Vibrant!!!
brightness = 0.8000
vibrancy = 0.2100
vibrancy_darkness = 0.0
}
# INPUT FIELD
input-field {
monitor =
size = 190, 50
outline_thickness = 2
dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8
dots_spacing = 0.2 # Scale of dots' absolute size, 0.0 - 1.0
dots_center = true
fade_on_empty = true
font_family = SF Pro Display Bold
placeholder_text = <i><span foreground="##ffffff99"></span></i>
hide_input = false
position = 0, -170
halign = center
valign = center
outer_color = $wallbash_pry4_rgba
inner_color = $wallbash_pry2_rgba
font_color = $wallbash_3xa9_rgba
check_color = $wallbash_pry4_rgba
}
# Hour-Time
label {
monitor =
text = cmd[update:1000] echo -e "$(date +"%I")"
color = $wallbash_1xa8_rgba
shadow_passes = 3
shadow_size = 2
font_size = 100
font_family = AlfaSlabOne
position = 0, 100
halign = center
valign = center
}
# Minute-Time
label {
monitor =
text = cmd[update:1000] echo -e "$(date +"%M")"
color = $wallbash_3xa9_rgba
font_size = 100
font_family = AlfaSlabOne
shadow_passes = 3
shadow_size = 2
position = 0, -20
halign = center
valign = center
}
# Day-Date-Month
label {
monitor =
text = cmd[update:1000] echo -e "$(date +"%d %b %A")"
color = $wallbash_3xa9_rgba
shadow_passes = 3
shadow_size = 1
font_size = 12
font_family = JetBrains Mono Nerd Font Mono ExtraBold
position = 1%, -1%
halign = left
valign = top
}
# CURRENT SONG
label {
monitor =
text = cmd[update:1000] $MPRIS_TEXT # Outputs the song title when mpris is available, otherwise, it will output the splash command.
color = $wallbash_3xa9_rgba
shadow_passes = 3
shadow_size = 1
font_size = 14
font_family = JetBrains Mono Nerd, SF Pro Display Bold
position = 0, 20
halign = center
valign = bottom
}
image {
monitor =
path = $MPRIS_IMAGE
size = 80 # lesser side if not 1:1 ratio
rounding = -1 # negative values mean circle
border_size = 0
shadow_passes = 3
shadow_size = 3
border_color = rgb(221, 221, 221)
rotate = 0 # degrees, counter-clockwise
reload_time = 0 # seconds between reloading, 0 to reload with SIGUSR2
# reload_cmd = # command to get new path. if empty, old path will be used. don't run "follow" commands like tail -F
position = 0, 10%
halign = center
valign = bottom
}
# Battery Status if present
label {
monitor =
text = cmd[update:5000] $BATTERY_ICON
color = $wallbash_4xa9_rgba
font_size = 20
font_family = JetBrainsMono Nerd Font
position = -1%, 1%
halign = right
valign = bottom
}
# Current Keyboard Layout
label {
monitor =
text = cmd[update:1000] $KEYBOARD_LAYOUT
color = $wallbash_4xa9_rgba
font_size = 20
font_family = JetBrains Mono Nerd, SF Pro Display Bold
position = -2%, 1%
halign = right
valign = bottom
}
# Weather
#! Put the weather command last to lessen the load time of other modules
label {
monitor =
text = cmd[update:18000000] $WEATHER_CMD
color = $wallbash_3xa9_rgba
font_size = 16
shadow_passes = 3
shadow_size = 1
font_family = JetBrains Mono Nerd, SF Pro Display Bold
position = -1%, -1%
halign = right
valign = top
}
+112
View File
@@ -0,0 +1,112 @@
# ░▒▒▒░░░░░▓▓ ___________
# ░░▒▒▒░░░░░▓▓ //___________/
# ░░▒▒▒░░░░░▓▓ _ _ _ _ _____
# ░░▒▒░░░░░▓▓▓▓▓▓ | | | | | | | __/
# ░▒▒░░░░▓▓ ▓▓ | |_| | |_/ /| |___
# ░▒▒░░▓▓ ▓▓ \__ |____/ |____/
# ░▒▓▓ ▓▓ //____/
$fontFamily = IBM Plex Sans
$resolve.font=IBM Plex Sans|https://github.com/IBM/plex/releases/download/%40ibm%2Fplex-sans%401.1.0/ibm-plex-sans.zip
# GENERAL
background {
monitor =
path = $BACKGROUND_PATH
blur_size = 5
blur_passes = 0
noise = 0.0117
contrast = 1.3000 # Vibrant!
brightness = 0.8000
vibrancy = 0.2100
vibrancy_darkness = 0.0
}
# Current time
label {
monitor =
text = cmd[update:1000] echo "<b><big> $(date +"%H") </big></b>"
color = $wallbash_2xa7_rgba
font_size = 180
font_family = $fontFamily Medium 10
position = 0, 80
halign = center
valign = center
}
label {
monitor =
text = cmd[update:1000] echo "<b><big> $(date +"%M") </big></b>"
color = $wallbash_2xa9_rgba
font_size = 180
font_family = $fontFamily Medium 10
position = 0, -120
halign = center
valign = center
}
label {
monitor =
text = cmd[update:1000] echo "<b><big> $(date +"%d %b") </big></b>"
color = $wallbash_2xa8_rgba
font_size = 20
font_family = $fontFamily Medium 10
position = 0, -230
halign = center
valign = center
}
label {
monitor =
text = cmd[update:1000] echo "<b><big> $(date +"%A") </big></b>"
color = $wallbash_2xa8_rgba
font_size = 20
font_family = $fontFamily Medium 10
position = 0, -250
halign = center
valign = center
}
#INPUT FIELD
input-field {
monitor =
# size = 15%, 5% # hyprlock-git
size = 200, 50
outline_thickness = 3
dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8
dots_spacing = 1.00 # Scale of dots' absolute size, 0.0 - 1.0
dots_center = true
outer_color = $wallbash_pry2_rgba
inner_color = $wallbash_pry3_rgba
font_color = $color7
fade_on_empty = true
placeholder_text = <i>Password...</i> # Text rendered in the input box when it's empty.
hide_input = false
position = 0, 60
halign = center
valign = bottom
}
# Battery Status if present
label {
monitor =
text = cmd[update:5000] $BATTERY_ICON
color = $wallbash_4xa9_rgba
font_size = 20
font_family = JetBrainsMono Nerd Font
position = -1%, 1%
halign = right
valign = bottom
}
# Current Keyboard Layout
label {
monitor =
text = cmd[update:1000] $KEYBOARD_LAYOUT
color = $wallbash_4xa9_rgba
font_size = 20
font_family = $fontFamily
position = -2%, 1%
halign = right
valign = bottom
}
+161
View File
@@ -0,0 +1,161 @@
# Hyprlock style-4
# By: Vivek Rajan https://github.com/MrVivekRajan/Hyprlock-Styles/tree/main/Style-4
# Modified by: The HyDE Project
$resolve.font=SF Pro Display|https://font.download/dl/font/sf-pro-display.zip
# BACKGROUND
background {
monitor =
path = $BACKGROUND_PATH
blur_passes = 0
contrast = 0.8916
brightness = 0.8916
vibrancy = 0.8916
vibrancy_darkness = 0.0
}
# GENERAL
general {
no_fade_in = false
grace = 0
disable_loading_bar = false
}
# Profile-Photo
image {
monitor =
path = $PROFILE_IMAGE
border_size = 2
border_color = $wallbash_pry4_rgba
size = 100
rounding = -1
rotate = 0
reload_time = -1
reload_cmd =
position = 25, 200
halign = center
valign = center
}
# NAME
label {
monitor =
text = cmd[update:60000] $GREET_TEXT
color = $wallbash_txt1_rgba
outline_thickness = 0
dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8
dots_spacing = 0.2 # Scale of dots' absolute size, 0.0 - 1.0
dots_center = true
font_size = 20
font_family = SF Pro Display Bold
position = 25, 110
halign = center
valign = center
}
# Time
label {
monitor =
text = cmd[update:1000] echo "<span>$(date +"%I:%M")</span>"
color = $wallbash_txt1_rgba
font_size = 60
font_family = SF Pro Display Bold
position = 30, -8
halign = center
valign = center
}
# Day-Month-Date
label {
monitor =
text = cmd[update:1000] echo -e "$(date +"%A, %B %d")"
color = $wallbash_txt1_rgba
font_size = 19
font_family = SF Pro Display Bold
position = 35, -60
halign = center
valign = center
}
# USER-BOX
shape {
monitor =
size = 320, 55
color = rgba(255, 255, 255, 0.1)
rounding = -1
border_size = 0
border_color = $wallbash_txt3_rgba
rotate = 0
xray = false # if true, make a "hole" in the background (rectangle of specified size, no rotation)
position = 34, -190
halign = center
valign = center
}
# USER
label {
monitor =
text =  $USER
color = $wallbash_1xa9_rgba
outline_thickness = 0
dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8
dots_spacing = 0.2 # Scale of dots' absolute size, 0.0 - 1.0
dots_center = true
font_size = 16
font_family = SF Pro Display Bold
position = 38, -190
halign = center
valign = center
}
# INPUT FIELD
input-field {
monitor =
size = 320, 55
outline_thickness = 0
dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8
dots_spacing = 0.2 # Scale of dots' absolute size, 0.0 - 1.0
dots_center = true
outer_color = rgba(255, 255, 255, 0)
inner_color = rgba(255, 255, 255, 0.1)
font_color = $wallbash_2xa6_rgba
fade_on_empty = false
font_family = SF Pro Display Bold
placeholder_text = <i><span foreground="##ffffff99">🔒 Enter Pass</span></i>
hide_input = false
position = 34, -268
halign = center
valign = center
check_color = $wallbash_txt4_rgba
fail_color = rgb(204, 34, 34) # if authentication failed, changes outer_color and fail message color
fail_text = <i>$FAIL <b>($ATTEMPTS)</b></i> # can be set to empty
fail_transition = 300 # transition time in ms between normal outer_color and fail_color
}
# Battery Status if present
label {
monitor =
text = cmd[update:5000] $BATTERY_ICON
color = $wallbash_4xa9_rgba
font_size = 20
font_family = JetBrainsMono Nerd Font
position = -1%, 1%
halign = right
valign = bottom
}
# Current Keyboard Layout
label {
monitor =
text = cmd[update:1000] $KEYBOARD_LAYOUT
color = $wallbash_4xa9_rgba
font_size = 20
font_family = SF Pro Display Bold
position = -2%, 1%
halign = right
valign = bottom
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 214 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

+1
View File
@@ -0,0 +1 @@
source = ./HyDE.conf
+265
View File
@@ -0,0 +1,265 @@
## █▄▀ █▀▀ █▄█ █▄▄ █ █▄░█ █▀▄ █ █▄░█ █▀▀ █▀
## █░█ ██▄ ░█░ █▄█ █ █░▀█ █▄▀ █ █░▀█ █▄█ ▄█
# see https://wiki.hyprland.org/configuring/keywords/ for more
# example binds, see https://wiki.hyprland.org/configuring/binds/ for more
# Grouping of binds for easier management
# $d=[Group Name|Subgroup Name1|Subgroup Name2|...]
# '$d' is a variable that is used to group binds together (or use another variable)
# This is only for organization purposes and is not a defined hyprland variable
# What we did here is to modify the Description of the binds to include the group name
# The $d will be parsed as a separate key to be use for a GUI or something pretty
# [Main|Subgroup1|Subgroup2|...]
# Main - The main groupname
# Subgroup1.. - The subgroup names can be use to avoid repeating the same description
#*  Variables 
# Default if commented out
# $mainMod = Super # super / meta / windows key
# Assign apps
# $TERMINAL = kitty
# $EDITOR = code
# $EXPLORER = dolphin
# $BROWSER = firefox
$wm=Window Management
$d=[$wm]
bindd = $mainMod, Q, $d close focused window, exec, $scrPath/dontkillsteam.sh
bindd = Alt, F4, $d close focused window, exec, $scrPath/dontkillsteam.sh
bindd = $mainMod, Delete, $d kill hyprland session, exit
bindd = $mainMod, W, $d toggle float, togglefloating, #
bindd = $mainMod Shift, G, $d toggle group, togglegroup
bindd = Shift, F11, $d toggle fullscreen, fullscreen
bindd = Alt, Return, $d toggle fullscreen, fullscreen
bindd = $mainMod, L, $d lock screen, exec, lockscreen.sh
bindd = $mainMod Shift, F, $d toggle pin on focused window, exec, $scrPath/window.pin.sh
bindd = Control Alt, Delete, $d logout menu, exec, $scrPath/logoutlaunch.sh
bindd = Control Alt, W, $d toggle waybar, exec, killall waybar || waybar -c ~/.config/waybar/layouts/custom.jsonc -s ~/.config/waybar/layouts/custom.css
# bindd = Control Alt, W, $d toggle waybar, exec, hyde-shell waybar --hide
# bindd = Alt_R, Control_R, W, $d toggle waybar and reload config, exec, killall waybar || (env reload_flag=1 $scrPath/wbarconfgen.sh) # was throwing error
# bindd = ALT_R, Control_R,toggle waybar, exec, killall waybar || waybar # toggle waybar without reloading, this is faster
$d=[$wm|Group Navigation]
bindd = $mainMod Control, H, $d change active group backwards , changegroupactive, b
bindd = $mainMod Control, L, $d change active group forwards , changegroupactive, f
$d=[$wm|Change focus]
bindd = $mainMod, Left, $d focus left, movefocus, l
bindd = $mainMod, Right, $d focus right , movefocus, r
bindd = $mainMod, Up, $d focus up , movefocus, u
bindd = $mainMod, Down , $d focus down, movefocus, d
bindd = $mainMod Control, Left, $d focus left, movefocus, l
bindd = $mainMod Control, Right, $d focus right , movefocus, r
bindd = $mainMod Control, Up, $d focus up , movefocus, u
bindd = $mainMod Control, Down, $d focus down, movefocus, d
# Super+Ctrl h/l intentionally share a combo with Group Navigation above: hyprland fires
# every bind matching a combo, and changegroupactive is a no-op outside a group.
bindd = $mainMod Control, h, $d focus left, movefocus, l
bindd = $mainMod Control, l, $d focus right , movefocus, r
bindd = $mainMod Control, k, $d focus up , movefocus, u
bindd = $mainMod Control, j , $d focus down, movefocus, d
bindd = Alt Control, Left, $d focus left, movefocus, l
bindd = Alt Control, Right, $d focus right , movefocus, r
bindd = Alt Control, Up, $d focus up , movefocus, u
bindd = Alt Control, Down, $d focus down, movefocus, d
bindd = Alt Control, h, $d focus left, movefocus, l
bindd = Alt Control, l, $d focus right , movefocus, r
bindd = Alt Control, k, $d focus up , movefocus, u
bindd = Alt Control, j , $d focus down, movefocus, d
bindd = Alt, Tab, $d focus , movefocus, d
$d=[$wm|Resize Active Window]
# Resize windows
bindde = $mainMod Shift, Right, $d resize window right , resizeactive, 30 0
bindde = $mainMod Shift, Left, $d resize window left, resizeactive, -30 0
bindde = $mainMod Shift, Up, $d resize window up, resizeactive, 0 -30
bindde = $mainMod Shift, Down, $d resize window down, resizeactive, 0 30
bindde = $mainMod Shift, l, $d resize window right , resizeactive, 30 0
bindde = $mainMod Shift, h, $d resize window left, resizeactive, -30 0
bindde = $mainMod Shift, k, $d resize window up, resizeactive, 0 -30
bindde = $mainMod Shift, j, $d resize window down, resizeactive, 0 30
# Move active window around current workspace with mainMod + Shift + Control [←→↑↓]
$d=[$wm|Move active window across workspace]
$moveactivewindow=grep -q "true" <<< $(hyprctl activewindow -j | jq -r .floating) && hyprctl dispatch moveactive
bindde = $mainMod Alt, left, Move activewindow to the left, exec, $moveactivewindow -30 0 || hyprctl dispatch swapwindow l
bindde = $mainMod Alt, right, Move activewindow to the right, exec, $moveactivewindow 30 0 || hyprctl dispatch swapwindow r
bindde = $mainMod Alt, up, Move activewindow up, exec, $moveactivewindow 0 -30 || hyprctl dispatch swapwindow u
bindde = $mainMod Alt, down, Move activewindow down, exec, $moveactivewindow 0 30 || hyprctl dispatch swapwindow d
bindde = $mainMod Alt, h, Move activewindow to the left, exec, $moveactivewindow -30 0 || hyprctl dispatch swapwindow l
bindde = $mainMod Alt, l, Move activewindow to the right, exec, $moveactivewindow 30 0 || hyprctl dispatch swapwindow r
bindde = $mainMod Alt, k, Move activewindow up, exec, $moveactivewindow 0 -30 || hyprctl dispatch swapwindow u
bindde = $mainMod Alt, j, Move activewindow down, exec, $moveactivewindow 0 30 || hyprctl dispatch swapwindow d
# (Super+Alt+Ctrl h/l belong to "move window to relative workspace" below; the movewindow
# variant duplicated the swapwindow block above and double-fired with those binds)
# Move/Resize focused window
$d=[$wm|Move & Resize with mouse]
binddm = $mainMod, mouse:272, $d hold to move window, movewindow
binddm = $mainMod, mouse:273, $d hold to resize window, resizewindow
binddm = $mainMod, Z, $d hold to move window , movewindow
binddm = $mainMod, X, $d hold to resize window, resizewindow
# Toggle focused window split
$d=[$wm]
bindd = $mainMod, J, $d toggle split, layoutmsg, togglesplit
$l=Launcher
$d=[$l|Apps]
bindd = $mainMod, T, $d terminal emulator , exec, $TERMINAL
bindd = $mainMod Shift, T, $d terminal emulator , exec, alacritty
bindd = Control Alt, T, $d terminal emulator , exec, $TERMINAL
# bindd = Control Shift, Alt, T, $d terminal emulator , exec, tilix # launch tilix terminal emulator - using for ssh
bindd = $mainMod Control, T, $d terminal emulator, exec, tilix # launch tilix terminal emulator
# bindd = $mainMod, R, $d pyradio, exec, $TERMINAL pyradio #radio
bindd = $mainMod, I, $d wingman, exec, kitty --session ~/.config/kitty/c2.conf
bindd = $mainMod, O, $d wingman, exec, kitty --session ~/.config/kitty/runners.conf
bindd = $mainMod, R, $d pyradio, exec, kitty --session ~/.config/kitty/music.conf
bindd = $mainMod, E, $d file explorer , exec, $EXPLORER
bindd = $mainMod, C, $d neovim, exec, $TERMINAL nvim #editor
bindd = $mainMod, B, $d web browser , exec, $BROWSER
bindd = $mainMod Shift, B, $d web browser , exec, librewolf
bindd = $mainMod Control, B, $d web browser , exec, firefox
bindd = $mainMod, Y, $d ferdium, exec, ferdium
bindd = Control Shift, Escape, $d system monitor , exec, $scrPath/sysmonlaunch.sh
bindd = $mainMod, F, $d freetube , exec, freetube # youtube alternative
bindd = $mainMod, K, $d password manager , exec, keepassxc # launch password manager
bindd = $mainMod, G, $d xmpp, exec, gajim # launch messanger
bindd = $mainMod, M, $d betterbird, exec, betterbird
# bindd = $mainMod, M, exec, $notes # launch notes app
# bindd = Ctrl+Shift, Escape, exec, $scrPath/sysmonlaunch.sh # launch system monitor (htop/btop or fallback to top)
$d=[$l|Rofi menus]
$rofi-launch=$scrPath/rofilaunch.sh
bindd = $mainMod, A, $d application finder , exec, pkill -x rofi || $rofi-launch d
bindd = $mainMod, TAB, $d window switcher , exec, pkill -x rofi || $rofi-launch w
bindd = $mainMod Shift, E, $d file finder , exec, pkill -x rofi || $rofi-launch f
bindd = $mainMod, slash, $d keybindings hint, exec, pkill -x rofi || $scrPath/keybinds_hint.sh c # launch keybinds hint
bindd = $mainMod, comma, $d emoji picker , exec, pkill -x rofi || $scrPath/emoji-picker.sh # launch emoji picker
bindd = $mainMod, period, $d glyph picker , exec, pkill -x rofi || $scrPath/glyph-picker.sh # launch glyph picker
bindd = $mainMod, V, $d clipboard , exec, pkill -x rofi || $scrPath/cliphist.sh -c # launch clipboard,
bindd = $mainMod Shift, V, $d clipboard manager , exec, pkill -x rofi || $scrPath/cliphist.sh # launch clipboard Manager
bindd = $mainMod Shift, A, $d select rofi launcher , exec, pkill -x rofi || $scrPath/rofiselect.sh # launch select menu
$hc=Hardware Controls
$d=[$hc|Audio]
binddl = , F10, $d toggle mute output , exec, $scrPath/volumecontrol.sh -o m # toggle audio mute
binddl = , XF86AudioMute,$d toggle mute output, exec, $scrPath/volumecontrol.sh -o m # toggle audio mute
# binddel = , F11, $d decrease volume , exec, $scrPath/volumecontrol.sh -o d # decrease volume
# binddel = , F12, $d increase volume , exec, $scrPath/volumecontrol.sh -o i # increase volume
binddl = , XF86AudioMicMute,$d un/mute microphone , exec, $scrPath/volumecontrol.sh -i m # toggle microphone mute
binddel = , XF86AudioLowerVolume, $d decrease volume , exec, $scrPath/volumecontrol.sh -o d # decrease volume
binddel = , XF86AudioRaiseVolume, $d increase volume , exec, $scrPath/volumecontrol.sh -o i # increase volume
$d=[$hc|Media]
binddl = , XF86AudioPlay,$d play media, exec, playerctl play-pause # toggle between media play and pause
binddl = , XF86AudioPause,$d pause media, exec, playerctl play-pause # toggle between media play and pause
binddl = , XF86AudioNext,$d next media , exec, playerctl next # media next
binddl = , XF86AudioPrev,$d previous media , exec, playerctl previous # media previous
$d=[$hc|Brightness]
binddel = , XF86MonBrightnessUp, $d increase brightness , exec, $scrPath/brightnesscontrol.sh i # increase brightness
binddel = , XF86MonBrightnessDown, $d decrease brightness , exec, $scrPath/brightnesscontrol.sh d # decrease brightness
$ut=Utilities
$d=[$ut]
# binddl = $mainMod, K, $d toggle keyboard layout , exec, $scrPath/keyboardswitch.sh # switch keyboard layout
bindd = $mainMod Alt, G, $d game mode , exec, $scrPath/gamemode.sh # disable hypr effects for gamemode
$d=[$ut|Screen Capture]
bindd = $mainMod Shift, P, $d color picker, exec, hyprpicker -an # Pick color (Hex) >> clipboard#
bindd = $mainMod, P, $d snip screen , exec, $scrPath/screenshot.sh s # partial screenshot capture
bindd = $mainMod Control, P, $d freeze and snip screen, exec, $scrPath/screenshot.sh sf # partial screenshot capture (frozen screen)
binddl = $mainMod Alt, P, $d print monitor , exec, $scrPath/screenshot.sh m # monitor screenshot capture
binddl = , Print, $d print all monitors , exec, $scrPath/screenshot.sh p # all monitors screenshot capture
# TODO Make a main rofi menu for these selectors
$rice=Theming and Wallpaper
$d=[$rice]
bindd = $mainMod Alt Control Shift, Right, $d next global wallpaper , exec, $scrPath/wallpaper.sh -Gn # next global wallpaper
bindd = $mainMod Alt Control Shift, Left, $d previous global wallpaper , exec, $scrPath/wallpaper.sh -Gp # previous global wallpaper
bindd = $mainMod Shift, W, $d select a global wallpaper , exec, pkill -x rofi || $scrPath/wallpaper.sh -SG # launch wallpaper select menu
# bindd = $mainMod Alt, Up, $d next waybar layout , exec, $scrPath/wbarconfgen.sh n # next waybar mode
# bindd = $mainMod Alt, Down, $d previous waybar layout , exec, $scrPath/wbarconfgen.sh p # previous waybar mode
bindd = $mainMod Shift, R, $d reload hyprland + waybar, exec, hyprctl reload; killall waybar; setsid -f waybar -c ~/.config/waybar/layouts/custom.jsonc -s ~/.config/waybar/layouts/custom.css
# bindd = $mainMod Shift, R, $d wallbash mode selector , exec, pkill -x rofi || $scrPath/wallbashtoggle.sh -m # (HyDE default; needs framework)
# bindd = $mainMod Shift, T, $d select a theme, exec, pkill -x rofi || $scrPath/themeselect.sh # launch theme select menu
$ws=Workspaces
$d=[$ws|Navigation]
bindd = $mainMod, 1, $d navigate to workspace 1 , workspace, r~1
bindd = $mainMod, 2, $d navigate to workspace 2 , workspace, r~2
bindd = $mainMod, 3, $d navigate to workspace 3 , workspace, r~3
bindd = $mainMod, 4, $d navigate to workspace 4 , workspace, r~4
bindd = $mainMod, 5, $d navigate to workspace 5 , workspace, r~5
bindd = $mainMod, 6, $d navigate to workspace 6 , workspace, r~6
bindd = $mainMod, 7, $d navigate to workspace 7 , workspace, r~7
bindd = $mainMod, 8, $d navigate to workspace 8 , workspace, r~8
bindd = $mainMod, 9, $d navigate to workspace 9 , workspace, r~9
bindd = $mainMod, 0, $d navigate to workspace 10 , workspace, r~10
$d=[$ws|Navigation|Relative workspace]
bindd = $mainMod Control Shift, Right, $d change active workspace forwards , workspace, r+1
bindd = $mainMod Control Shift, Left, $d change active workspace backwards , workspace, r-1
bindd = $mainMod Control Shift, L, $d change active workspace forwards , workspace, r+1
bindd = $mainMod Control Shift, H, $d change active workspace backwards , workspace, r-1
$d=[$ws|Navigation]
# E for "empty" — Super+Ctrl+Down is taken by movefocus above
bindd = $mainMod Control, E, $d navigate to the nearest empty workspace , workspace, empty
# Move focused window to a workspace
$d=[$ws|Move window to workspace]
bindd = $mainMod Control, 1, $d move to workspace 1 , movetoworkspace, r~1
bindd = $mainMod Control, 2, $d move to workspace 2 , movetoworkspace, r~2
bindd = $mainMod Control, 3, $d move to workspace 3 , movetoworkspace, r~3
bindd = $mainMod Control, 4, $d move to workspace 4 , movetoworkspace, r~4
bindd = $mainMod Control, 5, $d move to workspace 5 , movetoworkspace, r~5
bindd = $mainMod Control, 6, $d move to workspace 6 , movetoworkspace, r~6
bindd = $mainMod Control, 7, $d move to workspace 7 , movetoworkspace, r~7
bindd = $mainMod Control, 8, $d move to workspace 8 , movetoworkspace, r~8
bindd = $mainMod Control, 9, $d move to workspace 9 , movetoworkspace, r~9
bindd = $mainMod Control, 0, $d move to workspace 10 , movetoworkspace, r~10
# Move focused window to a relative workspace
$d=[$ws]
bindd = $mainMod Control Alt, Right, $d move window to next relative workspace , movetoworkspace, r+1
bindd = $mainMod Control Alt, Left, $d move window to previous relative workspace , movetoworkspace, r-1
bindd = $mainMod Control Alt, l, $d move window to next relative workspace , movetoworkspace, r+1
bindd = $mainMod Control Alt, h, $d move window to previous relative workspace , movetoworkspace, r-1
# Scroll through existing workspaces
$d=[$ws|Navigation]
bindd = $mainMod, mouse_down, $d next workspace, workspace, e+1
bindd = $mainMod, mouse_up, $d previous workspace, workspace, e-1
# Move/Switch to special workspace (scratchpad)
$d=[$ws|Navigation|Special workspace]
bindd = $mainMod Shift, S, $d move to scratchpad , movetoworkspace, special
bindd = $mainMod Alt, S, $d move to scratchpad (silent) , movetoworkspacesilent, special
bindd = $mainMod, S, $d toggle scratchpad , togglespecialworkspace
# Move focused window to a workspace silently
$d=[$ws|Navigation|Move window silently]
bindd = $mainMod Alt, 1, $d move to workspace 1 (silent), movetoworkspacesilent, r~1
bindd = $mainMod Alt, 2, $d move to workspace 2 (silent), movetoworkspacesilent, r~2
bindd = $mainMod Alt, 3, $d move to workspace 3 (silent), movetoworkspacesilent, r~3
bindd = $mainMod Alt, 4, $d move to workspace 4 (silent), movetoworkspacesilent, r~4
bindd = $mainMod Alt, 5, $d move to workspace 5 (silent), movetoworkspacesilent, r~5
bindd = $mainMod Alt, 6, $d move to workspace 6 (silent), movetoworkspacesilent, r~6
bindd = $mainMod Alt, 7, $d move to workspace 7 (silent), movetoworkspacesilent, r~7
bindd = $mainMod Alt, 8, $d move to workspace 8 (silent), movetoworkspacesilent, r~8
bindd = $mainMod Alt, 9, $d move to workspace 9 (silent), movetoworkspacesilent, r~9
bindd = $mainMod Alt, 0, $d move to workspace 10 (silent), movetoworkspacesilent, r~10
$d=#! unset the group name
+6
View File
@@ -0,0 +1,6 @@
# Default monitor config (fallback shared by all GUI hosts).
# Per-host overlays (lw/, wm/, fl/, …) override this with their own monitors.conf via
# stow --override. It exists here so `source = ./monitors.conf` in hyprland.conf always
# resolves — even mid-install, before the host overlay is stowed (avoids the transient
# "source globbing error: found no match").
monitor = , preferred, auto, 1
+43
View File
@@ -0,0 +1,43 @@
# █░█ █▀ █▀▀ █▀█   █▀█ █▀█ █▀▀ █▀▀ █▀
# █▄█ ▄█ ██▄ █▀▄   █▀▀ █▀▄ ██▄ █▀░ ▄█
# Set your personal hyprland configuration here
# BAR BLUR
#
# The blur behind the bars only ever came from HyDE's *generated* `hypr/themes/theme.conf`,
# which this repo deliberately does not carry (HyDE writes it per host) — so without this
# block the bars have no blur behind them. That generated file also still ships the pre-0.45
# form (`layerrule = blur,waybar`), which current hyprland rejects; HyDE wraps the source in
# `hyprlang noerror true`, so it fails silently either way. Re-declared here in the current
# `<rule>,match:namespace <ns>` syntax, matching windowrules.conf. `layerrule` is additive.
# Keep comments on their own lines: a trailing one is parsed as part of the value.
# (`cavabar` is the standalone cava bar from waybar/layouts/custom.jsonc.)
layerrule = blur true,match:namespace waybar
layerrule = ignore_alpha 0,match:namespace waybar
layerrule = blur true,match:namespace cavabar
layerrule = ignore_alpha 0,match:namespace cavabar
# // █░░ ▄▀█ █░█ █▄░█ █▀▀ █░█
# // █▄▄ █▀█ █▄█ █░▀█ █▄▄ █▀█
# (xremap lives in lw's host.conf — it's the only host with an xremap config; wm uses evremap)
env = SSH_AUTH_SOCK,$XDG_RUNTIME_DIR/ssh-agent.socket # ssh on start
env = ELECTRON_OZONE_PLATFORM_HINT,x11 # Disable after hyprland fixes electron flickering
exec-once = waybar -c ~/.config/waybar/layouts/custom.jsonc -s ~/.config/waybar/layouts/custom.css
# (No static `noanim` layerrule: current Hyprland rejects it in the match: syntax, and
# grimblast already suppresses selection animation at runtime via `hyprctl keyword layerrule`.)
# I know there is like two 'solutions' already, so have third one - (tested GTX 1060, 555.58.02 drivers) - run flickery apps with --disable-gpu-compositing. This makes apps slightly less smooth (GPU still used tho), but fixes the issue. I think this is better then to disable damage_tracking, which works too.
# render {
# explicit_sync = 1
# explicit_sync_kms = 1
# direct_scanout = no
# }
+145
View File
@@ -0,0 +1,145 @@
# █░█░█ █ █▄░█ █▀▄ █▀█ █░█░█   █▀█ █░█ █░░ █▀▀ █▀
# ▀▄▀▄▀ █ █░▀█ █▄▀ █▄█ ▀▄▀▄▀   █▀▄ █▄█ █▄▄ ██▄ ▄█
# 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