[Sync] adopt unified stow layout from the private repo
Mirrors the private dots tree at 900bdda: one shared base plus per-host overlays, replacing the old flat .config/ layout (last synced 2026-06-28). - packages: common/ gui/ wm/ lw/ fl/ + install.sh and bin/ tooling (dotsync, reconcile-hyde.sh) - new README (layout, deploy order, HyDE dependency), plus ToDo.md and HYDE-UPDATE.md - current HyDE waybar rig (layouts/, cava), pi agent extensions, claude/ config, tmux, presenterm, aichat roles - drops stale duplicates and generated cruft that should never have been tracked: the second top-level .pi/ copy, btop.log, zellij config.kdl.bak, fish_variables, nvim codecompanion.lua - .pi/agent/auth.json is gitignored now; auth.json.example ships instead - fl/ and wm/ hypr themes/ stay untracked (HyDE-generated per machine, per the root .gitignore)
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
[general]
|
||||
import = ["theme.toml"]
|
||||
|
||||
[window]
|
||||
|
||||
opacity = 0.7
|
||||
|
||||
padding.x = 25
|
||||
padding.y = 25
|
||||
|
||||
decorations = "Full"
|
||||
decorations_theme_variant = "Dark"
|
||||
|
||||
[font]
|
||||
size = 12.0
|
||||
|
||||
[font.bold]
|
||||
family = "CaskaydiaCove Nerd Font Mono"
|
||||
style = "Bold"
|
||||
|
||||
[font.bold_italic]
|
||||
family = "CaskaydiaCove Nerd Font Mono"
|
||||
style = "Bold Italic"
|
||||
|
||||
[font.italic]
|
||||
family = "CaskaydiaCove Nerd Font Mono"
|
||||
style = "Italic"
|
||||
|
||||
[font.normal]
|
||||
family = "CaskaydiaCove Nerd Font Mono"
|
||||
style = "Regular"
|
||||
# family = "Source Code Pro"
|
||||
# family = "Liberation Mono"
|
||||
|
||||
[cursor]
|
||||
blink_interval = 400
|
||||
blink_timeout = 15
|
||||
|
||||
[cursor.style]
|
||||
shape = "Block"
|
||||
blinking = "On"
|
||||
|
||||
[keyboard]
|
||||
|
||||
bindings = [
|
||||
{ key = "J", mods = "Control|Shift", action = "ScrollLineDown" },
|
||||
{ key = "K", mods = "Control|Shift", action = "ScrollLineUp" },
|
||||
{ key = "D", mods = "Control|Shift", action = "ScrollPageDown" },
|
||||
{ key = "U", mods = "Control|Shift", action = "ScrollPageUp" },
|
||||
]
|
||||
@@ -0,0 +1,33 @@
|
||||
# Synthwave '84 — matches ../kitty/theme.conf
|
||||
|
||||
[colors.primary]
|
||||
background = "#262335"
|
||||
foreground = "#ffffff"
|
||||
|
||||
[colors.cursor]
|
||||
text = "#262335"
|
||||
cursor = "#f97e72"
|
||||
|
||||
[colors.selection]
|
||||
text = "#262335"
|
||||
background = "#f97e72"
|
||||
|
||||
[colors.normal]
|
||||
black = "#232530"
|
||||
red = "#fe4450"
|
||||
green = "#72f1b8"
|
||||
yellow = "#ff7edb"
|
||||
blue = "#03edf9"
|
||||
magenta = "#fede5d"
|
||||
cyan = "#03edf9"
|
||||
white = "#ffffff"
|
||||
|
||||
[colors.bright]
|
||||
black = "#232530"
|
||||
red = "#fe4450"
|
||||
green = "#72f1b8"
|
||||
yellow = "#ff7edb"
|
||||
blue = "#03edf9"
|
||||
magenta = "#f3e70f"
|
||||
cyan = "#03edf9"
|
||||
white = "#ffffff"
|
||||
@@ -0,0 +1,8 @@
|
||||
## gui package — waybar helpers. Lives in conf.d/ (fish sources every conf.d/*.fish),
|
||||
## NOT in host.fish: each host package ships its own host.fish, which stow deploys last
|
||||
## with --override — a gui/host.fish would be shadowed on every host that has one.
|
||||
|
||||
# Reload the custom waybar (kill + relaunch, detached so it survives this shell).
|
||||
# Same invocation as userprefs.conf exec-once / the Ctrl+Alt+W bind. Killing waybar
|
||||
# also stops its cava child (cava-waybar.sh is a child of the bar).
|
||||
abbr wbar 'killall waybar; setsid -f waybar -c ~/.config/waybar/layouts/custom.jsonc -s ~/.config/waybar/layouts/custom.css'
|
||||
@@ -0,0 +1,12 @@
|
||||
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
|
||||
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
|
||||
#
|
||||
# See https://wiki.hypr.land/Configuring/Animations/
|
||||
# Edit or add presets in ./animations/, then run 'animations.sh --select' to switch.
|
||||
# (noanim layerrules for hyprpicker/selection live in userprefs.conf)
|
||||
|
||||
$ANIMATION=theme
|
||||
# Absolute, not ./ — HyDE re-sources $ANIMATION_PATH from ~/.local/share/hyde/hyprland.conf,
|
||||
# where a relative path resolves against that directory instead of this one.
|
||||
$ANIMATION_PATH=~/.config/hypr/animations/theme.conf
|
||||
source = $ANIMATION_PATH
|
||||
@@ -0,0 +1,18 @@
|
||||
# -----------------------------------------------------
|
||||
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
|
||||
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
|
||||
#
|
||||
# name "Classic"
|
||||
# credit https://github.com/mylinuxforwork/dotfiles
|
||||
# -----------------------------------------------------
|
||||
|
||||
animations {
|
||||
enabled = true
|
||||
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
|
||||
animation = windows, 1, 7, myBezier
|
||||
animation = windowsOut, 1, 7, default, popin 80%
|
||||
animation = border, 1, 10, default
|
||||
animation = borderangle, 1, 8, default
|
||||
animation = fade, 1, 7, default
|
||||
animation = workspaces, 1, 6, default
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
# -----------------------------------------------------
|
||||
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
|
||||
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
|
||||
#
|
||||
# name "Diablo-1"
|
||||
# credit https://github.com/Itz-Abhishek-Tiwari
|
||||
# -----------------------------------------------------
|
||||
|
||||
animations {
|
||||
enabled = 1
|
||||
bezier = default, 0.05, 0.9, 0.1, 1.05
|
||||
bezier = wind, 0.05, 0.9, 0.1, 1.05
|
||||
bezier = overshot, 0.13, 0.99, 0.29, 1.08
|
||||
bezier = liner, 1, 1, 1, 1
|
||||
bezier = bounce, 0.4, 0.9, 0.6, 1.0
|
||||
bezier = snappyReturn, 0.4, 0.9, 0.6, 1.0
|
||||
|
||||
bezier = slideInFromRight, 0.5, 0.0, 0.5, 1.0
|
||||
animation = windows, 1, 5, snappyReturn, slidevert
|
||||
animation = windowsIn, 1, 5, snappyReturn, slidevert right
|
||||
|
||||
animation = windowsOut, 1, 5, snappyReturn, slide
|
||||
animation = windowsMove, 1, 6, bounce, slide
|
||||
animation = layersOut, 1, 5, bounce, slidevert right
|
||||
animation = fadeIn, 1, 10, default
|
||||
animation = fadeOut, 1, 10, default
|
||||
animation = fadeSwitch, 1, 10, default
|
||||
animation = fadeShadow, 1, 10, default
|
||||
animation = fadeDim, 1, 10, default
|
||||
animation = fadeLayers, 1, 10, default
|
||||
animation = workspaces, 1, 7, overshot, slidevert
|
||||
animation = border, 1, 1, liner
|
||||
animation = layers, 1, 4, bounce, slidevert right
|
||||
animation = borderangle, 1, 30, liner, loop
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
# -----------------------------------------------------
|
||||
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
|
||||
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
|
||||
#
|
||||
# name "Diablo-2"
|
||||
# credit https://github.com/Itz-Abhishek-Tiwari
|
||||
# -----------------------------------------------------
|
||||
|
||||
animations {
|
||||
enabled = 1
|
||||
bezier = default, 0.05, 0.9, 0.1, 1.05
|
||||
bezier = wind, 0.05, 0.9, 0.1, 1.05
|
||||
bezier = overshot, 0.13, 0.99, 0.29, 1.08
|
||||
bezier = liner, 1, 1, 1, 1
|
||||
animation = windows, 1, 7, wind, popin
|
||||
animation = windowsIn, 1, 7, overshot, popin
|
||||
animation = windowsOut, 1, 5, overshot, popin
|
||||
animation = windowsMove, 1, 6, overshot, slide
|
||||
animation = layers, 1, 5, default, popin
|
||||
animation = fadeIn, 1, 10, default
|
||||
animation = fadeOut, 1, 10, default
|
||||
animation = fadeSwitch, 1, 10, default
|
||||
animation = fadeShadow, 1, 10, default
|
||||
animation = fadeDim, 1, 10, default
|
||||
animation = fadeLayers, 1, 10, default
|
||||
animation = workspaces, 1, 7, overshot, slidevert
|
||||
animation = border, 1, 1, liner
|
||||
animation = borderangle, 1, 30, liner, loop
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
|
||||
# // ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
|
||||
# // █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Animations/
|
||||
# credits: https://github.com/prasanthrangan/hyprdots
|
||||
|
||||
animations:enabled=false
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
# -----------------------------------------------------
|
||||
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
|
||||
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
|
||||
#
|
||||
# name "Dynamic"
|
||||
# credit https://github.com/mylinuxforwork/dotfiles
|
||||
# -----------------------------------------------------
|
||||
|
||||
animations {
|
||||
enabled = true
|
||||
bezier = wind, 0.05, 0.9, 0.1, 1.05
|
||||
bezier = winIn, 0.1, 1.1, 0.1, 1.1
|
||||
bezier = winOut, 0.3, -0.3, 0, 1
|
||||
bezier = liner, 1, 1, 1, 1
|
||||
animation = windows, 1, 6, wind, slide
|
||||
animation = windowsIn, 1, 6, winIn, slide
|
||||
animation = windowsOut, 1, 5, winOut, slide
|
||||
animation = windowsMove, 1, 5, wind, slide
|
||||
animation = border, 1, 1, liner
|
||||
animation = borderangle, 1, 30, liner, loop
|
||||
animation = fade, 1, 10, default
|
||||
animation = workspaces, 1, 5, wind
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
# -----------------------------------------------------
|
||||
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
|
||||
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
|
||||
#
|
||||
# name "End4"
|
||||
# credit https://github.com/end-4/dots-hyprland
|
||||
# -----------------------------------------------------
|
||||
|
||||
animations {
|
||||
enabled = true
|
||||
# Animation curves
|
||||
|
||||
bezier = linear, 0, 0, 1, 1
|
||||
bezier = md3_standard, 0.2, 0, 0, 1
|
||||
bezier = md3_decel, 0.05, 0.7, 0.1, 1
|
||||
bezier = md3_accel, 0.3, 0, 0.8, 0.15
|
||||
bezier = overshot, 0.05, 0.9, 0.1, 1.1
|
||||
bezier = crazyshot, 0.1, 1.5, 0.76, 0.92
|
||||
bezier = hyprnostretch, 0.05, 0.9, 0.1, 1.0
|
||||
bezier = menu_decel, 0.1, 1, 0, 1
|
||||
bezier = menu_accel, 0.38, 0.04, 1, 0.07
|
||||
bezier = easeInOutCirc, 0.85, 0, 0.15, 1
|
||||
bezier = easeOutCirc, 0, 0.55, 0.45, 1
|
||||
bezier = easeOutExpo, 0.16, 1, 0.3, 1
|
||||
bezier = softAcDecel, 0.26, 0.26, 0.15, 1
|
||||
bezier = md2, 0.4, 0, 0.2, 1 # use with .2s duration
|
||||
# Animation configs
|
||||
animation = windows, 1, 3, md3_decel, popin 60%
|
||||
animation = windowsIn, 1, 3, md3_decel, popin 60%
|
||||
animation = windowsOut, 1, 3, md3_accel, popin 60%
|
||||
animation = border, 1, 10, default
|
||||
animation = fade, 1, 3, md3_decel
|
||||
# animation = layers, 1, 2, md3_decel, slide
|
||||
animation = layersIn, 1, 3, menu_decel, slide
|
||||
animation = layersOut, 1, 1.6, menu_accel
|
||||
animation = fadeLayersIn, 1, 2, menu_decel
|
||||
animation = fadeLayersOut, 1, 4.5, menu_accel
|
||||
animation = workspaces, 1, 7, menu_decel, slide
|
||||
# animation = workspaces, 1, 2.5, softAcDecel, slide
|
||||
# animation = workspaces, 1, 7, menu_decel, slidefade 15%
|
||||
# animation = specialWorkspace, 1, 3, md3_decel, slidefadevert 15%
|
||||
animation = specialWorkspace, 1, 3, md3_decel, slidevert
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
# -----------------------------------------------------
|
||||
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
|
||||
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
|
||||
#
|
||||
# name "Fast"
|
||||
# credit https://github.com/mylinuxforwork/dotfiles
|
||||
# -----------------------------------------------------
|
||||
animations {
|
||||
enabled = true
|
||||
bezier = linear, 0, 0, 1, 1
|
||||
bezier = md3_standard, 0.2, 0, 0, 1
|
||||
bezier = md3_decel, 0.05, 0.7, 0.1, 1
|
||||
bezier = md3_accel, 0.3, 0, 0.8, 0.15
|
||||
bezier = overshot, 0.05, 0.9, 0.1, 1.1
|
||||
bezier = crazyshot, 0.1, 1.5, 0.76, 0.92
|
||||
bezier = hyprnostretch, 0.05, 0.9, 0.1, 1.0
|
||||
bezier = fluent_decel, 0.1, 1, 0, 1
|
||||
bezier = easeInOutCirc, 0.85, 0, 0.15, 1
|
||||
bezier = easeOutCirc, 0, 0.55, 0.45, 1
|
||||
bezier = easeOutExpo, 0.16, 1, 0.3, 1
|
||||
animation = windows, 1, 3, md3_decel, popin 60%
|
||||
animation = border, 1, 10, default
|
||||
animation = fade, 1, 2.5, md3_decel
|
||||
animation = workspaces, 1, 3.5, easeOutExpo, slide
|
||||
animation = specialWorkspace, 1, 3, md3_decel, slidevert
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
# -----------------------------------------------------
|
||||
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
|
||||
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
|
||||
#
|
||||
# name "High"
|
||||
# credit https://github.com/mylinuxforwork/dotfiles
|
||||
# -----------------------------------------------------
|
||||
|
||||
animations {
|
||||
enabled = true
|
||||
bezier = wind, 0.05, 0.9, 0.1, 1.05
|
||||
bezier = winIn, 0.1, 1.1, 0.1, 1.1
|
||||
bezier = winOut, 0.3, -0.3, 0, 1
|
||||
bezier = liner, 1, 1, 1, 1
|
||||
animation = windows, 1, 6, wind, slide
|
||||
animation = windowsIn, 1, 6, winIn, slide
|
||||
animation = windowsOut, 1, 5, winOut, slide
|
||||
animation = windowsMove, 1, 5, wind, slide
|
||||
animation = border, 1, 1, liner
|
||||
animation = borderangle, 1, 30, liner, loop
|
||||
animation = fade, 1, 10, default
|
||||
animation = workspaces, 1, 5, wind
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
# -----------------------------------------------------
|
||||
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
|
||||
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
|
||||
#
|
||||
# name "Ja"
|
||||
# credit https://github.com/JaKooLit/Hyprland-Dots
|
||||
# -----------------------------------------------------
|
||||
|
||||
animations {
|
||||
enabled = yes
|
||||
|
||||
bezier = wind, 0.05, 0.9, 0.1, 1.05
|
||||
bezier = winIn, 0.1, 1.1, 0.1, 1.1
|
||||
bezier = winOut, 0.3, -0.3, 0, 1
|
||||
bezier = liner, 1, 1, 1, 1
|
||||
bezier = overshot, 0.05, 0.9, 0.1, 1.05
|
||||
bezier = smoothOut, 0.5, 0, 0.99, 0.99
|
||||
bezier = smoothIn, 0.5, -0.5, 0.68, 1.5
|
||||
|
||||
animation = windows, 1, 6, wind, slide
|
||||
animation = windowsIn, 1, 5, winIn, slide
|
||||
animation = windowsOut, 1, 3, smoothOut, slide
|
||||
animation = windowsMove, 1, 5, wind, slide
|
||||
animation = border, 1, 1, liner
|
||||
#animation = borderangle, 1, 180, liner, loop #used by rainbow borders and rotating colors
|
||||
animation = fade, 1, 3, smoothOut
|
||||
animation = workspaces, 1, 5, overshot
|
||||
|
||||
# animations for -git or version >0.42.0
|
||||
animation = workspacesIn, 1, 5, winIn, slide
|
||||
animation = workspacesOut, 1, 5, winOut, slide
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
# -----------------------------------------------------
|
||||
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
|
||||
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
|
||||
#
|
||||
# name "Me-1"
|
||||
# credit https://github.com/mahaveergurjar
|
||||
# -----------------------------------------------------
|
||||
|
||||
animations {
|
||||
enabled = true
|
||||
# Animation curves
|
||||
bezier = wind, 0.05, 0.9, 0.1, 1.05
|
||||
bezier = winIn, 0.1, 1.1, 0.1, 1.1
|
||||
bezier = winOut, 0.3, -0.3, 0, 1
|
||||
bezier = liner, 1, 1, 1, 1
|
||||
# bezier = linear, 0, 0, 1, 1
|
||||
bezier = md3_standard, 0.2, 0, 0, 1
|
||||
bezier = md3_decel, 0.05, 0.7, 0.1, 1
|
||||
bezier = md3_accel, 0.3, 0, 0.8, 0.15
|
||||
bezier = overshot, 0.05, 0.9, 0.1, 1.1
|
||||
bezier = crazyshot, 0.1, 1.5, 0.76, 0.92
|
||||
bezier = hyprnostretch, 0.05, 0.9, 0.1, 1.0
|
||||
bezier = menu_decel, 0.1, 1, 0, 1
|
||||
bezier = menu_accel, 0.38, 0.04, 1, 0.07
|
||||
bezier = easeInOutCirc, 0.85, 0, 0.15, 1
|
||||
bezier = easeOutCirc, 0, 0.55, 0.45, 1
|
||||
bezier = easeOutExpo, 0.16, 1, 0.3, 1
|
||||
bezier = softAcDecel, 0.26, 0.26, 0.15, 1
|
||||
bezier = md2, 0.4, 0, 0.2, 1 # use with .2s duration
|
||||
|
||||
# Animation configs
|
||||
# animation = windows, 1, 3, md3_decel, popin 60%
|
||||
# animation = windowsIn, 1, 3, md3_decel, popin 60%
|
||||
# animation = windowsOut, 1, 3, md3_accel, popin 60%
|
||||
# animation = windows, 1, 6, wind, slide
|
||||
animation = border, 1, 1, liner
|
||||
animation = borderangle, 1, 30, liner, loop
|
||||
animation = windows, 1, 6, wind, slide
|
||||
animation = windowsIn, 1, 6, winIn, slide
|
||||
animation = windowsOut, 1, 5, winOut, slide
|
||||
animation = windowsMove, 1, 5, wind, slide
|
||||
|
||||
# animation = border, 1, 10, default
|
||||
animation = fade, 1, 3, md3_decel
|
||||
# animation = layers, 1, 2, md3_decel, slide
|
||||
animation = layersIn, 1, 3, menu_decel, slide
|
||||
animation = layersOut, 1, 1.6, menu_accel
|
||||
animation = fadeLayersIn, 1, 2, menu_decel
|
||||
animation = fadeLayersOut, 1, 4.5, menu_accel
|
||||
animation = workspaces, 1, 7, menu_decel, slide
|
||||
animation = workspaces, 1, 5, wind
|
||||
# animation = workspaces, 1, 2.5, softAcDecel, slide
|
||||
# animation = workspaces, 1, 7, menu_decel, slidefade 15%
|
||||
animation = specialWorkspace, 1, 3, md3_decel, slidefadevert 15%
|
||||
animation = specialWorkspace, 1, 3, md3_decel, slidevert
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
# -----------------------------------------------------
|
||||
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
|
||||
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
|
||||
#
|
||||
# name "Me-2"
|
||||
# credit https://github.com/mahaveergurjar
|
||||
# -----------------------------------------------------
|
||||
|
||||
animations {
|
||||
enabled = true
|
||||
# Animation curves
|
||||
bezier = wind, 0.05, 0.9, 0.1, 1.05
|
||||
bezier = winIn, 0.1, 1.1, 0.1, 1.1
|
||||
bezier = winOut, 0.3, -0.3, 0, 1
|
||||
bezier = liner, 1, 1, 1, 1
|
||||
bezier = md3_standard, 0.2, 0, 0, 1
|
||||
bezier = md3_decel, 0.05, 0.7, 0.1, 1
|
||||
bezier = md3_accel, 0.3, 0, 0.8, 0.15
|
||||
bezier = overshot, 0.05, 0.9, 0.1, 1.1
|
||||
bezier = crazyshot, 0.1, 1.5, 0.76, 0.92
|
||||
bezier = hyprnostretch, 0.05, 0.9, 0.1, 1.0
|
||||
bezier = menu_decel, 0.1, 1, 0, 1
|
||||
bezier = menu_accel, 0.38, 0.04, 1, 0.07
|
||||
bezier = easeInOutCirc, 0.85, 0, 0.15, 1
|
||||
bezier = easeOutCirc, 0, 0.55, 0.45, 1
|
||||
bezier = easeOutExpo, 0.16, 1, 0.3, 1
|
||||
bezier = softAcDecel, 0.26, 0.26, 0.15, 1
|
||||
bezier = md2, 0.4, 0, 0.2, 1 # use with .2s duration
|
||||
|
||||
bezier = OutBack, 0.34, 1.56, 0.64, 1
|
||||
bezier = easeInOutCirc, 0.85, 0, 0.15, 1
|
||||
|
||||
animation = border, 1, 1, liner
|
||||
animation = borderangle, 1, 30, liner, loop
|
||||
# animation = windows, 1, 6, wind, slide
|
||||
animation = windowsIn, 1, 6, winIn, slide
|
||||
# animation = windowsOut, 1, 5, winOut, slide
|
||||
animation = windows, 1, 5, easeInOutCirc
|
||||
animation = windowsOut, 1, 5, OutBack
|
||||
animation = windowsMove, 1, 5, wind, slide
|
||||
animation = fade, 1, 3, md3_decel
|
||||
animation = layersIn, 1, 3, menu_decel, slide
|
||||
animation = layersOut, 1, 1.6, menu_accel
|
||||
animation = fadeLayersIn, 1, 2, menu_decel
|
||||
animation = fadeLayersOut, 1, 4.5, menu_accel
|
||||
animation = workspaces, 1, 7, menu_decel, slide
|
||||
animation = workspaces, 1, 5, wind
|
||||
animation = specialWorkspace, 1, 3, md3_decel, slidefadevert 15%
|
||||
animation = specialWorkspace, 1, 3, md3_decel, slidevert
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
# -----------------------------------------------------
|
||||
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
|
||||
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
|
||||
#
|
||||
# name "Minimal-1"
|
||||
# -----------------------------------------------------
|
||||
|
||||
animations {
|
||||
enabled = true
|
||||
|
||||
# █▄▄ █▀▀ ▀█ █ █▀▀ █▀█ █▀▀ █░█ █▀█ █░█ █▀▀
|
||||
# █▄█ ██▄ █▄ █ ██▄ █▀▄ █▄▄ █▄█ █▀▄ ▀▄▀ ██▄
|
||||
bezier = wind, 0.05, 0.9, 0.1, 1.05
|
||||
bezier = winIn, 0.1, 1.1, 0.1, 1.1
|
||||
bezier = winOut, 0.3, -0.3, 0, 1
|
||||
bezier = liner, 1, 1, 1, 1
|
||||
|
||||
|
||||
#▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
|
||||
#█▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
|
||||
animation = windows, 1, 6, wind, slide
|
||||
animation = windowsIn, 1, 6, winIn, slide
|
||||
animation = windowsOut, 1, 5, winOut, slide
|
||||
animation = windowsMove, 1, 5, wind, slide
|
||||
animation = border, 1, 1, liner
|
||||
animation = borderangle, 1, 30, liner, loop
|
||||
animation = fade, 1, 10, default
|
||||
animation = workspaces, 1, 5, wind
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
# -----------------------------------------------------
|
||||
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
|
||||
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
|
||||
#
|
||||
# name "Minimal-2"
|
||||
# -----------------------------------------------------
|
||||
|
||||
animations {
|
||||
enabled = yes
|
||||
|
||||
bezier = quart, 0.25, 1, 0.5, 1
|
||||
|
||||
animation = windows, 1, 6, quart, slide
|
||||
animation = border, 1, 6, quart
|
||||
animation = borderangle, 1, 6, quart
|
||||
animation = fade, 1, 6, quart
|
||||
animation = workspaces, 1, 6, quart
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
# -----------------------------------------------------
|
||||
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
|
||||
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
|
||||
#
|
||||
# name "Moving"
|
||||
# credit https://github.com/mylinuxforwork/dotfiles
|
||||
# -----------------------------------------------------
|
||||
|
||||
animations {
|
||||
enabled = true
|
||||
bezier = overshot, 0.05, 0.9, 0.1, 1.05
|
||||
bezier = smoothOut, 0.5, 0, 0.99, 0.99
|
||||
bezier = smoothIn, 0.5, -0.5, 0.68, 1.5
|
||||
animation = windows, 1, 5, overshot, slide
|
||||
animation = windowsOut, 1, 3, smoothOut
|
||||
animation = windowsIn, 1, 3, smoothOut
|
||||
animation = windowsMove, 1, 4, smoothIn, slide
|
||||
animation = border, 1, 5, default
|
||||
animation = fade, 1, 5, smoothIn
|
||||
animation = fadeDim, 1, 5, smoothIn
|
||||
animation = workspaces, 1, 6, default
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
# -----------------------------------------------------
|
||||
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
|
||||
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
|
||||
#
|
||||
# name "Optimized"
|
||||
# -----------------------------------------------------
|
||||
|
||||
animations {
|
||||
enabled = true
|
||||
bezier = wind, 0.05, 0.85, 0.03, 0.97
|
||||
bezier = winIn, 0.07, 0.88, 0.04, 0.99
|
||||
bezier = winOut, 0.20, -0.15, 0, 1
|
||||
bezier = liner, 1, 1, 1, 1
|
||||
bezier = md3_standard, 0.12, 0, 0, 1
|
||||
bezier = md3_decel, 0.05, 0.80, 0.10, 0.97
|
||||
bezier = md3_accel, 0.20, 0, 0.80, 0.08
|
||||
bezier = overshot, 0.05, 0.85, 0.07, 1.04
|
||||
bezier = crazyshot, 0.1, 1.22, 0.68, 0.98
|
||||
bezier = hyprnostretch, 0.05, 0.82, 0.03, 0.94
|
||||
bezier = menu_decel, 0.05, 0.82, 0, 1
|
||||
bezier = menu_accel, 0.20, 0, 0.82, 0.10
|
||||
bezier = easeInOutCirc, 0.75, 0, 0.15, 1
|
||||
bezier = easeOutCirc, 0, 0.48, 0.38, 1
|
||||
bezier = easeOutExpo, 0.10, 0.94, 0.23, 0.98
|
||||
bezier = softAcDecel, 0.20, 0.20, 0.15, 1
|
||||
bezier = md2, 0.30, 0, 0.15, 1
|
||||
|
||||
bezier = OutBack, 0.28, 1.40, 0.58, 1
|
||||
bezier = easeInOutCirc, 0.78, 0, 0.15, 1
|
||||
|
||||
animation = border, 1, 1.6, liner
|
||||
animation = borderangle, 1, 82, liner, loop
|
||||
animation = windowsIn, 1, 3.2, winIn, slide
|
||||
animation = windowsOut, 1, 2.8, easeOutCirc
|
||||
animation = windowsMove, 1, 3.0, wind, slide
|
||||
animation = fade, 1, 1.8, md3_decel
|
||||
animation = layersIn, 1, 1.8, menu_decel, slide
|
||||
animation = layersOut, 1, 1.5, menu_accel
|
||||
animation = fadeLayersIn, 1, 1.6, menu_decel
|
||||
animation = fadeLayersOut, 1, 1.8, menu_accel
|
||||
animation = workspaces, 1, 4.0, menu_decel, slide
|
||||
animation = specialWorkspace, 1, 2.3, md3_decel, slidefadevert 15%
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
# -----------------------------------------------------
|
||||
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
|
||||
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
|
||||
#
|
||||
# name "Standard"
|
||||
# credit https://github.com/mylinuxforwork/dotfiles
|
||||
# -----------------------------------------------------
|
||||
|
||||
animations {
|
||||
enabled = true
|
||||
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
|
||||
animation = windows, 1, 7, myBezier
|
||||
animation = windowsOut, 1, 7, default, popin 80%
|
||||
animation = border, 1, 10, default
|
||||
animation = borderangle, 1, 8, default
|
||||
animation = fade, 1, 7, default
|
||||
animation = workspaces, 1, 6, default
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
source = ./HyDE.conf
|
||||
@@ -0,0 +1,34 @@
|
||||
# -----------------------------------------------------
|
||||
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
|
||||
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
|
||||
#
|
||||
# name "Vertical"
|
||||
# -----------------------------------------------------
|
||||
|
||||
animations {
|
||||
bezier = fluent_decel, 0, 0.2, 0.4, 1
|
||||
bezier = easeOutCirc, 0, 0.55, 0.45, 1
|
||||
bezier = easeOutCubic, 0.33, 1, 0.68, 1
|
||||
bezier = easeinoutsine, 0.37, 0, 0.63, 1
|
||||
|
||||
# Windows
|
||||
animation = windowsIn, 1, 1.5, easeinoutsine, popin 60% # window open
|
||||
animation = windowsOut, 1, 1.5, easeOutCubic, popin 60% # window close.
|
||||
animation = windowsMove, 1, 1.5, easeinoutsine, slide # everything in between, moving, dragging, resizing.
|
||||
|
||||
# Fading
|
||||
animation = fade, 1, 2.5, fluent_decel
|
||||
|
||||
animation = fadeLayersIn, 0
|
||||
animation = border, 0
|
||||
|
||||
|
||||
# Layers
|
||||
animation = layers, 1, 1.5, easeinoutsine, popin
|
||||
|
||||
# Workspaces
|
||||
#animation = workspaces, 1, 3, fluent_decel, slidefade 30% # styles: slide, slidevert, fade, slidefade, slidefadevert
|
||||
animation = workspaces, 1, 3, fluent_decel, slidefadevert 30% # styles: slide, slidevert, fade, slidefade, slidefadevert
|
||||
|
||||
animation = specialWorkspace, 1, 2, fluent_decel, slidefade 10%
|
||||
}
|
||||
Executable
+11
@@ -0,0 +1,11 @@
|
||||
#!/usr/bin/env bash
|
||||
# Battery readout for the hyprlock label. Prints nothing on machines without a
|
||||
# battery (wm desktop), so the label just stays empty there.
|
||||
for bat in /sys/class/power_supply/BAT*; do
|
||||
[ -r "$bat/capacity" ] || continue
|
||||
cap=$(<"$bat/capacity")
|
||||
glyph=""
|
||||
[ "$(cat "$bat/status" 2>/dev/null)" = "Charging" ] && glyph=""
|
||||
printf '%s %s%%' "$glyph" "$cap"
|
||||
exit 0
|
||||
done
|
||||
@@ -0,0 +1,4 @@
|
||||
# Default (empty) per-host extras — fallback shared by all GUI hosts.
|
||||
# Real host.conf comes from the per-host overlay (e.g. wm/ sources nvidia.conf here).
|
||||
# Present so `source = ./host.conf` in hyprland.conf always resolves, even mid-install
|
||||
# before the host overlay is stowed (avoids the transient "source globbing error").
|
||||
@@ -0,0 +1,134 @@
|
||||
#! ░▒▒▒░░░▓▓ ___________
|
||||
#! ░░▒▒▒░░░░░▓▓ //___________/
|
||||
#! ░░▒▒▒░░░░░▓▓ _ _ _ _ _____
|
||||
#! ░░▒▒░░░░░▓▓▓▓▓▓ | | | | | | | __/
|
||||
#! ░▒▒░░░░▓▓ ▓▓ | |_| | |_/ /| |___
|
||||
#! ░▒▒░░▓▓ ▓▓ \__ |____/ |____/
|
||||
#! ░▒▓▓ ▓▓ //____/
|
||||
|
||||
# Use this for reference to override the default HyDE' hyprland configuration
|
||||
|
||||
# ! Never source ~/.config/hypr/hyde.conf directly, it is sourced by the main configuration file
|
||||
# This file acts as an override configuration for the user to set their environment variables and startup commands
|
||||
# Static variable declaration in hyde.conf will be prioritized over the default and dynamic configuration
|
||||
|
||||
# NOTE
|
||||
# Leaving the variable empty will unset the variable
|
||||
# Commenting out the variable will use the default value
|
||||
# For updated configuration options, see https://github.com/HyDE-Project/HyDE/blob/master/Configs/.config/hypr/hyde.conf
|
||||
# For simplicity, ./hyde.conf ONLY accepts $ for variables and # for comments, will sanitize the file to remove any other characters
|
||||
# $start.VAR , $env.VAR are ONLY HyDE specific conventions for consistency.
|
||||
|
||||
# Keyboard modifier
|
||||
# $mainMod = SUPER # windows key
|
||||
|
||||
|
||||
# ▄▀█ █▀█ █▀█ █▀
|
||||
# █▀█ █▀▀ █▀▀ ▄█
|
||||
|
||||
# $QUICKAPPS = # used for quick app launcher
|
||||
# $BROWSER = firefox # default browser, if commented out , will use the default browser
|
||||
# $EDITOR = code # default editor, if commented out , will use the default editor
|
||||
# $EXPLORER= dolphin # default file manager, if commented out , will use the default file manager
|
||||
# $TERMINAL = kitty # default terminal, if commented out , will use the org.gnome.desktop.default-applications.terminal
|
||||
# $LOCKSCREEN=hyprlock # default lockscreen, you can use any lockscreen you want, eg swaylock
|
||||
# $IDLE=hypridle # default idle manager, you can use any idle manager you want,eg swayidle
|
||||
|
||||
|
||||
# // █░░ ▄▀█ █░█ █▄░█ █▀▀ █░█
|
||||
# // █▄▄ █▀█ █▄█ █░▀█ █▄▄ █▀█
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/
|
||||
# Override the default startup commands
|
||||
|
||||
# $start.XDG_PORTAL_RESET=$scrPath/resetxdgportal.sh
|
||||
# $start.DBUS_SHARE_PICKER=dbus-update-activation-environment --systemd --all # for XDPH
|
||||
# $start.SYSTEMD_SHARE_PICKER=systemctl --user import-environment QT_QPA_PLATFORMTHEME WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # for XDPH
|
||||
# $start.BAR=waybar
|
||||
# $start.NOTIFICATIONS=swaync # dunst
|
||||
# $start.APPTRAY_BLUETOOTH=blueman-applet
|
||||
# $start.WALLPAPER=$scrPath/swwwallpaper.sh
|
||||
# $start.TEXT_CLIPBOARD=wl-paste --type text --watch cliphist store
|
||||
# $start.IMAGE_CLIPBOARD=wl-paste --type image --watch cliphist store
|
||||
# $start.BATTERY_NOTIFY=$scrPath/batterynotify.sh
|
||||
# $start.NETWORK_MANAGER=nm-applet --indicator
|
||||
# $start.REMOVABLE_MEDIA=udiskie --no-automount --smart-tray
|
||||
# $start.AUTH_DIALOGUE=$scrPath/polkitkdeauth.sh
|
||||
# $start.IDLE_DAEMON=$IDLE
|
||||
|
||||
# // █▀▀ █▄░█ █░█
|
||||
# // ██▄ █░▀█ ▀▄▀
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Environment-variables/
|
||||
# Override the default environment variables
|
||||
|
||||
|
||||
# # Toolkit Backend Variables - https://wiki.hyprland.org/Configuring/Environment-variables/#toolkit-backend-variables
|
||||
# $env.GDK_BACKEND = wayland,x11,* #s GTK: Use wayland if available. If not: try x11, then any other GDK backend.
|
||||
# # $env.QT_QPA_PLATFORM = wayland;xcb #Qt: Use wayland if available, fall back to x11 if not.
|
||||
# $env.SDL_VIDEODRIVER = wayland #s Run SDL2 applications on Wayland. Remove or set to x11 if games that provide older versions of SDL cause compatibility issues
|
||||
# $env.CLUTTER_BACKEND = wayland #s Clutter package already has wayland enabled, this variable will force Clutter applications to try and use the Wayland backend
|
||||
|
||||
# # XDG Specifications - https://wiki.hyprland.org/Configuring/Environment-variables/#xdg-specifications
|
||||
# $env.XDG_CURRENT_DESKTOP = Hyprland
|
||||
# $env.XDG_SESSION_TYPE = wayland
|
||||
# $env.XDG_SESSION_DESKTOP = Hyprland
|
||||
|
||||
# # Qt Variables - https://wiki.hyprland.org/Configuring/Environment-variables/#qt-variables
|
||||
|
||||
# $env.QT_AUTO_SCREEN_SCALE_FACTOR = 1 # (From the Qt documentation) enables automatic scaling, based on the 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
|
||||
#$ICON_THEME=Tela-circle-dracula
|
||||
#$COLOR_SCHEME=prefer-dark
|
||||
|
||||
# // █▀▀ █░█ █▀█ █▀ █▀█ █▀█
|
||||
# // █▄▄ █▄█ █▀▄ ▄█ █▄█ █▀▄
|
||||
|
||||
#$CURSOR_THEME=Bibata-Modern-Ice
|
||||
#$CURSOR_SIZE=30
|
||||
|
||||
# // █▀▀ █▀█ █▄░█ ▀█▀
|
||||
# // █▀░ █▄█ █░▀█ ░█░
|
||||
|
||||
#$FONT=Canterell
|
||||
#$FONT_SIZE=10
|
||||
#$DOCUMENT_FONT=Cantarell
|
||||
#$DOCUMENT_FONT_SIZE=10
|
||||
#$MONOSPACE_FONT=CaskaydiaCove Nerd Font Mono
|
||||
#$MONOSPACE_FONT_SIZE=9
|
||||
#$FONT_ANTIALIASING=rgba
|
||||
#$FONT_HINTING=full
|
||||
|
||||
|
||||
# // █░░ █▀█ █▀▀ █▄▀ █▀ █▀▀ █▀█ █▀▀ █▀▀ █▄░█
|
||||
# // █▄▄ █▄█ █▄▄ █░█ ▄█ █▄▄ █▀▄ ██▄ ██▄ █░▀█
|
||||
|
||||
#Setting the Hyprlock layout will override any layout set in the ./hypr/hyprlock.sh
|
||||
# Dynamic Hyprlock layout should be set in the ./hypr/hyprlock.sh file
|
||||
# $LAYOUT_PATH=/path/to/hyprlock/layout.conf
|
||||
@@ -0,0 +1,50 @@
|
||||
#! ░▒▒▒░░░▓▓ ___________
|
||||
#! ░░▒▒▒░░░░░▓▓ //___________/
|
||||
#! ░░▒▒▒░░░░░▓▓ _ _ _ _ _____
|
||||
#! ░░▒▒░░░░░▓▓▓▓▓▓ | | | | | | | __/
|
||||
#! ░▒▒░░░░▓▓ ▓▓ | |_| | |_/ /| |___
|
||||
#! ░▒▒░░▓▓ ▓▓ \__ |____/ |____/
|
||||
#! ░▒▓▓ ▓▓ //____/
|
||||
|
||||
# $LOCKSCREEN = hyprlock # preferred LOCKSCREEN e.g swaylock
|
||||
$LOCKSCREEN = lockscreen.sh # Calls $LOCKSCREEN set from hyprland
|
||||
|
||||
general {
|
||||
lock_cmd = $LOCKSCREEN
|
||||
unlock_cmd = #notify-send "unlock!" # same as above, but unlock
|
||||
before_sleep_cmd = $LOCKSCREEN # command ran before sleep
|
||||
after_sleep_cmd = # notify-send "Awake!" # command ran after sleep
|
||||
ignore_dbus_inhibit = 0
|
||||
}
|
||||
|
||||
# Dims the display
|
||||
listener {
|
||||
timeout = 120
|
||||
on-timeout = { brightnessctl -s && brightnessctl s 1% ;}
|
||||
on-resume = brightnessctl -r
|
||||
}
|
||||
|
||||
# Lock it first before dpms off so that screen won't show for a moment after wake up.
|
||||
listener {
|
||||
timeout = 240
|
||||
on-timeout = $LOCKSCREEN
|
||||
}
|
||||
|
||||
# DPMS off
|
||||
listener {
|
||||
timeout = 2300
|
||||
on-timeout = hyprctl dispatch dpms off #do not turn off display while media is playing
|
||||
on-resume = hyprctl dispatch dpms on
|
||||
}
|
||||
|
||||
# Suspend
|
||||
# listener {
|
||||
# timeout = 500
|
||||
# on-timeout = systemctl suspend
|
||||
# }
|
||||
|
||||
# hyprlang noerror true
|
||||
# Source anything from this path if you want to add your own listener
|
||||
# source command actually do not exist yet
|
||||
source = ~/.config/hypridle/*
|
||||
# hyprlang noerror false
|
||||
@@ -0,0 +1,117 @@
|
||||
$HYDE_HYPRLAND=set #! Do not remove - HyDE marker to prevent file overwrite
|
||||
|
||||
#! ░▒▒▒░░░▓▓ ___________
|
||||
#! ░░▒▒▒░░░░░▓▓ //___________/
|
||||
#! ░░▒▒▒░░░░░▓▓ _ _ _ _ _____
|
||||
#! ░░▒▒░░░░░▓▓▓▓▓▓ | | | | | | | __/
|
||||
#! ░▒▒░░░░▓▓ ▓▓ | |_| | |_/ /| |___
|
||||
#! ░▒▒░░▓▓ ▓▓ \__ |____/ |____/
|
||||
#! ░▒▓▓ ▓▓ //____/
|
||||
|
||||
#? HyDE's Hyprland Configuration
|
||||
# First, let's understand the structure of the configuration file
|
||||
# It is divided into 3 sections: Boilerplate, Overrides, and Users
|
||||
#* 1. Boilerplate
|
||||
# - This section is for the default configuration of HyDE
|
||||
# - It is recommended to not change this section
|
||||
# - Filepath: $XDG_DATA_HOME/share/hyde/hyprland.conf
|
||||
#* 2. Overrides
|
||||
# - This section is for overriding the default configuration of HyDE
|
||||
# - Change this section if you intended to:
|
||||
# - Change the startup and env variables
|
||||
# - Stop a app/service from starting
|
||||
# - Override HyDE specific variables
|
||||
# - Filepath: $XDG_CONFIG_HOME/hypr/hyde.conf
|
||||
#* 3. Users
|
||||
# - This section is for user configuration
|
||||
# - It is recommended to change this section to your liking
|
||||
# - Filepath: ./keybindings.conf, ./windowrules.conf, ./monitors.conf, ./userprefs.conf
|
||||
|
||||
|
||||
|
||||
#? Boilerplate
|
||||
source = ~/.local/share/hyde/hyprland.conf
|
||||
|
||||
|
||||
#? Overrides
|
||||
# Overriding startup and env variables
|
||||
# To avoid breaking and conflicts, HyDE will use variables to store the env and startup variables
|
||||
# See ~/.config/hypr/hyde.conf for overriding the default env and startup variables
|
||||
#* startup:
|
||||
# - The startup variables are the variables that are set when the shell starts
|
||||
# - $start.BAR=waybar will launch waybar on startup (default waybar)
|
||||
# - $start.BAR= will unset the variable
|
||||
# - $start.BAR=other_bar will launch other_bar on startup, overriding the default (waybar)
|
||||
#* env:
|
||||
# - The env variables are the variables that are set when the shell starts
|
||||
# - $env.QT_QPA_PLATFORMTHEME= will unset the variable
|
||||
# - $env.QT_QPA_PLATFORMTHEME=qt6ct will set the variable to qt6ct
|
||||
# for updated configuration, see the https://github.com/HyDE-Project/HyDE/blob/master/Configs/.config/hypr/hyde.conf
|
||||
|
||||
|
||||
#? Users
|
||||
# These files are for user configuration
|
||||
# Edit the files to your liking
|
||||
# Refer to https://wiki.hyprland.org
|
||||
source = ./keybindings.conf # Keyboard shortcuts
|
||||
source = ./windowrules.conf # Window rules
|
||||
source = ./monitors.conf # Monitor configuration (from per-host overlay)
|
||||
source = ./userprefs.conf # Personal hyprland configuration
|
||||
source = ./host.conf # Per-host extras: nvidia, etc. (from per-host overlay)
|
||||
|
||||
|
||||
|
||||
#!▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄
|
||||
|
||||
#? █▀█ █▀▀ █▀▀ █▀▀ █▀█ █▀▀ █▄░█ █▀▀ █▀▀
|
||||
#? █▀▄ ██▄ █▀░ ██▄ █▀▄ ██▄ █░▀█ █▄▄ ██▄
|
||||
|
||||
#!▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄
|
||||
|
||||
|
||||
#? Reference
|
||||
# Configurations below are for reference ONLY
|
||||
# They are not essential for HyDE to work but can be used to enhance QOL
|
||||
# Copy the config line and paste it in the Users section to use it
|
||||
# This is to prevent bloating users configuration files when not needed
|
||||
|
||||
# // █▀▀ █▄░█ █░█
|
||||
# // ██▄ █░▀█ ▀▄▀
|
||||
|
||||
# env = MANGOHUD,1
|
||||
# env = MANGOHUD_DLSYM,1
|
||||
|
||||
|
||||
# // █▄▀ █▀▀ █▄█ █▄▄ █ █▄░█ █▀▄ █ █▄░█ █▀▀ █▀
|
||||
# // █░█ ██▄ ░█░ █▄█ █ █░▀█ █▄▀ █ █░▀█ █▄█ ▄█
|
||||
|
||||
# bind = Ctrl+Alt+Shift, R, pass, ^(com\.obsproject\.Studio)$ # toggle obs screen recording // install obs flatpak
|
||||
# bind = $mainMod+Shift, G, exec, pkill -x rofi || $scrPath/gamelauncher.sh # launch steam game launcher // install steam
|
||||
# bind = $mainMod, Period, exec, emote # launch emoji selector // install emote
|
||||
# bind = $mainMod+Alt, XF86MonBrightnessDown, exec, hyprshade on blue-light-filter # enable blue light filter // install hyprshade
|
||||
# bind = $mainMod+Alt, XF86MonBrightnessUp, exec, hyprshade off # disable blue light filter // install hyprshade
|
||||
|
||||
|
||||
# // █░░ ▄▀█ █░█ █▄░█ █▀▀ █░█
|
||||
# // █▄▄ █▀█ █▄█ █░▀█ █▄▄ █▀█
|
||||
|
||||
# exec-once = swayidle -w timeout 600 'swaylock' timeout 900 'hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on' # lock after 10 mins, sleep after 15 mins // install swayidle
|
||||
# exec-once = swayidle -w timeout 1200 'swaylock; hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on' timeout 1800 'systemctl suspend' # lock and sleep after 20 mins, suspend after 30 mins // install swayidle
|
||||
|
||||
# exec-once = libinput-gestures // install libinput-gestures
|
||||
|
||||
# exec-once = swayosd-server # enable swayosd service
|
||||
# exec-once = `pkexec swayosd-libinput-backend` # swayosd service for keyboard input (requires to be run in a subshell)
|
||||
|
||||
# // █░█░█ █ █▄░█ █▀▄ █▀█ █░█░█ █▀█ █░█ █░░ █▀▀ █▀
|
||||
# // ▀▄▀▄▀ █ █░▀█ █▄▀ █▄█ ▀▄▀▄▀ █▀▄ █▄█ █▄▄ ██▄ ▄█
|
||||
|
||||
|
||||
|
||||
# // █░█ █▀▄▀█
|
||||
# // ▀▄▀ █░▀░█
|
||||
|
||||
# bind = Ctrl+Alt_L, V, submap, passthrough
|
||||
# submap = passthrough
|
||||
# bind = Ctrl+Alt_L, V, submap, reset
|
||||
# submap = reset
|
||||
@@ -0,0 +1,9 @@
|
||||
# Default (empty) per-host hyprlock sizes — fallback shared by all GUI hosts.
|
||||
# The real one comes from the per-host overlay (see lw/.config/hypr/hyprlock-host.conf).
|
||||
# Present so `source = ~/.config/hypr/hyprlock-host.conf` in hyprlock.conf always resolves,
|
||||
# even mid-install before the host overlay is stowed. A missing `source` target is a hard
|
||||
# parse error in hyprlang — for hyprlock that means the lock screen itself fails, so this
|
||||
# file must never be deleted.
|
||||
#
|
||||
# gui's defaults are tuned for wm (3072x1728 logical). To override, redefine any of:
|
||||
# $fsClock $fsDate $fsMeta $fsSmall $fsIcon $logoSize
|
||||
@@ -0,0 +1,195 @@
|
||||
#! █░█ █▄█ █▀█ █▀█ █░░ █▀█ █▀▀ █▄▀
|
||||
#! █▀█ ░█░ █▀▀ █▀▄ █▄▄ █▄█ █▄▄ █░█
|
||||
|
||||
#* Hyprlock Configuration File
|
||||
|
||||
# Everything is anchored to the CENTRE (only the two bottom-corner labels use valign), in this
|
||||
# order top to bottom: uptime, greeting, logo, input field, clock, date. The offsets spread the
|
||||
# content out to the top and bottom edges. Centre-anchoring is deliberate: an earlier pass used
|
||||
# TOP/BOTTOM valign bands and silently reordered the clock and date, putting the date above the
|
||||
# clock and the clock half off the bottom edge — don't reintroduce that.
|
||||
# Every `position` and `size` is a percentage (hyprlock accepts them: both are LAYOUTCONFIG
|
||||
# values), so the arrangement scales instead of being the fixed pixel offsets it once was.
|
||||
# The percentages are the old pixel offsets expressed against a 1080-tall screen.
|
||||
#
|
||||
# `font_size` and `image:size` are plain ints in hyprlock 0.9.6 and cannot take a
|
||||
# percentage, so they can't scale on their own. They're hoisted into the variables below:
|
||||
# retune those few numbers for a very different screen (they are tuned for wm, 3072x1728 logical),
|
||||
# or `source` a per-host file that redefines them, as kitty.conf does with host.conf.
|
||||
#
|
||||
# Coordinates: +x is right, +y is UP — so centre-anchored, a positive y sits above centre.
|
||||
# (For the two bottom-corner labels, valign = bottom means positive y moves up from it.)
|
||||
|
||||
$fontColor = rgba(255,255,255,0.5)
|
||||
$fontFamily = SourceCodeVF ExtraBold
|
||||
$timeFontFamily = Cantarell ExtraBold
|
||||
|
||||
# Type scale — tuned for wm's 3072x1728 logical screen (this file is shared with lw —
|
||||
# see ToDo.md). Since these can't be
|
||||
# percentages, they are the one thing to retune on a very different display: they are
|
||||
# roughly clock 13%, date 2.5%, meta 1.5% of screen height.
|
||||
$fsClock = 220
|
||||
$fsDate = 44
|
||||
$fsMeta = 26
|
||||
$fsSmall = 24
|
||||
$fsIcon = 40
|
||||
$logoSize = 280
|
||||
|
||||
# Vertical positions — % of screen height from centre, + is up. Order top to bottom: uptime,
|
||||
# greet, logo, input, clock, date. Deliberately pushed OUT to the edges: uptime/greet ride near
|
||||
# the top, clock/date near the bottom, leaving logo + input as the only things near the middle.
|
||||
# Anchored to centre rather than valign top/bottom on purpose — an earlier pass used bands and
|
||||
# silently reordered the clock and date (see the header). Percentages scale, and because each
|
||||
# host's font sizes are set to the same *proportion* of its screen (clock ~12.8% of height on
|
||||
# both), one set of offsets gives both hosts the same layout — hence no per-host override here
|
||||
# by default. Add $y* to hyprlock-host.conf if a host ever needs to differ.
|
||||
$yUptime = 45%
|
||||
$yGreet = 41%
|
||||
$yLogo = 12%
|
||||
$yInput = -5%
|
||||
$yClock = -30%
|
||||
$yDate = -42%
|
||||
|
||||
# Per-host override for the six sizes above. They are ints, not percentages, so they are the
|
||||
# one thing that cannot scale itself — a host with a different panel redefines whichever it
|
||||
# needs here, and everything below picks up the new value (hyprlang expands in file order).
|
||||
# Shipped empty in gui/ so this always resolves even mid-install, before a host overlay is
|
||||
# stowed — same idiom, and same reason, as hypr/host.conf.
|
||||
source = ~/.config/hypr/hyprlock-host.conf
|
||||
|
||||
general {
|
||||
ignore_empty_input = true
|
||||
text_trim = true
|
||||
}
|
||||
# Dropped as of hyprlock 0.9.6 — it rejected all four as "config option does not exist"
|
||||
# and carried on without them, so they never took effect:
|
||||
# no_fade_in / fade_in_time -> fade-in is CLI-only now: lockscreen.sh --no-fade-in
|
||||
# grade, disable_loading_bar -> no equivalent
|
||||
|
||||
background {
|
||||
monitor =
|
||||
path = ~/.config/hypr/hyprlock/assets/background.jpg
|
||||
# Heavier blur than you'd expect: the wallpaper has "open source" set across its
|
||||
# middle, which otherwise reads as text competing with the clock sitting on top of it.
|
||||
blur_passes = 3
|
||||
blur_size = 6
|
||||
contrast = 0.7
|
||||
brightness = 0.38
|
||||
vibrancy = 0.15
|
||||
vibrancy_darkness = 0.5
|
||||
}
|
||||
|
||||
|
||||
# // ▀█▀ █▀█ █▀█
|
||||
# // ░█░ █▄█ █▀▀
|
||||
|
||||
# uptime
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:5000] echo "<span alpha='40%'>$(uptime -p)</span>"
|
||||
color = $fontColor
|
||||
font_family = $fontFamily
|
||||
font_size = $fsMeta
|
||||
position = 0, $yUptime
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
||||
|
||||
# greeting / weather
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:300000] echo "<span alpha='50%'>$(cat ~/.config/fish/greet.txt)</span>"
|
||||
color = $fontColor
|
||||
font_family = $fontFamily
|
||||
font_size = $fsSmall
|
||||
position = 0, $yGreet
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
||||
|
||||
|
||||
# // █▀▄▀█ █ █▀▄ █▀▄ █░░ █▀▀
|
||||
# // █░▀░█ █ █▄▀ █▄▀ █▄▄ ██▄
|
||||
|
||||
image {
|
||||
monitor =
|
||||
path = ~/.config/hypr/hyprlock/assets/logo.jpg
|
||||
size = $logoSize
|
||||
position = 0, $yLogo
|
||||
halign = center
|
||||
valign = center
|
||||
reload_time = -1
|
||||
reload_cmd =
|
||||
}
|
||||
|
||||
input-field {
|
||||
monitor =
|
||||
size = 20%, 5%
|
||||
position = 0, $yInput
|
||||
halign = center
|
||||
valign = center
|
||||
outline_thickness = 3
|
||||
dots_size = 0.08
|
||||
dots_spacing = 0.2
|
||||
dots_center = true
|
||||
outer_color = rgba(0,0,0,0.1)
|
||||
inner_color = $fontColor
|
||||
fade_on_empty = true
|
||||
}
|
||||
|
||||
|
||||
# // █▄▄ █▀█ ▀█▀ ▀█▀ █▀█ █▀▄▀█
|
||||
# // █▄█ █▄█ ░█░ ░█░ █▄█ █░▀░█
|
||||
|
||||
# date — sits BELOW the clock (-28% vs the clock's -17%), as it did before the band rewrite.
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:1000] echo "<span alpha='50%'>$(LC_TIME=en_US.UTF-8 date +'%A, %B %d')</span>"
|
||||
color = $fontColor
|
||||
font_family = $fontFamily
|
||||
font_size = $fsDate
|
||||
position = 0, $yDate
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
||||
|
||||
# clock — 17% below centre, directly under the input field, with the date below it. Centre-
|
||||
# anchored, so y is the box's CENTRE and the glyphs grow both ways from it; budget for that
|
||||
# when changing $fsClock, which is by far the tallest text here.
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:1000] echo "<span alpha='50%'>$(date +"%H:%M")</span>"
|
||||
color = $fontColor
|
||||
font_family = $timeFontFamily
|
||||
font_size = $fsClock
|
||||
position = 0, $yClock
|
||||
halign = center
|
||||
valign = center
|
||||
shadow_passes = 1
|
||||
shadow_size = 1
|
||||
shadow_color = rgba(0, 0, 0, 0.5)
|
||||
}
|
||||
|
||||
# power
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[] echo "<span alpha='50%'>⏻ </span>"
|
||||
color = $fontColor
|
||||
font_size = $fsIcon
|
||||
onclick = systemctl poweroff
|
||||
position = 3%, 3%
|
||||
halign = left
|
||||
valign = bottom
|
||||
}
|
||||
|
||||
# battery (prints nothing on a desktop)
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:1000] echo -e "<span alpha='50%'>$(~/.config/hypr/battery.sh)</span>"
|
||||
color = $fontColor
|
||||
font_family = $fontFamily
|
||||
font_size = $fsSmall
|
||||
position = -3%, 3%
|
||||
halign = right
|
||||
valign = bottom
|
||||
}
|
||||
@@ -0,0 +1,132 @@
|
||||
# ░▒▒▒░░░░░▓▓ ___________
|
||||
# ░░▒▒▒░░░░░▓▓ //___________/
|
||||
# ░░▒▒▒░░░░░▓▓ _ _ _ _ _____
|
||||
# ░░▒▒░░░░░▓▓▓▓▓▓ | | | | | | | __/
|
||||
# ░▒▒░░░░▓▓ ▓▓ | |_| | |_/ /| |___
|
||||
# ░▒▒░░▓▓ ▓▓ \__ |____/ |____/
|
||||
# ░▒▓▓ ▓▓ //____/
|
||||
|
||||
$fontFamily = JetBrainsMono Nerd Font # We already have this font installed
|
||||
|
||||
# Resolving custom fonts
|
||||
# Provide the font name and the download link separated by a pipe |
|
||||
# Run font.sh resolve $LAYOUT_PATH to install the font
|
||||
$resolve.font=Anurati|https://font.download/dl/font/anurati.zip
|
||||
$resolve.font=Inter|https://github.com/rsms/inter/releases/download/v4.1/Inter-4.1.zip
|
||||
|
||||
background {
|
||||
monitor =
|
||||
color = $wallbash_pry1_rgba
|
||||
path = $BACKGROUND_PATH
|
||||
blur_size = 4
|
||||
blur_passes = 3 # 0 disables blurring
|
||||
noise = 0.0117
|
||||
contrast = 1.3000 # Vibrant!!!
|
||||
brightness = 0.8000
|
||||
vibrancy = 0.2100
|
||||
vibrancy_darkness = 0.0
|
||||
}
|
||||
|
||||
# DAY
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:1000] echo "$(date +"%A" | sed 's/./& /g' | tr '[:lower:]' '[:upper:]')" # Add a thin space between each character
|
||||
color = $wallbash_1xa9_rgba
|
||||
font_size = 110 # Wednesday is too long
|
||||
font_family = Anurati
|
||||
position = 0, 100
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
||||
|
||||
# DATE
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:1000] echo "$(date +"%B %d")"
|
||||
color = $wallbash_2xa9_rgba
|
||||
font_size = 35
|
||||
font_family = $font_family Thin
|
||||
position = 0, -20
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
||||
|
||||
# TIME
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:1000] echo "$(date +"%-I:%M %p")"
|
||||
#text = $TIME
|
||||
color = $wallbash_txt1_rgba
|
||||
font_size = 20 #!
|
||||
font_family = $font_family
|
||||
position = 0, 150
|
||||
halign = center
|
||||
valign = bottom
|
||||
}
|
||||
# INPUT FIELD
|
||||
input-field {
|
||||
monitor =
|
||||
size = 200, 50 #!
|
||||
outline_thickness = 3
|
||||
dots_size = 0.33 # Scale of input-field height, 0.2 - 0.8
|
||||
dots_spacing = 0.15 # Scale of dots' absolute size, 0.0 - 1.0
|
||||
dots_center = true
|
||||
dots_rounding = -1 # -1 default circle, -2 follow input-field rounding
|
||||
outer_color = $wallbash_pry4_rgba
|
||||
inner_color = $wallbash_pry2_rgba
|
||||
font_color = $wallbash_3xa9_rgba
|
||||
fade_on_empty = true
|
||||
fade_timeout = 1000 # Milliseconds before fade_on_empty is triggered.
|
||||
placeholder_text = <i>Input Password...</i> # Text rendered in the input box when it's empty.
|
||||
hide_input = false
|
||||
rounding = -1 # -1 means complete rounding (circle/oval)
|
||||
check_color = $wallbash_pry4_rgba
|
||||
fail_color = rgba(FF0000FF) # if authentication failed, changes outer_color and fail message color
|
||||
fail_text = <i>$FAIL <b>($ATTEMPTS)</b></i> # can be set to empty
|
||||
fail_transition = 300 # transition time in ms between normal outer_color and fail_color
|
||||
capslock_color = -1
|
||||
numlock_color = -1
|
||||
bothlock_color = -1 # when both locks are active. -1 means don't change outer color (same for above)
|
||||
invert_numlock = false # change color if numlock is off
|
||||
swap_font_color = true # see below
|
||||
position = 0, 80
|
||||
halign = center
|
||||
valign = bottom
|
||||
}
|
||||
|
||||
#User tag
|
||||
label {
|
||||
monitor =
|
||||
text = $USER
|
||||
color = $wallbash_4xa9_rgba
|
||||
font_size = 20
|
||||
font_family = Inter Display Medium
|
||||
position = 0, 30
|
||||
halign = center
|
||||
valign = bottom
|
||||
}
|
||||
|
||||
|
||||
# Battery Status if present
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:5000] $BATTERY_ICON
|
||||
color = $wallbash_4xa9_rgba
|
||||
font_size = 20
|
||||
font_family = JetBrainsMono Nerd Font
|
||||
position = -1%, 1%
|
||||
halign = right
|
||||
valign = bottom
|
||||
}
|
||||
|
||||
# Current Keyboard Layout
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:1000] $KEYBOARD_LAYOUT
|
||||
color = $wallbash_4xa9_rgba
|
||||
font_size = 20
|
||||
font_family = Inter Display Medium
|
||||
position = -2%, 1%
|
||||
halign = right
|
||||
valign = bottom
|
||||
}
|
||||
@@ -0,0 +1,158 @@
|
||||
# Hyprclouds from Arfan on Clouds
|
||||
# By: Arfan on Clouds https://github.com/arfan-on-clouds/hyprclouds
|
||||
# Modified by: The HyDE Project
|
||||
|
||||
$resolve.font=SF Pro Display|https://font.download/dl/font/sf-pro-display.zip
|
||||
$resolve.font=AlfaSlabOne|https://font.download/dl/font/alfa-slab-one.zip
|
||||
|
||||
# BACKGROUND
|
||||
background {
|
||||
monitor =
|
||||
color = $wallbash_pry1_rgba
|
||||
path = $BACKGROUND_PATH
|
||||
blur_size = 4
|
||||
blur_passes = 3 # 0 disables blurring
|
||||
noise = 0.0117
|
||||
contrast = 1.3000 # Vibrant!!!
|
||||
brightness = 0.8000
|
||||
vibrancy = 0.2100
|
||||
vibrancy_darkness = 0.0
|
||||
}
|
||||
|
||||
# INPUT FIELD
|
||||
input-field {
|
||||
monitor =
|
||||
size = 190, 50
|
||||
outline_thickness = 2
|
||||
dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8
|
||||
dots_spacing = 0.2 # Scale of dots' absolute size, 0.0 - 1.0
|
||||
dots_center = true
|
||||
fade_on_empty = true
|
||||
font_family = SF Pro Display Bold
|
||||
placeholder_text = <i><span foreground="##ffffff99"></span></i>
|
||||
hide_input = false
|
||||
position = 0, -170
|
||||
halign = center
|
||||
valign = center
|
||||
outer_color = $wallbash_pry4_rgba
|
||||
inner_color = $wallbash_pry2_rgba
|
||||
font_color = $wallbash_3xa9_rgba
|
||||
check_color = $wallbash_pry4_rgba
|
||||
|
||||
}
|
||||
|
||||
# Hour-Time
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:1000] echo -e "$(date +"%I")"
|
||||
color = $wallbash_1xa8_rgba
|
||||
shadow_passes = 3
|
||||
shadow_size = 2
|
||||
font_size = 100
|
||||
font_family = AlfaSlabOne
|
||||
position = 0, 100
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
||||
|
||||
# Minute-Time
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:1000] echo -e "$(date +"%M")"
|
||||
color = $wallbash_3xa9_rgba
|
||||
font_size = 100
|
||||
font_family = AlfaSlabOne
|
||||
shadow_passes = 3
|
||||
shadow_size = 2
|
||||
position = 0, -20
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
||||
|
||||
# Day-Date-Month
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:1000] echo -e "$(date +"%d %b %A")"
|
||||
color = $wallbash_3xa9_rgba
|
||||
shadow_passes = 3
|
||||
shadow_size = 1
|
||||
font_size = 12
|
||||
font_family = JetBrains Mono Nerd Font Mono ExtraBold
|
||||
position = 1%, -1%
|
||||
halign = left
|
||||
valign = top
|
||||
}
|
||||
|
||||
|
||||
|
||||
# CURRENT SONG
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:1000] $MPRIS_TEXT # Outputs the song title when mpris is available, otherwise, it will output the splash command.
|
||||
color = $wallbash_3xa9_rgba
|
||||
shadow_passes = 3
|
||||
shadow_size = 1
|
||||
font_size = 14
|
||||
font_family = JetBrains Mono Nerd, SF Pro Display Bold
|
||||
position = 0, 20
|
||||
halign = center
|
||||
valign = bottom
|
||||
}
|
||||
image {
|
||||
monitor =
|
||||
path = $MPRIS_IMAGE
|
||||
size = 80 # lesser side if not 1:1 ratio
|
||||
rounding = -1 # negative values mean circle
|
||||
border_size = 0
|
||||
shadow_passes = 3
|
||||
shadow_size = 3
|
||||
border_color = rgb(221, 221, 221)
|
||||
rotate = 0 # degrees, counter-clockwise
|
||||
reload_time = 0 # seconds between reloading, 0 to reload with SIGUSR2
|
||||
# reload_cmd = # command to get new path. if empty, old path will be used. don't run "follow" commands like tail -F
|
||||
position = 0, 10%
|
||||
halign = center
|
||||
valign = bottom
|
||||
}
|
||||
|
||||
|
||||
|
||||
# Battery Status if present
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:5000] $BATTERY_ICON
|
||||
color = $wallbash_4xa9_rgba
|
||||
font_size = 20
|
||||
font_family = JetBrainsMono Nerd Font
|
||||
position = -1%, 1%
|
||||
halign = right
|
||||
valign = bottom
|
||||
}
|
||||
|
||||
# Current Keyboard Layout
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:1000] $KEYBOARD_LAYOUT
|
||||
color = $wallbash_4xa9_rgba
|
||||
font_size = 20
|
||||
font_family = JetBrains Mono Nerd, SF Pro Display Bold
|
||||
position = -2%, 1%
|
||||
halign = right
|
||||
valign = bottom
|
||||
}
|
||||
|
||||
|
||||
# Weather
|
||||
#! Put the weather command last to lessen the load time of other modules
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:18000000] $WEATHER_CMD
|
||||
color = $wallbash_3xa9_rgba
|
||||
font_size = 16
|
||||
shadow_passes = 3
|
||||
shadow_size = 1
|
||||
font_family = JetBrains Mono Nerd, SF Pro Display Bold
|
||||
position = -1%, -1%
|
||||
halign = right
|
||||
valign = top
|
||||
}
|
||||
@@ -0,0 +1,112 @@
|
||||
|
||||
# ░▒▒▒░░░░░▓▓ ___________
|
||||
# ░░▒▒▒░░░░░▓▓ //___________/
|
||||
# ░░▒▒▒░░░░░▓▓ _ _ _ _ _____
|
||||
# ░░▒▒░░░░░▓▓▓▓▓▓ | | | | | | | __/
|
||||
# ░▒▒░░░░▓▓ ▓▓ | |_| | |_/ /| |___
|
||||
# ░▒▒░░▓▓ ▓▓ \__ |____/ |____/
|
||||
# ░▒▓▓ ▓▓ //____/
|
||||
|
||||
$fontFamily = IBM Plex Sans
|
||||
$resolve.font=IBM Plex Sans|https://github.com/IBM/plex/releases/download/%40ibm%2Fplex-sans%401.1.0/ibm-plex-sans.zip
|
||||
|
||||
# GENERAL
|
||||
background {
|
||||
monitor =
|
||||
path = $BACKGROUND_PATH
|
||||
blur_size = 5
|
||||
blur_passes = 0
|
||||
noise = 0.0117
|
||||
contrast = 1.3000 # Vibrant!
|
||||
brightness = 0.8000
|
||||
vibrancy = 0.2100
|
||||
vibrancy_darkness = 0.0
|
||||
}
|
||||
|
||||
# Current time
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:1000] echo "<b><big> $(date +"%H") </big></b>"
|
||||
color = $wallbash_2xa7_rgba
|
||||
font_size = 180
|
||||
font_family = $fontFamily Medium 10
|
||||
position = 0, 80
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:1000] echo "<b><big> $(date +"%M") </big></b>"
|
||||
color = $wallbash_2xa9_rgba
|
||||
font_size = 180
|
||||
font_family = $fontFamily Medium 10
|
||||
position = 0, -120
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:1000] echo "<b><big> $(date +"%d %b") </big></b>"
|
||||
color = $wallbash_2xa8_rgba
|
||||
font_size = 20
|
||||
font_family = $fontFamily Medium 10
|
||||
position = 0, -230
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:1000] echo "<b><big> $(date +"%A") </big></b>"
|
||||
color = $wallbash_2xa8_rgba
|
||||
|
||||
font_size = 20
|
||||
font_family = $fontFamily Medium 10
|
||||
position = 0, -250
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
||||
|
||||
#INPUT FIELD
|
||||
input-field {
|
||||
monitor =
|
||||
# size = 15%, 5% # hyprlock-git
|
||||
size = 200, 50
|
||||
outline_thickness = 3
|
||||
dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8
|
||||
dots_spacing = 1.00 # Scale of dots' absolute size, 0.0 - 1.0
|
||||
dots_center = true
|
||||
outer_color = $wallbash_pry2_rgba
|
||||
inner_color = $wallbash_pry3_rgba
|
||||
font_color = $color7
|
||||
fade_on_empty = true
|
||||
placeholder_text = <i>Password...</i> # Text rendered in the input box when it's empty.
|
||||
hide_input = false
|
||||
position = 0, 60
|
||||
halign = center
|
||||
valign = bottom
|
||||
}
|
||||
|
||||
|
||||
# Battery Status if present
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:5000] $BATTERY_ICON
|
||||
color = $wallbash_4xa9_rgba
|
||||
font_size = 20
|
||||
font_family = JetBrainsMono Nerd Font
|
||||
position = -1%, 1%
|
||||
halign = right
|
||||
valign = bottom
|
||||
}
|
||||
|
||||
# Current Keyboard Layout
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:1000] $KEYBOARD_LAYOUT
|
||||
color = $wallbash_4xa9_rgba
|
||||
font_size = 20
|
||||
font_family = $fontFamily
|
||||
position = -2%, 1%
|
||||
halign = right
|
||||
valign = bottom
|
||||
}
|
||||
@@ -0,0 +1,161 @@
|
||||
# Hyprlock style-4
|
||||
# By: Vivek Rajan https://github.com/MrVivekRajan/Hyprlock-Styles/tree/main/Style-4
|
||||
# Modified by: The HyDE Project
|
||||
|
||||
$resolve.font=SF Pro Display|https://font.download/dl/font/sf-pro-display.zip
|
||||
|
||||
# BACKGROUND
|
||||
background {
|
||||
monitor =
|
||||
path = $BACKGROUND_PATH
|
||||
blur_passes = 0
|
||||
contrast = 0.8916
|
||||
brightness = 0.8916
|
||||
vibrancy = 0.8916
|
||||
vibrancy_darkness = 0.0
|
||||
}
|
||||
|
||||
# GENERAL
|
||||
general {
|
||||
no_fade_in = false
|
||||
grace = 0
|
||||
disable_loading_bar = false
|
||||
}
|
||||
|
||||
# Profile-Photo
|
||||
image {
|
||||
monitor =
|
||||
path = $PROFILE_IMAGE
|
||||
border_size = 2
|
||||
border_color = $wallbash_pry4_rgba
|
||||
size = 100
|
||||
rounding = -1
|
||||
rotate = 0
|
||||
reload_time = -1
|
||||
reload_cmd =
|
||||
position = 25, 200
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
||||
|
||||
# NAME
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:60000] $GREET_TEXT
|
||||
color = $wallbash_txt1_rgba
|
||||
outline_thickness = 0
|
||||
dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8
|
||||
dots_spacing = 0.2 # Scale of dots' absolute size, 0.0 - 1.0
|
||||
dots_center = true
|
||||
font_size = 20
|
||||
font_family = SF Pro Display Bold
|
||||
position = 25, 110
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
||||
|
||||
# Time
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:1000] echo "<span>$(date +"%I:%M")</span>"
|
||||
color = $wallbash_txt1_rgba
|
||||
font_size = 60
|
||||
font_family = SF Pro Display Bold
|
||||
position = 30, -8
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
||||
|
||||
# Day-Month-Date
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:1000] echo -e "$(date +"%A, %B %d")"
|
||||
color = $wallbash_txt1_rgba
|
||||
font_size = 19
|
||||
font_family = SF Pro Display Bold
|
||||
position = 35, -60
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
||||
|
||||
# USER-BOX
|
||||
shape {
|
||||
monitor =
|
||||
size = 320, 55
|
||||
color = rgba(255, 255, 255, 0.1)
|
||||
rounding = -1
|
||||
border_size = 0
|
||||
border_color = $wallbash_txt3_rgba
|
||||
rotate = 0
|
||||
xray = false # if true, make a "hole" in the background (rectangle of specified size, no rotation)
|
||||
|
||||
position = 34, -190
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
||||
|
||||
# USER
|
||||
label {
|
||||
monitor =
|
||||
text = $USER
|
||||
color = $wallbash_1xa9_rgba
|
||||
outline_thickness = 0
|
||||
dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8
|
||||
dots_spacing = 0.2 # Scale of dots' absolute size, 0.0 - 1.0
|
||||
dots_center = true
|
||||
font_size = 16
|
||||
font_family = SF Pro Display Bold
|
||||
position = 38, -190
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
||||
|
||||
# INPUT FIELD
|
||||
input-field {
|
||||
monitor =
|
||||
size = 320, 55
|
||||
outline_thickness = 0
|
||||
dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8
|
||||
dots_spacing = 0.2 # Scale of dots' absolute size, 0.0 - 1.0
|
||||
dots_center = true
|
||||
outer_color = rgba(255, 255, 255, 0)
|
||||
inner_color = rgba(255, 255, 255, 0.1)
|
||||
font_color = $wallbash_2xa6_rgba
|
||||
fade_on_empty = false
|
||||
font_family = SF Pro Display Bold
|
||||
placeholder_text = <i><span foreground="##ffffff99">🔒 Enter Pass</span></i>
|
||||
hide_input = false
|
||||
position = 34, -268
|
||||
halign = center
|
||||
valign = center
|
||||
check_color = $wallbash_txt4_rgba
|
||||
fail_color = rgb(204, 34, 34) # if authentication failed, changes outer_color and fail message color
|
||||
fail_text = <i>$FAIL <b>($ATTEMPTS)</b></i> # can be set to empty
|
||||
fail_transition = 300 # transition time in ms between normal outer_color and fail_color
|
||||
|
||||
}
|
||||
|
||||
|
||||
# Battery Status if present
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:5000] $BATTERY_ICON
|
||||
color = $wallbash_4xa9_rgba
|
||||
font_size = 20
|
||||
font_family = JetBrainsMono Nerd Font
|
||||
position = -1%, 1%
|
||||
halign = right
|
||||
valign = bottom
|
||||
}
|
||||
|
||||
# Current Keyboard Layout
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:1000] $KEYBOARD_LAYOUT
|
||||
color = $wallbash_4xa9_rgba
|
||||
font_size = 20
|
||||
font_family = SF Pro Display Bold
|
||||
position = -2%, 1%
|
||||
halign = right
|
||||
valign = bottom
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 214 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 54 KiB |
@@ -0,0 +1 @@
|
||||
source = ./HyDE.conf
|
||||
@@ -0,0 +1,265 @@
|
||||
## █▄▀ █▀▀ █▄█ █▄▄ █ █▄░█ █▀▄ █ █▄░█ █▀▀ █▀
|
||||
## █░█ ██▄ ░█░ █▄█ █ █░▀█ █▄▀ █ █░▀█ █▄█ ▄█
|
||||
|
||||
# see https://wiki.hyprland.org/configuring/keywords/ for more
|
||||
# example binds, see https://wiki.hyprland.org/configuring/binds/ for more
|
||||
|
||||
# Grouping of binds for easier management
|
||||
# $d=[Group Name|Subgroup Name1|Subgroup Name2|...]
|
||||
# '$d' is a variable that is used to group binds together (or use another variable)
|
||||
# This is only for organization purposes and is not a defined hyprland variable
|
||||
# What we did here is to modify the Description of the binds to include the group name
|
||||
# The $d will be parsed as a separate key to be use for a GUI or something pretty
|
||||
# [Main|Subgroup1|Subgroup2|...]
|
||||
# Main - The main groupname
|
||||
# Subgroup1.. - The subgroup names can be use to avoid repeating the same description
|
||||
|
||||
|
||||
#* Variables
|
||||
# Default if commented out
|
||||
# $mainMod = Super # super / meta / windows key
|
||||
# Assign apps
|
||||
# $TERMINAL = kitty
|
||||
# $EDITOR = code
|
||||
# $EXPLORER = dolphin
|
||||
# $BROWSER = firefox
|
||||
|
||||
$wm=Window Management
|
||||
$d=[$wm]
|
||||
bindd = $mainMod, Q, $d close focused window, exec, $scrPath/dontkillsteam.sh
|
||||
bindd = Alt, F4, $d close focused window, exec, $scrPath/dontkillsteam.sh
|
||||
bindd = $mainMod, Delete, $d kill hyprland session, exit
|
||||
bindd = $mainMod, W, $d toggle float, togglefloating, #
|
||||
bindd = $mainMod Shift, G, $d toggle group, togglegroup
|
||||
bindd = Shift, F11, $d toggle fullscreen, fullscreen
|
||||
bindd = Alt, Return, $d toggle fullscreen, fullscreen
|
||||
bindd = $mainMod, L, $d lock screen, exec, lockscreen.sh
|
||||
bindd = $mainMod Shift, F, $d toggle pin on focused window, exec, $scrPath/window.pin.sh
|
||||
bindd = Control Alt, Delete, $d logout menu, exec, $scrPath/logoutlaunch.sh
|
||||
bindd = Control Alt, W, $d toggle waybar, exec, killall waybar || waybar -c ~/.config/waybar/layouts/custom.jsonc -s ~/.config/waybar/layouts/custom.css
|
||||
# bindd = Control Alt, W, $d toggle waybar, exec, hyde-shell waybar --hide
|
||||
# bindd = Alt_R, Control_R, W, $d toggle waybar and reload config, exec, killall waybar || (env reload_flag=1 $scrPath/wbarconfgen.sh) # was throwing error
|
||||
# bindd = ALT_R, Control_R,toggle waybar, exec, killall waybar || waybar # toggle waybar without reloading, this is faster
|
||||
|
||||
$d=[$wm|Group Navigation]
|
||||
bindd = $mainMod Control, H, $d change active group backwards , changegroupactive, b
|
||||
bindd = $mainMod Control, L, $d change active group forwards , changegroupactive, f
|
||||
|
||||
$d=[$wm|Change focus]
|
||||
bindd = $mainMod, Left, $d focus left, movefocus, l
|
||||
bindd = $mainMod, Right, $d focus right , movefocus, r
|
||||
bindd = $mainMod, Up, $d focus up , movefocus, u
|
||||
bindd = $mainMod, Down , $d focus down, movefocus, d
|
||||
bindd = $mainMod Control, Left, $d focus left, movefocus, l
|
||||
bindd = $mainMod Control, Right, $d focus right , movefocus, r
|
||||
bindd = $mainMod Control, Up, $d focus up , movefocus, u
|
||||
bindd = $mainMod Control, Down, $d focus down, movefocus, d
|
||||
# Super+Ctrl h/l intentionally share a combo with Group Navigation above: hyprland fires
|
||||
# every bind matching a combo, and changegroupactive is a no-op outside a group.
|
||||
bindd = $mainMod Control, h, $d focus left, movefocus, l
|
||||
bindd = $mainMod Control, l, $d focus right , movefocus, r
|
||||
bindd = $mainMod Control, k, $d focus up , movefocus, u
|
||||
bindd = $mainMod Control, j , $d focus down, movefocus, d
|
||||
bindd = Alt Control, Left, $d focus left, movefocus, l
|
||||
bindd = Alt Control, Right, $d focus right , movefocus, r
|
||||
bindd = Alt Control, Up, $d focus up , movefocus, u
|
||||
bindd = Alt Control, Down, $d focus down, movefocus, d
|
||||
bindd = Alt Control, h, $d focus left, movefocus, l
|
||||
bindd = Alt Control, l, $d focus right , movefocus, r
|
||||
bindd = Alt Control, k, $d focus up , movefocus, u
|
||||
bindd = Alt Control, j , $d focus down, movefocus, d
|
||||
bindd = Alt, Tab, $d focus , movefocus, d
|
||||
|
||||
$d=[$wm|Resize Active Window]
|
||||
# Resize windows
|
||||
bindde = $mainMod Shift, Right, $d resize window right , resizeactive, 30 0
|
||||
bindde = $mainMod Shift, Left, $d resize window left, resizeactive, -30 0
|
||||
bindde = $mainMod Shift, Up, $d resize window up, resizeactive, 0 -30
|
||||
bindde = $mainMod Shift, Down, $d resize window down, resizeactive, 0 30
|
||||
bindde = $mainMod Shift, l, $d resize window right , resizeactive, 30 0
|
||||
bindde = $mainMod Shift, h, $d resize window left, resizeactive, -30 0
|
||||
bindde = $mainMod Shift, k, $d resize window up, resizeactive, 0 -30
|
||||
bindde = $mainMod Shift, j, $d resize window down, resizeactive, 0 30
|
||||
|
||||
# Move active window around current workspace with mainMod + Shift + Control [←→↑↓]
|
||||
$d=[$wm|Move active window across workspace]
|
||||
$moveactivewindow=grep -q "true" <<< $(hyprctl activewindow -j | jq -r .floating) && hyprctl dispatch moveactive
|
||||
bindde = $mainMod Alt, left, Move activewindow to the left, exec, $moveactivewindow -30 0 || hyprctl dispatch swapwindow l
|
||||
bindde = $mainMod Alt, right, Move activewindow to the right, exec, $moveactivewindow 30 0 || hyprctl dispatch swapwindow r
|
||||
bindde = $mainMod Alt, up, Move activewindow up, exec, $moveactivewindow 0 -30 || hyprctl dispatch swapwindow u
|
||||
bindde = $mainMod Alt, down, Move activewindow down, exec, $moveactivewindow 0 30 || hyprctl dispatch swapwindow d
|
||||
bindde = $mainMod Alt, h, Move activewindow to the left, exec, $moveactivewindow -30 0 || hyprctl dispatch swapwindow l
|
||||
bindde = $mainMod Alt, l, Move activewindow to the right, exec, $moveactivewindow 30 0 || hyprctl dispatch swapwindow r
|
||||
bindde = $mainMod Alt, k, Move activewindow up, exec, $moveactivewindow 0 -30 || hyprctl dispatch swapwindow u
|
||||
bindde = $mainMod Alt, j, Move activewindow down, exec, $moveactivewindow 0 30 || hyprctl dispatch swapwindow d
|
||||
# (Super+Alt+Ctrl h/l belong to "move window to relative workspace" below; the movewindow
|
||||
# variant duplicated the swapwindow block above and double-fired with those binds)
|
||||
|
||||
# Move/Resize focused window
|
||||
$d=[$wm|Move & Resize with mouse]
|
||||
binddm = $mainMod, mouse:272, $d hold to move window, movewindow
|
||||
binddm = $mainMod, mouse:273, $d hold to resize window, resizewindow
|
||||
binddm = $mainMod, Z, $d hold to move window , movewindow
|
||||
binddm = $mainMod, X, $d hold to resize window, resizewindow
|
||||
|
||||
# Toggle focused window split
|
||||
$d=[$wm]
|
||||
bindd = $mainMod, J, $d toggle split, layoutmsg, togglesplit
|
||||
|
||||
$l=Launcher
|
||||
$d=[$l|Apps]
|
||||
bindd = $mainMod, T, $d terminal emulator , exec, $TERMINAL
|
||||
bindd = $mainMod Shift, T, $d terminal emulator , exec, alacritty
|
||||
bindd = Control Alt, T, $d terminal emulator , exec, $TERMINAL
|
||||
# bindd = Control Shift, Alt, T, $d terminal emulator , exec, tilix # launch tilix terminal emulator - using for ssh
|
||||
bindd = $mainMod Control, T, $d terminal emulator, exec, tilix # launch tilix terminal emulator
|
||||
# bindd = $mainMod, R, $d pyradio, exec, $TERMINAL pyradio #radio
|
||||
bindd = $mainMod, I, $d wingman, exec, kitty --session ~/.config/kitty/c2.conf
|
||||
bindd = $mainMod, O, $d wingman, exec, kitty --session ~/.config/kitty/runners.conf
|
||||
bindd = $mainMod, R, $d pyradio, exec, kitty --session ~/.config/kitty/music.conf
|
||||
bindd = $mainMod, E, $d file explorer , exec, $EXPLORER
|
||||
bindd = $mainMod, C, $d neovim, exec, $TERMINAL nvim #editor
|
||||
bindd = $mainMod, B, $d web browser , exec, $BROWSER
|
||||
bindd = $mainMod Shift, B, $d web browser , exec, librewolf
|
||||
bindd = $mainMod Control, B, $d web browser , exec, firefox
|
||||
bindd = $mainMod, Y, $d ferdium, exec, ferdium
|
||||
bindd = Control Shift, Escape, $d system monitor , exec, $scrPath/sysmonlaunch.sh
|
||||
bindd = $mainMod, F, $d freetube , exec, freetube # youtube alternative
|
||||
bindd = $mainMod, K, $d password manager , exec, keepassxc # launch password manager
|
||||
bindd = $mainMod, G, $d xmpp, exec, gajim # launch messanger
|
||||
bindd = $mainMod, M, $d betterbird, exec, betterbird
|
||||
|
||||
# bindd = $mainMod, M, exec, $notes # launch notes app
|
||||
# bindd = Ctrl+Shift, Escape, exec, $scrPath/sysmonlaunch.sh # launch system monitor (htop/btop or fallback to top)
|
||||
|
||||
$d=[$l|Rofi menus]
|
||||
$rofi-launch=$scrPath/rofilaunch.sh
|
||||
bindd = $mainMod, A, $d application finder , exec, pkill -x rofi || $rofi-launch d
|
||||
bindd = $mainMod, TAB, $d window switcher , exec, pkill -x rofi || $rofi-launch w
|
||||
bindd = $mainMod Shift, E, $d file finder , exec, pkill -x rofi || $rofi-launch f
|
||||
bindd = $mainMod, slash, $d keybindings hint, exec, pkill -x rofi || $scrPath/keybinds_hint.sh c # launch keybinds hint
|
||||
bindd = $mainMod, comma, $d emoji picker , exec, pkill -x rofi || $scrPath/emoji-picker.sh # launch emoji picker
|
||||
bindd = $mainMod, period, $d glyph picker , exec, pkill -x rofi || $scrPath/glyph-picker.sh # launch glyph picker
|
||||
bindd = $mainMod, V, $d clipboard , exec, pkill -x rofi || $scrPath/cliphist.sh -c # launch clipboard,
|
||||
bindd = $mainMod Shift, V, $d clipboard manager , exec, pkill -x rofi || $scrPath/cliphist.sh # launch clipboard Manager
|
||||
bindd = $mainMod Shift, A, $d select rofi launcher , exec, pkill -x rofi || $scrPath/rofiselect.sh # launch select menu
|
||||
|
||||
|
||||
$hc=Hardware Controls
|
||||
$d=[$hc|Audio]
|
||||
binddl = , F10, $d toggle mute output , exec, $scrPath/volumecontrol.sh -o m # toggle audio mute
|
||||
binddl = , XF86AudioMute,$d toggle mute output, exec, $scrPath/volumecontrol.sh -o m # toggle audio mute
|
||||
# binddel = , F11, $d decrease volume , exec, $scrPath/volumecontrol.sh -o d # decrease volume
|
||||
# binddel = , F12, $d increase volume , exec, $scrPath/volumecontrol.sh -o i # increase volume
|
||||
binddl = , XF86AudioMicMute,$d un/mute microphone , exec, $scrPath/volumecontrol.sh -i m # toggle microphone mute
|
||||
binddel = , XF86AudioLowerVolume, $d decrease volume , exec, $scrPath/volumecontrol.sh -o d # decrease volume
|
||||
binddel = , XF86AudioRaiseVolume, $d increase volume , exec, $scrPath/volumecontrol.sh -o i # increase volume
|
||||
|
||||
$d=[$hc|Media]
|
||||
binddl = , XF86AudioPlay,$d play media, exec, playerctl play-pause # toggle between media play and pause
|
||||
binddl = , XF86AudioPause,$d pause media, exec, playerctl play-pause # toggle between media play and pause
|
||||
binddl = , XF86AudioNext,$d next media , exec, playerctl next # media next
|
||||
binddl = , XF86AudioPrev,$d previous media , exec, playerctl previous # media previous
|
||||
|
||||
$d=[$hc|Brightness]
|
||||
binddel = , XF86MonBrightnessUp, $d increase brightness , exec, $scrPath/brightnesscontrol.sh i # increase brightness
|
||||
binddel = , XF86MonBrightnessDown, $d decrease brightness , exec, $scrPath/brightnesscontrol.sh d # decrease brightness
|
||||
|
||||
|
||||
$ut=Utilities
|
||||
$d=[$ut]
|
||||
# binddl = $mainMod, K, $d toggle keyboard layout , exec, $scrPath/keyboardswitch.sh # switch keyboard layout
|
||||
bindd = $mainMod Alt, G, $d game mode , exec, $scrPath/gamemode.sh # disable hypr effects for gamemode
|
||||
|
||||
$d=[$ut|Screen Capture]
|
||||
bindd = $mainMod Shift, P, $d color picker, exec, hyprpicker -an # Pick color (Hex) >> clipboard#
|
||||
bindd = $mainMod, P, $d snip screen , exec, $scrPath/screenshot.sh s # partial screenshot capture
|
||||
bindd = $mainMod Control, P, $d freeze and snip screen, exec, $scrPath/screenshot.sh sf # partial screenshot capture (frozen screen)
|
||||
binddl = $mainMod Alt, P, $d print monitor , exec, $scrPath/screenshot.sh m # monitor screenshot capture
|
||||
binddl = , Print, $d print all monitors , exec, $scrPath/screenshot.sh p # all monitors screenshot capture
|
||||
|
||||
# TODO Make a main rofi menu for these selectors
|
||||
$rice=Theming and Wallpaper
|
||||
$d=[$rice]
|
||||
bindd = $mainMod Alt Control Shift, Right, $d next global wallpaper , exec, $scrPath/wallpaper.sh -Gn # next global wallpaper
|
||||
bindd = $mainMod Alt Control Shift, Left, $d previous global wallpaper , exec, $scrPath/wallpaper.sh -Gp # previous global wallpaper
|
||||
bindd = $mainMod Shift, W, $d select a global wallpaper , exec, pkill -x rofi || $scrPath/wallpaper.sh -SG # launch wallpaper select menu
|
||||
# bindd = $mainMod Alt, Up, $d next waybar layout , exec, $scrPath/wbarconfgen.sh n # next waybar mode
|
||||
# bindd = $mainMod Alt, Down, $d previous waybar layout , exec, $scrPath/wbarconfgen.sh p # previous waybar mode
|
||||
bindd = $mainMod Shift, R, $d reload hyprland + waybar, exec, hyprctl reload; killall waybar; setsid -f waybar -c ~/.config/waybar/layouts/custom.jsonc -s ~/.config/waybar/layouts/custom.css
|
||||
# bindd = $mainMod Shift, R, $d wallbash mode selector , exec, pkill -x rofi || $scrPath/wallbashtoggle.sh -m # (HyDE default; needs framework)
|
||||
# bindd = $mainMod Shift, T, $d select a theme, exec, pkill -x rofi || $scrPath/themeselect.sh # launch theme select menu
|
||||
|
||||
|
||||
|
||||
$ws=Workspaces
|
||||
$d=[$ws|Navigation]
|
||||
bindd = $mainMod, 1, $d navigate to workspace 1 , workspace, r~1
|
||||
bindd = $mainMod, 2, $d navigate to workspace 2 , workspace, r~2
|
||||
bindd = $mainMod, 3, $d navigate to workspace 3 , workspace, r~3
|
||||
bindd = $mainMod, 4, $d navigate to workspace 4 , workspace, r~4
|
||||
bindd = $mainMod, 5, $d navigate to workspace 5 , workspace, r~5
|
||||
bindd = $mainMod, 6, $d navigate to workspace 6 , workspace, r~6
|
||||
bindd = $mainMod, 7, $d navigate to workspace 7 , workspace, r~7
|
||||
bindd = $mainMod, 8, $d navigate to workspace 8 , workspace, r~8
|
||||
bindd = $mainMod, 9, $d navigate to workspace 9 , workspace, r~9
|
||||
bindd = $mainMod, 0, $d navigate to workspace 10 , workspace, r~10
|
||||
|
||||
$d=[$ws|Navigation|Relative workspace]
|
||||
bindd = $mainMod Control Shift, Right, $d change active workspace forwards , workspace, r+1
|
||||
bindd = $mainMod Control Shift, Left, $d change active workspace backwards , workspace, r-1
|
||||
bindd = $mainMod Control Shift, L, $d change active workspace forwards , workspace, r+1
|
||||
bindd = $mainMod Control Shift, H, $d change active workspace backwards , workspace, r-1
|
||||
|
||||
$d=[$ws|Navigation]
|
||||
# E for "empty" — Super+Ctrl+Down is taken by movefocus above
|
||||
bindd = $mainMod Control, E, $d navigate to the nearest empty workspace , workspace, empty
|
||||
|
||||
# Move focused window to a workspace
|
||||
$d=[$ws|Move window to workspace]
|
||||
bindd = $mainMod Control, 1, $d move to workspace 1 , movetoworkspace, r~1
|
||||
bindd = $mainMod Control, 2, $d move to workspace 2 , movetoworkspace, r~2
|
||||
bindd = $mainMod Control, 3, $d move to workspace 3 , movetoworkspace, r~3
|
||||
bindd = $mainMod Control, 4, $d move to workspace 4 , movetoworkspace, r~4
|
||||
bindd = $mainMod Control, 5, $d move to workspace 5 , movetoworkspace, r~5
|
||||
bindd = $mainMod Control, 6, $d move to workspace 6 , movetoworkspace, r~6
|
||||
bindd = $mainMod Control, 7, $d move to workspace 7 , movetoworkspace, r~7
|
||||
bindd = $mainMod Control, 8, $d move to workspace 8 , movetoworkspace, r~8
|
||||
bindd = $mainMod Control, 9, $d move to workspace 9 , movetoworkspace, r~9
|
||||
bindd = $mainMod Control, 0, $d move to workspace 10 , movetoworkspace, r~10
|
||||
|
||||
# Move focused window to a relative workspace
|
||||
$d=[$ws]
|
||||
bindd = $mainMod Control Alt, Right, $d move window to next relative workspace , movetoworkspace, r+1
|
||||
bindd = $mainMod Control Alt, Left, $d move window to previous relative workspace , movetoworkspace, r-1
|
||||
bindd = $mainMod Control Alt, l, $d move window to next relative workspace , movetoworkspace, r+1
|
||||
bindd = $mainMod Control Alt, h, $d move window to previous relative workspace , movetoworkspace, r-1
|
||||
|
||||
# Scroll through existing workspaces
|
||||
$d=[$ws|Navigation]
|
||||
bindd = $mainMod, mouse_down, $d next workspace, workspace, e+1
|
||||
bindd = $mainMod, mouse_up, $d previous workspace, workspace, e-1
|
||||
|
||||
|
||||
# Move/Switch to special workspace (scratchpad)
|
||||
$d=[$ws|Navigation|Special workspace]
|
||||
bindd = $mainMod Shift, S, $d move to scratchpad , movetoworkspace, special
|
||||
bindd = $mainMod Alt, S, $d move to scratchpad (silent) , movetoworkspacesilent, special
|
||||
bindd = $mainMod, S, $d toggle scratchpad , togglespecialworkspace
|
||||
|
||||
# Move focused window to a workspace silently
|
||||
$d=[$ws|Navigation|Move window silently]
|
||||
bindd = $mainMod Alt, 1, $d move to workspace 1 (silent), movetoworkspacesilent, r~1
|
||||
bindd = $mainMod Alt, 2, $d move to workspace 2 (silent), movetoworkspacesilent, r~2
|
||||
bindd = $mainMod Alt, 3, $d move to workspace 3 (silent), movetoworkspacesilent, r~3
|
||||
bindd = $mainMod Alt, 4, $d move to workspace 4 (silent), movetoworkspacesilent, r~4
|
||||
bindd = $mainMod Alt, 5, $d move to workspace 5 (silent), movetoworkspacesilent, r~5
|
||||
bindd = $mainMod Alt, 6, $d move to workspace 6 (silent), movetoworkspacesilent, r~6
|
||||
bindd = $mainMod Alt, 7, $d move to workspace 7 (silent), movetoworkspacesilent, r~7
|
||||
bindd = $mainMod Alt, 8, $d move to workspace 8 (silent), movetoworkspacesilent, r~8
|
||||
bindd = $mainMod Alt, 9, $d move to workspace 9 (silent), movetoworkspacesilent, r~9
|
||||
bindd = $mainMod Alt, 0, $d move to workspace 10 (silent), movetoworkspacesilent, r~10
|
||||
|
||||
|
||||
|
||||
$d=#! unset the group name
|
||||
@@ -0,0 +1,6 @@
|
||||
# Default monitor config (fallback shared by all GUI hosts).
|
||||
# Per-host overlays (lw/, wm/, fl/, …) override this with their own monitors.conf via
|
||||
# stow --override. It exists here so `source = ./monitors.conf` in hyprland.conf always
|
||||
# resolves — even mid-install, before the host overlay is stowed (avoids the transient
|
||||
# "source globbing error: found no match").
|
||||
monitor = , preferred, auto, 1
|
||||
@@ -0,0 +1,43 @@
|
||||
|
||||
# █░█ █▀ █▀▀ █▀█ █▀█ █▀█ █▀▀ █▀▀ █▀
|
||||
# █▄█ ▄█ ██▄ █▀▄ █▀▀ █▀▄ ██▄ █▀░ ▄█
|
||||
|
||||
# Set your personal hyprland configuration here
|
||||
|
||||
|
||||
# BAR BLUR
|
||||
#
|
||||
# The blur behind the bars only ever came from HyDE's *generated* `hypr/themes/theme.conf`,
|
||||
# which this repo deliberately does not carry (HyDE writes it per host) — so without this
|
||||
# block the bars have no blur behind them. That generated file also still ships the pre-0.45
|
||||
# form (`layerrule = blur,waybar`), which current hyprland rejects; HyDE wraps the source in
|
||||
# `hyprlang noerror true`, so it fails silently either way. Re-declared here in the current
|
||||
# `<rule>,match:namespace <ns>` syntax, matching windowrules.conf. `layerrule` is additive.
|
||||
# Keep comments on their own lines: a trailing one is parsed as part of the value.
|
||||
# (`cavabar` is the standalone cava bar from waybar/layouts/custom.jsonc.)
|
||||
layerrule = blur true,match:namespace waybar
|
||||
layerrule = ignore_alpha 0,match:namespace waybar
|
||||
layerrule = blur true,match:namespace cavabar
|
||||
layerrule = ignore_alpha 0,match:namespace cavabar
|
||||
|
||||
|
||||
|
||||
# // █░░ ▄▀█ █░█ █▄░█ █▀▀ █░█
|
||||
# // █▄▄ █▀█ █▄█ █░▀█ █▄▄ █▀█
|
||||
|
||||
# (xremap lives in lw's host.conf — it's the only host with an xremap config; wm uses evremap)
|
||||
env = SSH_AUTH_SOCK,$XDG_RUNTIME_DIR/ssh-agent.socket # ssh on start
|
||||
env = ELECTRON_OZONE_PLATFORM_HINT,x11 # Disable after hyprland fixes electron flickering
|
||||
exec-once = waybar -c ~/.config/waybar/layouts/custom.jsonc -s ~/.config/waybar/layouts/custom.css
|
||||
|
||||
# (No static `noanim` layerrule: current Hyprland rejects it in the match: syntax, and
|
||||
# grimblast already suppresses selection animation at runtime via `hyprctl keyword layerrule`.)
|
||||
|
||||
|
||||
# I know there is like two 'solutions' already, so have third one - (tested GTX 1060, 555.58.02 drivers) - run flickery apps with --disable-gpu-compositing. This makes apps slightly less smooth (GPU still used tho), but fixes the issue. I think this is better then to disable damage_tracking, which works too.
|
||||
|
||||
# render {
|
||||
# explicit_sync = 1
|
||||
# explicit_sync_kms = 1
|
||||
# direct_scanout = no
|
||||
# }
|
||||
@@ -0,0 +1,145 @@
|
||||
|
||||
# █░█░█ █ █▄░█ █▀▄ █▀█ █░█░█ █▀█ █░█ █░░ █▀▀ █▀
|
||||
# ▀▄▀▄▀ █ █░▀█ █▄▀ █▄█ ▀▄▀▄▀ █▀▄ █▄█ █▄▄ ██▄ ▄█
|
||||
|
||||
# See https://wiki.hypr.land/Configuring/Window-Rules/
|
||||
|
||||
#? ------- WINDOWRULES_HYPRLAND_V_0_53 COMPATIBLE ----------------
|
||||
# This Config is compatible with windowrules changes in Hyprland v0.53+
|
||||
# Any future breaking changes disables this block and notifies the user to update.
|
||||
# User template files will be provided in $XDG_DATA_HOME/hyde/templates/hypr/windowrules.conf for manual update.
|
||||
|
||||
# hyprlang if WINDOWRULES_HYPRLAND_V_0_53
|
||||
|
||||
# idle_inhibit rules
|
||||
windowrule = idle_inhibit fullscreen, match:class ^(.*celluloid.*)$|^(.*mpv.*)$|^(.*vlc.*)$
|
||||
windowrule = idle_inhibit fullscreen, match:class ^(.*[Ss]potify.*)$
|
||||
windowrule = idle_inhibit fullscreen, match:class ^(.*LibreWolf.*)$|^(.*floorp.*)$|^(.*brave-browser.*)$|^(.*firefox.*)$|^(.*chromium.*)$|^(.*zen.*)$|^(.*vivaldi.*)$
|
||||
|
||||
# Picture-in-Picture
|
||||
windowrule {
|
||||
name = hyde_picture_in_picture
|
||||
match:title = ^([Pp]icture[-\s]?[Ii]n[-\s]?[Pp]icture)(.*)$
|
||||
tag = +picture-in-picture
|
||||
tag = +hyde_picture_in_picture
|
||||
float = true
|
||||
keep_aspect_ratio = true
|
||||
move = (monitor_w*0.73) (monitor_h*0.72)
|
||||
size = (monitor_w*0.25) (monitor_h*0.25)
|
||||
pin = true
|
||||
}
|
||||
|
||||
windowrule = opacity 0.90 $& 0.90 $& 1,match:class ^(firefox)$
|
||||
windowrule = opacity 0.90 $& 0.90 $& 1,match:class ^(zen)$
|
||||
windowrule = opacity 0.90 $& 0.90 $& 1,match:class ^(brave-browser)$
|
||||
windowrule = opacity 0.80 $& 0.80 $& 1,match:class ^(code-oss)$
|
||||
windowrule = opacity 0.80 $& 0.80 $& 1,match:class ^([Cc]ode)$
|
||||
windowrule = opacity 0.80 $& 0.80 $& 1,match:class ^(code-url-handler)$
|
||||
windowrule = opacity 0.80 $& 0.80 $& 1,match:class ^(code-insiders-url-handler)$
|
||||
windowrule = opacity 0.80 $& 0.80 $& 1,match:class ^(kitty)$
|
||||
windowrule = opacity 0.80 $& 0.80 $& 1,match:class ^(org.kde.dolphin)$
|
||||
windowrule = opacity 0.80 $& 0.80 $& 1,match:class ^(org.kde.ark)$
|
||||
windowrule = opacity 0.80 $& 0.80 $& 1,match:class ^(nwg-look)$
|
||||
windowrule = opacity 0.80 $& 0.80 $& 1,match:class ^(qt5ct)$
|
||||
windowrule = opacity 0.80 $& 0.80 $& 1,match:class ^(qt6ct)$
|
||||
windowrule = opacity 0.80 $& 0.80 $& 1,match:class ^(kvantummanager)$
|
||||
windowrule = opacity 0.80 $& 0.70 $& 1,match:class ^(org.pulseaudio.pavucontrol)$
|
||||
windowrule = opacity 0.80 $& 0.70 $& 1,match:class ^(blueman-manager)$
|
||||
windowrule = opacity 0.80 $& 0.70 $& 1,match:class ^(nm-applet)$
|
||||
windowrule = opacity 0.80 $& 0.70 $& 1,match:class ^(nm-connection-editor)$
|
||||
windowrule = opacity 0.80 $& 0.70 $& 1,match:class ^(hyprpolkitagent)$
|
||||
windowrule = opacity 0.80 $& 0.70 $& 1,match:class ^(org.freedesktop.impl.portal.desktop.gtk)$
|
||||
windowrule = opacity 0.80 $& 0.70 $& 1,match:class ^(org.freedesktop.impl.portal.desktop.hyprland)$
|
||||
windowrule = opacity 0.70 $& 0.70 $& 1,match:class ^([Ss]team)$
|
||||
windowrule = opacity 0.70 $& 0.70 $& 1,match:class ^(steamwebhelper)$
|
||||
windowrule = opacity 0.70 $& 0.70 $& 1,match:class ^([Ss]potify)$
|
||||
windowrule = opacity 0.70 $& 0.70 $& 1,match:initial_title ^(Spotify Free)$
|
||||
windowrule = opacity 0.70 $& 0.70 $& 1,match:initial_title ^(Spotify Premium)$
|
||||
windowrule = opacity 1.00 $& 1.00 $& 1,match:class ^(blender)$
|
||||
|
||||
windowrule = opacity 0.90 0.90,match:class ^(com.github.rafostar.Clapper)$ # Clapper-Gtk
|
||||
windowrule = opacity 0.80 0.80,match:class ^(com.github.tchx84.Flatseal)$ # Flatseal-Gtk
|
||||
windowrule = opacity 0.80 0.80,match:class ^(hu.kramo.Cartridges)$ # Cartridges-Gtk
|
||||
windowrule = opacity 0.80 0.80,match:class ^(com.obsproject.Studio)$ # Obs-Qt
|
||||
windowrule = opacity 0.80 0.80,match:class ^(gnome-boxes)$ # Boxes-Gtk
|
||||
windowrule = opacity 0.80 0.80,match:class ^(vesktop)$ # Vesktop
|
||||
windowrule = opacity 0.80 0.80,match:class ^(discord)$ # Discord-Electron
|
||||
windowrule = opacity 0.80 0.80,match:class ^(WebCord)$ # WebCord-Electron
|
||||
windowrule = opacity 0.80 0.80,match:class ^(ArmCord)$ # ArmCord-Electron
|
||||
windowrule = opacity 0.80 0.80,match:class ^(app.drey.Warp)$ # Warp-Gtk
|
||||
windowrule = opacity 0.80 0.80,match:class ^(net.davidotek.pupgui2)$ # ProtonUp-Qt
|
||||
windowrule = opacity 0.80 0.80,match:class ^(yad)$ # Protontricks-Gtk
|
||||
windowrule = opacity 0.80 0.80,match:class ^(Signal)$ # Signal-Gtk
|
||||
windowrule = opacity 0.80 0.80,match:class ^(io.github.alainm23.planify)$ # planify-Gtk
|
||||
windowrule = opacity 0.80 0.80,match:class ^(io.gitlab.theevilskeleton.Upscaler)$ # Upscaler-Gtk
|
||||
windowrule = opacity 0.80 0.80,match:class ^(com.github.unrud.VideoDownloader)$ # VideoDownloader-Gtk
|
||||
windowrule = opacity 0.80 0.80,match:class ^(io.gitlab.adhami3310.Impression)$ # Impression-Gtk
|
||||
windowrule = opacity 0.80 0.80,match:class ^(io.missioncenter.MissionCenter)$ # MissionCenter-Gtk
|
||||
windowrule = opacity 0.80 0.80,match:class ^(io.github.flattool.Warehouse)$ # Warehouse-Gtk
|
||||
|
||||
windowrule = float true,match:class ^(Signal)$ # Signal-Gtk
|
||||
windowrule = float true,match:class ^(com.github.rafostar.Clapper)$ # Clapper-Gtk
|
||||
windowrule = float true,match:class ^(app.drey.Warp)$ # Warp-Gtk
|
||||
windowrule = float true,match:class ^(net.davidotek.pupgui2)$ # ProtonUp-Qt
|
||||
windowrule = float true,match:class ^(yad)$ # Protontricks-Gtk
|
||||
windowrule = float true,match:class ^(eog)$ # Imageviewer-Gtk
|
||||
windowrule = float true,match:class ^(io.github.alainm23.planify)$ # planify-Gtk
|
||||
windowrule = float true,match:class ^(io.gitlab.theevilskeleton.Upscaler)$ # Upscaler-Gtk
|
||||
windowrule = float true,match:class ^(com.github.unrud.VideoDownloader)$ # VideoDownloader-Gkk
|
||||
windowrule = float true,match:class ^(io.gitlab.adhami3310.Impression)$ # Impression-Gtk
|
||||
windowrule = float true,match:class ^(io.missioncenter.MissionCenter)$ # MissionCenter-Gtk
|
||||
windowrule = float true,match:title ^(Friends List)$ # Steam Friends List
|
||||
windowrule = float true,match:title ^(Steam Settings)$ # Steam Settings
|
||||
windowrule = float true,match:initial_title ^(Image Editor)$,match:class ^(blender)$ # Blender Render
|
||||
windowrule = size (monitor_w*0.5) (monitor_h*0.5),match:initial_title ^(Image Editor)$,match:class ^(blender)$
|
||||
windowrule = float true, match:initial_title ^(Ghidra: NO ACTIVE PROJECT) #Ghidra Project manager
|
||||
|
||||
# workaround for jetbrains IDEs dropdowns/popups cause flickering
|
||||
windowrule = no_initial_focus true,match:class ^(.*jetbrains.*)$,match:title ^(win[0-9]+)$
|
||||
|
||||
# █░░ ▄▀█ █▄█ █▀▀ █▀█ █▀█ █░█ █░░ █▀▀ █▀
|
||||
# █▄▄ █▀█ ░█░ ██▄ █▀▄ █▀▄ █▄█ █▄▄ ██▄ ▄█
|
||||
|
||||
layerrule = blur true,match:namespace rofi
|
||||
layerrule = ignore_alpha 0,match:namespace rofi
|
||||
layerrule = blur true,match:namespace notifications
|
||||
layerrule = ignore_alpha 0,match:namespace notifications
|
||||
layerrule = blur true,match:namespace swaync-notification-window
|
||||
layerrule = ignore_alpha 0,match:namespace swaync-notification-window
|
||||
layerrule = blur true,match:namespace swaync-control-center
|
||||
layerrule = ignore_alpha 0,match:namespace swaync-control-center
|
||||
layerrule = blur true,match:namespace logout_dialog
|
||||
|
||||
# █▀▄ █▀█ ▀█▀ █▀ █▀▀ █░█ █▀ ▀█▀ █▀█ █▀▄▀█
|
||||
# █▄▀ █▄█ ░█░ ▄█ █▄▄ █▄█ ▄█ ░█░ █▄█ █░▀░█
|
||||
# dots-only rules preserved from the legacy windowrules.conf (converted to v0.53 syntax)
|
||||
|
||||
# float utility / settings / dialog windows
|
||||
windowrule = float true,match:class ^(org.kde.dolphin)$,match:title ^(Progress Dialog — Dolphin)$
|
||||
windowrule = float true,match:class ^(org.kde.dolphin)$,match:title ^(Copying — Dolphin)$
|
||||
windowrule = float true,match:title ^(About Mozilla Firefox)$
|
||||
windowrule = float true,match:class ^(firefox)$,match:title ^(Library)$
|
||||
windowrule = float true,match:class ^(kitty)$,match:title ^(top)$
|
||||
windowrule = float true,match:class ^(kitty)$,match:title ^(btop)$
|
||||
windowrule = float true,match:class ^(kitty)$,match:title ^(htop)$
|
||||
windowrule = float true,match:class ^(vlc)$
|
||||
windowrule = float true,match:class ^(kvantummanager)$
|
||||
windowrule = float true,match:class ^(qt5ct)$
|
||||
windowrule = float true,match:class ^(qt6ct)$
|
||||
windowrule = float true,match:class ^(nwg-look)$
|
||||
windowrule = float true,match:class ^(org.kde.ark)$
|
||||
windowrule = float true,match:class ^(org.pulseaudio.pavucontrol)$
|
||||
windowrule = float true,match:class ^(blueman-manager)$
|
||||
windowrule = float true,match:class ^(nm-applet)$
|
||||
windowrule = float true,match:class ^(nm-connection-editor)$
|
||||
windowrule = float true,match:class ^(org.kde.polkit-kde-authentication-agent-1)$
|
||||
windowrule = float true,match:class ^(xdg-desktop-portal-gtk)$
|
||||
|
||||
# common file-dialog modals
|
||||
windowrule = float true,match:title ^(Open)$
|
||||
windowrule = float true,match:title ^(Choose Files)$
|
||||
windowrule = float true,match:title ^(Save As)$
|
||||
windowrule = float true,match:title ^(Confirm to replace files)$
|
||||
windowrule = float true,match:title ^(File Operation Progress)$
|
||||
|
||||
# hyprlang endif
|
||||
@@ -0,0 +1,14 @@
|
||||
# run with `kitty --session ~/.config/kitty/c2.conf`
|
||||
|
||||
# create a new tab
|
||||
new_tab c2
|
||||
|
||||
cd ~/projects/wingman/wm-clients/c2/c2-main/
|
||||
launch --var window=first nvim
|
||||
# open the session focused on nvim
|
||||
focus
|
||||
|
||||
new_tab git
|
||||
|
||||
cd ~/projects/wingman/wm-clients/c2/c2-main/
|
||||
launch --var window=second lazygit
|
||||
@@ -0,0 +1,2 @@
|
||||
# Per-host kitty overrides. Empty by default — a host overlay (e.g. lw/) replaces this file
|
||||
# to tweak font_size/padding/opacity for that machine. kitty.conf includes it LAST.
|
||||
@@ -0,0 +1,21 @@
|
||||
include theme.conf
|
||||
|
||||
font_size 12.0
|
||||
font_family CaskaydiaCove Nerd Font Mono
|
||||
bold_font auto
|
||||
italic_font auto
|
||||
bold_italic_font auto
|
||||
window_padding_width 25
|
||||
enable_audio_bell no
|
||||
cursor_trail 1
|
||||
cursor_blink_interval 0.4 ease-in-out
|
||||
|
||||
tab_bar_style powerline
|
||||
tab_powerline_style slanted
|
||||
|
||||
confirm_os_window_close 0
|
||||
#background_opacity 0.60
|
||||
#hide_window_decorations yes
|
||||
|
||||
# Per-host overrides (font_size, padding, opacity…) — included last so it wins.
|
||||
include host.conf
|
||||
@@ -0,0 +1,20 @@
|
||||
# run with `kitty --session ~/.config/kitty/music.conf`
|
||||
|
||||
# os_window_size 220c 64c
|
||||
# create a new tab
|
||||
new_tab music
|
||||
layout splits
|
||||
|
||||
# set the working directory for windows in the current tab
|
||||
cd ~
|
||||
|
||||
# Splits are sized with --bias (a percentage of the space being split) rather
|
||||
# than `resize_window taller/wider N`: that takes N *cells*, so on a small window
|
||||
# N swamps the available space and the other pane collapses to nothing -- cava
|
||||
# was disappearing. --bias keeps the same proportions at any window size.
|
||||
# Tune: --bias here is the share the *new* pane takes; cava gets the remainder.
|
||||
launch --var window=first cava
|
||||
# create additional terminals
|
||||
launch --location=hsplit --bias 80 pyradio
|
||||
focus
|
||||
launch --location=vsplit --bias 65 pipes-rs
|
||||
@@ -0,0 +1,25 @@
|
||||
# run with `kitty --session ~/.config/kitty/runners.conf`
|
||||
|
||||
##### TAB Logs #####
|
||||
new_tab logs
|
||||
layout splits
|
||||
|
||||
cd ~/projects/wingman/wm-clients/c2/c2-main/
|
||||
|
||||
# --hold keeps the window open if the process crashes
|
||||
launch --var window=first --hold pnpm dev
|
||||
|
||||
launch --location=hsplit lazydocker
|
||||
# resize_window wider 120
|
||||
|
||||
|
||||
##### TAB Runners #####
|
||||
new_tab runners
|
||||
layout splits
|
||||
|
||||
launch --var window=first react-devtools
|
||||
|
||||
cd ~/software/wmclient/
|
||||
|
||||
launch --location=hsplit --hold ./wmsimulator.sh
|
||||
resize_window taller 120
|
||||
@@ -0,0 +1,61 @@
|
||||
|
||||
# The basic colors
|
||||
foreground #ffffff
|
||||
background #262335
|
||||
selection_foreground #262335
|
||||
selection_background #f97e72
|
||||
|
||||
# Cursor colors
|
||||
cursor #f97e72
|
||||
cursor_text_color #262335
|
||||
|
||||
# URL underline color when hovering with mouse
|
||||
url_color #f97e72
|
||||
|
||||
# OS Window titlebar colors
|
||||
wayland_titlebar_color system
|
||||
macos_titlebar_color system
|
||||
|
||||
# Colors for marks (marked text in the terminal)
|
||||
mark1_foreground #262335
|
||||
mark1_background #614D85
|
||||
mark2_foreground #262335
|
||||
mark2_background #614D85
|
||||
mark3_foreground #262335
|
||||
mark3_background #614D85
|
||||
|
||||
# The 16 terminal colors
|
||||
|
||||
# black
|
||||
color0 #232530
|
||||
# bright-black = dim/secondary text (menus, comments); was #232530 ≈ background so it
|
||||
# rendered invisible. Lifted to the theme's muted lavender for legible dim text.
|
||||
color8 #848bbd
|
||||
|
||||
# red
|
||||
color1 #fe4450
|
||||
color9 #fe4450
|
||||
|
||||
# green
|
||||
color2 #72f1b8
|
||||
color10 #72f1b8
|
||||
|
||||
# yellow
|
||||
color3 #ff7edb
|
||||
color11 #ff7edb
|
||||
|
||||
# blue
|
||||
color4 #03edf9
|
||||
color12 #03edf9
|
||||
|
||||
# magenta
|
||||
color5 #fede5d
|
||||
color13 #f3e70f
|
||||
|
||||
# cyan
|
||||
color6 #03edf9
|
||||
color14 #03edf9
|
||||
|
||||
# white
|
||||
color7 #ffffff
|
||||
color15 #ffffff
|
||||
@@ -0,0 +1,65 @@
|
||||
# Volume
|
||||
9 add volume -5
|
||||
0 add volume 5
|
||||
|
||||
UP add volume 2
|
||||
DOWN add volume -2
|
||||
|
||||
k add volume 2
|
||||
j add volume -2
|
||||
|
||||
# Seek backward / forward
|
||||
LEFT seek -5
|
||||
RIGHT seek 5
|
||||
|
||||
l seek 5
|
||||
h seek -5
|
||||
|
||||
# Bigger jumps
|
||||
Shift+LEFT seek -30
|
||||
Shift+RIGHT seek 30
|
||||
|
||||
# Precise nudge (Shift+h/l): 1s exact seek
|
||||
H seek -1 exact
|
||||
L seek 1 exact
|
||||
|
||||
# Playback speed
|
||||
= add speed 0.1
|
||||
- add speed -0.1
|
||||
BS set speed 1.0 # backspace resets to normal
|
||||
|
||||
# Subtitle sync
|
||||
z add sub-delay -0.1 # subs earlier
|
||||
Z add sub-delay 0.1 # subs later
|
||||
|
||||
# Chapters
|
||||
> add chapter 1
|
||||
< add chapter -1
|
||||
|
||||
# A-B loop (moved off L to avoid the precise-nudge conflict)
|
||||
b ab-loop
|
||||
|
||||
# Audio sync (mirrors the z/Z subtitle-delay pair)
|
||||
x add audio-delay -0.1 # audio earlier
|
||||
X add audio-delay 0.1 # audio later
|
||||
|
||||
# Playlist nav (< / > are used for chapters)
|
||||
[ playlist-prev
|
||||
] playlist-next
|
||||
|
||||
# Track cycling
|
||||
a cycle audio # next audio track
|
||||
n cycle sub # next subtitle track
|
||||
v cycle sub-visibility # (default) toggle subs on/off
|
||||
|
||||
# Loop current file (distinct from the b A-B loop)
|
||||
r cycle-values loop-file inf no
|
||||
|
||||
# Screenshots
|
||||
s screenshot # (default) with subs
|
||||
S screenshot video # clean frame: no subs/OSD
|
||||
|
||||
# Info overlays
|
||||
i script-binding stats/display-stats-toggle # (default) stats HUD
|
||||
o show-progress # flash progress/OSD
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
[pyradio]
|
||||
volume=50
|
||||
|
||||
|
||||
|
||||
Executable
+51
@@ -0,0 +1,51 @@
|
||||
#!/usr/bin/env bash
|
||||
# Self-contained waybar cava module: stream `cava` raw output as Unicode bar chars.
|
||||
# No HyDE dependency — just needs `cava` installed. Usage: cava-waybar.sh [bars]
|
||||
# bars = number of columns (even; ~screen_px / (font-size * 0.6)); default 94.
|
||||
#
|
||||
# waybar's custom/cava module uses restart-interval, so this script is relaunched
|
||||
# every time it exits. Without cleanup each relaunch would leak an orphaned `cava`
|
||||
# child and they'd pile up. We enforce a single instance: track cava's own PID,
|
||||
# kill it on exit, and reap any stale instance left by a previous (crashed) run.
|
||||
bars="${1:-94}"
|
||||
chars="▁▂▃▄▅▆▇█" # cava ascii value 0..7 -> these
|
||||
|
||||
conf="$(mktemp)"
|
||||
pidfile="${XDG_RUNTIME_DIR:-/tmp}/cava-waybar.pid"
|
||||
|
||||
cava_pid=""
|
||||
cleanup() {
|
||||
[[ -n "$cava_pid" ]] && kill "$cava_pid" 2>/dev/null
|
||||
rm -f "$conf" "$pidfile"
|
||||
}
|
||||
trap cleanup EXIT INT TERM
|
||||
|
||||
# Reap a stale cava from a previous run that didn't clean up (e.g. hard kill).
|
||||
if [[ -f "$pidfile" ]]; then
|
||||
old="$(cat "$pidfile" 2>/dev/null)"
|
||||
[[ "$old" =~ ^[0-9]+$ ]] && kill "$old" 2>/dev/null
|
||||
fi
|
||||
|
||||
cat >"$conf" <<EOF
|
||||
[general]
|
||||
bars = $bars
|
||||
[output]
|
||||
method = raw
|
||||
raw_target = /dev/stdout
|
||||
data_format = ascii
|
||||
ascii_max_range = 7
|
||||
EOF
|
||||
|
||||
# sed program: drop the ';' separators, then map each digit 0..7 to its bar char
|
||||
prog="s/;//g"
|
||||
for i in 0 1 2 3 4 5 6 7; do
|
||||
prog+=";s/$i/${chars:$i:1}/g"
|
||||
done
|
||||
|
||||
# Run cava in the background (not a `cava | sed` pipeline) so we hold its real PID
|
||||
# and can kill it in cleanup. stdbuf -oL line-buffers cava so waybar gets each frame
|
||||
# immediately (no choppy lag); its stdout is piped to sed via process substitution.
|
||||
stdbuf -oL cava -p "$conf" > >(sed -u "$prog") &
|
||||
cava_pid=$!
|
||||
echo "$cava_pid" >"$pidfile"
|
||||
wait "$cava_pid"
|
||||
@@ -0,0 +1 @@
|
||||
98
|
||||
@@ -0,0 +1,332 @@
|
||||
// --// standalone two-bar cava rig — hand-maintained, NOT HyDE-generated (see README "Waybar") //-- //
|
||||
|
||||
[
|
||||
{
|
||||
// sourced from header module //
|
||||
|
||||
"layer": "top",
|
||||
"position": "top",
|
||||
"height": 33,
|
||||
"exclusive": true,
|
||||
"passthrough": false,
|
||||
"gtk-layer-shell": true,
|
||||
"reload_style_on_change": true,
|
||||
|
||||
|
||||
// positions generated based on config.ctl //
|
||||
|
||||
"modules-left": ["custom/l_end","custom/power","custom/r_end","hyprland/workspaces", "custom/sl_end","hyprland/window","custom/sr_end","custom/l_end","custom/wallchange","custom/cliphist","custom/r_end"],
|
||||
"modules-center": ["wlr/taskbar"],
|
||||
"modules-right": ["custom/l_end","backlight","pulseaudio","pulseaudio#microphone","mpris","custom/r_end","custom/l_end","memory","cpu","custom/cpuinfo","battery","custom/r_end","custom/l_end","tray","custom/r_end","custom/l_end","idle_inhibitor","clock","custom/r_end"],
|
||||
|
||||
// sourced from modules based on config.ctl //
|
||||
|
||||
"tray": {
|
||||
"icon-size": 19,
|
||||
"rotate": 0,
|
||||
"spacing": 5
|
||||
},
|
||||
|
||||
// NOTE: keep in sync with modules/window.jsonc — this layout is launched standalone
|
||||
// (waybar -c), so the modules/ file is NOT read here; this inline copy is what renders.
|
||||
"hyprland/window": {
|
||||
"format": " {}",
|
||||
"rotate": 0,
|
||||
"separate-outputs": true,
|
||||
"max-length": 1000,
|
||||
"rewrite": {
|
||||
"(.*) — Kitty": " $1",
|
||||
"(.*)~": " $1",
|
||||
"(.*) — Mozilla Firefox": " $1",
|
||||
"(.*)Mozilla Firefox": " Firefox",
|
||||
"(.*) — LibreWolf": " $1",
|
||||
"(.*)LibreWolf": " LibreWolf",
|
||||
"(.*) — Chromium": " $1",
|
||||
"(.*)Chromium": " Chromium",
|
||||
"(.*) - VSCodium": " $1",
|
||||
"(.*)VSCodium": " VSCodium",
|
||||
"(.*)Code - OSS": " $1",
|
||||
"(.*) - Visual Studio Code": " $1",
|
||||
"(.*)Visual Studio Code": " Code",
|
||||
"(.*) — Dolphin": " $1",
|
||||
"(.*) - Obsidian(.*)": " $1",
|
||||
"(.*)Ferdium": " Ferdium",
|
||||
"(.*)FreeTube": " FreeTube",
|
||||
"(.*) - VLC media player": " $1",
|
||||
"(.*)Steam": " Steam",
|
||||
"(.*)Neovide": " Nvim",
|
||||
"(.*)Neovim": " Nvim",
|
||||
"(.*)Nvim": " Nvim",
|
||||
"(.*)Gajim": " Gajim",
|
||||
"(.*)KeePassXC": " KeePassXC",
|
||||
"(.*)Betterbird": " Betterbird",
|
||||
"(.*)Spotify": " Spotify"
|
||||
}
|
||||
},
|
||||
"hyprland/workspaces": {
|
||||
"window-rewrite-default":"",
|
||||
"all-outputs": true,
|
||||
"active-only": false,
|
||||
"on-click": "activate",
|
||||
"disable-scroll": false,
|
||||
"on-scroll-up": "hyprctl dispatch workspace -1",
|
||||
"on-scroll-down": "hyprctl dispatch workspace +1",
|
||||
"persistent-workspaces": {}
|
||||
},
|
||||
|
||||
"cpu": {
|
||||
"interval": 10,
|
||||
"format": " {usage}%",
|
||||
"format-alt": "{icon0}{icon1}{icon2}{icon3}",
|
||||
"format-icons": ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"]
|
||||
},
|
||||
|
||||
"custom/cpuinfo": {
|
||||
"exec": " cpuinfo.sh",
|
||||
"return-type": "json",
|
||||
"format": "{}",
|
||||
"rotate": 0,
|
||||
"interval": 5, // once every 5 seconds
|
||||
"tooltip": true,
|
||||
"max-length": 1000
|
||||
},
|
||||
|
||||
"memory": {
|
||||
"states": {
|
||||
"c": 90, // critical
|
||||
"h": 60, // high
|
||||
"m": 30 // medium
|
||||
},
|
||||
"interval": 30,
|
||||
"rotate": 0,
|
||||
"format": " {used:0.1f}GB",
|
||||
"format-m": " {used:0.1f}GB",
|
||||
"format-h": " {used:0.1f}GB",
|
||||
"format-c": " {used:0.1f}GB",
|
||||
"format-alt": " {percentage}%",
|
||||
"max-length": 10,
|
||||
"tooltip": true,
|
||||
"tooltip-format": " {percentage}%\n {used:0.1f}GB/{total:0.1f}GB"
|
||||
},
|
||||
|
||||
"custom/power": {
|
||||
"format": "{}",
|
||||
"rotate": 0,
|
||||
"exec": "echo ; echo logout",
|
||||
"on-click": "logoutlaunch.sh 2",
|
||||
"on-click-right": "logoutlaunch.sh 1",
|
||||
"interval" : 86400, // once every day
|
||||
"tooltip": true
|
||||
},
|
||||
|
||||
"wlr/taskbar": {
|
||||
"format": "{icon}",
|
||||
"rotate": 0,
|
||||
"icon-size": 19,
|
||||
"icon-theme": "Tela-circle-dracula",
|
||||
"spacing": 0,
|
||||
"tooltip-format": "{title}",
|
||||
"on-click": "activate",
|
||||
"on-click-middle": "close",
|
||||
"ignore-list": [
|
||||
"Alacritty"
|
||||
],
|
||||
"app_ids-mapping": {
|
||||
"firefoxdeveloperedition": "firefox-developer-edition"
|
||||
}
|
||||
},
|
||||
|
||||
"idle_inhibitor": {
|
||||
"format": "{icon}",
|
||||
"rotate": 0,
|
||||
"format-icons": {
|
||||
"activated": "",
|
||||
"deactivated": ""
|
||||
}
|
||||
},
|
||||
"clock": {
|
||||
"format": "{:%H:%M}",
|
||||
"rotate": 0,
|
||||
"format-alt": "{:%R %d·%m·%y}",
|
||||
"tooltip-format": "<span>{calendar}</span>",
|
||||
"calendar": {
|
||||
"mode": "month",
|
||||
"mode-mon-col": 3,
|
||||
"on-scroll": 1,
|
||||
"on-click-right": "mode",
|
||||
"format": {
|
||||
"months": "<span color='#ffead3'><b>{}</b></span>",
|
||||
"weekdays": "<span color='#ffcc66'><b>{}</b></span>",
|
||||
"today": "<span color='#ff6699'><b>{}</b></span>"
|
||||
}
|
||||
},
|
||||
"actions": {
|
||||
"on-click-right": "mode",
|
||||
"on-click-forward": "tz_up",
|
||||
"on-click-backward": "tz_down",
|
||||
"on-scroll-up": "shift_up",
|
||||
"on-scroll-down": "shift_down"
|
||||
}
|
||||
},
|
||||
|
||||
"custom/cliphist": {
|
||||
"format": "{}",
|
||||
"rotate": 0,
|
||||
"exec": "echo ; echo clipboard history",
|
||||
"on-click": "sleep 0.1 && cliphist.sh c",
|
||||
"on-click-right": "sleep 0.1 && cliphist.sh d",
|
||||
"on-click-middle": "sleep 0.1 && cliphist.sh w",
|
||||
"interval" : 86400, // once every day
|
||||
"tooltip": true
|
||||
},
|
||||
|
||||
"custom/wallchange": {
|
||||
"format": "{}",
|
||||
"rotate": 0,
|
||||
"exec": "echo ; echo switch wallpaper",
|
||||
"on-click": "swwwallpaper.sh -n",
|
||||
"on-click-right": "swwwallpaper.sh -p",
|
||||
"on-click-middle": "sleep 0.1 && swwwallselect.sh",
|
||||
"interval" : 86400, // once every day
|
||||
"tooltip": true
|
||||
},
|
||||
|
||||
"pulseaudio": {
|
||||
"format": "{icon} {volume}",
|
||||
"rotate": 0,
|
||||
"format-muted": "婢",
|
||||
"on-click": "pavucontrol -t 3",
|
||||
"on-click-right": "volumecontrol.sh -s ''",
|
||||
"on-click-middle": "volumecontrol.sh -o m",
|
||||
"on-scroll-up": "volumecontrol.sh -o i",
|
||||
"on-scroll-down": "volumecontrol.sh -o d",
|
||||
"tooltip-format": "{icon} {desc} // {volume}%",
|
||||
"scroll-step": 5,
|
||||
"format-icons": {
|
||||
"headphone": "",
|
||||
"hands-free": "",
|
||||
"headset": "",
|
||||
"phone": "",
|
||||
"portable": "",
|
||||
"car": "",
|
||||
"default": ["", "", ""]
|
||||
}
|
||||
},
|
||||
|
||||
"pulseaudio#microphone": {
|
||||
"format": "{format_source}",
|
||||
"rotate": 0,
|
||||
"format-source": "",
|
||||
"format-source-muted": "",
|
||||
"on-click": "pavucontrol -t 4",
|
||||
"on-click-middle": "volumecontrol.sh -i m",
|
||||
"on-scroll-up": "volumecontrol.sh -i i",
|
||||
"on-scroll-down": "volumecontrol.sh -i d",
|
||||
"tooltip-format": "{format_source} {source_desc} // {source_volume}%",
|
||||
"scroll-step": 5
|
||||
},
|
||||
|
||||
"mpris": {
|
||||
"format": "{player_icon} {dynamic}",
|
||||
"rotate": 0,
|
||||
"format-paused": "{status_icon} <i>{dynamic}</i>",
|
||||
"player-icons": {
|
||||
"default": "▶",
|
||||
"mpv": "🎵"
|
||||
},
|
||||
"status-icons": {
|
||||
"paused": ""
|
||||
},
|
||||
"max-length": 1000,
|
||||
"interval": 1
|
||||
},
|
||||
|
||||
"battery": {
|
||||
"states": {
|
||||
"good": 95,
|
||||
"warning": 30,
|
||||
"critical": 20
|
||||
},
|
||||
"format": "{icon} {capacity}%",
|
||||
"rotate": 0,
|
||||
"format-charging": " {capacity}%",
|
||||
"format-plugged": " {capacity}%",
|
||||
"format-alt": "{time} {icon}",
|
||||
"format-icons": ["", "", "", "", "", "", "", "", "", "", ""]
|
||||
},
|
||||
|
||||
"backlight": {
|
||||
"device": "intel_backlight",
|
||||
"rotate": 0,
|
||||
"format": "{icon} {percent}%",
|
||||
"format-icons": ["", "", "", "", "", "", "", "", ""],
|
||||
"on-scroll-up": "brightnessctl set 1%+",
|
||||
"on-scroll-down": "brightnessctl set 1%-",
|
||||
"min-length": 6
|
||||
},
|
||||
// modules for padding //
|
||||
|
||||
"custom/l_end": {
|
||||
"format": " ",
|
||||
"interval" : "once",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"custom/r_end": {
|
||||
"format": " ",
|
||||
"interval" : "once",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"custom/sl_end": {
|
||||
"format": " ",
|
||||
"interval" : "once",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"custom/sr_end": {
|
||||
"format": " ",
|
||||
"interval" : "once",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"custom/rl_end": {
|
||||
"format": " ",
|
||||
"interval" : "once",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"custom/rr_end": {
|
||||
"format": " ",
|
||||
"interval" : "once",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"custom/padd": {
|
||||
"format": " ",
|
||||
"interval" : "once",
|
||||
"tooltip": false
|
||||
}
|
||||
},
|
||||
|
||||
// full-width cava visualizer layered behind the main bar //
|
||||
|
||||
{
|
||||
"name": "cavabar",
|
||||
"layer": "bottom",
|
||||
"position": "top",
|
||||
"height": 36,
|
||||
"margin-top": -33,
|
||||
"exclusive": false,
|
||||
"passthrough": true,
|
||||
"modules-center": ["custom/cava"],
|
||||
|
||||
"custom/cava": {
|
||||
"format": "{}",
|
||||
"exec": "bash $HOME/.config/waybar/cava-waybar.sh $(cat $HOME/.config/waybar/cava.width 2>/dev/null || echo 94)", // per-host cava.width (bars, even; ~screen_px / (font-size*0.6)). gui default 94; wm overrides to 218
|
||||
"restart-interval": 1,
|
||||
"hide-empty-text": true
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
@@ -0,0 +1,307 @@
|
||||
/*
|
||||
This is an autogenerated file.
|
||||
Do not edit this file directly.
|
||||
|
||||
This is modified to dynamically
|
||||
change the border-radius which will
|
||||
follow the border-radius of hyprland.
|
||||
|
||||
To parse this file, we use PT as a unit
|
||||
to represent the border-radius.
|
||||
This is stored separately to avoid
|
||||
issues on parsing the border-radius
|
||||
|
||||
*/
|
||||
|
||||
/* ? Leaf shape */
|
||||
|
||||
window#waybar.top #leaf,
|
||||
window#waybar.top #leaf button,
|
||||
window#waybar.top #leaf menu,
|
||||
window#waybar.top #leaf menuitem,
|
||||
window#waybar.top #leaf tooltip,
|
||||
window#waybar.bottom #leaf,
|
||||
window#waybar.bottom #leaf button,
|
||||
window#waybar.bottom #leaf menu,
|
||||
window#waybar.bottom #leaf menuitem,
|
||||
window#waybar.bottom #leaf tooltip {
|
||||
border-radius: 10pt 0 10pt 0;
|
||||
}
|
||||
|
||||
window#waybar.left #leaf,
|
||||
window#waybar.left #leaf button,
|
||||
window#waybar.left #leaf menu,
|
||||
window#waybar.left #leaf menuitem,
|
||||
window#waybar.left #leaf tooltip,
|
||||
window#waybar.right #leaf,
|
||||
window#waybar.right #leaf button,
|
||||
window#waybar.right #leaf menu,
|
||||
window#waybar.right #leaf menuitem,
|
||||
window#waybar.right #leaf tooltip {
|
||||
border-radius: 10pt 0 10pt 0;
|
||||
}
|
||||
|
||||
/* ? Inverse Leaf shape */
|
||||
|
||||
window#waybar.top #leaf-inverse,
|
||||
window#waybar.top #leaf-inverse button,
|
||||
window#waybar.top #leaf-inverse menu,
|
||||
window#waybar.top #leaf-inverse menuitem,
|
||||
window#waybar.top #leaf-inverse tooltip,
|
||||
window#waybar.bottom #leaf-inverse,
|
||||
window#waybar.bottom #leaf-inverse button,
|
||||
window#waybar.bottom #leaf-inverse menu,
|
||||
window#waybar.bottom #leaf-inverse menuitem,
|
||||
window#waybar.bottom #leaf-inverse tooltip {
|
||||
border-radius: 0 10pt 0 10pt;
|
||||
}
|
||||
|
||||
window#waybar.left #leaf-inverse,
|
||||
window#waybar.left #leaf-inverse button,
|
||||
window#waybar.left #leaf-inverse menu,
|
||||
window#waybar.left #leaf-inverse menuitem,
|
||||
window#waybar.left #leaf-inverse tooltip,
|
||||
window#waybar.right #leaf-inverse,
|
||||
window#waybar.right #leaf-inverse button,
|
||||
window#waybar.right #leaf-inverse menu,
|
||||
window#waybar.right #leaf-inverse menuitem,
|
||||
window#waybar.right #leaf-inverse tooltip {
|
||||
border-radius: 0 10pt 0 10pt;
|
||||
}
|
||||
|
||||
|
||||
/* ? Full Pill shape*/
|
||||
|
||||
window#waybar.bottom #pill menuitem,
|
||||
window#waybar.bottom #pill menu,
|
||||
window#waybar.bottom #pill tooltip,
|
||||
window#waybar.bottom #pill,
|
||||
window#waybar.bottom #pill button,
|
||||
window#waybar.top #pill menuitem,
|
||||
window#waybar.top #pill menu,
|
||||
window#waybar.top #pill tooltip,
|
||||
window#waybar.top #pill,
|
||||
window#waybar.top #pill button {
|
||||
border-radius: 10pt 10pt 10pt 10pt;
|
||||
}
|
||||
|
||||
window#waybar.left #pill menuitem,
|
||||
window#waybar.left #pill menu,
|
||||
window#waybar.left #pill tooltip,
|
||||
window#waybar.left #pill,
|
||||
window#waybar.left #pill button,
|
||||
window#waybar.right #pill menuitem,
|
||||
window#waybar.right #pill menu,
|
||||
window#waybar.right #pill tooltip,
|
||||
window#waybar.right #pill,
|
||||
window#waybar.right #pill button {
|
||||
border-radius: 10pt 10pt 10pt 10pt;
|
||||
}
|
||||
|
||||
|
||||
/* ? half pill with the curve pointing dowmwards */
|
||||
|
||||
|
||||
window#waybar.top #pill-down,
|
||||
window#waybar.top #pill-down button,
|
||||
window#waybar.top #pill-down menu,
|
||||
window#waybar.top #pill-down menuitem,
|
||||
window#waybar.top #pill-down tooltip,
|
||||
window#waybar.bottom #pill-down,
|
||||
window#waybar.bottom #pill-down button,
|
||||
window#waybar.bottom #pill-down menu,
|
||||
window#waybar.bottom #pill-down menuitem,
|
||||
window#waybar.bottom #pill-down tooltip {
|
||||
border-radius: 0 0 10pt 10pt;
|
||||
}
|
||||
|
||||
window#waybar.left #pill-down,
|
||||
window#waybar.left #pill-down button,
|
||||
window#waybar.left #pill-down menu,
|
||||
window#waybar.left #pill-down menuitem,
|
||||
window#waybar.left #pill-down tooltip,
|
||||
window#waybar.right #pill-down,
|
||||
window#waybar.right #pill-down button,
|
||||
window#waybar.right #pill-down menu,
|
||||
window#waybar.right #pill-down menuitem,
|
||||
window#waybar.right #pill-down tooltip {
|
||||
border-radius: 0 0 10pt 10pt;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
? half pill with the curve pointing inwards
|
||||
*/
|
||||
|
||||
window#waybar.top #pill-in,
|
||||
window#waybar.top #pill-in button,
|
||||
window#waybar.top #pill-in menu,
|
||||
window#waybar.top #pill-in menuitem,
|
||||
window#waybar.top #pill-in tooltip {
|
||||
border-radius: 0 0 10pt 10pt;
|
||||
}
|
||||
|
||||
window#waybar.right #pill-in,
|
||||
window#waybar.right #pill-in button,
|
||||
window#waybar.right #pill-in menu,
|
||||
window#waybar.right #pill-in menuitem,
|
||||
window#waybar.right #pill-in tooltip {
|
||||
border-radius: 10pt 0 0 10pt;
|
||||
}
|
||||
|
||||
window#waybar.bottom #pill-in,
|
||||
window#waybar.bottom #pill-in button,
|
||||
window#waybar.bottom #pill-in menu,
|
||||
window#waybar.bottom #pill-in menuitem,
|
||||
window#waybar.bottom #pill-in tooltip {
|
||||
border-radius: 10pt 10pt 0 0;
|
||||
}
|
||||
|
||||
window#waybar.left #pill-in,
|
||||
window#waybar.left #pill-in button,
|
||||
window#waybar.left #pill-in menu,
|
||||
window#waybar.left #pill-in menuitem,
|
||||
window#waybar.left #pill-in tooltip {
|
||||
border-radius: 0 10pt 10pt 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ? half pill with the curve pointing to left */
|
||||
|
||||
window#waybar.top #pill-left,
|
||||
window#waybar.top #pill-left button,
|
||||
window#waybar.top #pill-left menu,
|
||||
window#waybar.top #pill-left menuitem,
|
||||
window#waybar.top #pill-left tooltip,
|
||||
window#waybar.bottom #pill-left,
|
||||
window#waybar.bottom #pill-left button,
|
||||
window#waybar.bottom #pill-left menu,
|
||||
window#waybar.bottom #pill-left menuitem,
|
||||
window#waybar.bottom #pill-left tooltip {
|
||||
border-radius: 10pt 0 0 10pt;
|
||||
}
|
||||
|
||||
window#waybar.left #pill-left,
|
||||
window#waybar.left #pill-left button,
|
||||
window#waybar.left #pill-left menu,
|
||||
window#waybar.left #pill-left menuitem,
|
||||
window#waybar.left #pill-left tooltip,
|
||||
window#waybar.right #pill-left,
|
||||
window#waybar.right #pill-left button,
|
||||
window#waybar.right #pill-left menu,
|
||||
window#waybar.right #pill-left menuitem,
|
||||
window#waybar.right #pill-left tooltip {
|
||||
border-radius: 10pt 0 0 10pt;
|
||||
}
|
||||
|
||||
|
||||
/* ? half pill with the curve pointing to outwards */
|
||||
|
||||
|
||||
window#waybar.top #pill-out,
|
||||
window#waybar.top #pill-out button,
|
||||
window#waybar.top #pill-out menu,
|
||||
window#waybar.top #pill-out menuitem,
|
||||
window#waybar.top #pill-out tooltip {
|
||||
border-radius: 10pt 10pt 0 0;
|
||||
}
|
||||
|
||||
window#waybar.right #pill-out,
|
||||
window#waybar.right #pill-out button,
|
||||
window#waybar.right #pill-out menu,
|
||||
window#waybar.right #pill-out menuitem,
|
||||
window#waybar.right #pill-out tooltip {
|
||||
border-radius: 0 10pt 10pt 0;
|
||||
}
|
||||
|
||||
window#waybar.bottom #pill-out,
|
||||
window#waybar.bottom #pill-out button,
|
||||
window#waybar.bottom #pill-out menu,
|
||||
window#waybar.bottom #pill-out menuitem,
|
||||
window#waybar.bottom #pill-out tooltip {
|
||||
border-radius: 0 0 10pt 10pt;
|
||||
}
|
||||
|
||||
window#waybar.left #pill-out,
|
||||
window#waybar.left #pill-out button,
|
||||
window#waybar.left #pill-out menu,
|
||||
window#waybar.left #pill-out menuitem,
|
||||
window#waybar.left #pill-out tooltip {
|
||||
border-radius: 10pt 0 0 10pt;
|
||||
}
|
||||
|
||||
|
||||
/* ============================ */
|
||||
/* ? half pill with the curve pointing to the right */
|
||||
|
||||
window#waybar.top #pill-right,
|
||||
window#waybar.top #pill-right button,
|
||||
window#waybar.bottom #pill-right menu,
|
||||
window#waybar.bottom #pill-right menuitem,
|
||||
window#waybar.bottom #pill-right tooltip,
|
||||
window#waybar.bottom #pill-right,
|
||||
window#waybar.bottom #pill-right button,
|
||||
window#waybar.top #pill-right menu,
|
||||
window#waybar.top #pill-right menuitem,
|
||||
window#waybar.top #pill-right tooltip {
|
||||
border-radius: 0 10pt 10pt 0;
|
||||
}
|
||||
|
||||
window#waybar.left #pill-right,
|
||||
window#waybar.left #pill-right button,
|
||||
window#waybar.right #pill-right menu,
|
||||
window#waybar.right #pill-right menuitem,
|
||||
window#waybar.right #pill-right tooltip,
|
||||
window#waybar.right #pill-right,
|
||||
window#waybar.right #pill-right button,
|
||||
window#waybar.left #pill-right menu,
|
||||
window#waybar.left #pill-right menuitem,
|
||||
window#waybar.left #pill-right tooltip {
|
||||
border-radius: 0 10pt 10pt 0;
|
||||
}
|
||||
|
||||
|
||||
/* ? half pill with the flat surface pointing upwards */
|
||||
|
||||
window#waybar.top #pill-up,
|
||||
window#waybar.top #pill-up button,
|
||||
window#waybar.top #pill-up menu,
|
||||
window#waybar.top #pill-up menuitem,
|
||||
window#waybar.top #pill-up tooltip,
|
||||
window#waybar.bottom #pill-up,
|
||||
window#waybar.bottom #pill-up button,
|
||||
window#waybar.bottom #pill-up menu,
|
||||
window#waybar.bottom #pill-up menuitem,
|
||||
window#waybar.bottom #pill-up tooltip {
|
||||
border-radius: 10pt 10pt 0 0;
|
||||
}
|
||||
|
||||
window#waybar.left #pill-up,
|
||||
window#waybar.left #pill-up button,
|
||||
window#waybar.left #pill-up menu,
|
||||
window#waybar.left #pill-up menuitem,
|
||||
window#waybar.left #pill-up tooltip,
|
||||
window#waybar.right #pill-up,
|
||||
window#waybar.right #pill-up button,
|
||||
window#waybar.right #pill-up menu,
|
||||
window#waybar.right #pill-up menuitem,
|
||||
window#waybar.right #pill-up tooltip {
|
||||
border-radius: 10pt 10pt 0 0;
|
||||
}
|
||||
|
||||
tooltip {
|
||||
border-radius: 10pt;
|
||||
}
|
||||
|
||||
menu {
|
||||
border-radius: 10pt;
|
||||
}
|
||||
|
||||
menu menuitem {
|
||||
border-radius: 10pt;
|
||||
}
|
||||
|
||||
window.popup decoration {
|
||||
border-radius: 10pt;
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
/*
|
||||
Dynamic Style Configuration *
|
||||
This is handled by HyDE
|
||||
|
||||
To generate a dynamic configuration
|
||||
base on theme and user settings
|
||||
|
||||
*/
|
||||
|
||||
* {
|
||||
border-radius: 0em;
|
||||
font-family: "JetBrainsMono Nerd Font","JetBrainsMono Nerd Font";
|
||||
font-size: 10px;
|
||||
}
|
||||
@@ -0,0 +1,120 @@
|
||||
{
|
||||
"include": [
|
||||
"/home/anon/.config/waybar/modules/backlight.jsonc",
|
||||
"/home/anon/.config/waybar/modules/bluetooth.jsonc",
|
||||
"/home/anon/.config/waybar/modules/cava.jsonc",
|
||||
"/home/anon/.config/waybar/modules/cliphist.jsonc",
|
||||
"/home/anon/.config/waybar/modules/clock.jsonc",
|
||||
"/home/anon/.config/waybar/modules/cpu.jsonc",
|
||||
"/home/anon/.config/waybar/modules/cpuinfo.jsonc",
|
||||
"/home/anon/.config/waybar/modules/footer.jsonc",
|
||||
"/home/anon/.config/waybar/modules/github_hyprdots.jsonc",
|
||||
"/home/anon/.config/waybar/modules/gpuinfo.jsonc",
|
||||
"/home/anon/.config/waybar/modules/header.jsonc",
|
||||
"/home/anon/.config/waybar/modules/idle_inhibitor.jsonc",
|
||||
"/home/anon/.config/waybar/modules/keybindhint.jsonc",
|
||||
"/home/anon/.config/waybar/modules/language.jsonc",
|
||||
"/home/anon/.config/waybar/modules/memory.jsonc",
|
||||
"/home/anon/.config/waybar/modules/mpris.jsonc",
|
||||
"/home/anon/.config/waybar/modules/network.jsonc",
|
||||
"/home/anon/.config/waybar/modules/notifications.jsonc",
|
||||
"/home/anon/.config/waybar/modules/power.jsonc",
|
||||
"/home/anon/.config/waybar/modules/privacy.jsonc",
|
||||
"/home/anon/.config/waybar/modules/pulseaudio.jsonc",
|
||||
"/home/anon/.config/waybar/modules/spotify.jsonc",
|
||||
"/home/anon/.config/waybar/modules/taskbar.jsonc",
|
||||
"/home/anon/.config/waybar/modules/theme.jsonc",
|
||||
"/home/anon/.config/waybar/modules/tray.jsonc",
|
||||
"/home/anon/.config/waybar/modules/updates.jsonc",
|
||||
"/home/anon/.config/waybar/modules/wallchange.jsonc",
|
||||
"/home/anon/.config/waybar/modules/window.jsonc",
|
||||
"/home/anon/.config/waybar/modules/workspaces.jsonc",
|
||||
"/home/anon/.config/waybar/modules/battery.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/image#wallpaper.json",
|
||||
"/home/anon/.local/share/waybar/modules/privacy.json",
|
||||
"/home/anon/.local/share/waybar/modules/tray.json",
|
||||
"/home/anon/.local/share/waybar/modules/wlr-taskbar#windows.json",
|
||||
"/home/anon/.local/share/waybar/modules/wlr-taskbar.json",
|
||||
"/home/anon/.local/share/waybar/modules/backlight.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/battery.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/bluetooth.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/cava.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/clock.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/cpu.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/custom-app-launcher.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/custom-cava.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/custom-clipboard.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/custom-cliphist.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/custom-cpuinfo.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/custom-display.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/custom-dunst.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/custom-gamemode.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/custom-github_hyde.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/custom-gpuinfo#amd.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/custom-gpuinfo#intel.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/custom-gpuinfo#nvidia.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/custom-gpuinfo.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/custom-hyde-menu.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/custom-hyprsunset.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/custom-keybindhint.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/custom-mediaplayer.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/custom-power.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/custom-powermenu.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/custom-sensorsinfo.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/custom-spotify.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/custom-swaync.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/custom-theme.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/custom-updates.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/custom-wallchange.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/custom-wbar.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/custom-weather.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/custom-workflows.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/gamemode.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/group-eyecare.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/group-hide-tray.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/group-mediaplayer.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/group-volumecontrol.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/hyprland-language.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/hyprland-window.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/hyprland-workspaces#kanji.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/hyprland-workspaces#roman.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/hyprland-workspaces.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/idle_inhibitor.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/image#profile.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/image#wallpaper.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/memory.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/mpd.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/mpris.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/network#bandwidth.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/network.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/power-profiles-daemon.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/privacy.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/pulseaudio#microphone.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/pulseaudio.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/temperature.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/tray.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/wlr-taskbar#windows.jsonc",
|
||||
"/home/anon/.local/share/waybar/modules/wlr-taskbar.jsonc"
|
||||
],
|
||||
"image#wallpaper": {
|
||||
"size": 30,
|
||||
"icon-size-multiplier": 3
|
||||
},
|
||||
"privacy": {
|
||||
"icon-size": 10,
|
||||
"icon-size-multiplier": 1
|
||||
},
|
||||
"tray": {
|
||||
"icon-size": 16,
|
||||
"icon-size-multiplier": 1.6
|
||||
},
|
||||
"wlr/taskbar#windows": {
|
||||
"icon-size": 16,
|
||||
"icon-size-multiplier": 1.6
|
||||
},
|
||||
"wlr/taskbar": {
|
||||
"icon-size": 16,
|
||||
"icon-size-multiplier": 1.6
|
||||
},
|
||||
"position": "top"
|
||||
}
|
||||
@@ -0,0 +1,207 @@
|
||||
* {
|
||||
border: none;
|
||||
border-radius: 0px;
|
||||
font-family: "JetBrainsMono Nerd Font";
|
||||
font-weight: bold;
|
||||
font-size: 10px;
|
||||
min-height: 10px;
|
||||
}
|
||||
|
||||
@import "../theme.css"; /* HyDE/wallbash-generated colors, lives one level up */
|
||||
|
||||
window#waybar {
|
||||
/* transparent so the cavabar (bottom layer, same region) shows through; module pills keep @main-bg */
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
tooltip {
|
||||
background: @main-bg;
|
||||
color: @main-fg;
|
||||
border-radius: 5px;
|
||||
border-width: 0px;
|
||||
}
|
||||
|
||||
#workspaces {
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
#custom-padd {
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
box-shadow: none;
|
||||
text-shadow: none;
|
||||
padding: 0px;
|
||||
border-radius: 5px;
|
||||
margin-top: 3px;
|
||||
margin-bottom: 3px;
|
||||
margin-left: 0px;
|
||||
padding-left: 3px;
|
||||
padding-right: 3px;
|
||||
margin-right: 0px;
|
||||
color: @main-fg;
|
||||
animation: ws_normal 20s ease-in-out 1;
|
||||
}
|
||||
|
||||
#workspaces button.active {
|
||||
background: @wb-act-bg;
|
||||
color: @wb-act-fg;
|
||||
animation: ws_active 20s ease-in-out 1;
|
||||
transition: all 0.4s cubic-bezier(0.55, -0.68, 0.48, 1.682);
|
||||
}
|
||||
|
||||
#workspaces button:hover {
|
||||
background: @wb-hvr-bg;
|
||||
color: @wb-hvr-fg;
|
||||
animation: ws_hover 20s ease-in-out 1;
|
||||
transition: all 0.3s cubic-bezier(0.55, -0.68, 0.48, 1.682);
|
||||
}
|
||||
|
||||
#taskbar button {
|
||||
box-shadow: none;
|
||||
text-shadow: none;
|
||||
padding: 0px;
|
||||
border-radius: 6px;
|
||||
margin-top: 3px;
|
||||
margin-bottom: 3px;
|
||||
margin-left: 0px;
|
||||
padding-left: 3px;
|
||||
padding-right: 3px;
|
||||
margin-right: 0px;
|
||||
color: @wb-color;
|
||||
animation: tb_normal 20s ease-in-out 1;
|
||||
}
|
||||
|
||||
#taskbar button.active {
|
||||
background: @wb-act-bg;
|
||||
color: @wb-act-color;
|
||||
/*animation: tb_active 20s ease-in-out 1;*/
|
||||
box-shadow: 0 0 1px 1px rgba(128, 128, 128, 0.4);
|
||||
transition: all 0.4s cubic-bezier(0.55, -0.68, 0.48, 1.682);
|
||||
}
|
||||
|
||||
#taskbar button:hover {
|
||||
background: @wb-hvr-bg;
|
||||
color: @wb-hvr-color;
|
||||
opacity: 0.8;
|
||||
animation: tb_hover 20s ease-in-out 1;
|
||||
transition: all 0.3s cubic-bezier(0.55, -0.68, 0.48, 1.682);
|
||||
}
|
||||
|
||||
#tray menu * {
|
||||
min-height: 16px;
|
||||
}
|
||||
|
||||
#tray menu separator {
|
||||
min-height: 10px;
|
||||
}
|
||||
|
||||
#backlight,
|
||||
#battery,
|
||||
#bluetooth,
|
||||
#custom-cava,
|
||||
#custom-cliphist,
|
||||
#clock,
|
||||
#custom-cpuinfo,
|
||||
#cpu,
|
||||
#custom-gpuinfo,
|
||||
#idle_inhibitor,
|
||||
#custom-keybindhint,
|
||||
#language,
|
||||
#memory,
|
||||
#mpris,
|
||||
#network,
|
||||
#custom-notifications,
|
||||
#custom-power,
|
||||
#pulseaudio,
|
||||
#custom-spotify,
|
||||
#taskbar,
|
||||
#custom-theme,
|
||||
#tray,
|
||||
#custom-updates,
|
||||
#custom-wallchange,
|
||||
#custom-wbar,
|
||||
#window,
|
||||
#workspaces,
|
||||
#custom-l_end,
|
||||
#custom-r_end,
|
||||
#custom-sl_end,
|
||||
#custom-sr_end,
|
||||
#custom-rl_end,
|
||||
#custom-rr_end {
|
||||
color: @main-fg;
|
||||
background: @main-bg;
|
||||
opacity: 1;
|
||||
margin: 4px 0px 4px 0px;
|
||||
padding-left: 4px;
|
||||
padding-right: 4px;
|
||||
}
|
||||
|
||||
window#waybar.empty #window,
|
||||
window#waybar.empty #custom-sl_end,
|
||||
window#waybar.empty #custom-sr_end {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
#workspaces {
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
#taskbar {
|
||||
border-radius: 8px;
|
||||
padding-left: 6px;
|
||||
padding-right: 6px;
|
||||
}
|
||||
|
||||
#custom-r_end {
|
||||
border-radius: 0px 8px 8px 0px;
|
||||
margin-right: 3px;
|
||||
padding-right: 1px;
|
||||
}
|
||||
|
||||
#custom-l_end {
|
||||
border-radius: 8px 0px 0px 8px;
|
||||
margin-left: 3px;
|
||||
padding-left: 1px;
|
||||
}
|
||||
|
||||
#custom-sr_end {
|
||||
border-top-right-radius: 6px;
|
||||
border-bottom-right-radius: 6px;
|
||||
margin-right: 9px;
|
||||
padding-right: 3px;
|
||||
}
|
||||
|
||||
#custom-sl_end {
|
||||
border-top-left-radius: 6px;
|
||||
border-bottom-left-radius: 6px;
|
||||
margin-left: 9px;
|
||||
padding-left: 3px;
|
||||
}
|
||||
|
||||
#custom-rr_end {
|
||||
border-radius: 0px 8px 8px 0px;
|
||||
margin-right: 9px;
|
||||
padding-right: 3px;
|
||||
}
|
||||
|
||||
#custom-rl_end {
|
||||
border-radius: 8px 0px 0px 8px;
|
||||
margin-left: 9px;
|
||||
padding-left: 3px;
|
||||
}
|
||||
|
||||
window#waybar.cavabar {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
window#waybar.cavabar #custom-cava {
|
||||
font-size: 24px;
|
||||
color: alpha(@main-fg, 0.7);
|
||||
background: rgba(0, 0, 0, 0.2);
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
@@ -0,0 +1,332 @@
|
||||
// --// standalone two-bar cava rig — hand-maintained, NOT HyDE-generated (see README "Waybar") //-- //
|
||||
|
||||
[
|
||||
{
|
||||
// sourced from header module //
|
||||
|
||||
"layer": "top",
|
||||
"position": "top",
|
||||
"height": 33,
|
||||
"exclusive": true,
|
||||
"passthrough": false,
|
||||
"gtk-layer-shell": true,
|
||||
"reload_style_on_change": true,
|
||||
|
||||
|
||||
// positions generated based on config.ctl //
|
||||
|
||||
"modules-left": ["custom/l_end","custom/power","custom/r_end","hyprland/workspaces", "custom/sl_end","hyprland/window","custom/sr_end","custom/l_end","custom/wallchange","custom/cliphist","custom/r_end"],
|
||||
"modules-center": ["wlr/taskbar"],
|
||||
"modules-right": ["custom/l_end","backlight","pulseaudio","pulseaudio#microphone","mpris","custom/r_end","custom/l_end","memory","cpu","custom/cpuinfo","battery","custom/r_end","custom/l_end","tray","custom/r_end","custom/l_end","idle_inhibitor","clock","custom/r_end"],
|
||||
|
||||
// sourced from modules based on config.ctl //
|
||||
|
||||
"tray": {
|
||||
"icon-size": 19,
|
||||
"rotate": 0,
|
||||
"spacing": 5
|
||||
},
|
||||
|
||||
// NOTE: keep in sync with modules/window.jsonc — this layout is launched standalone
|
||||
// (waybar -c), so the modules/ file is NOT read here; this inline copy is what renders.
|
||||
"hyprland/window": {
|
||||
"format": " {}",
|
||||
"rotate": 0,
|
||||
"separate-outputs": true,
|
||||
"max-length": 1000,
|
||||
"rewrite": {
|
||||
"(.*) — Kitty": " $1",
|
||||
"(.*)~": " $1",
|
||||
"(.*) — Mozilla Firefox": " $1",
|
||||
"(.*)Mozilla Firefox": " Firefox",
|
||||
"(.*) — LibreWolf": " $1",
|
||||
"(.*)LibreWolf": " LibreWolf",
|
||||
"(.*) — Chromium": " $1",
|
||||
"(.*)Chromium": " Chromium",
|
||||
"(.*) - VSCodium": " $1",
|
||||
"(.*)VSCodium": " VSCodium",
|
||||
"(.*)Code - OSS": " $1",
|
||||
"(.*) - Visual Studio Code": " $1",
|
||||
"(.*)Visual Studio Code": " Code",
|
||||
"(.*) — Dolphin": " $1",
|
||||
"(.*) - Obsidian(.*)": " $1",
|
||||
"(.*)Ferdium": " Ferdium",
|
||||
"(.*)FreeTube": " FreeTube",
|
||||
"(.*) - VLC media player": " $1",
|
||||
"(.*)Steam": " Steam",
|
||||
"(.*)Neovide": " Nvim",
|
||||
"(.*)Neovim": " Nvim",
|
||||
"(.*)Nvim": " Nvim",
|
||||
"(.*)Gajim": " Gajim",
|
||||
"(.*)KeePassXC": " KeePassXC",
|
||||
"(.*)Betterbird": " Betterbird",
|
||||
"(.*)Spotify": " Spotify"
|
||||
}
|
||||
},
|
||||
"hyprland/workspaces": {
|
||||
"window-rewrite-default":"",
|
||||
"all-outputs": true,
|
||||
"active-only": false,
|
||||
"on-click": "activate",
|
||||
"disable-scroll": false,
|
||||
"on-scroll-up": "hyprctl dispatch workspace -1",
|
||||
"on-scroll-down": "hyprctl dispatch workspace +1",
|
||||
"persistent-workspaces": {}
|
||||
},
|
||||
|
||||
"cpu": {
|
||||
"interval": 10,
|
||||
"format": " {usage}%",
|
||||
"format-alt": "{icon0}{icon1}{icon2}{icon3}",
|
||||
"format-icons": ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"]
|
||||
},
|
||||
|
||||
"custom/cpuinfo": {
|
||||
"exec": " cpuinfo.sh",
|
||||
"return-type": "json",
|
||||
"format": "{}",
|
||||
"rotate": 0,
|
||||
"interval": 5, // once every 5 seconds
|
||||
"tooltip": true,
|
||||
"max-length": 1000
|
||||
},
|
||||
|
||||
"memory": {
|
||||
"states": {
|
||||
"c": 90, // critical
|
||||
"h": 60, // high
|
||||
"m": 30 // medium
|
||||
},
|
||||
"interval": 30,
|
||||
"rotate": 0,
|
||||
"format": " {used:0.1f}GB",
|
||||
"format-m": " {used:0.1f}GB",
|
||||
"format-h": " {used:0.1f}GB",
|
||||
"format-c": " {used:0.1f}GB",
|
||||
"format-alt": " {percentage}%",
|
||||
"max-length": 10,
|
||||
"tooltip": true,
|
||||
"tooltip-format": " {percentage}%\n {used:0.1f}GB/{total:0.1f}GB"
|
||||
},
|
||||
|
||||
"custom/power": {
|
||||
"format": "{}",
|
||||
"rotate": 0,
|
||||
"exec": "echo ; echo logout",
|
||||
"on-click": "logoutlaunch.sh 2",
|
||||
"on-click-right": "logoutlaunch.sh 1",
|
||||
"interval" : 86400, // once every day
|
||||
"tooltip": true
|
||||
},
|
||||
|
||||
"wlr/taskbar": {
|
||||
"format": "{icon}",
|
||||
"rotate": 0,
|
||||
"icon-size": 19,
|
||||
"icon-theme": "Tela-circle-dracula",
|
||||
"spacing": 0,
|
||||
"tooltip-format": "{title}",
|
||||
"on-click": "activate",
|
||||
"on-click-middle": "close",
|
||||
"ignore-list": [
|
||||
"Alacritty"
|
||||
],
|
||||
"app_ids-mapping": {
|
||||
"firefoxdeveloperedition": "firefox-developer-edition"
|
||||
}
|
||||
},
|
||||
|
||||
"idle_inhibitor": {
|
||||
"format": "{icon}",
|
||||
"rotate": 0,
|
||||
"format-icons": {
|
||||
"activated": "",
|
||||
"deactivated": ""
|
||||
}
|
||||
},
|
||||
"clock": {
|
||||
"format": "{:%H:%M}",
|
||||
"rotate": 0,
|
||||
"format-alt": "{:%R %d·%m·%y}",
|
||||
"tooltip-format": "<span>{calendar}</span>",
|
||||
"calendar": {
|
||||
"mode": "month",
|
||||
"mode-mon-col": 3,
|
||||
"on-scroll": 1,
|
||||
"on-click-right": "mode",
|
||||
"format": {
|
||||
"months": "<span color='#ffead3'><b>{}</b></span>",
|
||||
"weekdays": "<span color='#ffcc66'><b>{}</b></span>",
|
||||
"today": "<span color='#ff6699'><b>{}</b></span>"
|
||||
}
|
||||
},
|
||||
"actions": {
|
||||
"on-click-right": "mode",
|
||||
"on-click-forward": "tz_up",
|
||||
"on-click-backward": "tz_down",
|
||||
"on-scroll-up": "shift_up",
|
||||
"on-scroll-down": "shift_down"
|
||||
}
|
||||
},
|
||||
|
||||
"custom/cliphist": {
|
||||
"format": "{}",
|
||||
"rotate": 0,
|
||||
"exec": "echo ; echo clipboard history",
|
||||
"on-click": "sleep 0.1 && cliphist.sh c",
|
||||
"on-click-right": "sleep 0.1 && cliphist.sh d",
|
||||
"on-click-middle": "sleep 0.1 && cliphist.sh w",
|
||||
"interval" : 86400, // once every day
|
||||
"tooltip": true
|
||||
},
|
||||
|
||||
"custom/wallchange": {
|
||||
"format": "{}",
|
||||
"rotate": 0,
|
||||
"exec": "echo ; echo switch wallpaper",
|
||||
"on-click": "swwwallpaper.sh -n",
|
||||
"on-click-right": "swwwallpaper.sh -p",
|
||||
"on-click-middle": "sleep 0.1 && swwwallselect.sh",
|
||||
"interval" : 86400, // once every day
|
||||
"tooltip": true
|
||||
},
|
||||
|
||||
"pulseaudio": {
|
||||
"format": "{icon} {volume}",
|
||||
"rotate": 0,
|
||||
"format-muted": "婢",
|
||||
"on-click": "pavucontrol -t 3",
|
||||
"on-click-right": "volumecontrol.sh -s ''",
|
||||
"on-click-middle": "volumecontrol.sh -o m",
|
||||
"on-scroll-up": "volumecontrol.sh -o i",
|
||||
"on-scroll-down": "volumecontrol.sh -o d",
|
||||
"tooltip-format": "{icon} {desc} // {volume}%",
|
||||
"scroll-step": 5,
|
||||
"format-icons": {
|
||||
"headphone": "",
|
||||
"hands-free": "",
|
||||
"headset": "",
|
||||
"phone": "",
|
||||
"portable": "",
|
||||
"car": "",
|
||||
"default": ["", "", ""]
|
||||
}
|
||||
},
|
||||
|
||||
"pulseaudio#microphone": {
|
||||
"format": "{format_source}",
|
||||
"rotate": 0,
|
||||
"format-source": "",
|
||||
"format-source-muted": "",
|
||||
"on-click": "pavucontrol -t 4",
|
||||
"on-click-middle": "volumecontrol.sh -i m",
|
||||
"on-scroll-up": "volumecontrol.sh -i i",
|
||||
"on-scroll-down": "volumecontrol.sh -i d",
|
||||
"tooltip-format": "{format_source} {source_desc} // {source_volume}%",
|
||||
"scroll-step": 5
|
||||
},
|
||||
|
||||
"mpris": {
|
||||
"format": "{player_icon} {dynamic}",
|
||||
"rotate": 0,
|
||||
"format-paused": "{status_icon} <i>{dynamic}</i>",
|
||||
"player-icons": {
|
||||
"default": "▶",
|
||||
"mpv": "🎵"
|
||||
},
|
||||
"status-icons": {
|
||||
"paused": ""
|
||||
},
|
||||
"max-length": 1000,
|
||||
"interval": 1
|
||||
},
|
||||
|
||||
"battery": {
|
||||
"states": {
|
||||
"good": 95,
|
||||
"warning": 30,
|
||||
"critical": 20
|
||||
},
|
||||
"format": "{icon} {capacity}%",
|
||||
"rotate": 0,
|
||||
"format-charging": " {capacity}%",
|
||||
"format-plugged": " {capacity}%",
|
||||
"format-alt": "{time} {icon}",
|
||||
"format-icons": ["", "", "", "", "", "", "", "", "", "", ""]
|
||||
},
|
||||
|
||||
"backlight": {
|
||||
"device": "intel_backlight",
|
||||
"rotate": 0,
|
||||
"format": "{icon} {percent}%",
|
||||
"format-icons": ["", "", "", "", "", "", "", "", ""],
|
||||
"on-scroll-up": "brightnessctl set 1%+",
|
||||
"on-scroll-down": "brightnessctl set 1%-",
|
||||
"min-length": 6
|
||||
},
|
||||
// modules for padding //
|
||||
|
||||
"custom/l_end": {
|
||||
"format": " ",
|
||||
"interval" : "once",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"custom/r_end": {
|
||||
"format": " ",
|
||||
"interval" : "once",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"custom/sl_end": {
|
||||
"format": " ",
|
||||
"interval" : "once",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"custom/sr_end": {
|
||||
"format": " ",
|
||||
"interval" : "once",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"custom/rl_end": {
|
||||
"format": " ",
|
||||
"interval" : "once",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"custom/rr_end": {
|
||||
"format": " ",
|
||||
"interval" : "once",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"custom/padd": {
|
||||
"format": " ",
|
||||
"interval" : "once",
|
||||
"tooltip": false
|
||||
}
|
||||
},
|
||||
|
||||
// full-width cava visualizer layered behind the main bar //
|
||||
|
||||
{
|
||||
"name": "cavabar",
|
||||
"layer": "bottom",
|
||||
"position": "top",
|
||||
"height": 36,
|
||||
"margin-top": -33,
|
||||
"exclusive": false,
|
||||
"passthrough": true,
|
||||
"modules-center": ["custom/cava"],
|
||||
|
||||
"custom/cava": {
|
||||
"format": "{}",
|
||||
"exec": "bash $HOME/.config/waybar/cava-waybar.sh $(cat $HOME/.config/waybar/cava.width 2>/dev/null || echo 94)", // per-host cava.width (bars, even; ~screen_px / (font-size*0.6)). gui default 94; wm overrides to 218
|
||||
"restart-interval": 1,
|
||||
"hide-empty-text": true
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
"backlight": {
|
||||
"device": "intel_backlight",
|
||||
"rotate": ${r_deg},
|
||||
"format": "{icon} {percent}%",
|
||||
"format-icons": ["", "", "", "", "", "", "", "", ""],
|
||||
"on-scroll-up": "brightnessctl set 1%+",
|
||||
"on-scroll-down": "brightnessctl set 1%-",
|
||||
"min-length": 6
|
||||
},
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
"battery": {
|
||||
"states": {
|
||||
"good": 95,
|
||||
"warning": 30,
|
||||
"critical": 20
|
||||
},
|
||||
"format": "{icon} {capacity}%",
|
||||
"rotate": ${r_deg},
|
||||
"format-charging": " {capacity}%",
|
||||
"format-plugged": " {capacity}%",
|
||||
"format-alt": "{time} {icon}",
|
||||
"format-icons": ["", "", "", "", "", "", "", "", "", "", ""]
|
||||
},
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
"bluetooth": {
|
||||
"format": "",
|
||||
"rotate": ${r_deg},
|
||||
"format-disabled": "",
|
||||
"format-connected": " {num_connections}",
|
||||
"format-connected-battery": "{icon} {num_connections}",
|
||||
// "format-connected-battery": "{icon} {device_alias}-{device_battery_percentage}%",
|
||||
"format-icons": ["", "", "", "", "", "", "", "", "", "", ""],
|
||||
// "format-device-preference": [ "device1", "device2" ], // preference list deciding the displayed device If this config option is not defined or none of the devices in the list are connected, it will fall back to showing the last connected device.
|
||||
"tooltip-format": "{controller_alias}\n{num_connections} connected",
|
||||
"tooltip-format-connected": "{controller_alias}\n{num_connections} connected\n\n{device_enumerate}",
|
||||
"tooltip-format-enumerate-connected": "{device_alias}",
|
||||
"tooltip-format-enumerate-connected-battery": "{device_alias}\t{icon} {device_battery_percentage}%"
|
||||
},
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"cava": {
|
||||
// "cava_config": "$XDG_CONFIG_HOME/cava/cava.conf",
|
||||
"framerate": 30,
|
||||
"autosens": 1,
|
||||
"sensitivity": 100,
|
||||
"bars": 14,
|
||||
"lower_cutoff_freq": 50,
|
||||
"higher_cutoff_freq": 10000,
|
||||
"method": "pulse",
|
||||
"source": "auto",
|
||||
"stereo": true,
|
||||
"reverse": false,
|
||||
"bar_delimiter": 0,
|
||||
"monstercat": false,
|
||||
"waves": false,
|
||||
"noise_reduction": 0.77,
|
||||
"input_delay": 2,
|
||||
"format-icons": ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"],
|
||||
"actions": {
|
||||
"on-click-right": "mode"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
"custom/cliphist": {
|
||||
"format": "{}",
|
||||
"rotate": ${r_deg},
|
||||
"exec": "echo ; echo clipboard history",
|
||||
"on-click": "sleep 0.1 && cliphist.sh c",
|
||||
"on-click-right": "sleep 0.1 && cliphist.sh d",
|
||||
"on-click-middle": "sleep 0.1 && cliphist.sh w",
|
||||
"interval" : 86400, // once every day
|
||||
"tooltip": true
|
||||
},
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
"clock": {
|
||||
"format": "{:%H:%M}",
|
||||
"rotate": ${r_deg},
|
||||
"format-alt": "{:%R %d·%m·%y}",
|
||||
"tooltip-format": "<span>{calendar}</span>",
|
||||
"calendar": {
|
||||
"mode": "month",
|
||||
"mode-mon-col": 3,
|
||||
"on-scroll": 1,
|
||||
"on-click-right": "mode",
|
||||
"format": {
|
||||
"months": "<span color='#ffead3'><b>{}</b></span>",
|
||||
"weekdays": "<span color='#ffcc66'><b>{}</b></span>",
|
||||
"today": "<span color='#ff6699'><b>{}</b></span>"
|
||||
}
|
||||
},
|
||||
"actions": {
|
||||
"on-click-right": "mode",
|
||||
"on-click-forward": "tz_up",
|
||||
"on-click-backward": "tz_down",
|
||||
"on-scroll-up": "shift_up",
|
||||
"on-scroll-down": "shift_down"
|
||||
}
|
||||
},
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
"cpu": {
|
||||
"interval": 10,
|
||||
"format": " {usage}%",
|
||||
"rotate": ${r_deg},
|
||||
"format-alt": "{icon0}{icon1}{icon2}{icon3}",
|
||||
"format-icons": ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"]
|
||||
},
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
"custom/cpuinfo": {
|
||||
"exec": " cpuinfo.sh",
|
||||
"return-type": "json",
|
||||
"format": "{}",
|
||||
"rotate": ${r_deg},
|
||||
"interval": 5, // once every 5 seconds
|
||||
"tooltip": true,
|
||||
"max-length": 1000
|
||||
},
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
|
||||
// modules for padding //
|
||||
|
||||
"custom/l_end": {
|
||||
"format": " ",
|
||||
"interval" : "once",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"custom/r_end": {
|
||||
"format": " ",
|
||||
"interval" : "once",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"custom/sl_end": {
|
||||
"format": " ",
|
||||
"interval" : "once",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"custom/sr_end": {
|
||||
"format": " ",
|
||||
"interval" : "once",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"custom/rl_end": {
|
||||
"format": " ",
|
||||
"interval" : "once",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"custom/rr_end": {
|
||||
"format": " ",
|
||||
"interval" : "once",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"custom/padd": {
|
||||
"format": " ",
|
||||
"interval" : "once",
|
||||
"tooltip": false
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"custom/github_hyprdots": {
|
||||
"format": " ",
|
||||
"rotate": 0,
|
||||
"tooltip-format": " Hyprdots repository",
|
||||
"on-click": "xdg-open https://github.com/prasanthrangan/hyprdots"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
"custom/gpuinfo": {
|
||||
"exec": " gpuinfo.sh",
|
||||
"return-type": "json",
|
||||
"format": "{}",
|
||||
"rotate": ${r_deg},
|
||||
"interval": 5, // once every 5 seconds
|
||||
"tooltip": true,
|
||||
"max-length": 1000,
|
||||
"on-click": "gpuinfo.sh --toggle",
|
||||
},
|
||||
|
||||
"custom/gpuinfo#nvidia": {
|
||||
"exec": " gpuinfo.sh --use nvidia ",
|
||||
"return-type": "json",
|
||||
"format": "{}",
|
||||
"rotate": ${r_deg},
|
||||
"interval": 5, // once every 5 seconds
|
||||
"tooltip": true,
|
||||
"max-length": 1000,
|
||||
},
|
||||
|
||||
"custom/gpuinfo#amd": {
|
||||
"exec": " gpuinfo.sh --use amd ",
|
||||
"return-type": "json",
|
||||
"format": "{}",
|
||||
"rotate": ${r_deg},
|
||||
"interval": 5, // once every 5 seconds
|
||||
"tooltip": true,
|
||||
"max-length": 1000,
|
||||
},
|
||||
|
||||
"custom/gpuinfo#intel": {
|
||||
"exec": " gpuinfo.sh --use intel ",
|
||||
"return-type": "json",
|
||||
"format": "{}",
|
||||
"rotate": ${r_deg},
|
||||
"interval": 5, // once every 5 seconds
|
||||
"tooltip": true,
|
||||
"max-length": 1000,
|
||||
},
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
// --// waybar config generated by wbarconfgen.sh //-- //
|
||||
|
||||
{
|
||||
// sourced from header module //
|
||||
|
||||
"layer": "top",
|
||||
"position": "${w_position}",
|
||||
"mod": "dock",
|
||||
"${hv_pos}": ${w_height},
|
||||
"exclusive": true,
|
||||
"passthrough": false,
|
||||
"gtk-layer-shell": true,
|
||||
"reload_style_on_change": true,
|
||||
@@ -0,0 +1,9 @@
|
||||
"idle_inhibitor": {
|
||||
"format": "{icon}",
|
||||
"rotate": ${r_deg},
|
||||
"format-icons": {
|
||||
"activated": "",
|
||||
"deactivated": ""
|
||||
}
|
||||
},
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
"custom/keybindhint": {
|
||||
"format": " ",
|
||||
"rotate": ${r_deg},
|
||||
"on-click": "keybinds_hint.sh"
|
||||
},
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
"hyprland/language": {
|
||||
"format": "{short} {variant}",
|
||||
"rotate": ${r_deg},
|
||||
"on-click": "keyboardswitch.sh",
|
||||
},
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
"memory": {
|
||||
"states": {
|
||||
"c": 90, // critical
|
||||
"h": 60, // high
|
||||
"m": 30, // medium
|
||||
},
|
||||
"interval": 30,
|
||||
"format": " {used}GB",
|
||||
"rotate": ${r_deg},
|
||||
"format-m": " {used}GB",
|
||||
"format-h": " {used}GB",
|
||||
"format-c": " {used}GB",
|
||||
"format-alt": " {percentage}%",
|
||||
"max-length": 10,
|
||||
"tooltip": true,
|
||||
"tooltip-format": " {percentage}%\n {used:0.1f}GB/{total:0.1f}GB"
|
||||
},
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
"mpris": {
|
||||
"format": "{player_icon} {dynamic}",
|
||||
"rotate": ${r_deg},
|
||||
"format-paused": "{status_icon} <i>{dynamic}</i>",
|
||||
"player-icons": {
|
||||
"default": "▶",
|
||||
"mpv": "🎵"
|
||||
},
|
||||
"status-icons": {
|
||||
"paused": ""
|
||||
},
|
||||
// "ignored-players": ["firefox"]
|
||||
"max-length": 1000,
|
||||
"interval": 1
|
||||
},
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
"network": {
|
||||
"tooltip": true,
|
||||
"format-wifi": " ",
|
||||
"rotate": ${r_deg},
|
||||
"format-ethernet": " ",
|
||||
"tooltip-format": "Network: <big><b>{essid}</b></big>\nSignal strength: <b>{signaldBm}dBm ({signalStrength}%)</b>\nFrequency: <b>{frequency}MHz</b>\nInterface: <b>{ifname}</b>\nIP: <b>{ipaddr}/{cidr}</b>\nGateway: <b>{gwaddr}</b>\nNetmask: <b>{netmask}</b>",
|
||||
"format-linked": " {ifname} (No IP)",
|
||||
"format-disconnected": " ",
|
||||
"tooltip-format-disconnected": "Disconnected",
|
||||
"format-alt": "<span foreground='#99ffdd'> {bandwidthDownBytes}</span> <span foreground='#ffcc66'> {bandwidthUpBytes}</span>",
|
||||
"interval": 2
|
||||
}
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
"custom/notifications": {
|
||||
"format": "{icon} {}",
|
||||
"rotate": ${r_deg},
|
||||
"format-icons": {
|
||||
"email-notification": "<span foreground='white'><sup></sup></span>",
|
||||
"chat-notification": "<span foreground='white'><sup></sup></span>",
|
||||
"warning-notification": "<span foreground='yellow'><sup></sup></span>",
|
||||
"error-notification": "<span foreground='red'><sup></sup></span>",
|
||||
"network-notification": "<span foreground='white'><sup></sup></span>",
|
||||
"battery-notification": "<span foreground='white'><sup></sup></span>",
|
||||
"update-notification": "<span foreground='white'><sup></sup></span>",
|
||||
"music-notification": "<span foreground='white'><sup></sup></span>",
|
||||
"volume-notification": "<span foreground='white'><sup></sup></span>",
|
||||
"notification": "<span foreground='white'><sup></sup></span>",
|
||||
"dnd": "",
|
||||
"none": ""
|
||||
},
|
||||
"return-type": "json",
|
||||
"exec-if": "which dunstctl",
|
||||
"exec": "notifications.py",
|
||||
"on-scroll-down": "sleep 0.1 && dunstctl history-pop",
|
||||
"on-click": "dunstctl set-paused toggle",
|
||||
"on-click-middle": "dunstctl history-clear",
|
||||
"on-click-right": "dunstctl close-all",
|
||||
"interval": 1,
|
||||
"tooltip": true,
|
||||
"escape": true
|
||||
},
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
"custom/power": {
|
||||
"format": "{}",
|
||||
"rotate": ${r_deg},
|
||||
"exec": "echo ; echo logout",
|
||||
"on-click": "logoutlaunch.sh 2",
|
||||
"on-click-right": "logoutlaunch.sh 1",
|
||||
"interval" : 86400, // once every day
|
||||
"tooltip": true
|
||||
},
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"privacy": {
|
||||
"icon-size": 18,
|
||||
"icon-spacing": 5,
|
||||
"transition-duration": 250,
|
||||
"modules": [
|
||||
{
|
||||
"type": "screenshare",
|
||||
"tooltip": true,
|
||||
"tooltip-icon-size": 24
|
||||
},
|
||||
{
|
||||
"type": "audio-in",
|
||||
"tooltip": true,
|
||||
"tooltip-icon-size": 24
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
"pulseaudio": {
|
||||
"format": "{icon} {volume}",
|
||||
"rotate": ${r_deg},
|
||||
"format-muted": "婢",
|
||||
"on-click": "pavucontrol -t 3",
|
||||
"on-click-right": "volumecontrol.sh -s ''",
|
||||
"on-click-middle": "volumecontrol.sh -o m",
|
||||
"on-scroll-up": "volumecontrol.sh -o i",
|
||||
"on-scroll-down": "volumecontrol.sh -o d",
|
||||
"tooltip-format": "{icon} {desc} // {volume}%",
|
||||
"scroll-step": 5,
|
||||
"format-icons": {
|
||||
"headphone": "",
|
||||
"hands-free": "",
|
||||
"headset": "",
|
||||
"phone": "",
|
||||
"portable": "",
|
||||
"car": "",
|
||||
"default": ["", "", ""]
|
||||
}
|
||||
},
|
||||
|
||||
"pulseaudio#microphone": {
|
||||
"format": "{format_source}",
|
||||
"rotate": ${r_deg},
|
||||
"format-source": "",
|
||||
"format-source-muted": "",
|
||||
"on-click": "pavucontrol -t 4",
|
||||
"on-click-middle": "volumecontrol.sh -i m",
|
||||
"on-scroll-up": "volumecontrol.sh -i i",
|
||||
"on-scroll-down": "volumecontrol.sh -i d",
|
||||
"tooltip-format": "{format_source} {source_desc} // {source_volume}%",
|
||||
"scroll-step": 5
|
||||
},
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
"custom/spotify": {
|
||||
"exec": "mediaplayer.py --player spotify",
|
||||
"format": " {}",
|
||||
"rotate": ${r_deg},
|
||||
"return-type": "json",
|
||||
"on-click": "playerctl play-pause --player spotify",
|
||||
"on-click-right": "playerctl next --player spotify",
|
||||
"on-click-middle": "playerctl previous --player spotify",
|
||||
"on-scroll-up": "volumecontrol.sh -p spotify i",
|
||||
"on-scroll-down": "volumecontrol.sh -p spotify d",
|
||||
"max-length": 25,
|
||||
"escape": true,
|
||||
"tooltip": true
|
||||
},
|
||||
|
||||
@@ -0,0 +1,151 @@
|
||||
* {
|
||||
border: none;
|
||||
border-radius: 0px;
|
||||
font-family: "JetBrainsMono Nerd Font";
|
||||
font-weight: bold;
|
||||
font-size: ${s_fontpx}px;
|
||||
min-height: 10px;
|
||||
}
|
||||
|
||||
@import "theme.css";
|
||||
|
||||
window#waybar {
|
||||
background: @bar-bg;
|
||||
}
|
||||
|
||||
tooltip {
|
||||
background: @main-bg;
|
||||
color: @main-fg;
|
||||
border-radius: ${t_radius}px;
|
||||
border-width: 0px;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
box-shadow: none;
|
||||
text-shadow: none;
|
||||
padding: 0px;
|
||||
border-radius: ${w_radius}px;
|
||||
margin-${x1}: ${w_margin}px;
|
||||
margin-${x2}: ${w_margin}px;
|
||||
margin-${x3}: 0px;
|
||||
padding-${x3}: ${w_paddin}px;
|
||||
padding-${x4}: ${w_paddin}px;
|
||||
margin-${x4}: 0px;
|
||||
color: @main-fg;
|
||||
animation: ws_normal 20s ease-in-out 1;
|
||||
}
|
||||
|
||||
#workspaces button.active {
|
||||
background: @wb-act-bg;
|
||||
color: @wb-act-fg;
|
||||
margin-${x3}: ${w_margin}px;
|
||||
padding-${x3}: ${w_padact}px;
|
||||
padding-${x4}: ${w_padact}px;
|
||||
margin-${x4}: ${w_margin}px;
|
||||
animation: ws_active 20s ease-in-out 1;
|
||||
transition: all 0.4s cubic-bezier(.55,-0.68,.48,1.682);
|
||||
}
|
||||
|
||||
#workspaces button:hover {
|
||||
background: @wb-hvr-bg;
|
||||
color: @wb-hvr-fg;
|
||||
animation: ws_hover 20s ease-in-out 1;
|
||||
transition: all 0.3s cubic-bezier(.55,-0.68,.48,1.682);
|
||||
}
|
||||
|
||||
#taskbar button {
|
||||
box-shadow: none;
|
||||
text-shadow: none;
|
||||
padding: 0px;
|
||||
border-radius: ${w_radius}px;
|
||||
margin-${x1}: ${w_margin}px;
|
||||
margin-${x2}: ${w_margin}px;
|
||||
margin-${x3}: 0px;
|
||||
padding-${x3}: ${w_paddin}px;
|
||||
padding-${x4}: ${w_paddin}px;
|
||||
margin-${x4}: 0px;
|
||||
color: @wb-color;
|
||||
animation: tb_normal 20s ease-in-out 1;
|
||||
}
|
||||
|
||||
#taskbar button.active {
|
||||
background: @wb-act-bg;
|
||||
color: @wb-act-color;
|
||||
margin-${x3}: ${w_margin}px;
|
||||
padding-${x3}: ${w_padact}px;
|
||||
padding-${x4}: ${w_padact}px;
|
||||
margin-${x4}: ${w_margin}px;
|
||||
animation: tb_active 20s ease-in-out 1;
|
||||
transition: all 0.4s cubic-bezier(.55,-0.68,.48,1.682);
|
||||
}
|
||||
|
||||
#taskbar button:hover {
|
||||
background: @wb-hvr-bg;
|
||||
color: @wb-hvr-color;
|
||||
animation: tb_hover 20s ease-in-out 1;
|
||||
transition: all 0.3s cubic-bezier(.55,-0.68,.48,1.682);
|
||||
}
|
||||
|
||||
#tray menu * {
|
||||
min-height: 16px
|
||||
}
|
||||
|
||||
#tray menu separator {
|
||||
min-height: 10px
|
||||
}
|
||||
|
||||
${modules_ls}
|
||||
#custom-l_end,
|
||||
#custom-r_end,
|
||||
#custom-sl_end,
|
||||
#custom-sr_end,
|
||||
#custom-rl_end,
|
||||
#custom-rr_end {
|
||||
color: @main-fg;
|
||||
background: @main-bg;
|
||||
opacity: 1;
|
||||
margin: ${x1g_margin}px ${x2g_margin}px ${x3g_margin}px ${x4g_margin}px;
|
||||
padding-${x3}: ${g_paddin}px;
|
||||
padding-${x4}: ${g_paddin}px;
|
||||
}
|
||||
|
||||
#workspaces,
|
||||
#taskbar {
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
#custom-r_end {
|
||||
border-radius: ${x1rb_radius}px ${x2rb_radius}px ${x3rb_radius}px ${x4rb_radius}px;
|
||||
margin-${x4}: ${e_margin}px;
|
||||
padding-${x4}: ${e_paddin}px;
|
||||
}
|
||||
|
||||
#custom-l_end {
|
||||
border-radius: ${x1lb_radius}px ${x2lb_radius}px ${x3lb_radius}px ${x4lb_radius}px;
|
||||
margin-${x3}: ${e_margin}px;
|
||||
padding-${x3}: ${e_paddin}px;
|
||||
}
|
||||
|
||||
#custom-sr_end {
|
||||
border-radius: 0px;
|
||||
margin-${x4}: ${e_margin}px;
|
||||
padding-${x4}: ${e_paddin}px;
|
||||
}
|
||||
|
||||
#custom-sl_end {
|
||||
border-radius: 0px;
|
||||
margin-${x3}: ${e_margin}px;
|
||||
padding-${x3}: ${e_paddin}px;
|
||||
}
|
||||
|
||||
#custom-rr_end {
|
||||
border-radius: ${x1rc_radius}px ${x2rc_radius}px ${x3rc_radius}px ${x4rc_radius}px;
|
||||
margin-${x4}: ${e_margin}px;
|
||||
padding-${x4}: ${e_paddin}px;
|
||||
}
|
||||
|
||||
#custom-rl_end {
|
||||
border-radius: ${x1lc_radius}px ${x2lc_radius}px ${x3lc_radius}px ${x4lc_radius}px;
|
||||
margin-${x3}: ${e_margin}px;
|
||||
padding-${x3}: ${e_paddin}px;
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
"wlr/taskbar": {
|
||||
"format": "{icon}",
|
||||
"rotate": ${r_deg},
|
||||
"icon-size": ${i_task},
|
||||
"icon-theme": "${i_theme}",
|
||||
"spacing": 0,
|
||||
"tooltip-format": "{title}",
|
||||
"on-click": "activate",
|
||||
"on-click-middle": "close",
|
||||
"ignore-list": [
|
||||
"Alacritty"
|
||||
],
|
||||
"app_ids-mapping": {
|
||||
"firefoxdeveloperedition": "firefox-developer-edition"
|
||||
}
|
||||
},
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
"custom/theme": {
|
||||
"format": "{}",
|
||||
"rotate": ${r_deg},
|
||||
"exec": "echo ; echo switch theme",
|
||||
"on-click": "themeswitch.sh -n",
|
||||
"on-click-right": "themeswitch.sh -p",
|
||||
"on-click-middle": "sleep 0.1 && themeselect.sh",
|
||||
"interval" : 86400, // once every day
|
||||
"tooltip": true
|
||||
},
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
"tray": {
|
||||
"icon-size": ${i_size},
|
||||
"rotate": ${r_deg},
|
||||
"spacing": 5
|
||||
},
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
"custom/updates": {
|
||||
"exec": "systemupdate.sh",
|
||||
"return-type": "json",
|
||||
"format": "{}",
|
||||
"rotate": ${r_deg},
|
||||
"on-click": "hyprctl dispatch exec 'systemupdate.sh up'",
|
||||
"interval": 86400, // once every day
|
||||
"tooltip": true,
|
||||
"signal": 20
|
||||
},
|
||||
@@ -0,0 +1,11 @@
|
||||
"custom/wallchange": {
|
||||
"format": "{}",
|
||||
"rotate": ${r_deg},
|
||||
"exec": "echo ; echo switch wallpaper",
|
||||
"on-click": "swwwallpaper.sh -n",
|
||||
"on-click-right": "swwwallpaper.sh -p",
|
||||
"on-click-middle": "sleep 0.1 && swwwallselect.sh",
|
||||
"interval" : 86400, // once every day
|
||||
"tooltip": true
|
||||
},
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"hyprland/window": {
|
||||
"format": " {}",
|
||||
"rotate": 0,
|
||||
"separate-outputs": true,
|
||||
"max-length": 1000,
|
||||
"rewrite": {
|
||||
"(.*) — Kitty": " $1",
|
||||
"(.*)~": " $1",
|
||||
"(.*) — Mozilla Firefox": " $1",
|
||||
"(.*)Mozilla Firefox": " Firefox",
|
||||
"(.*) — LibreWolf": " $1",
|
||||
"(.*)LibreWolf": " LibreWolf",
|
||||
"(.*) — Chromium": " $1",
|
||||
"(.*)Chromium": " Chromium",
|
||||
"(.*) - VSCodium": " $1",
|
||||
"(.*)VSCodium": " VSCodium",
|
||||
"(.*)Code - OSS": " $1",
|
||||
"(.*) - Visual Studio Code": " $1",
|
||||
"(.*)Visual Studio Code": " Code",
|
||||
"(.*) — Dolphin": " $1",
|
||||
"(.*) - Obsidian(.*)": " $1",
|
||||
"(.*)Ferdium": " Ferdium",
|
||||
"(.*)FreeTube": " FreeTube",
|
||||
"(.*)Freetube": " FreeTube",
|
||||
"(.*) - VLC media player": " $1",
|
||||
"(.*)Steam": " Steam",
|
||||
"(.*)Neovide": " Nvim",
|
||||
"(.*)Gajim": " Gajim",
|
||||
"(.*)KeePassXC": " KeePassXC",
|
||||
"(.*)Betterbird": " Betterbird",
|
||||
"(.*)Spotify": " Spotify"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
"hyprland/workspaces": {
|
||||
"disable-scroll": true,
|
||||
"rotate": ${r_deg},
|
||||
"all-outputs": true,
|
||||
"active-only": false,
|
||||
"on-click": "activate",
|
||||
"disable-scroll": false,
|
||||
"on-scroll-up": "hyprctl dispatch workspace -1",
|
||||
"on-scroll-down": "hyprctl dispatch workspace +1",
|
||||
"persistent-workspaces": {
|
||||
}
|
||||
},
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
@define-color bar-bg rgba(0, 0, 0, 0.1);
|
||||
|
||||
@define-color main-bg rgba(0, 0, 0, 0.1);
|
||||
@define-color main-fg #cdd6f4;
|
||||
|
||||
@define-color wb-act-bg #a6adc8;
|
||||
@define-color wb-act-fg #313244;
|
||||
|
||||
@define-color wb-hvr-bg #f5c2e7;
|
||||
@define-color wb-hvr-fg #313244;
|
||||
@@ -0,0 +1,497 @@
|
||||
//
|
||||
// THIS FILE WAS AUTOGENERATED BY ZELLIJ, THE PREVIOUS FILE AT THIS LOCATION WAS COPIED TO: ~/.config/zellij/config.kdl.bak
|
||||
//
|
||||
|
||||
keybinds clear-defaults=true {
|
||||
locked {
|
||||
bind "Alt g" { SwitchToMode "normal"; }
|
||||
}
|
||||
pane {
|
||||
bind "h" "left" { MoveFocus "left"; }
|
||||
bind "j" "down" { MoveFocus "down"; }
|
||||
bind "k" "up" { MoveFocus "up"; }
|
||||
bind "l" "right" { MoveFocus "right"; }
|
||||
bind "c" { SwitchToMode "renamepane"; PaneNameInput 0; }
|
||||
bind "d" { NewPane "down"; SwitchToMode "normal"; }
|
||||
bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "normal"; }
|
||||
bind "f" { ToggleFocusFullscreen; SwitchToMode "normal"; }
|
||||
bind "h" { MoveFocus "left"; }
|
||||
bind "i" { TogglePanePinned; SwitchToMode "normal"; }
|
||||
bind "j" { MoveFocus "down"; }
|
||||
bind "k" { MoveFocus "up"; }
|
||||
bind "l" { MoveFocus "right"; }
|
||||
bind "n" { NewPane; SwitchToMode "normal"; }
|
||||
bind "p" { SwitchFocus; }
|
||||
bind "Alt p" { SwitchToMode "normal"; }
|
||||
bind "r" { NewPane "right"; SwitchToMode "normal"; }
|
||||
bind "w" { ToggleFloatingPanes; SwitchToMode "normal"; }
|
||||
bind "z" { TogglePaneFrames; SwitchToMode "normal"; }
|
||||
}
|
||||
tab {
|
||||
bind "h" "left" { GoToPreviousTab; }
|
||||
bind "j" "down" { GoToNextTab; }
|
||||
bind "k" "up" { GoToPreviousTab; }
|
||||
bind "l" "right" { GoToNextTab; }
|
||||
bind "1" { GoToTab 1; SwitchToMode "normal"; }
|
||||
bind "2" { GoToTab 2; SwitchToMode "normal"; }
|
||||
bind "3" { GoToTab 3; SwitchToMode "normal"; }
|
||||
bind "4" { GoToTab 4; SwitchToMode "normal"; }
|
||||
bind "5" { GoToTab 5; SwitchToMode "normal"; }
|
||||
bind "6" { GoToTab 6; SwitchToMode "normal"; }
|
||||
bind "7" { GoToTab 7; SwitchToMode "normal"; }
|
||||
bind "8" { GoToTab 8; SwitchToMode "normal"; }
|
||||
bind "9" { GoToTab 9; SwitchToMode "normal"; }
|
||||
bind "[" { BreakPaneLeft; SwitchToMode "normal"; }
|
||||
bind "]" { BreakPaneRight; SwitchToMode "normal"; }
|
||||
bind "b" { BreakPane; SwitchToMode "normal"; }
|
||||
bind "h" { GoToPreviousTab; }
|
||||
bind "j" { GoToNextTab; }
|
||||
bind "k" { GoToPreviousTab; }
|
||||
bind "l" { GoToNextTab; }
|
||||
bind "n" { NewTab; SwitchToMode "normal"; }
|
||||
bind "r" { SwitchToMode "renametab"; TabNameInput 0; }
|
||||
bind "s" { ToggleActiveSyncTab; SwitchToMode "normal"; }
|
||||
bind "Alt t" { SwitchToMode "normal"; }
|
||||
bind "x" { CloseTab; SwitchToMode "normal"; }
|
||||
bind "tab" { ToggleTab; }
|
||||
}
|
||||
resize {
|
||||
bind "h" "left" { Resize "Increase left"; }
|
||||
bind "j" "down" { Resize "Increase down"; }
|
||||
bind "k" "up" { Resize "Increase up"; }
|
||||
bind "l" "right" { Resize "Increase right"; }
|
||||
bind "+" { Resize "Increase"; }
|
||||
bind "-" { Resize "Decrease"; }
|
||||
bind "=" { Resize "Increase"; }
|
||||
bind "H" { Resize "Decrease left"; }
|
||||
bind "J" { Resize "Decrease down"; }
|
||||
bind "K" { Resize "Decrease up"; }
|
||||
bind "L" { Resize "Decrease right"; }
|
||||
bind "h" { Resize "Increase left"; }
|
||||
bind "j" { Resize "Increase down"; }
|
||||
bind "k" { Resize "Increase up"; }
|
||||
bind "l" { Resize "Increase right"; }
|
||||
bind "Alt n" { SwitchToMode "normal"; }
|
||||
}
|
||||
move {
|
||||
bind "h" "left" { MovePane "left"; }
|
||||
bind "j" "down" { MovePane "down"; }
|
||||
bind "k" "up" { MovePane "up"; }
|
||||
bind "l" "right" { MovePane "right"; }
|
||||
bind "h" { MovePane "left"; }
|
||||
bind "Alt h" { SwitchToMode "normal"; }
|
||||
bind "j" { MovePane "down"; }
|
||||
bind "k" { MovePane "up"; }
|
||||
bind "l" { MovePane "right"; }
|
||||
bind "n" { MovePane; }
|
||||
bind "p" { MovePaneBackwards; }
|
||||
bind "tab" { MovePane; }
|
||||
}
|
||||
scroll {
|
||||
bind "Alt left" { MoveFocusOrTab "left"; SwitchToMode "normal"; }
|
||||
bind "Alt down" { MoveFocus "down"; SwitchToMode "normal"; }
|
||||
bind "Alt up" { MoveFocus "up"; SwitchToMode "normal"; }
|
||||
bind "Alt right" { MoveFocusOrTab "right"; SwitchToMode "normal"; }
|
||||
bind "e" { EditScrollback; SwitchToMode "normal"; }
|
||||
bind "Alt j" { MoveFocus "down"; SwitchToMode "normal"; }
|
||||
bind "Alt k" { MoveFocus "up"; SwitchToMode "normal"; }
|
||||
bind "Alt l" { MoveFocusOrTab "right"; SwitchToMode "normal"; }
|
||||
bind "s" { SwitchToMode "entersearch"; SearchInput 0; }
|
||||
bind "Alt s" { SwitchToMode "normal"; }
|
||||
}
|
||||
search {
|
||||
bind "c" { SearchToggleOption "CaseSensitivity"; }
|
||||
bind "n" { Search "down"; }
|
||||
bind "o" { SearchToggleOption "WholeWord"; }
|
||||
bind "p" { Search "up"; }
|
||||
bind "Ctrl s" { SwitchToMode "normal"; }
|
||||
bind "w" { SearchToggleOption "Wrap"; }
|
||||
}
|
||||
session {
|
||||
bind "a" {
|
||||
LaunchOrFocusPlugin "zellij:about" {
|
||||
floating true
|
||||
move_to_focused_tab true
|
||||
}
|
||||
SwitchToMode "normal"
|
||||
}
|
||||
bind "c" {
|
||||
LaunchOrFocusPlugin "configuration" {
|
||||
floating true
|
||||
move_to_focused_tab true
|
||||
}
|
||||
SwitchToMode "normal"
|
||||
}
|
||||
bind "Alt o" { SwitchToMode "normal"; }
|
||||
bind "p" {
|
||||
LaunchOrFocusPlugin "plugin-manager" {
|
||||
floating true
|
||||
move_to_focused_tab true
|
||||
}
|
||||
SwitchToMode "normal"
|
||||
}
|
||||
bind "w" {
|
||||
LaunchOrFocusPlugin "session-manager" {
|
||||
floating true
|
||||
move_to_focused_tab true
|
||||
}
|
||||
SwitchToMode "normal"
|
||||
}
|
||||
}
|
||||
shared_among "normal" "locked" {
|
||||
bind "Ctrl Alt left" { MoveFocusOrTab "left"; }
|
||||
bind "Ctrl Alt down" { MoveFocus "down"; }
|
||||
bind "Ctrl Alt up" { MoveFocus "up"; }
|
||||
bind "Ctrl Alt right" { MoveFocusOrTab "right"; }
|
||||
bind "Ctrl Alt +" { Resize "Increase"; }
|
||||
bind "Ctrl Alt -" { Resize "Decrease"; }
|
||||
bind "Ctrl Alt =" { Resize "Increase"; }
|
||||
bind "Ctrl Alt [" { PreviousSwapLayout; }
|
||||
bind "Ctrl Alt ]" { NextSwapLayout; }
|
||||
bind "Ctrl Alt f" { ToggleFloatingPanes; }
|
||||
bind "Ctrl Alt h" { MoveFocusOrTab "left"; }
|
||||
bind "Ctrl Alt i" { MoveTab "left"; }
|
||||
bind "Ctrl Alt j" { MoveFocus "down"; }
|
||||
bind "Ctrl Alt k" { MoveFocus "up"; }
|
||||
bind "Ctrl Alt l" { MoveFocusOrTab "right"; }
|
||||
bind "Ctrl Alt n" { NewPane; }
|
||||
bind "Ctrl Alt o" { MoveTab "right"; }
|
||||
}
|
||||
shared_except "locked" "entersearch" "renametab" "renamepane" "move" "prompt" "tmux" {
|
||||
bind "Alt h" { SwitchToMode "move"; }
|
||||
}
|
||||
shared_except "locked" "entersearch" "renametab" "renamepane" "prompt" "tmux" {
|
||||
bind "Alt g" { SwitchToMode "locked"; }
|
||||
bind "Alt q" { Quit; }
|
||||
}
|
||||
shared_except "locked" "entersearch" "renametab" "renamepane" "session" "prompt" "tmux" {
|
||||
bind "Alt o" { SwitchToMode "session"; }
|
||||
}
|
||||
shared_except "locked" "scroll" "search" "tmux" {
|
||||
bind "Ctrl b" { SwitchToMode "tmux"; }
|
||||
}
|
||||
shared_except "locked" "scroll" "entersearch" "renametab" "renamepane" "prompt" "tmux" {
|
||||
bind "Alt s" { SwitchToMode "scroll"; }
|
||||
}
|
||||
shared_except "locked" "tab" "entersearch" "renametab" "renamepane" "prompt" "tmux" {
|
||||
bind "Alt t" { SwitchToMode "tab"; }
|
||||
}
|
||||
shared_except "locked" "pane" "entersearch" "renametab" "renamepane" "prompt" "tmux" {
|
||||
bind "Alt p" { SwitchToMode "pane"; }
|
||||
}
|
||||
shared_except "locked" "resize" "entersearch" "renametab" "renamepane" "prompt" "tmux" {
|
||||
bind "Alt n" { SwitchToMode "resize"; }
|
||||
}
|
||||
shared_except "normal" "locked" {
|
||||
bind "Alt +" { Resize "Increase"; }
|
||||
bind "Alt -" { Resize "Decrease"; }
|
||||
bind "Alt =" { Resize "Increase"; }
|
||||
bind "Alt [" { PreviousSwapLayout; }
|
||||
bind "Alt ]" { NextSwapLayout; }
|
||||
bind "Alt f" { ToggleFloatingPanes; }
|
||||
bind "Alt i" { MoveTab "left"; }
|
||||
}
|
||||
shared_except "normal" "locked" "entersearch" {
|
||||
bind "enter" { SwitchToMode "normal"; }
|
||||
}
|
||||
shared_except "normal" "locked" "entersearch" "renametab" "renamepane" {
|
||||
bind "esc" { SwitchToMode "normal"; }
|
||||
}
|
||||
shared_except "normal" "locked" "scroll" {
|
||||
bind "Alt left" { MoveFocusOrTab "left"; }
|
||||
bind "Alt down" { MoveFocus "down"; }
|
||||
bind "Alt up" { MoveFocus "up"; }
|
||||
bind "Alt right" { MoveFocusOrTab "right"; }
|
||||
bind "Alt j" { MoveFocus "down"; }
|
||||
bind "Alt k" { MoveFocus "up"; }
|
||||
bind "Alt l" { MoveFocusOrTab "right"; }
|
||||
}
|
||||
shared_among "pane" "tmux" {
|
||||
bind "x" { CloseFocus; SwitchToMode "normal"; }
|
||||
}
|
||||
shared_among "scroll" "search" {
|
||||
bind "PageDown" { PageScrollDown; }
|
||||
bind "PageUp" { PageScrollUp; }
|
||||
bind "left" { PageScrollUp; }
|
||||
bind "down" { ScrollDown; }
|
||||
bind "up" { ScrollUp; }
|
||||
bind "right" { PageScrollDown; }
|
||||
bind "Ctrl b" { PageScrollUp; }
|
||||
bind "Ctrl c" { ScrollToBottom; SwitchToMode "normal"; }
|
||||
bind "d" { HalfPageScrollDown; }
|
||||
bind "Ctrl f" { PageScrollDown; }
|
||||
bind "h" { PageScrollUp; }
|
||||
bind "j" { ScrollDown; }
|
||||
bind "k" { ScrollUp; }
|
||||
bind "l" { PageScrollDown; }
|
||||
bind "u" { HalfPageScrollUp; }
|
||||
}
|
||||
entersearch {
|
||||
bind "Ctrl c" { SwitchToMode "scroll"; }
|
||||
bind "esc" { SwitchToMode "scroll"; }
|
||||
bind "enter" { SwitchToMode "search"; }
|
||||
}
|
||||
shared_among "entersearch" "renametab" "renamepane" "prompt" "tmux" {
|
||||
bind "Ctrl g" { SwitchToMode "locked"; }
|
||||
bind "Ctrl h" { SwitchToMode "move"; }
|
||||
bind "Alt h" { MoveFocusOrTab "left"; }
|
||||
bind "Ctrl n" { SwitchToMode "resize"; }
|
||||
bind "Alt n" { NewPane; }
|
||||
bind "Ctrl o" { SwitchToMode "session"; }
|
||||
bind "Alt o" { MoveTab "right"; }
|
||||
bind "Ctrl p" { SwitchToMode "pane"; }
|
||||
bind "Ctrl q" { Quit; }
|
||||
bind "Ctrl s" { SwitchToMode "scroll"; }
|
||||
bind "Ctrl t" { SwitchToMode "tab"; }
|
||||
}
|
||||
renametab {
|
||||
bind "esc" { UndoRenameTab; SwitchToMode "tab"; }
|
||||
}
|
||||
shared_among "renametab" "renamepane" {
|
||||
bind "Ctrl c" { SwitchToMode "normal"; }
|
||||
}
|
||||
renamepane {
|
||||
bind "esc" { UndoRenamePane; SwitchToMode "pane"; }
|
||||
}
|
||||
shared_among "session" "tmux" {
|
||||
bind "d" { Detach; }
|
||||
}
|
||||
tmux {
|
||||
bind "left" { MoveFocus "left"; SwitchToMode "normal"; }
|
||||
bind "down" { MoveFocus "down"; SwitchToMode "normal"; }
|
||||
bind "up" { MoveFocus "up"; SwitchToMode "normal"; }
|
||||
bind "right" { MoveFocus "right"; SwitchToMode "normal"; }
|
||||
bind "space" { NextSwapLayout; }
|
||||
bind "\"" { NewPane "down"; SwitchToMode "normal"; }
|
||||
bind "%" { NewPane "right"; SwitchToMode "normal"; }
|
||||
bind "," { SwitchToMode "renametab"; }
|
||||
bind "[" { SwitchToMode "scroll"; }
|
||||
bind "Ctrl b" { Write 2; SwitchToMode "normal"; }
|
||||
bind "c" { NewTab; SwitchToMode "normal"; }
|
||||
bind "h" { MoveFocus "left"; SwitchToMode "normal"; }
|
||||
bind "j" { MoveFocus "down"; SwitchToMode "normal"; }
|
||||
bind "k" { MoveFocus "up"; SwitchToMode "normal"; }
|
||||
bind "l" { MoveFocus "right"; SwitchToMode "normal"; }
|
||||
bind "n" { GoToNextTab; SwitchToMode "normal"; }
|
||||
bind "o" { FocusNextPane; }
|
||||
bind "p" { GoToPreviousTab; SwitchToMode "normal"; }
|
||||
bind "z" { ToggleFocusFullscreen; SwitchToMode "normal"; }
|
||||
}
|
||||
}
|
||||
|
||||
// Plugin aliases - can be used to change the implementation of Zellij
|
||||
// changing these requires a restart to take effect
|
||||
plugins {
|
||||
about location="zellij:about"
|
||||
compact-bar location="zellij:compact-bar"
|
||||
configuration location="zellij:configuration"
|
||||
filepicker location="zellij:strider" {
|
||||
cwd "/"
|
||||
}
|
||||
plugin-manager location="zellij:plugin-manager"
|
||||
session-manager location="zellij:session-manager"
|
||||
status-bar location="zellij:status-bar"
|
||||
strider location="zellij:strider"
|
||||
tab-bar location="zellij:tab-bar"
|
||||
welcome-screen location="zellij:session-manager" {
|
||||
welcome_screen true
|
||||
}
|
||||
}
|
||||
|
||||
// Plugins to load in the background when a new session starts
|
||||
// eg. "file:/path/to/my-plugin.wasm"
|
||||
// eg. "https://example.com/my-plugin.wasm"
|
||||
load_plugins {
|
||||
}
|
||||
|
||||
// Use a simplified UI without special fonts (arrow glyphs)
|
||||
// Options:
|
||||
// - true
|
||||
// - false (Default)
|
||||
//
|
||||
// simplified_ui true
|
||||
|
||||
// Choose the theme that is specified in the themes section.
|
||||
// Default: default
|
||||
//
|
||||
theme "gruvbox-dark" // defined in themes/gruvbox-dark.kdl
|
||||
|
||||
// Choose the base input mode of zellij.
|
||||
// Default: normal
|
||||
//
|
||||
default_mode "normal"
|
||||
|
||||
// Choose the path to the default shell that zellij will use for opening new panes
|
||||
// Default: $SHELL
|
||||
//
|
||||
// default_shell "fish"
|
||||
|
||||
// Choose the path to override cwd that zellij will use for opening new panes
|
||||
//
|
||||
// default_cwd "/tmp"
|
||||
|
||||
// The name of the default layout to load on startup
|
||||
// Default: "default"
|
||||
//
|
||||
// default_layout "compact"
|
||||
|
||||
// The folder in which Zellij will look for layouts
|
||||
// (Requires restart)
|
||||
//
|
||||
// layout_dir "/tmp"
|
||||
|
||||
// The folder in which Zellij will look for themes
|
||||
// (Requires restart)
|
||||
//
|
||||
// theme_dir "/tmp"
|
||||
|
||||
// Toggle enabling the mouse mode.
|
||||
// On certain configurations, or terminals this could
|
||||
// potentially interfere with copying text.
|
||||
// Options:
|
||||
// - true (default)
|
||||
// - false
|
||||
//
|
||||
// mouse_mode false
|
||||
|
||||
// Toggle having pane frames around the panes
|
||||
// Options:
|
||||
// - true (default, enabled)
|
||||
// - false
|
||||
//
|
||||
// pane_frames false
|
||||
|
||||
// When attaching to an existing session with other users,
|
||||
// should the session be mirrored (true)
|
||||
// or should each user have their own cursor (false)
|
||||
// (Requires restart)
|
||||
// Default: false
|
||||
//
|
||||
// mirror_session true
|
||||
|
||||
// Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP
|
||||
// eg. when terminal window with an active zellij session is closed
|
||||
// (Requires restart)
|
||||
// Options:
|
||||
// - detach (Default)
|
||||
// - quit
|
||||
//
|
||||
// on_force_close "quit"
|
||||
|
||||
// Configure the scroll back buffer size
|
||||
// This is the number of lines zellij stores for each pane in the scroll back
|
||||
// buffer. Excess number of lines are discarded in a FIFO fashion.
|
||||
// (Requires restart)
|
||||
// Valid values: positive integers
|
||||
// Default value: 10000
|
||||
//
|
||||
// scroll_buffer_size 10000
|
||||
|
||||
// Provide a command to execute when copying text. The text will be piped to
|
||||
// the stdin of the program to perform the copy. This can be used with
|
||||
// terminal emulators which do not support the OSC 52 ANSI control sequence
|
||||
// that will be used by default if this option is not set.
|
||||
// Examples:
|
||||
//
|
||||
// copy_command "xclip -selection clipboard" // x11
|
||||
// copy_command "wl-copy" // wayland
|
||||
// copy_command "pbcopy" // osx
|
||||
//
|
||||
// copy_command "pbcopy"
|
||||
|
||||
// Choose the destination for copied text
|
||||
// Allows using the primary selection buffer (on x11/wayland) instead of the system clipboard.
|
||||
// Does not apply when using copy_command.
|
||||
// Options:
|
||||
// - system (default)
|
||||
// - primary
|
||||
//
|
||||
// copy_clipboard "primary"
|
||||
|
||||
// Enable automatic copying (and clearing) of selection when releasing mouse
|
||||
// Default: true
|
||||
//
|
||||
// copy_on_select true
|
||||
|
||||
// Path to the default editor to use to edit pane scrollbuffer
|
||||
// Default: $EDITOR or $VISUAL
|
||||
// scrollback_editor "/usr/bin/vim"
|
||||
|
||||
// A fixed name to always give the Zellij session.
|
||||
// Consider also setting `attach_to_session true,`
|
||||
// otherwise this will error if such a session exists.
|
||||
// Default: <RANDOM>
|
||||
//
|
||||
// session_name "My singleton session"
|
||||
|
||||
// When `session_name` is provided, attaches to that session
|
||||
// if it is already running or creates it otherwise.
|
||||
// Default: false
|
||||
//
|
||||
// attach_to_session true
|
||||
|
||||
// Toggle between having Zellij lay out panes according to a predefined set of layouts whenever possible
|
||||
// Options:
|
||||
// - true (default)
|
||||
// - false
|
||||
//
|
||||
// auto_layout false
|
||||
|
||||
// Whether sessions should be serialized to the cache folder (including their tabs/panes, cwds and running commands) so that they can later be resurrected
|
||||
// Options:
|
||||
// - true (default)
|
||||
// - false
|
||||
//
|
||||
// session_serialization false
|
||||
|
||||
// Whether pane viewports are serialized along with the session, default is false
|
||||
// Options:
|
||||
// - true
|
||||
// - false (default)
|
||||
//
|
||||
// serialize_pane_viewport false
|
||||
|
||||
// Scrollback lines to serialize along with the pane viewport when serializing sessions, 0
|
||||
// defaults to the scrollback size. If this number is higher than the scrollback size, it will
|
||||
// also default to the scrollback size. This does nothing if `serialize_pane_viewport` is not true.
|
||||
//
|
||||
// scrollback_lines_to_serialize 10000
|
||||
|
||||
// Enable or disable the rendering of styled and colored underlines (undercurl).
|
||||
// May need to be disabled for certain unsupported terminals
|
||||
// (Requires restart)
|
||||
// Default: true
|
||||
//
|
||||
// styled_underlines false
|
||||
|
||||
// How often in seconds sessions are serialized
|
||||
//
|
||||
// serialization_interval 10000
|
||||
|
||||
// Enable or disable writing of session metadata to disk (if disabled, other sessions might not know
|
||||
// metadata info on this session)
|
||||
// (Requires restart)
|
||||
// Default: false
|
||||
//
|
||||
// disable_session_metadata false
|
||||
|
||||
// Enable or disable support for the enhanced Kitty Keyboard Protocol (the host terminal must also support it)
|
||||
// (Requires restart)
|
||||
// Default: true (if the host terminal supports it)
|
||||
//
|
||||
// support_kitty_keyboard_protocol false
|
||||
|
||||
// Whether to stack panes when resizing beyond a certain size
|
||||
// Default: true
|
||||
//
|
||||
// stacked_resize false
|
||||
|
||||
// Whether to show tips on startup
|
||||
// Default: true
|
||||
//
|
||||
// show_startup_tips false
|
||||
|
||||
// Whether to show release notes on first version run
|
||||
// Default: true
|
||||
//
|
||||
// show_release_notes false
|
||||
@@ -0,0 +1,120 @@
|
||||
themes {
|
||||
gruvbox-dark {
|
||||
text_unselected {
|
||||
base 251 241 199
|
||||
background 60 56 54
|
||||
emphasis_0 214 93 14
|
||||
emphasis_1 104 157 106
|
||||
emphasis_2 152 151 26
|
||||
emphasis_3 177 98 134
|
||||
}
|
||||
text_selected {
|
||||
base 251 241 199
|
||||
background 80 73 69
|
||||
emphasis_0 214 93 14
|
||||
emphasis_1 104 157 106
|
||||
emphasis_2 152 151 26
|
||||
emphasis_3 177 98 134
|
||||
}
|
||||
ribbon_selected {
|
||||
base 60 56 54
|
||||
background 152 151 26
|
||||
emphasis_0 204 36 29
|
||||
emphasis_1 214 93 14
|
||||
emphasis_2 177 98 134
|
||||
emphasis_3 69 133 136
|
||||
}
|
||||
ribbon_unselected {
|
||||
base 60 56 54
|
||||
background 235 219 178
|
||||
emphasis_0 204 36 29
|
||||
emphasis_1 251 241 199
|
||||
emphasis_2 69 133 136
|
||||
emphasis_3 177 98 134
|
||||
}
|
||||
table_title {
|
||||
base 152 151 26
|
||||
background 0
|
||||
emphasis_0 214 93 14
|
||||
emphasis_1 104 157 106
|
||||
emphasis_2 152 151 26
|
||||
emphasis_3 177 98 134
|
||||
}
|
||||
table_cell_selected {
|
||||
base 251 241 199
|
||||
background 80 73 69
|
||||
emphasis_0 214 93 14
|
||||
emphasis_1 104 157 106
|
||||
emphasis_2 152 151 26
|
||||
emphasis_3 177 98 134
|
||||
}
|
||||
table_cell_unselected {
|
||||
base 251 241 199
|
||||
background 60 56 54
|
||||
emphasis_0 214 93 14
|
||||
emphasis_1 104 157 106
|
||||
emphasis_2 152 151 26
|
||||
emphasis_3 177 98 134
|
||||
}
|
||||
list_selected {
|
||||
base 251 241 199
|
||||
background 80 73 69
|
||||
emphasis_0 214 93 14
|
||||
emphasis_1 104 157 106
|
||||
emphasis_2 152 151 26
|
||||
emphasis_3 177 98 134
|
||||
}
|
||||
list_unselected {
|
||||
base 251 241 199
|
||||
background 60 56 54
|
||||
emphasis_0 214 93 14
|
||||
emphasis_1 104 157 106
|
||||
emphasis_2 152 151 26
|
||||
emphasis_3 177 98 134
|
||||
}
|
||||
frame_selected {
|
||||
base 152 151 26
|
||||
background 0
|
||||
emphasis_0 214 93 14
|
||||
emphasis_1 104 157 106
|
||||
emphasis_2 177 98 134
|
||||
emphasis_3 0
|
||||
}
|
||||
frame_highlight {
|
||||
base 214 93 14
|
||||
background 0
|
||||
emphasis_0 177 98 134
|
||||
emphasis_1 214 93 14
|
||||
emphasis_2 214 93 14
|
||||
emphasis_3 214 93 14
|
||||
}
|
||||
exit_code_success {
|
||||
base 152 151 26
|
||||
background 0
|
||||
emphasis_0 104 157 106
|
||||
emphasis_1 60 56 54
|
||||
emphasis_2 177 98 134
|
||||
emphasis_3 69 133 136
|
||||
}
|
||||
exit_code_error {
|
||||
base 204 36 29
|
||||
background 0
|
||||
emphasis_0 215 153 33
|
||||
emphasis_1 0
|
||||
emphasis_2 0
|
||||
emphasis_3 0
|
||||
}
|
||||
multiplayer_user_colors {
|
||||
player_1 177 98 134
|
||||
player_2 69 133 136
|
||||
player_3 0
|
||||
player_4 215 153 33
|
||||
player_5 104 157 106
|
||||
player_6 0
|
||||
player_7 204 36 29
|
||||
player_8 0
|
||||
player_9 0
|
||||
player_10 0
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,105 @@
|
||||
// ============================================================================
|
||||
// librewolf.overrides.cfg — personal overrides for LibreWolf's hardened defaults
|
||||
// ----------------------------------------------------------------------------
|
||||
// Deployed by ~/.dots (GNU Stow, `gui` package) to ~/.librewolf/librewolf.overrides.cfg
|
||||
// It is read AFTER the packaged librewolf.cfg, so anything set here WINS and is
|
||||
// re-applied on every launch (this is why about:config edits to hardened prefs
|
||||
// don't otherwise stick).
|
||||
//
|
||||
// Syntax is Mozilla AutoConfig (JS-ish), NOT prefs.js. Available functions:
|
||||
// defaultPref("x", v) set the DEFAULT (still changeable in about:config, <- preferred
|
||||
// reapplied each start; runtime changes persist per profile)
|
||||
// pref("x", v) set the current value
|
||||
// lockPref("x", v) set AND lock (greyed-out / uneditable in about:config)
|
||||
// clearPref("x") reset to the built-in default
|
||||
// Comments: // line or /* block */. Changes take effect after a restart.
|
||||
//
|
||||
// Everything below uses defaultPref so you can still toggle live in about:config.
|
||||
// Trim to taste — the "privacy trade-offs" section is commented out on purpose;
|
||||
// uncomment only what you actually need.
|
||||
// ============================================================================
|
||||
|
||||
|
||||
// ===[ Quality-of-life (safe, low-risk) ]=====================================
|
||||
|
||||
// Restore my previous windows & tabs on startup (1 = homepage, 3 = restore session).
|
||||
defaultPref("browser.startup.page", 3);
|
||||
|
||||
// Keep search-in-address-bar working (also required for DuckDuckGo !bangs & keyword
|
||||
// searches to resolve from the URL bar).
|
||||
defaultPref("keyword.enabled", true);
|
||||
|
||||
// Middle-click / hold autoscroll.
|
||||
defaultPref("general.autoScroll", true);
|
||||
|
||||
// Remember form-field entries (search boxes, etc.).
|
||||
defaultPref("browser.formfill.enable", true);
|
||||
|
||||
// Smooth-ish spell check in text areas.
|
||||
defaultPref("layout.spellcheckDefault", 1);
|
||||
|
||||
|
||||
// ===[ Stay logged in across restarts ]=======================================
|
||||
// LibreWolf wipes cookies + history on shutdown, so you're logged out of
|
||||
// everything every time you close it. This block keeps sessions/history.
|
||||
// >>> Comment this whole block out to restore LibreWolf's clear-on-exit privacy. <<<
|
||||
|
||||
// Master switch for the "clear on shutdown" sweep.
|
||||
defaultPref("privacy.sanitize.sanitizeOnShutdown", false);
|
||||
|
||||
// Belt-and-suspenders granular keys (names differ across Firefox versions; setting
|
||||
// unknown ones is harmless). Old-style:
|
||||
defaultPref("privacy.clearOnShutdown.cookies", false);
|
||||
defaultPref("privacy.clearOnShutdown.history", false);
|
||||
defaultPref("privacy.clearOnShutdown.sessions", false);
|
||||
defaultPref("privacy.clearOnShutdown.offlineApps", false);
|
||||
// Firefox 128+ (_v2) keys:
|
||||
defaultPref("privacy.clearOnShutdown_v2.cookiesAndStorage", false);
|
||||
defaultPref("privacy.clearOnShutdown_v2.historyFormDataAndDownloads", false);
|
||||
|
||||
// Don't downgrade all cookies to session-only (LibreWolf sets 2 = delete on close;
|
||||
// 0 = keep until they expire). May be a no-op on newer builds where it's deprecated.
|
||||
defaultPref("network.cookie.lifetimePolicy", 0);
|
||||
|
||||
|
||||
// ===[ Downloads ]============================================================
|
||||
// true = save straight to the download dir; false = ask every time. Pick one.
|
||||
defaultPref("browser.download.useDownloadDir", true);
|
||||
// defaultPref("browser.download.dir", "/home/YOURUSER/Downloads"); // must be absolute — ~ is not expanded
|
||||
// defaultPref("browser.download.folderList", 2); // 2 = use the custom dir above
|
||||
|
||||
|
||||
// ===[ Privacy / security trade-offs — OPT IN by uncommenting ]================
|
||||
// Each of these RELAXES a LibreWolf hardening default. Enable only if you need it.
|
||||
|
||||
// -- resistFingerprinting (RFP) --
|
||||
// RFP is LibreWolf's strongest anti-fingerprinting measure but it also forces a
|
||||
// light theme, spoofs your timezone, adds letterbox bars, and standardises the
|
||||
// window size. Turn it fully off:
|
||||
// defaultPref("privacy.resistFingerprinting", false);
|
||||
// ...or keep RFP but drop just the grey letterbox bars around pages:
|
||||
// defaultPref("privacy.resistFingerprinting.letterboxing", false);
|
||||
|
||||
// -- WebGL -- (LibreWolf disables it; needed for maps, some games, 3D canvas)
|
||||
// defaultPref("webgl.disabled", false);
|
||||
|
||||
// -- DRM / EME -- (needed for Netflix, Spotify Web, Amazon Video, etc.)
|
||||
// defaultPref("media.eme.enabled", true);
|
||||
// defaultPref("media.gmp-widevine.enabled", true);
|
||||
|
||||
// -- Firefox Sync -- (LibreWolf disables the account UI)
|
||||
// defaultPref("identity.fxaccounts.enabled", true);
|
||||
|
||||
// -- Built-in password manager -- (LibreWolf disables saving logins)
|
||||
// defaultPref("signon.rememberSignons", true);
|
||||
|
||||
// -- Search suggestions from your default engine as you type --
|
||||
// defaultPref("browser.search.suggest.enabled", true);
|
||||
// defaultPref("browser.urlbar.suggest.searches", true);
|
||||
|
||||
|
||||
// ===[ Personal tweaks — add your own below ]=================================
|
||||
// e.g. compact UI density:
|
||||
// defaultPref("browser.uidensity", 1); // 0 normal, 1 compact, 2 touch
|
||||
// e.g. open new tab to a blank page:
|
||||
// defaultPref("browser.newtabpage.enabled", false);
|
||||
Reference in New Issue
Block a user