[Sync] Lua Hyprland chain, licence cleanup
This commit is contained in:
1 parent
93b4f695ce
commit
47166d877f
183 files changed
+5618
-5839
No files matched your search
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"$schema": "https://raw.githubusercontent.com/LuaLS/vscode-lua/master/setting/schema.json",
|
||||
"diagnostics": {
|
||||
"globals": ["hl", "hyde", "check_require"]
|
||||
},
|
||||
"workspace": {
|
||||
"library": ["/usr/share/hypr/stubs", "~/.local/share/hypr/lua"]
|
||||
},
|
||||
"runtime": {
|
||||
"version": "Lua 5.5"
|
||||
}
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
|
||||
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
|
||||
#
|
||||
# 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
|
||||
@@ -1,18 +0,0 @@
|
||||
# -----------------------------------------------------
|
||||
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
|
||||
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
|
||||
#
|
||||
# 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
|
||||
}
|
||||
@@ -1,35 +0,0 @@
|
||||
# -----------------------------------------------------
|
||||
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
|
||||
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
|
||||
#
|
||||
# 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
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
# -----------------------------------------------------
|
||||
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
|
||||
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
|
||||
#
|
||||
# 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
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
|
||||
# // ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
|
||||
# // █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Animations/
|
||||
# credits: https://github.com/prasanthrangan/hyprdots
|
||||
|
||||
animations:enabled=false
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
# -----------------------------------------------------
|
||||
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
|
||||
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
|
||||
#
|
||||
# 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
|
||||
}
|
||||
@@ -1,43 +0,0 @@
|
||||
# -----------------------------------------------------
|
||||
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
|
||||
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
|
||||
#
|
||||
# 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
|
||||
}
|
||||
@@ -1,26 +0,0 @@
|
||||
# -----------------------------------------------------
|
||||
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
|
||||
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
|
||||
#
|
||||
# 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
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
# -----------------------------------------------------
|
||||
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
|
||||
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
|
||||
#
|
||||
# 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
|
||||
}
|
||||
@@ -1,32 +0,0 @@
|
||||
# -----------------------------------------------------
|
||||
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
|
||||
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
|
||||
#
|
||||
# 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
|
||||
}
|
||||
@@ -1,58 +0,0 @@
|
||||
# -----------------------------------------------------
|
||||
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
|
||||
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
|
||||
#
|
||||
# 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
|
||||
}
|
||||
|
||||
|
||||
@@ -1,50 +0,0 @@
|
||||
# -----------------------------------------------------
|
||||
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
|
||||
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
|
||||
#
|
||||
# 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
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
# -----------------------------------------------------
|
||||
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
|
||||
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
|
||||
#
|
||||
# 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
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
# -----------------------------------------------------
|
||||
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
|
||||
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
|
||||
#
|
||||
# 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
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
# -----------------------------------------------------
|
||||
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
|
||||
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
|
||||
#
|
||||
# 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
|
||||
}
|
||||
@@ -1,43 +0,0 @@
|
||||
# -----------------------------------------------------
|
||||
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
|
||||
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
|
||||
#
|
||||
# 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%
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
# -----------------------------------------------------
|
||||
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
|
||||
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
|
||||
#
|
||||
# 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,34 +0,0 @@
|
||||
# -----------------------------------------------------
|
||||
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
|
||||
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
|
||||
#
|
||||
# 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%
|
||||
}
|
||||
@@ -0,0 +1,263 @@
|
||||
-- gui package — the dots keybinds, split out of ./hyprland.lua. Required there
|
||||
-- after the app/start overrides (the launchers read hc.app.*) and before
|
||||
-- ./host.lua.
|
||||
|
||||
local hc = hyde.config
|
||||
local MOD = hc.modifiers.main
|
||||
local home = os.getenv("HOME") or ""
|
||||
|
||||
-- ── Keybinds ─────────────────────────────────────────────────────────────────
|
||||
-- Policy: preserve what the dots keybindings.conf did live until the port —
|
||||
-- where a dots bind and a HyDE bind share a combo, the dots action wins and
|
||||
-- the displaced HyDE action is noted. Binds identical in both are not
|
||||
-- repeated here (volume/media/brightness, screenshots, Super+Q/W,
|
||||
-- rofi menus, Super+L lock, Super+Shift+F pin, Super+S scratchpad family,
|
||||
-- Super+Z/X + mouse drag/resize, Super+J togglesplit, Super+T/E/B via the
|
||||
-- app.* overrides in hyprland.lua, Super+Alt+G gamemode, Ctrl+Shift+Esc
|
||||
-- sysmon).
|
||||
|
||||
-- Removes every live bind on a combo regardless of flags. hl.bind's dedup only
|
||||
-- replaces a bind whose flags match exactly; HyDE binds with locked/transparent/
|
||||
-- repeating flags would otherwise stay live next to ours and double-fire.
|
||||
local function unbind_all(combo)
|
||||
-- _active/canonicalize are HyDE-private; if an update renames them, degrade
|
||||
-- to "the displaced HyDE binds double-fire" instead of erroring here and
|
||||
-- silently dropping every bind registered below this line.
|
||||
if not (hyde.binds and hyde.binds._active and hyde.binds.canonicalize) then
|
||||
return
|
||||
end
|
||||
local canon = hyde.binds.canonicalize(combo)
|
||||
for id, registered in pairs(hyde.binds._active) do
|
||||
if id:sub(1, #canon + 1) == canon .. "|" then
|
||||
hl.unbind(registered)
|
||||
hyde.binds._active[id] = nil
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local _F
|
||||
|
||||
-- Launchers (dots-only combos, no conflict)
|
||||
_F = { description = "[Launcher|Apps] work session (kitty c2)" }
|
||||
hl.bind(MOD .. " + CTRL + I", hl.dsp.exec_cmd("kitty --session " .. home .. "/.config/kitty/c2.conf"), _F)
|
||||
_F = { description = "[Launcher|Apps] work session (kitty runners)" }
|
||||
hl.bind(MOD .. " + CTRL + O", hl.dsp.exec_cmd("kitty --session " .. home .. "/.config/kitty/runners.conf"), _F)
|
||||
_F = { description = "[Launcher|Apps] pyradio (kitty music)" }
|
||||
hl.bind(MOD .. " + R", hl.dsp.exec_cmd("kitty --session " .. home .. "/.config/kitty/music.conf"), _F)
|
||||
_F = { description = "[Launcher|Apps] ferdium" }
|
||||
hl.bind(MOD .. " + Y", hl.dsp.exec_cmd("ferdium"), _F)
|
||||
_F = { description = "[Launcher|Apps] betterbird" }
|
||||
hl.bind(MOD .. " + M", hl.dsp.exec_cmd("betterbird"), _F)
|
||||
_F = { description = "[Launcher|Apps] freetube" }
|
||||
hl.bind(MOD .. " + F", hl.dsp.exec_cmd("freetube"), _F)
|
||||
_F = { description = "[Launcher|Apps] web browser (librewolf)" }
|
||||
hl.bind(MOD .. " + SHIFT + B", hl.dsp.exec_cmd("librewolf"), _F)
|
||||
_F = { description = "[Launcher|Apps] terminal emulator (st)" }
|
||||
hl.bind(MOD .. " + CTRL + T", hl.dsp.exec_cmd("st"), _F)
|
||||
_F = { description = "[Launcher|Apps] terminal emulator" }
|
||||
hl.bind("CTRL + ALT + T", hl.dsp.exec_cmd(hc.app.terminal), _F)
|
||||
|
||||
-- Rebound fresh so the hc.app.* overrides actually apply: HyDE's binds
|
||||
-- evaluated _apps.browser/_apps.explorer when key_binds.lua ran, baking in the
|
||||
-- hyde-shell open wrappers.
|
||||
_F = { description = "[Launcher|Apps] web browser" }
|
||||
hl.bind(MOD .. " + B", hl.dsp.exec_cmd("zen-browser"), _F)
|
||||
_F = { description = "[Launcher|Apps] file explorer" }
|
||||
hl.bind(MOD .. " + E", hl.dsp.exec_cmd("dolphin"), _F)
|
||||
|
||||
-- Conflict resolutions (dots action wins; displaced HyDE action noted)
|
||||
_F = { description = "[Launcher|Apps] web browser (firefox)" } -- displaces HyDE: hide waybar
|
||||
hl.bind(MOD .. " + CTRL + B", hl.dsp.exec_cmd("firefox"), _F)
|
||||
_F = { description = "[Launcher|Apps] xmpp (gajim)" } -- displaces HyDE: toggle group (dots keeps it on Super+Shift+G)
|
||||
hl.bind(MOD .. " + G", hl.dsp.exec_cmd("gajim"), _F)
|
||||
_F = { description = "[Window Management] toggle group" } -- displaces HyDE: game launcher
|
||||
hl.bind(MOD .. " + SHIFT + G", hl.dsp.group.toggle(), _F)
|
||||
_F = { description = "[Launcher|Apps] terminal emulator (alacritty)" } -- displaces HyDE: theme select menu
|
||||
hl.bind(MOD .. " + SHIFT + T", hl.dsp.exec_cmd("alacritty"), _F)
|
||||
-- Through `wbar`, never killall: under supervision a killed waybar is back in
|
||||
-- seconds, and a raw relaunch next to it means two bars.
|
||||
_F = { description = "[Theming and Wallpaper] reload hyprland + waybar" } -- displaces HyDE: wallbash mode menu
|
||||
hl.bind(MOD .. " + SHIFT + R", hl.dsp.exec_cmd("hyprctl reload; " .. home .. "/.local/bin/wbar restart"), _F)
|
||||
_F = { description = "[Launcher|Apps] neovim" } -- displaces HyDE: code editor
|
||||
hl.bind(MOD .. " + C", hl.dsp.exec_cmd("kitty nvim"), _F)
|
||||
|
||||
-- Super+K keepassxc — HyDE's keyboard-layout switch carries locked=true, so a
|
||||
-- plain rebind would leave both live (flags are part of a bind's identity).
|
||||
unbind_all(MOD .. " + K") -- displaces HyDE: keyboard layout switch (locked)
|
||||
_F = { description = "[Launcher|Apps] password manager" }
|
||||
hl.bind(MOD .. " + K", hl.dsp.exec_cmd("keepassxc"), _F)
|
||||
|
||||
-- Alt+Tab focus-down — HyDE ships a 4-bind alt-tab switcher (transparent/
|
||||
-- release flags); remove the whole cluster, half a switcher is worse than none.
|
||||
unbind_all("ALT + TAB") -- displaces HyDE: alt-tab switcher (cycle next)
|
||||
unbind_all("ALT + SHIFT + TAB")
|
||||
unbind_all("ALT + ALT_L")
|
||||
unbind_all("ALT + ALT_R")
|
||||
_F = { description = "[Window Management|Change focus] focus down" }
|
||||
hl.bind("ALT + TAB", hl.dsp.focus({ direction = "down" }), _F)
|
||||
|
||||
-- Waybar toggle (custom layout; the legacy Ctrl+Alt+W). systemctl stop is a
|
||||
-- deliberate stop, so Restart=always does not undo it.
|
||||
_F = { description = "[Window Management] toggle waybar" }
|
||||
hl.bind("CTRL + ALT + W", hl.dsp.exec_cmd(home .. "/.local/bin/wbar toggle"), _F)
|
||||
|
||||
-- Fullscreen on Alt+Return (Shift+F11 stays HyDE's cycle-fullscreen).
|
||||
-- Native dispatcher, not exec "hyprctl dispatch fullscreen": in Lua mode that
|
||||
-- CLI arg is evaluated as hl.dispatch(fullscreen) — a nil global, dead bind.
|
||||
_F = { description = "[Window Management] toggle fullscreen" }
|
||||
hl.bind("ALT + RETURN", hl.dsp.window.fullscreen(), _F)
|
||||
|
||||
-- No Super+Delete: HyDE's exit() ends the session on the spot, no confirm, and
|
||||
-- the combo is one slipped finger from Super+Alt+Delete. Ctrl+Alt+Delete (the
|
||||
-- logout menu) stays the way out.
|
||||
unbind_all(MOD .. " + Delete") -- displaces HyDE: exit hyprland session
|
||||
|
||||
-- ── Focus (arrows + hjkl) ────────────────────────────────────────────────────
|
||||
-- Super+Ctrl+Up/Down: movefocus — displaces HyDE: nearest-empty (Down), which
|
||||
-- moves to Super+Ctrl+E below. Super+Ctrl+Left/Right move the window to r±1
|
||||
-- (Workspaces below); r±1 nav is on Super+Left/Right and Super+Ctrl+Shift.
|
||||
for dir, key in pairs({ left = "LEFT", right = "RIGHT", up = "UP", down = "DOWN" }) do
|
||||
_F = { description = "[Window Management|Change focus] focus " .. dir }
|
||||
if key == "UP" or key == "DOWN" then
|
||||
hl.bind(MOD .. " + CTRL + " .. key, hl.dsp.focus({ direction = dir }), _F)
|
||||
end
|
||||
hl.bind("ALT + CTRL + " .. key, hl.dsp.focus({ direction = dir }), _F)
|
||||
end
|
||||
for dir, key in pairs({ left = "H", right = "L", up = "K", down = "J" }) do
|
||||
_F = { description = "[Window Management|Change focus] focus " .. dir }
|
||||
hl.bind("ALT + CTRL + " .. key, hl.dsp.focus({ direction = dir }), _F)
|
||||
end
|
||||
|
||||
-- Super+Ctrl+H/L carried a deliberate double action in the hyprlang chain:
|
||||
-- changegroupactive (a no-op outside a group) AND movefocus fired together.
|
||||
-- Lua dedup would collapse the pair, so one function does both.
|
||||
-- (Replaces HyDE's plain group-nav binds on the same combos.) Unlike the
|
||||
-- arrows, they do not move the window to r±1 — that is Super+Ctrl+Alt+H/L.
|
||||
_F = { description = "[Window Management|Change focus] group prev + focus left" }
|
||||
hl.bind(MOD .. " + CTRL + H", function()
|
||||
hl.dispatch(hl.dsp.group.prev())
|
||||
hl.dispatch(hl.dsp.focus({ direction = "left" }))
|
||||
end, _F)
|
||||
_F = { description = "[Window Management|Change focus] group next + focus right" }
|
||||
hl.bind(MOD .. " + CTRL + L", function()
|
||||
hl.dispatch(hl.dsp.group.next())
|
||||
hl.dispatch(hl.dsp.focus({ direction = "right" }))
|
||||
end, _F)
|
||||
_F = { description = "[Window Management|Change focus] focus up" }
|
||||
hl.bind(MOD .. " + CTRL + K", hl.dsp.focus({ direction = "up" }), _F)
|
||||
_F = { description = "[Window Management|Change focus] focus down" }
|
||||
hl.bind(MOD .. " + CTRL + J", hl.dsp.focus({ direction = "down" }), _F)
|
||||
|
||||
-- ── Resize (add hjkl to HyDE's arrow set) ────────────────────────────────────
|
||||
-- HyDE puts a flagless calculator menu on Super+Shift+K; our repeating resize
|
||||
-- would double-fire next to it (flag mismatch), so drop the calculator.
|
||||
unbind_all(MOD .. " + SHIFT + K") -- displaces HyDE: calculator menu
|
||||
for _, m in ipairs({ { "L", 30, 0 }, { "H", -30, 0 }, { "K", 0, -30 }, { "J", 0, 30 } }) do
|
||||
_F = { description = "[Window Management|Resize Active Window] resize window", repeating = true }
|
||||
hl.bind(MOD .. " + SHIFT + " .. m[1], hl.dsp.window.resize({ x = m[2], y = m[3], relative = true }), _F)
|
||||
end
|
||||
|
||||
-- ── Move active window (Super+Alt, float-aware: moveactive / swapwindow) ─────
|
||||
-- Displaces HyDE: wallpaper next/prev (Alt+Right/Left) and waybar layout
|
||||
-- next/prev (Alt+Up/Down); wallpaper moves to Super+Alt+Ctrl+Shift below,
|
||||
-- as in the dots chain. HyDE's binds carry no flags but ours are repeating,
|
||||
-- so an explicit unbind is needed to keep them from double-firing.
|
||||
unbind_all(MOD .. " + ALT + RIGHT")
|
||||
unbind_all(MOD .. " + ALT + LEFT")
|
||||
unbind_all(MOD .. " + ALT + UP")
|
||||
unbind_all(MOD .. " + ALT + DOWN")
|
||||
local function dots_move_window(dir, pix)
|
||||
local lut = { l = { -1, 0 }, r = { 1, 0 }, u = { 0, -1 }, d = { 0, 1 } }
|
||||
local m = lut[dir]
|
||||
return function()
|
||||
local w = hl.get_active_window()
|
||||
if w and w.floating then
|
||||
hl.dispatch(hl.dsp.window.move({ x = m[1] * pix, y = m[2] * pix, relative = true }))
|
||||
else
|
||||
local names = { l = "left", r = "right", u = "up", d = "down" }
|
||||
hl.dispatch(hl.dsp.window.swap({ direction = names[dir] }))
|
||||
end
|
||||
end
|
||||
end
|
||||
for _, m in ipairs({
|
||||
{ "LEFT", "l" },
|
||||
{ "RIGHT", "r" },
|
||||
{ "UP", "u" },
|
||||
{ "DOWN", "d" },
|
||||
{ "H", "l" },
|
||||
{ "L", "r" },
|
||||
{ "K", "u" },
|
||||
{ "J", "d" },
|
||||
}) do
|
||||
_F = { description = "[Window Management|Move active window] move " .. m[2], repeating = true }
|
||||
hl.bind(MOD .. " + ALT + " .. m[1], dots_move_window(m[2], 30), _F)
|
||||
end
|
||||
|
||||
-- ── Wallpaper (moved off Super+Alt by the dots chain) ────────────────────────
|
||||
_F = { description = "[Theming and Wallpaper] next global wallpaper" }
|
||||
hl.bind(MOD .. " + ALT + CTRL + SHIFT + RIGHT", hl.dsp.exec_cmd(hyde.sh.wallpaper("--next")), _F)
|
||||
_F = { description = "[Theming and Wallpaper] previous global wallpaper" }
|
||||
hl.bind(MOD .. " + ALT + CTRL + SHIFT + LEFT", hl.dsp.exec_cmd(hyde.sh.wallpaper("--prev")), _F)
|
||||
|
||||
-- ── Workspaces ───────────────────────────────────────────────────────────────
|
||||
-- r~N = Nth workspace of the FOCUSED monitor — load-bearing on the 3-monitor
|
||||
-- workspace sets (1-10 / 11-20 / 21-30 pinned per monitor in host.lua).
|
||||
-- HyDE's own binds pass "r+1"/"empty" strings the same way; r~N is the one
|
||||
-- thing to verify first in the live session.
|
||||
for i = 1, 10 do
|
||||
local key = (i == 10) and 0 or i
|
||||
_F = { description = "[Workspaces|Navigation] navigate to workspace " .. i .. " (monitor-relative)" }
|
||||
hl.bind(MOD .. " + " .. key, hl.dsp.focus({ workspace = "r~" .. i }), _F) -- displaces HyDE: absolute workspace N
|
||||
_F = { description = "[Workspaces|Move window to workspace] move to workspace " .. i .. " (monitor-relative)" }
|
||||
hl.bind(MOD .. " + CTRL + " .. key, hl.dsp.window.move({ workspace = "r~" .. i }), _F)
|
||||
_F = { description = "[Workspaces|Move window silently] move to workspace " .. i .. " (monitor-relative)" }
|
||||
hl.bind(MOD .. " + ALT + " .. key, hl.dsp.window.move({ workspace = "r~" .. i, follow = false }), _F) -- displaces HyDE: absolute silent move
|
||||
end
|
||||
|
||||
-- Relative workspace nav on Super+Ctrl+Shift (dots), displacing HyDE's
|
||||
-- move-window-in-workspace family there (repeating flags -> explicit unbind;
|
||||
-- dots does window movement on Super+Alt instead).
|
||||
unbind_all(MOD .. " + SHIFT + CTRL + LEFT")
|
||||
unbind_all(MOD .. " + SHIFT + CTRL + RIGHT")
|
||||
unbind_all(MOD .. " + SHIFT + CTRL + UP")
|
||||
unbind_all(MOD .. " + SHIFT + CTRL + DOWN")
|
||||
_F = { description = "[Workspaces|Navigation|Relative workspace] change active workspace forwards" }
|
||||
hl.bind(MOD .. " + CTRL + SHIFT + RIGHT", hl.dsp.focus({ workspace = "r+1" }), _F)
|
||||
hl.bind(MOD .. " + CTRL + SHIFT + L", hl.dsp.focus({ workspace = "r+1" }), _F)
|
||||
_F = { description = "[Workspaces|Navigation|Relative workspace] change active workspace backwards" }
|
||||
hl.bind(MOD .. " + CTRL + SHIFT + LEFT", hl.dsp.focus({ workspace = "r-1" }), _F)
|
||||
hl.bind(MOD .. " + CTRL + SHIFT + H", hl.dsp.focus({ workspace = "r-1" }), _F)
|
||||
|
||||
_F = { description = "[Workspaces|Navigation|Relative workspace] change active workspace forwards" }
|
||||
hl.bind(MOD .. " + RIGHT", hl.dsp.focus({ workspace = "r+1" }), _F)
|
||||
_F = { description = "[Workspaces|Navigation|Relative workspace] change active workspace backwards" }
|
||||
hl.bind(MOD .. " + LEFT", hl.dsp.focus({ workspace = "r-1" }), _F)
|
||||
_F = { description = "[Workspaces|Move window to workspace|Relative workspace] move focused window to next workspace" }
|
||||
hl.bind(MOD .. " + CTRL + RIGHT", hl.dsp.window.move({ workspace = "r+1" }), _F) -- displaces HyDE: workspace r+1
|
||||
_F = {
|
||||
description = "[Workspaces|Move window to workspace|Relative workspace] move focused window to previous workspace",
|
||||
}
|
||||
hl.bind(MOD .. " + CTRL + LEFT", hl.dsp.window.move({ workspace = "r-1" }), _F) -- displaces HyDE: workspace r-1
|
||||
|
||||
-- E for "empty" — Super+Ctrl+Down is taken by movefocus above
|
||||
_F = { description = "[Workspaces|Navigation] navigate to the nearest empty workspace" }
|
||||
hl.bind(MOD .. " + CTRL + E", hl.dsp.focus({ workspace = "empty" }), _F)
|
||||
|
||||
-- Move window to relative workspace: HyDE ships the arrow pair; add hjkl.
|
||||
_F = { description = "[Workspaces|Move window to workspace|Relative workspace] move focused window to next workspace" }
|
||||
hl.bind(MOD .. " + CTRL + ALT + L", hl.dsp.window.move({ workspace = "r+1" }), _F)
|
||||
_F = {
|
||||
description = "[Workspaces|Move window to workspace|Relative workspace] move focused window to previous workspace",
|
||||
}
|
||||
hl.bind(MOD .. " + CTRL + ALT + H", hl.dsp.window.move({ workspace = "r-1" }), _F)
|
||||
|
||||
-- ── Hardware controls ────────────────────────────────────────────────────────
|
||||
-- HyDE binds bare F10/F11/F12 to mute / volume down / volume up (key_binds.lua,
|
||||
-- locked + repeating -- a plain rebind would leave both live). That is a laptop
|
||||
-- F-row assumption: the Cantor has no F-row, so F1-F12 only ever arrive from its
|
||||
-- Vial layer 5 and have to reach applications instead of the mixer. The
|
||||
-- XF86Audio* binds below them keep the media keys working, so nothing is lost,
|
||||
-- and Shift+F11 (cycle fullscreen) canonicalizes separately and survives.
|
||||
unbind_all("F10") -- displaces HyDE: un/mute output
|
||||
unbind_all("F11") -- displaces HyDE: decrease volume
|
||||
unbind_all("F12") -- displaces HyDE: increase volume
|
||||
@@ -0,0 +1,122 @@
|
||||
-- gui package — the dots layer + window rules, split out of ./hyprland.lua
|
||||
-- (required there in their original position). Plain hl.* registrations;
|
||||
-- nothing here depends on the rest of the layer.
|
||||
|
||||
-- ── Layer rules ──────────────────────────────────────────────────────────────
|
||||
-- waybar blur ships upstream (layer_rules.lua), but its ignore_alpha uses the
|
||||
-- boolean form (default threshold), which drops the blur on low-alpha regions
|
||||
-- — the cavabar background is rgba(0,0,0,0.2) and went flat. The legacy chain
|
||||
-- set the threshold to 0 (blur everything) on both bars; restore that exactly.
|
||||
hl.layer_rule({
|
||||
name = "dots_cavabar_blur",
|
||||
match = { namespace = "cavabar" },
|
||||
blur = true,
|
||||
ignore_alpha = 0,
|
||||
})
|
||||
hl.layer_rule({
|
||||
name = "dots_waybar_ignore_alpha",
|
||||
match = { namespace = "waybar" },
|
||||
ignore_alpha = 0,
|
||||
})
|
||||
|
||||
-- ── Window rules ─────────────────────────────────────────────────────────────
|
||||
-- Upstream's window_rules.lua consolidates most floats (dialogs, portals,
|
||||
-- dolphin, nm-*, qt*ct, vlc, pavucontrol, …) and the PiP/modal handling.
|
||||
-- Ported here: everything the repo's windowrules.conf had that upstream
|
||||
-- dropped when it went global-opacity — per-app opacity, idle_inhibit,
|
||||
-- jetbrains popups — plus the floats upstream does not cover.
|
||||
|
||||
-- idle_inhibit while fullscreen (media players, browsers)
|
||||
hl.window_rule({
|
||||
name = "dots_idle_inhibit_media",
|
||||
match = { class = "^(.*celluloid.*)$|^(.*mpv.*)$|^(.*vlc.*)$|^(.*[Ss]potify.*)$" },
|
||||
idle_inhibit = "fullscreen",
|
||||
})
|
||||
hl.window_rule({
|
||||
name = "dots_idle_inhibit_browsers",
|
||||
match = {
|
||||
class = "^(.*LibreWolf.*)$|^(.*floorp.*)$|^(.*brave-browser.*)$|^(.*firefox.*)$|^(.*chromium.*)$|^(.*zen.*)$|^(.*vivaldi.*)$",
|
||||
},
|
||||
idle_inhibit = "fullscreen",
|
||||
})
|
||||
|
||||
-- per-app opacity ("active inactive fullscreen", hyprlang-style value string --
|
||||
-- the Lua rule's opacity field is string-typed and takes the whole triple)
|
||||
hl.window_rule({
|
||||
name = "dots_opacity_browsers",
|
||||
match = { class = "^(firefox)$|^(zen)$|^(brave-browser)$" },
|
||||
opacity = "0.90 0.90 1",
|
||||
})
|
||||
hl.window_rule({
|
||||
name = "dots_opacity_editors_terms",
|
||||
match = {
|
||||
class = "^(code-oss)$|^([Cc]ode)$|^(code-url-handler)$|^(code-insiders-url-handler)$|^(kitty)$|^(org.kde.dolphin)$|^(org.kde.ark)$|^(nwg-look)$|^(qt5ct)$|^(qt6ct)$|^(kvantummanager)$",
|
||||
},
|
||||
opacity = "0.80 0.80 1",
|
||||
})
|
||||
hl.window_rule({
|
||||
name = "dots_opacity_applets",
|
||||
match = {
|
||||
class = "^(org.pulseaudio.pavucontrol)$|^(blueman-manager)$|^(nm-applet)$|^(nm-connection-editor)$|^(hyprpolkitagent)$|^(org.freedesktop.impl.portal.desktop.gtk)$|^(org.freedesktop.impl.portal.desktop.hyprland)$",
|
||||
},
|
||||
opacity = "0.80 0.70 1",
|
||||
})
|
||||
hl.window_rule({
|
||||
name = "dots_opacity_spotify_class",
|
||||
match = { class = "^([Ss]potify)$" },
|
||||
opacity = "0.70 0.70 1",
|
||||
})
|
||||
hl.window_rule({
|
||||
name = "dots_opacity_spotify_title",
|
||||
match = { initial_title = "^(Spotify Free)$|^(Spotify Premium)$" },
|
||||
opacity = "0.70 0.70 1",
|
||||
})
|
||||
hl.window_rule({
|
||||
name = "dots_opacity_blender",
|
||||
match = { class = "^(blender)$" },
|
||||
opacity = "1.00 1.00 1",
|
||||
})
|
||||
hl.window_rule({
|
||||
name = "dots_opacity_gtk_apps",
|
||||
match = { class = "^(com.github.rafostar.Clapper)$" },
|
||||
opacity = "0.90 0.90",
|
||||
})
|
||||
hl.window_rule({
|
||||
name = "dots_opacity_misc_apps",
|
||||
match = {
|
||||
class = "^(com.github.tchx84.Flatseal)$|^(hu.kramo.Cartridges)$|^(com.obsproject.Studio)$|^(gnome-boxes)$|^(vesktop)$|^(discord)$|^(WebCord)$|^(ArmCord)$|^(app.drey.Warp)$|^(net.davidotek.pupgui2)$|^(yad)$|^(Signal)$|^(io.github.alainm23.planify)$|^(io.gitlab.theevilskeleton.Upscaler)$|^(com.github.unrud.VideoDownloader)$|^(io.gitlab.adhami3310.Impression)$|^(io.missioncenter.MissionCenter)$|^(io.github.flattool.Warehouse)$",
|
||||
},
|
||||
opacity = "0.80 0.80",
|
||||
})
|
||||
|
||||
-- floats upstream's consolidated list does not cover
|
||||
hl.window_rule({
|
||||
name = "dots_float_class",
|
||||
match = {
|
||||
class = "^(Signal)$|^(com.github.rafostar.Clapper)$|^(app.drey.Warp)$|^(net.davidotek.pupgui2)$|^(yad)$|^(eog)$|^(io.github.alainm23.planify)$|^(io.gitlab.theevilskeleton.Upscaler)$|^(com.github.unrud.VideoDownloader)$|^(io.gitlab.adhami3310.Impression)$|^(io.missioncenter.MissionCenter)$",
|
||||
},
|
||||
float = true,
|
||||
})
|
||||
hl.window_rule({
|
||||
name = "dots_float_title",
|
||||
match = { title = "^(About Mozilla Firefox)$|^(Ghidra: NO ACTIVE PROJECT.*)$" },
|
||||
float = true,
|
||||
})
|
||||
hl.window_rule({
|
||||
name = "dots_float_kitty_monitors",
|
||||
match = { class = "^(kitty)$", title = "^(top)$|^(btop)$|^(htop)$" },
|
||||
float = true,
|
||||
})
|
||||
hl.window_rule({
|
||||
name = "dots_blender_image_editor",
|
||||
match = { class = "^(blender)$", initial_title = "^(Image Editor)$" },
|
||||
float = true,
|
||||
size = "(monitor_w*0.5) (monitor_h*0.5)",
|
||||
})
|
||||
|
||||
-- jetbrains dropdowns/popups flicker workaround
|
||||
hl.window_rule({
|
||||
name = "dots_jetbrains_popups",
|
||||
match = { class = "^(.*jetbrains.*)$", title = "^(win[0-9]+)$" },
|
||||
no_initial_focus = true,
|
||||
})
|
||||
@@ -1,4 +0,0 @@
|
||||
# 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").
|
||||
@@ -1,154 +0,0 @@
|
||||
#! ░▒▒▒░░░▓▓ ___________
|
||||
#! ░░▒▒▒░░░░░▓▓ //___________/
|
||||
#! ░░▒▒▒░░░░░▓▓ _ _ _ _ _____
|
||||
#! ░░▒▒░░░░░▓▓▓▓▓▓ | | | | | | | __/
|
||||
#! ░▒▒░░░░▓▓ ▓▓ | |_| | |_/ /| |___
|
||||
#! ░▒▒░░▓▓ ▓▓ \__ |____/ |____/
|
||||
#! ░▒▓▓ ▓▓ //____/
|
||||
|
||||
# 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
|
||||
# Leaving this to HyDE means Super+B runs its `$default.BROWSER`, which is
|
||||
# `hyde-launch.sh --fall firefox web-browser` — and the 26.x update deprecated that script, so
|
||||
# every press fired a "hyde-launch.sh is deprecated, please use hyde-shell open instead"
|
||||
# notification. Naming the browser directly skips the wrapper entirely. This is the primary
|
||||
# browser only; Super+Shift+B (librewolf) and Super+Ctrl+B (firefox) are set in keybindings.conf.
|
||||
# `hyde-shell open web-browser` is the modern HyDE equivalent if the xdg default should decide.
|
||||
$BROWSER = zen-browser # matches the xdg default (zen.desktop)
|
||||
# $EDITOR = code # default editor, if commented out , will use the default editor
|
||||
# Same deprecation as $BROWSER above: HyDE's default is `hyde-launch.sh --fall dolphin
|
||||
# file-manager`, and Super+E in keybindings.conf uses it. $EDITOR is deliberately left to HyDE —
|
||||
# no active bind reads it (Super+C runs `$TERMINAL nvim`), so there is nothing to fix there.
|
||||
$EXPLORER = dolphin # matches the xdg default (org.kde.dolphin.desktop)
|
||||
# $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
|
||||
# Empty = unset, so HyDE's default `exec-once = $start.BAR` (a bare `waybar`, using HyDE's
|
||||
# generated config.jsonc/style.css) does not launch a second bar. The bar we actually want is
|
||||
# launched from userprefs.conf with the custom layout/style.
|
||||
$start.BAR=
|
||||
# $start.NOTIFICATIONS=swaync # dunst
|
||||
# $start.APPTRAY_BLUETOOTH=blueman-applet
|
||||
# $start.WALLPAPER=$scrPath/wallpaper.sh --global # 26.x: backend-agnostic (awww); swwwallpaper.sh is gone
|
||||
# $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
|
||||
# Kept explicitly at the default: nm-applet's tray icon is the one place with a quick
|
||||
# connect/disconnect MENU (wifi list, VPN) — the bar's `network` module only shows state
|
||||
# and bandwidth. Tela renders it as a blue circle (its scalable/devices icon); that's the
|
||||
# theme working, not a bug. Was briefly unset 2026-08-14 — wrong call, the menu was wanted.
|
||||
$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 monitor’s 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
|
||||
# dots-icons = repo-tracked overlay theme (gui/.local/share/icons/dots-icons) that inherits
|
||||
# Tela-circle-dracula and only swaps the tray/status icons for Tela's monochrome panel set at
|
||||
# every size — without it, waybar on a fractionally-scaled monitor requests 2x sizes and gets
|
||||
# the colored-circle variants (the blue nm-applet blob). Everything else still comes from Tela.
|
||||
$ICON_THEME=dots-icons
|
||||
#$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
|
||||
@@ -7,7 +7,14 @@
|
||||
#! ░▒▓▓ ▓▓ //____/
|
||||
|
||||
# $LOCKSCREEN = hyprlock # preferred LOCKSCREEN e.g swaylock
|
||||
$LOCKSCREEN = lockscreen.sh # Calls $LOCKSCREEN set from hyprland
|
||||
# Absolute path required: the Lua chain starts hypridle as a systemd user unit
|
||||
# (hyde-Hyprland-idle.service), and on the SDDM/fish session path the session PATH
|
||||
# never reaches the user manager (start_up.lua's unconditional `uwsm finalize` runs
|
||||
# but errors outside a uwsm session, so the import never happens) — a bare
|
||||
# `lockscreen.sh` is "command not found" there — Super+L, the 240s idle lock and
|
||||
# before_sleep all silently no-op. The script self-bootstraps its own env
|
||||
# (hyde-shell init), so the full path alone is sufficient.
|
||||
$LOCKSCREEN = ~/.local/lib/hyde/lockscreen.sh
|
||||
|
||||
general {
|
||||
lock_cmd = $LOCKSCREEN
|
||||
@@ -31,10 +38,14 @@ listener {
|
||||
}
|
||||
|
||||
# DPMS off
|
||||
# Lua-chain form: in Lua mode `hyprctl dispatch` evaluates its argument as Lua, so the hyprlang
|
||||
# `dpms off` is a syntax error and this listener silently never ran. The table form is the one
|
||||
# hypridle's own sample uses (/usr/share/hypr/hypridle.conf); a bare bool/string argument acts
|
||||
# like a toggle — `hl.dsp.dpms("on")` turned the display OFF. main (hyprlang) keeps `dpms off/on`.
|
||||
listener {
|
||||
timeout = 2300
|
||||
on-timeout = hyprctl dispatch dpms off #do not turn off display while media is playing
|
||||
on-resume = hyprctl dispatch dpms on
|
||||
on-timeout = hyprctl dispatch 'hl.dsp.dpms({action = "off"})' #do not turn off display while media is playing
|
||||
on-resume = hyprctl dispatch 'hl.dsp.dpms({action = "on"})'
|
||||
}
|
||||
|
||||
# Suspend
|
||||
|
||||
@@ -1,117 +0,0 @@
|
||||
$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
|
||||
@@ -0,0 +1,128 @@
|
||||
-- gui package — the dots Hyprland layer, ported from the hyprlang chain
|
||||
-- (hyde.conf / userprefs.conf / keybindings.conf / windowrules.conf) to
|
||||
-- HyDE 26.x's Lua config. Loaded by ~/.local/share/hypr/hyde.lua second-to-last
|
||||
-- (after every HyDE module, before lua_state.workflows), so plain assignments
|
||||
-- here override HyDE's defaults. HyDE never overwrites this file.
|
||||
--
|
||||
-- The rules and keybinds sections live in ./dots_rules.lua and
|
||||
-- ./dots_binds.lua, required in place below. Host-specific config (monitors,
|
||||
-- workspace pins, gaps/rounding, gpu extras) lives in ./host.lua, loaded at
|
||||
-- the bottom — same layering the hyprlang chain had with
|
||||
-- `source = ./host.conf`.
|
||||
|
||||
-- Bootstrap: Hyprland prefers hyprland.lua as the entry point when started
|
||||
-- without a config; without this block that path yields a bare cursor. hyde.lua
|
||||
-- sets `hyde` on its first line, so this runs only when HyDE has not loaded.
|
||||
-- The `return` matters: dofile(hyde.lua) re-enters this file through
|
||||
-- check_require("hyprland"), so by the time dofile returns the body below has
|
||||
-- already run once — falling through would register everything twice.
|
||||
if not hyde then
|
||||
local share = os.getenv("XDG_DATA_HOME") or (os.getenv("HOME") .. "/.local/share")
|
||||
local entry = share .. "/hypr/hyde.lua"
|
||||
local handle = io.open(entry, "r")
|
||||
if not handle then
|
||||
error(
|
||||
"HyDE is not installed at " .. entry .. ". Run HyDE's install.sh -r, or point Hyprland at your own config."
|
||||
)
|
||||
end
|
||||
handle:close()
|
||||
dofile(entry)
|
||||
return
|
||||
end
|
||||
|
||||
local hc = hyde.config
|
||||
local home = os.getenv("HOME") or ""
|
||||
|
||||
-- ── Apps ─────────────────────────────────────────────────────────────────────
|
||||
-- Named directly (not hyde-shell open --fall …) for the same reason hyde.conf
|
||||
-- did: skip the wrapper, match the xdg defaults. The assignments cover lazy
|
||||
-- readers of hc.app.*, but key_binds.lua already baked the defaults into its
|
||||
-- Super+B/E dispatchers at bind time — hence the explicit rebinds in
|
||||
-- dots_binds.lua.
|
||||
hc.app.browser = "zen-browser"
|
||||
hc.app.explorer = "dolphin"
|
||||
|
||||
-- ── Startup ──────────────────────────────────────────────────────────────────
|
||||
-- One knob suppresses HyDE's plain waybar AND launches the cava rig (was
|
||||
-- $start.BAR= + a userprefs exec-once). start_up.lua captures hc.start by
|
||||
-- reference and the hyprland.start event fires after this file loads, so the
|
||||
-- override lands in time. `wbar` (gui/.local/bin) runs the rig as the
|
||||
-- dots-waybar.service transient unit with Restart=always: waybar 0.15.0 dies on
|
||||
-- every DP-2 link drop/return, and as a plain scope nothing relaunched it.
|
||||
-- Absolute path: the exec env's PATH is not guaranteed to hold ~/.local/bin.
|
||||
hc.start.bar = home .. "/.local/bin/wbar start"
|
||||
-- Not part of the legacy session — the Lua defaults would newly launch these
|
||||
-- (both binaries are installed). hyprsunset would visibly tint the screen.
|
||||
-- Delete a line to adopt the HyDE default.
|
||||
hc.start.blue_light_filter_daemon = ""
|
||||
hc.start.clipboard_persist = ""
|
||||
-- nm-applet --indicator is already the Lua default (kept deliberately: the
|
||||
-- tray icon is the one place with a quick connect/disconnect menu).
|
||||
|
||||
-- ── UI / icon theme ──────────────────────────────────────────────────────────
|
||||
-- dots-icons = repo-tracked overlay theme (gui/.local/share/icons/dots-icons)
|
||||
-- that inherits Tela-circle-dracula and swaps the tray/status icons for the
|
||||
-- monochrome panel set — without it, waybar on a fractionally-scaled monitor
|
||||
-- gets the colored-circle variants (the blue nm-applet blob).
|
||||
hc.ui.icon_theme = "dots-icons"
|
||||
-- The theme-switch pipeline regenerates lua_state/ui.lua from the theme's
|
||||
-- hypr.theme and writes THAT to dconf (color/hypr.sh -> color/dconf.lua), so
|
||||
-- the assignment above is not enough on its own. Top-level code re-runs on
|
||||
-- every `hyprctl reload`, and both theme-switch paths end in a reload, so this
|
||||
-- write lands last — the Lua-mode equivalent of the legacy $exec.dConf.
|
||||
-- Upstream-sanctioned alternative if this ever races: add
|
||||
-- [hyprland]\n icon_theme = "dots-icons"
|
||||
-- to ~/.config/hyde/config.toml (state/hyde/hyprland.conf then overrides the
|
||||
-- theme vars in theme.switch.sh:151).
|
||||
hl.exec_cmd([[dconf write /org/gnome/desktop/interface/icon-theme "'dots-icons'"]])
|
||||
|
||||
-- ── Env (was userprefs.conf) ─────────────────────────────────────────────────
|
||||
hl.env("SSH_AUTH_SOCK", (os.getenv("XDG_RUNTIME_DIR") or "") .. "/ssh-agent.socket")
|
||||
hl.env("ELECTRON_OZONE_PLATFORM_HINT", "x11") -- disable after hyprland fixes electron flickering
|
||||
|
||||
-- ── Layer + window rules (dots_rules.lua) ────────────────────────────────────
|
||||
-- Plain require, not check_require: stow --no-folding links new files one by
|
||||
-- one, so a host that pulled without re-running install.sh fails loudly in
|
||||
-- `hyprctl configerrors` instead of booting silently without its rules/binds.
|
||||
-- The dots_ prefix matters: hyde.lua searches HyDE's own lua/ before
|
||||
-- ~/.config/hypr, so a bare window_rules / key_binds would load HyDE's module.
|
||||
require("dots_rules")
|
||||
|
||||
-- ── Animations ───────────────────────────────────────────────────────────────
|
||||
-- The legacy chain ran $ANIMATION=theme — the hyprdots set from the theme's
|
||||
-- animations.dcol. The Lua chain cannot inherit it: hyq's hyprland-lua.json
|
||||
-- schema dumps decoration/borders into lua_state/hypr_theme.lua but NOT the
|
||||
-- animations block (LUA-PORT.md risk 6, confirmed live), so without this the
|
||||
-- session falls back to Hyprland's slower built-in defaults. Ported verbatim
|
||||
-- from the generated ~/.config/hypr/animations/theme.conf.
|
||||
-- Conditional so `hyde-shell animations --select` still works: a selector-
|
||||
-- chosen lua_state/animations.lua loads earlier (dynamic.lua) and this block
|
||||
-- steps aside for it.
|
||||
local anim_state = (os.getenv("XDG_STATE_HOME") or home .. "/.local/state") .. "/hyde/lua_state/animations.lua"
|
||||
local anim_f = io.open(anim_state, "r")
|
||||
if anim_f then
|
||||
anim_f:close()
|
||||
else
|
||||
hl.curve("wind", { type = "bezier", points = { { 0.05, 0.9 }, { 0.1, 1.05 } } })
|
||||
hl.curve("winIn", { type = "bezier", points = { { 0.1, 1.1 }, { 0.1, 1.1 } } })
|
||||
hl.curve("winOut", { type = "bezier", points = { { 0.3, -0.3 }, { 0, 1 } } })
|
||||
hl.curve("liner", { type = "bezier", points = { { 1, 1 }, { 1, 1 } } })
|
||||
hl.animation({ leaf = "windows", enabled = true, speed = 6, bezier = "wind", style = "slide" })
|
||||
hl.animation({ leaf = "windowsIn", enabled = true, speed = 6, bezier = "winIn", style = "slide" })
|
||||
hl.animation({ leaf = "windowsOut", enabled = true, speed = 5, bezier = "winOut", style = "slide" })
|
||||
hl.animation({ leaf = "windowsMove", enabled = true, speed = 5, bezier = "wind", style = "slide" })
|
||||
hl.animation({ leaf = "border", enabled = true, speed = 1, bezier = "liner" })
|
||||
hl.animation({ leaf = "borderangle", enabled = true, speed = 30, bezier = "liner", style = "once" })
|
||||
hl.animation({ leaf = "fade", enabled = true, speed = 10, bezier = "default" })
|
||||
hl.animation({ leaf = "workspaces", enabled = true, speed = 5, bezier = "wind" })
|
||||
end
|
||||
|
||||
-- ── Keybinds (dots_binds.lua) ────────────────────────────────────────────────
|
||||
-- After the hc.app.* overrides above: the launcher binds read them.
|
||||
require("dots_binds")
|
||||
|
||||
-- ── Host layer ───────────────────────────────────────────────────────────────
|
||||
-- Resolves via hyde.lua's package.path (~/.config/hypr/?.lua); each host
|
||||
-- overlay stows its own host.lua (wm/, lw/). check_require is HyDE's
|
||||
-- missing-tolerant require — a host without one just skips it.
|
||||
check_require("host")
|
||||
@@ -1,266 +0,0 @@
|
||||
## █▄▀ █▀▀ █▄█ █▄▄ █ █▄░█ █▀▄ █ █▄░█ █▀▀ █▀
|
||||
## █░█ ██▄ ░█░ █▄█ █ █░▀█ █▄▀ █ █░▀█ █▄█ ▄█
|
||||
|
||||
# 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]
|
||||
# `dontkillsteam.sh` was dropped by HyDE (gone from lib/hyde as of the 2026-08-13 update) and
|
||||
# upstream now closes with the native dispatcher — its Lua key_binds.lua binds both of these to
|
||||
# `hl.dsp.window.close()`. A bind pointing at a missing script stays valid and silently does
|
||||
# nothing, which on these two keys means windows stop closing.
|
||||
bindd = $mainMod, Q, $d close focused window, killactive,
|
||||
bindd = Alt, F4, $d close focused window, killactive,
|
||||
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/windowpin.sh # renamed upstream (was window.pin.sh); the old machine-local shim is gone with the update
|
||||
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, 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/system.monitor.sh # renamed upstream (was 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
|
||||
@@ -1,6 +0,0 @@
|
||||
# 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
|
||||
@@ -1,45 +0,0 @@
|
||||
|
||||
# █░█ █▀ █▀▀ █▀█ █▀█ █▀█ █▀▀ █▀▀ █▀
|
||||
# █▄█ ▄█ ██▄ █▀▄ █▀▀ █▀▄ ██▄ █▀░ ▄█
|
||||
|
||||
# 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
|
||||
# Steam Controller -> Deck-style binds. Not a systemd user unit: graphical-session.target
|
||||
exec-once = scc-daemon start
|
||||
|
||||
# (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
|
||||
# }
|
||||
@@ -1,145 +0,0 @@
|
||||
|
||||
# █░█░█ █ █▄░█ █▀▄ █▀█ █░█░█ █▀█ █░█ █░░ █▀▀ █▀
|
||||
# ▀▄▀▄▀ █ █░▀█ █▄▀ █▄█ ▀▄▀▄▀ █▀▄ █▄█ █▄▄ ██▄ ▄█
|
||||
|
||||
# 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
|
||||
Reference in new issue
Block a user