[Update] bulk update

This commit is contained in:
2026-09-12 23:38:18 +02:00
parent 3ec2503f38
commit 675ce12b2e
162 changed files with 3348 additions and 2419 deletions
@@ -0,0 +1,53 @@
# dunst drop-in — undo HyDE's pink critical notification, and make the progress bar visible.
#
# Why a drop-in and not the obvious files:
# ~/.config/dunst/dunstrc is GENERATED by ~/.local/share/wallbash/scripts/dunst.sh on every
# theme change, and says so in its own header.
# ~/.config/dunst/dunst.conf is HyDE's shipped source for that generator — but dunst.toml
# declares `action = "sync"` on the whole `dunst` directory, so HyDE
# overwrites it on every update.
# dunst >= 1.10 reads dunstrc.d/*.conf as drop-ins that override the base config (lexically last
# wins), and HyDE's sync copies its files in without deleting extras — so this file survives both
# a theme change and a HyDE update. Apply with `dunstctl reload`.
#
# [urgency_critical] is the pink: HyDE's generator injects background #f5e0dc (Catppuccin
# rosewater) with a #f38ba8 frame — a pale pink slab, and with `timeout = 0` it never expires, so
# one error notification sits on screen until dismissed. Note this block is NOT wallbash-driven
# (dunst.conf ships it commented out and the generator hardcodes it), so overriding it costs no
# theme coupling. Inverted here: dark base like every other surface, with the pink kept as text
# and frame so "critical" still reads as critical at a glance.
[urgency_critical]
background = "#1e1e2eF2"
foreground = "#f5e0dc"
frame_color = "#f38ba8"
# urgency_low/normal are the everyday notifications — the volume/mute popup is `normal`, since
# volumecontrol.sh sends it with no -u. wallbash generates those as a primary colour at alpha `80`
# (#583A6B80 plum for normal, #657AA380 for low) and [global] adds `transparency = 10` on top, so
# roughly half the wallpaper shows through: on a pink-toned palette the popup reads as pink no
# matter what the base hue is.
#
# Overriding them here **decouples notifications from wallbash** — they no longer follow the
# wallpaper the way the cava bar, waybar and kitty still do. That is the deliberate trade for a
# readable popup. To hand them back to wallbash, delete these two blocks and restart dunst; the
# generated dunstrc underneath is untouched.
#
# The frames also needed fixing regardless of colour: the generator emits frame_color at alpha
# `03` (~1% opacity) and never sets `highlight`, and dunst falls back to frame_color for the
# progress bar — so the volume bar was drawing invisibly.
#
# Frame and highlight are deliberately NOT the mauve from hypr's active window border: at these
# sizes #ca9ee6 renders as a pink outline plus a pink bar, which is the thing that looked wrong in
# the first place. A neutral surface frame with a blue bar keeps the popup quiet.
[urgency_low]
background = "#1e1e2eF2"
foreground = "#cdd6f4"
frame_color = "#6c7086"
[urgency_normal]
background = "#1e1e2eF2"
foreground = "#cdd6f4"
frame_color = "#45475a"
[global]
highlight = "#89b4fa"
@@ -0,0 +1,26 @@
## gui package — pin which config Hyprland starts with.
##
## HyDE 26.x configures Hyprland in Lua and points HYPRLAND_CONFIG at
## ~/.local/share/hypr/hyde.lua. Once that is set, Hyprland never reads
## ~/.config/hypr/hyprland.conf, so the entire dots hypr layer (theme, keybinds,
## window rules, monitors, userprefs) is bypassed and the session comes up as
## stock HyDE — silently, with `hyprctl configerrors` empty.
##
## Why it is set from *fish* of all places: the update dropped a real
## ~/.config/fish/conf.d/hyde.fish (untracked, HyDE-owned) which exports it, and
## fish sources every conf.d/*.fish at startup. SDDM launches the session through
## the login shell (/usr/bin/start-hyprland, the `hyprland.desktop` entry — not
## `hyprland-uwsm.desktop`), so the compositor inherits whatever fish exported.
## HyDE's snippet only assigns `if test -z "$HYPRLAND_CONFIG"`, and conf.d files
## load in alphabetical order, so this file's `00-` prefix means ours is already
## set by the time hyde.fish looks — do not rename it above `hyde.fish`.
##
## The uwsm twin of this lives in gui/.config/uwsm/env-hyprland.d/10-dots.sh and
## covers the `hyprland-uwsm.desktop` session entry, which sources uwsm env files
## instead of the shell. Both are needed; neither is sufficient alone.
##
## STOPGAP: this pins ~/.local/share/hyde/hyprland.conf, which current HyDE no
## longer ships (ours is a leftover of the pre-update install). The supported
## path is porting the hypr layer to ~/.config/hypr/hyprland.lua. See
## HYDE-UPDATE.md. Takes effect at session start — relogin, not `hyprctl reload`.
set -gx HYPRLAND_CONFIG "$HOME/.config/hypr/hyprland.conf"
@@ -0,0 +1,25 @@
## gui package — undo the starship prompt that HyDE's fish snippet installs.
##
## The HyDE 26.x update dropped an untracked ~/.config/fish/conf.d/hyde.fish that
## runs `starship init fish | source`. That eagerly defines fish_prompt AND
## fish_right_prompt, which shadows our own functions/fish_prompt.fish: fish only
## autoloads a function that is not already defined, so ours never loaded and
## every new shell came up with starship's prompt.
##
## conf.d is sourced alphabetically, so this file must sort AFTER hyde.fish to
## undo it — hence zz-.
##
## Note it *sources* our prompts rather than erasing starship's: `functions --erase`
## on an autoloadable name also suppresses the autoload, which leaves the shell
## with no fish_prompt at all ("Unknown command: fish_prompt"). Defining ours over
## the top is what actually wins — for fish_right_prompt too, since common ships
## functions/fish_right_prompt.fish (the git-status right prompt).
##
## Nothing else from hyde.fish is undone here: its aliases lose to config.fish,
## which fish loads after conf.d, and its `df` wrapper is a function we do not
## otherwise define. Delete this file if you ever decide you want starship.
for f in fish_prompt fish_right_prompt
if test -r $__fish_config_dir/functions/$f.fish
source $__fish_config_dir/functions/$f.fish
end
end
-1
View File
@@ -1 +0,0 @@
source = ./HyDE.conf
+26 -6
View File
@@ -27,9 +27,18 @@
# █▀█ █▀▀ █▀▀ ▄█
# $QUICKAPPS = # used for quick app launcher
# $BROWSER = firefox # default browser, if commented out , will use the default browser
# Leaving this to HyDE means Super+B runs its `$default.BROWSER`, which is
# `hyde-launch.sh --fall firefox web-browser` — and the 26.x update deprecated that script, so
# every press fired a "hyde-launch.sh is deprecated, please use hyde-shell open instead"
# notification. Naming the browser directly skips the wrapper entirely. This is the primary
# browser only; Super+Shift+B (librewolf) and Super+Ctrl+B (firefox) are set in keybindings.conf.
# `hyde-shell open web-browser` is the modern HyDE equivalent if the xdg default should decide.
$BROWSER = zen-browser # matches the xdg default (zen.desktop)
# $EDITOR = code # default editor, if commented out , will use the default editor
# $EXPLORER= dolphin # default file manager, if commented out , will use the default file manager
# Same deprecation as $BROWSER above: HyDE's default is `hyde-launch.sh --fall dolphin
# file-manager`, and Super+E in keybindings.conf uses it. $EDITOR is deliberately left to HyDE —
# no active bind reads it (Super+C runs `$TERMINAL nvim`), so there is nothing to fix there.
$EXPLORER = dolphin # matches the xdg default (org.kde.dolphin.desktop)
# $TERMINAL = kitty # default terminal, if commented out , will use the org.gnome.desktop.default-applications.terminal
# $LOCKSCREEN=hyprlock # default lockscreen, you can use any lockscreen you want, eg swaylock
# $IDLE=hypridle # default idle manager, you can use any idle manager you want,eg swayidle
@@ -43,14 +52,21 @@
# $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
# Empty = unset, so HyDE's default `exec-once = $start.BAR` (a bare `waybar`, using HyDE's
# generated config.jsonc/style.css) does not launch a second bar. The bar we actually want is
# launched from userprefs.conf with the custom layout/style.
$start.BAR=
# $start.NOTIFICATIONS=swaync # dunst
# $start.APPTRAY_BLUETOOTH=blueman-applet
# $start.WALLPAPER=$scrPath/swwwallpaper.sh
# $start.WALLPAPER=$scrPath/wallpaper.sh --global # 26.x: backend-agnostic (awww); swwwallpaper.sh is gone
# $start.TEXT_CLIPBOARD=wl-paste --type text --watch cliphist store
# $start.IMAGE_CLIPBOARD=wl-paste --type image --watch cliphist store
# $start.BATTERY_NOTIFY=$scrPath/batterynotify.sh
# $start.NETWORK_MANAGER=nm-applet --indicator
# Kept explicitly at the default: nm-applet's tray icon is the one place with a quick
# connect/disconnect MENU (wifi list, VPN) — the bar's `network` module only shows state
# and bandwidth. Tela renders it as a blue circle (its scalable/devices icon); that's the
# theme working, not a bug. Was briefly unset 2026-08-14 — wrong call, the menu was wanted.
$start.NETWORK_MANAGER=nm-applet --indicator
# $start.REMOVABLE_MEDIA=udiskie --no-automount --smart-tray
# $start.AUTH_DIALOGUE=$scrPath/polkitkdeauth.sh
# $start.IDLE_DAEMON=$IDLE
@@ -104,7 +120,11 @@
#$GTK_THEME=Wallbash-Gtk
#$ICON_THEME=Tela-circle-dracula
# dots-icons = repo-tracked overlay theme (gui/.local/share/icons/dots-icons) that inherits
# Tela-circle-dracula and only swaps the tray/status icons for Tela's monochrome panel set at
# every size — without it, waybar on a fractionally-scaled monitor requests 2x sizes and gets
# the colored-circle variants (the blue nm-applet blob). Everything else still comes from Tela.
$ICON_THEME=dots-icons
#$COLOR_SCHEME=prefer-dark
# // █▀▀ █░█ █▀█ █▀ █▀█ █▀█
-132
View File
@@ -1,132 +0,0 @@
# ░▒▒▒░░░░░▓▓ ___________
# ░░▒▒▒░░░░░▓▓ //___________/
# ░░▒▒▒░░░░░▓▓ _ _ _ _ _____
# ░░▒▒░░░░░▓▓▓▓▓▓ | | | | | | | __/
# ░▒▒░░░░▓▓ ▓▓ | |_| | |_/ /| |___
# ░▒▒░░▓▓ ▓▓ \__ |____/ |____/
# ░▒▓▓ ▓▓ //____/
$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
}
@@ -1,158 +0,0 @@
# Hyprclouds from Arfan on Clouds
# By: Arfan on Clouds https://github.com/arfan-on-clouds/hyprclouds
# Modified by: The HyDE Project
$resolve.font=SF Pro Display|https://font.download/dl/font/sf-pro-display.zip
$resolve.font=AlfaSlabOne|https://font.download/dl/font/alfa-slab-one.zip
# BACKGROUND
background {
monitor =
color = $wallbash_pry1_rgba
path = $BACKGROUND_PATH
blur_size = 4
blur_passes = 3 # 0 disables blurring
noise = 0.0117
contrast = 1.3000 # Vibrant!!!
brightness = 0.8000
vibrancy = 0.2100
vibrancy_darkness = 0.0
}
# INPUT FIELD
input-field {
monitor =
size = 190, 50
outline_thickness = 2
dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8
dots_spacing = 0.2 # Scale of dots' absolute size, 0.0 - 1.0
dots_center = true
fade_on_empty = true
font_family = SF Pro Display Bold
placeholder_text = <i><span foreground="##ffffff99"></span></i>
hide_input = false
position = 0, -170
halign = center
valign = center
outer_color = $wallbash_pry4_rgba
inner_color = $wallbash_pry2_rgba
font_color = $wallbash_3xa9_rgba
check_color = $wallbash_pry4_rgba
}
# Hour-Time
label {
monitor =
text = cmd[update:1000] echo -e "$(date +"%I")"
color = $wallbash_1xa8_rgba
shadow_passes = 3
shadow_size = 2
font_size = 100
font_family = AlfaSlabOne
position = 0, 100
halign = center
valign = center
}
# Minute-Time
label {
monitor =
text = cmd[update:1000] echo -e "$(date +"%M")"
color = $wallbash_3xa9_rgba
font_size = 100
font_family = AlfaSlabOne
shadow_passes = 3
shadow_size = 2
position = 0, -20
halign = center
valign = center
}
# Day-Date-Month
label {
monitor =
text = cmd[update:1000] echo -e "$(date +"%d %b %A")"
color = $wallbash_3xa9_rgba
shadow_passes = 3
shadow_size = 1
font_size = 12
font_family = JetBrains Mono Nerd Font Mono ExtraBold
position = 1%, -1%
halign = left
valign = top
}
# CURRENT SONG
label {
monitor =
text = cmd[update:1000] $MPRIS_TEXT # Outputs the song title when mpris is available, otherwise, it will output the splash command.
color = $wallbash_3xa9_rgba
shadow_passes = 3
shadow_size = 1
font_size = 14
font_family = JetBrains Mono Nerd, SF Pro Display Bold
position = 0, 20
halign = center
valign = bottom
}
image {
monitor =
path = $MPRIS_IMAGE
size = 80 # lesser side if not 1:1 ratio
rounding = -1 # negative values mean circle
border_size = 0
shadow_passes = 3
shadow_size = 3
border_color = rgb(221, 221, 221)
rotate = 0 # degrees, counter-clockwise
reload_time = 0 # seconds between reloading, 0 to reload with SIGUSR2
# reload_cmd = # command to get new path. if empty, old path will be used. don't run "follow" commands like tail -F
position = 0, 10%
halign = center
valign = bottom
}
# Battery Status if present
label {
monitor =
text = cmd[update:5000] $BATTERY_ICON
color = $wallbash_4xa9_rgba
font_size = 20
font_family = JetBrainsMono Nerd Font
position = -1%, 1%
halign = right
valign = bottom
}
# Current Keyboard Layout
label {
monitor =
text = cmd[update:1000] $KEYBOARD_LAYOUT
color = $wallbash_4xa9_rgba
font_size = 20
font_family = JetBrains Mono Nerd, SF Pro Display Bold
position = -2%, 1%
halign = right
valign = bottom
}
# Weather
#! Put the weather command last to lessen the load time of other modules
label {
monitor =
text = cmd[update:18000000] $WEATHER_CMD
color = $wallbash_3xa9_rgba
font_size = 16
shadow_passes = 3
shadow_size = 1
font_family = JetBrains Mono Nerd, SF Pro Display Bold
position = -1%, -1%
halign = right
valign = top
}
-112
View File
@@ -1,112 +0,0 @@
# ░▒▒▒░░░░░▓▓ ___________
# ░░▒▒▒░░░░░▓▓ //___________/
# ░░▒▒▒░░░░░▓▓ _ _ _ _ _____
# ░░▒▒░░░░░▓▓▓▓▓▓ | | | | | | | __/
# ░▒▒░░░░▓▓ ▓▓ | |_| | |_/ /| |___
# ░▒▒░░▓▓ ▓▓ \__ |____/ |____/
# ░▒▓▓ ▓▓ //____/
$fontFamily = IBM Plex Sans
$resolve.font=IBM Plex Sans|https://github.com/IBM/plex/releases/download/%40ibm%2Fplex-sans%401.1.0/ibm-plex-sans.zip
# GENERAL
background {
monitor =
path = $BACKGROUND_PATH
blur_size = 5
blur_passes = 0
noise = 0.0117
contrast = 1.3000 # Vibrant!
brightness = 0.8000
vibrancy = 0.2100
vibrancy_darkness = 0.0
}
# Current time
label {
monitor =
text = cmd[update:1000] echo "<b><big> $(date +"%H") </big></b>"
color = $wallbash_2xa7_rgba
font_size = 180
font_family = $fontFamily Medium 10
position = 0, 80
halign = center
valign = center
}
label {
monitor =
text = cmd[update:1000] echo "<b><big> $(date +"%M") </big></b>"
color = $wallbash_2xa9_rgba
font_size = 180
font_family = $fontFamily Medium 10
position = 0, -120
halign = center
valign = center
}
label {
monitor =
text = cmd[update:1000] echo "<b><big> $(date +"%d %b") </big></b>"
color = $wallbash_2xa8_rgba
font_size = 20
font_family = $fontFamily Medium 10
position = 0, -230
halign = center
valign = center
}
label {
monitor =
text = cmd[update:1000] echo "<b><big> $(date +"%A") </big></b>"
color = $wallbash_2xa8_rgba
font_size = 20
font_family = $fontFamily Medium 10
position = 0, -250
halign = center
valign = center
}
#INPUT FIELD
input-field {
monitor =
# size = 15%, 5% # hyprlock-git
size = 200, 50
outline_thickness = 3
dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8
dots_spacing = 1.00 # Scale of dots' absolute size, 0.0 - 1.0
dots_center = true
outer_color = $wallbash_pry2_rgba
inner_color = $wallbash_pry3_rgba
font_color = $color7
fade_on_empty = true
placeholder_text = <i>Password...</i> # Text rendered in the input box when it's empty.
hide_input = false
position = 0, 60
halign = center
valign = bottom
}
# Battery Status if present
label {
monitor =
text = cmd[update:5000] $BATTERY_ICON
color = $wallbash_4xa9_rgba
font_size = 20
font_family = JetBrainsMono Nerd Font
position = -1%, 1%
halign = right
valign = bottom
}
# Current Keyboard Layout
label {
monitor =
text = cmd[update:1000] $KEYBOARD_LAYOUT
color = $wallbash_4xa9_rgba
font_size = 20
font_family = $fontFamily
position = -2%, 1%
halign = right
valign = bottom
}
-161
View File
@@ -1,161 +0,0 @@
# 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
}
-1
View File
@@ -1 +0,0 @@
source = ./HyDE.conf
+8 -4
View File
@@ -26,15 +26,19 @@
$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
# `dontkillsteam.sh` was dropped by HyDE (gone from lib/hyde as of the 2026-08-13 update) and
# upstream now closes with the native dispatcher — its Lua key_binds.lua binds both of these to
# `hl.dsp.window.close()`. A bind pointing at a missing script stays valid and silently does
# nothing, which on these two keys means windows stop closing.
bindd = $mainMod, Q, $d close focused window, killactive,
bindd = Alt, F4, $d close focused window, killactive,
bindd = $mainMod, Delete, $d kill hyprland session, exit
bindd = $mainMod, W, $d toggle float, togglefloating, #
bindd = $mainMod Shift, G, $d toggle group, togglegroup
bindd = Shift, F11, $d toggle fullscreen, fullscreen
bindd = Alt, Return, $d toggle fullscreen, fullscreen
bindd = $mainMod, L, $d lock screen, exec, lockscreen.sh
bindd = $mainMod Shift, F, $d toggle pin on focused window, exec, $scrPath/window.pin.sh
bindd = $mainMod Shift, F, $d toggle pin on focused window, exec, $scrPath/windowpin.sh # renamed upstream (was window.pin.sh); the old machine-local shim is gone with the update
bindd = Control Alt, Delete, $d logout menu, exec, $scrPath/logoutlaunch.sh
bindd = Control Alt, W, $d toggle waybar, exec, killall waybar || waybar -c ~/.config/waybar/layouts/custom.jsonc -s ~/.config/waybar/layouts/custom.css
# bindd = Control Alt, W, $d toggle waybar, exec, hyde-shell waybar --hide
@@ -123,7 +127,7 @@ 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 = Control Shift, Escape, $d system monitor , exec, $scrPath/system.monitor.sh # renamed upstream (was sysmonlaunch.sh)
bindd = $mainMod, F, $d freetube , exec, freetube # youtube alternative
bindd = $mainMod, K, $d password manager , exec, keepassxc # launch password manager
bindd = $mainMod, G, $d xmpp, exec, gajim # launch messanger
+2
View File
@@ -29,6 +29,8 @@ layerrule = ignore_alpha 0,match:namespace cavabar
env = SSH_AUTH_SOCK,$XDG_RUNTIME_DIR/ssh-agent.socket # ssh on start
env = ELECTRON_OZONE_PLATFORM_HINT,x11 # Disable after hyprland fixes electron flickering
exec-once = waybar -c ~/.config/waybar/layouts/custom.jsonc -s ~/.config/waybar/layouts/custom.css
# Steam Controller -> Deck-style binds. Not a systemd user unit: graphical-session.target
exec-once = scc-daemon start
# (No static `noanim` layerrule: current Hyprland rejects it in the match: syntax, and
# grimblast already suppresses selection animation at runtime via `hyprctl keyword layerrule`.)
+14
View File
@@ -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
+25
View File
@@ -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
+46 -29
View File
@@ -1,61 +1,78 @@
## name: Catppuccin Mocha 🌿
## author: Pocco81 (https://github.com/Pocco81)
## license: MIT
## upstream: https://github.com/catppuccin/kitty/blob/main/mocha.conf
## blurb: Soothing pastel theme for the high-spirited!
# The basic colors
foreground #ffffff
background #262335
selection_foreground #262335
selection_background #f97e72
selection_foreground #1E1E2E
selection_background #F5E0DC
# Cursor colors
cursor #f97e72
cursor_text_color #262335
cursor #F5E0DC
cursor_text_color #1E1E2E
# URL underline color when hovering with mouse
url_color #f97e72
url_color #B4BEFE
# Kitty window border colors
active_border_color #CBA6F7
inactive_border_color #8E95B3
bell_border_color #EBA0AC
# OS Window titlebar colors
wayland_titlebar_color system
macos_titlebar_color system
# Tab bar colors
active_tab_foreground #11111B
active_tab_background #CBA6F7
inactive_tab_foreground #CDD6F4
inactive_tab_background #181825
# 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
mark1_foreground #1E1E2E
mark1_background #87B0F9
mark2_foreground #1E1E2E
mark2_background #CBA6F7
mark3_foreground #1E1E2E
mark3_background #74C7EC
# 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
color0 #43465A
color8 #43465A
# red
color1 #fe4450
color9 #fe4450
color1 #F38BA8
color9 #F38BA8
# green
color2 #72f1b8
color10 #72f1b8
color2 #A6E3A1
color10 #A6E3A1
# yellow
color3 #ff7edb
color11 #ff7edb
color3 #F9E2AF
color11 #F9E2AF
# blue
color4 #03edf9
color12 #03edf9
color4 #87B0F9
color12 #87B0F9
# magenta
color5 #fede5d
color13 #f3e70f
color5 #F5C2E7
color13 #F5C2E7
# cyan
color6 #03edf9
color14 #03edf9
color6 #94E2D5
color14 #94E2D5
# white
color7 #ffffff
color15 #ffffff
color7 #CDD6F4
color15 #A1A8C9
@@ -0,0 +1,28 @@
#!/usr/bin/env sh
# Keep Hyprland on this repo's hyprlang config instead of HyDE's Lua one.
#
# HyDE 26.x moved its Hyprland config to Lua. Its own `00-hyde.sh` (synced on
# every update) points HYPRLAND_CONFIG at ~/.local/share/hypr/hyde.lua, and
# Hyprland then never reads ~/.config/hypr/hyprland.conf — so every dots hypr
# file (theme, keybinds, window rules, monitors, userprefs) is silently bypassed
# and the session comes up as stock HyDE: no rounding/gaps/borders, HyDE's binds,
# HyDE's plain waybar instead of the cava rig. Nothing errors; `hyprctl
# configerrors` stays empty. The tell is the log's first lines:
# [cfg] Config is either explicit or special. / [cfg] Config is lua, loading lua mgr
#
# `00-hyde.sh` assigns with `${HYPRLAND_CONFIG:-...}` and `env-hyprland` sources
# `env-hyprland.d/*.sh` in glob order, so this file (10 sorts after 00) wins by
# assigning unconditionally. Session-start only — this needs a relogin, not a
# `hyprctl reload`. HyDE syncs the whole env-hyprland.d/ directory but only ever
# writes its own files into it, so this one survives updates.
#
# ── STOPGAP, not the destination ──────────────────────────────────────────────
# It pins ~/.local/share/hyde/hyprland.conf, which current HyDE no longer ships:
# ours is a leftover from the pre-update install, so nothing regenerates it. And
# 8 scripts our binds reach for through $scrPath are already gone from the new
# lib/hyde — including dontkillsteam.sh, which is bound to Super+Q and Alt+F4.
# The supported path is porting the hypr layer into ~/.config/hypr/hyprland.lua
# (the one file HyDE promises never to overwrite). See HYDE-UPDATE.md.
HYPRLAND_CONFIG="$HOME/.config/hypr/hyprland.conf"
export HYPRLAND_CONFIG
+1 -1
View File
@@ -8,7 +8,7 @@
# 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
chars="▁▂▃▄▅▆▇█" # cava ascii value 0..7 -> these
conf="$(mktemp)"
pidfile="${XDG_RUNTIME_DIR:-/tmp}/cava-waybar.pid"
-332
View File
@@ -1,332 +0,0 @@
// --// 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
}
}
]
@@ -1,307 +0,0 @@
/*
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;
}
-14
View File
@@ -1,14 +0,0 @@
/*
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;
}
-120
View File
@@ -1,120 +0,0 @@
{
"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"
}
+10 -5
View File
@@ -7,7 +7,10 @@
min-height: 10px;
}
@import "../theme.css"; /* HyDE/wallbash-generated colors, lives one level up */
@import "../theme.css";
/* HyDE/wallbash-generated colors, one level up. FATAL if missing —
waybar exits before drawing anything. install.sh seeds it from ../theme-fallback.css on
hosts where wallbash never wrote one. */
window#waybar {
/* transparent so the cavabar (bottom layer, same region) shows through; module pills keep @main-bg */
@@ -70,13 +73,13 @@ tooltip {
padding-left: 3px;
padding-right: 3px;
margin-right: 0px;
color: @wb-color;
color: @main-fg;
animation: tb_normal 20s ease-in-out 1;
}
#taskbar button.active {
background: @wb-act-bg;
color: @wb-act-color;
color: @wb-act-fg;
/*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);
@@ -84,7 +87,7 @@ tooltip {
#taskbar button:hover {
background: @wb-hvr-bg;
color: @wb-hvr-color;
color: @wb-hvr-fg;
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);
@@ -132,7 +135,9 @@ tooltip {
#custom-rl_end,
#custom-rr_end {
color: @main-fg;
background: @main-bg;
/* background: @main-bg; */
background: transparent;
opacity: 1;
margin: 4px 0px 4px 0px;
padding-left: 4px;
+73 -11
View File
@@ -17,12 +17,15 @@
"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"],
"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","network","tray","custom/r_end","custom/l_end","idle_inhibitor","clock","custom/r_end"],
// sourced from modules based on config.ctl //
"tray": {
"icon-size": 19,
// exactly 22: Tela only has fixed-size monochrome icons in {16,22,24}/panel — any
// other size makes GTK fall through to scalable/devices, whose icons are colored
// circles (the blue nm-applet blob). An exact panel match keeps the tray flat/white.
"icon-size": 22,
"rotate": 0,
"spacing": 5
},
@@ -36,7 +39,7 @@
"max-length": 1000,
"rewrite": {
"(.*) — Kitty": " $1",
"(.*)~": " $1",
"(.*)~": " $1",
"(.*) — Mozilla Firefox": "󰈹 $1",
"(.*)Mozilla Firefox": "󰈹 Firefox",
"(.*) — LibreWolf": "󰈹 $1",
@@ -60,7 +63,34 @@
"(.*)Gajim": "󰭹 Gajim",
"(.*)KeePassXC": " KeePassXC",
"(.*)Betterbird": "󰇮 Betterbird",
"(.*)Spotify": "󰓇 Spotify"
// --- apps in use on this rig (glyphs verified against JetBrainsMono NF v3) ---
"nvim (.*)": " $1",
"nvim": " Nvim",
"(.*)PyRadio - Playing: (.*)": "󰐹 $2",
"(.*)PyRadio(.*)": "󰐹 PyRadio",
"(.*) - mpv": "󰿎 $1",
"(.*)mpv": "󰿎 mpv",
"(.*) — Zen Browser": "󰖟 $1",
"(.*)Zen Browser(.*)": "󰖟 Zen",
"(.*) - Thorium": " $1",
"(.*)Thorium(.*)": " Thorium",
"(.*)Ghostty(.*)": "󰊠 Ghostty",
"(.*)zellij(.*)": "󰆍 zellij",
"(.*)btop(.*)": "󰨇 btop",
"(.*)lazydocker(.*)": "󰡨 lazydocker",
"(.*)Dolphin(.*)": "󰉋 Dolphin",
"(.*)qBittorrent(.*)": "󰇚 qBittorrent",
"(.*)GIMP(.*)": "󱇣 GIMP",
"(.*)LibreOffice(.*)": "󰈙 LibreOffice",
"(.*)KiCad(.*)": "󰘚 KiCad",
"(.*)QGroundControl(.*)": "󰐴 QGroundControl",
"(.*)Foxglove(.*)": "󰚩 Foxglove",
"(.*)Bruno(.*)": "󱂛 Bruno",
"(.*)RustDesk(.*)": "󰢹 RustDesk",
"(.*)scrcpy(.*)": "󰄜 scrcpy",
"(.*)Vial(.*)": "󰌌 Vial",
"(.*)Volume Control(.*)": "󰕾 Volume Control",
"(.*)Satty(.*)": "󰹑 Satty"
}
},
"hyprland/workspaces": {
@@ -181,12 +211,14 @@
},
"custom/wallchange": {
"format": "{}",
"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",
// HyDE 26.x removed swwwallpaper.sh/swwwallselect.sh; hyde-shell wallpaper is the
// replacement (same calls as upstream's custom-wallchange module)
"on-click": "hyde-shell wallpaper -n",
"on-click-right": "hyde-shell wallpaper -p",
"on-click-middle": "sleep 0.1 && hyde-shell wallpaper --select",
"interval" : 86400, // once every day
"tooltip": true
},
@@ -194,7 +226,7 @@
"pulseaudio": {
"format": "{icon} {volume}",
"rotate": 0,
"format-muted": "",
"format-muted": "󰝟",
"on-click": "pavucontrol -t 3",
"on-click-right": "volumecontrol.sh -s ''",
"on-click-middle": "volumecontrol.sh -o m",
@@ -216,7 +248,7 @@
"pulseaudio#microphone": {
"format": "{format_source}",
"rotate": 0,
"format-source": "",
"format-source": "",
"format-source-muted": "",
"on-click": "pavucontrol -t 4",
"on-click-middle": "volumecontrol.sh -i m",
@@ -232,7 +264,10 @@
"format-paused": "{status_icon} <i>{dynamic}</i>",
"player-icons": {
"default": "▶",
"mpv": "🎵"
"mpv": "󰝚",
"spotify": "󰓇",
"firefox": "󰈹",
"vlc": "󰕼"
},
"status-icons": {
"paused": ""
@@ -242,6 +277,16 @@
},
"battery": {
// Pinned to the laptop battery on purpose. Unpinned, waybar 0.15 scans every
// /sys/class/power_supply node, and a flapping one (the DualShock's
// ps-controller-battery-* appearing at login while opensdd/scc-daemon wake it)
// makes refreshBatteries() throw off its worker thread → SIGABRT, killing the
// whole bar (battery.cpp:142 uncaught; all 5 of 2026-08-17's coredumps). The pin
// (battery.cpp:117) gates every read/watch of non-matching nodes. On wm no BAT0
// exists so the module stays hidden — same as before. On lw verify the name with
// `ls /sys/class/power_supply` and correct here if it's BAT1 (its old default-config
// log already ruled out BAT2); a wrong name only hides the module, never crashes.
"bat": "BAT0",
"states": {
"good": 95,
"warning": 30,
@@ -255,6 +300,23 @@
"format-icons": ["󰂎", "󰁺", "󰁻", "󰁼", "󰁽", "󰁾", "󰁿", "󰂀", "󰂁", "󰂂", "󰁹"]
},
// added 2026-08-14 — the rig never had a network indicator ("ethernet icon not working").
// Same def as HyDE's ~/.local/share/waybar/modules/network.jsonc, inline like everything
// else here; click toggles a bandwidth readout, tooltip carries the connection details.
"network": {
"tooltip": true,
"format-wifi": "<span size='150%'> </span>",
"rotate": 0,
"format-ethernet": "<span size='150%'>󰈀 </span>",
"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": "<span size='150%'>󰖪 </span>",
"tooltip-format-disconnected": "Disconnected",
"format-alt": "<span foreground='#99ffdd'> {bandwidthDownBytes}</span> <span foreground='#ffcc66'> {bandwidthUpBytes}</span>",
"on-click-right": "nm-connection-editor", // replaces the hidden nm-applet tray menu
"interval": 2
},
"backlight": {
"device": "intel_backlight",
"rotate": 0,
@@ -1,10 +0,0 @@
"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
},
-14
View File
@@ -1,14 +0,0 @@
"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": ["󰂎", "󰁺", "󰁻", "󰁼", "󰁽", "󰁾", "󰁿", "󰂀", "󰂁", "󰂂", "󰁹"]
},
@@ -1,15 +0,0 @@
"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}%"
},
-24
View File
@@ -1,24 +0,0 @@
{
"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"
}
}
}
-11
View File
@@ -1,11 +0,0 @@
"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
},
-25
View File
@@ -1,25 +0,0 @@
"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"
}
},
-8
View File
@@ -1,8 +0,0 @@
"cpu": {
"interval": 10,
"format": "󰍛 {usage}%",
"rotate": ${r_deg},
"format-alt": "{icon0}{icon1}{icon2}{icon3}",
"format-icons": ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"]
},
-10
View File
@@ -1,10 +0,0 @@
"custom/cpuinfo": {
"exec": " cpuinfo.sh",
"return-type": "json",
"format": "{}",
"rotate": ${r_deg},
"interval": 5, // once every 5 seconds
"tooltip": true,
"max-length": 1000
},
-47
View File
@@ -1,47 +0,0 @@
// 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
}
}
@@ -1,8 +0,0 @@
{
"custom/github_hyprdots": {
"format": " ",
"rotate": 0,
"tooltip-format": "  Hyprdots repository",
"on-click": "xdg-open https://github.com/prasanthrangan/hyprdots"
}
}
-41
View File
@@ -1,41 +0,0 @@
"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,
},
-13
View File
@@ -1,13 +0,0 @@
// --// 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,
@@ -1,9 +0,0 @@
"idle_inhibitor": {
"format": "{icon}",
"rotate": ${r_deg},
"format-icons": {
"activated": "󰅶",
"deactivated": "󰛊"
}
},
@@ -1,6 +0,0 @@
"custom/keybindhint": {
"format": " ",
"rotate": ${r_deg},
"on-click": "keybinds_hint.sh"
},
@@ -1,6 +0,0 @@
"hyprland/language": {
"format": "{short} {variant}",
"rotate": ${r_deg},
"on-click": "keyboardswitch.sh",
},
-18
View File
@@ -1,18 +0,0 @@
"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"
},
-16
View File
@@ -1,16 +0,0 @@
"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
},
-13
View File
@@ -1,13 +0,0 @@
"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
}
@@ -1,29 +0,0 @@
"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
},
-10
View File
@@ -1,10 +0,0 @@
"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
},
-19
View File
@@ -1,19 +0,0 @@
{
"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
}
]
}
}
@@ -1,35 +0,0 @@
"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
},
-15
View File
@@ -1,15 +0,0 @@
"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
},
-151
View File
@@ -1,151 +0,0 @@
* {
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;
}
-17
View File
@@ -1,17 +0,0 @@
"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"
}
},
-11
View File
@@ -1,11 +0,0 @@
"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
},
-6
View File
@@ -1,6 +0,0 @@
"tray": {
"icon-size": ${i_size},
"rotate": ${r_deg},
"spacing": 5
},
-10
View File
@@ -1,10 +0,0 @@
"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
},
@@ -1,11 +0,0 @@
"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
},
-35
View File
@@ -1,35 +0,0 @@
{
"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"
}
}
}
@@ -1,13 +0,0 @@
"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": {
}
},
+18
View File
@@ -0,0 +1,18 @@
/* Fallback wallbash palette for the custom waybar rig (Catppuccin Mocha, copied from wm's
* live ~/.config/waybar/theme.css 2026-08-17). layouts/custom.css does `@import
* "../theme.css"` and a missing import target kills waybar outright — on themed hosts
* HyDE/wallbash generates and keeps overwriting that file, but a host where wallbash never
* ran (or where the pre-2026-08-14 stow link dangles) has nothing there. install.sh seeds
* ~/.config/waybar/theme.css from this copy only when the file is absent; it never
* overwrites a generator-owned one. Deliberately NOT stowed as theme.css itself: wallbash
* would then write through the symlink into the repo on every wallpaper change. */
@define-color bar-bg rgba(0, 0, 0, 0.1);
@define-color main-bg #11111b;
@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;
-10
View File
@@ -1,10 +0,0 @@
@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;