From 52a4303cdd1cbd474d4ff5ee833bb705b8d099df Mon Sep 17 00:00:00 2001 From: Don Williams Date: Fri, 28 Aug 2026 20:53:38 -0400 Subject: Added theming for nwg-dock-hyprland Signed-off-by: Don Williams On branch development Your branch is up to date with 'origin/development'. Changes to be committed: modified: CHANGELOG.md modified: config/hypr/configs/Keybinds.conf modified: config/hypr/configs/system_keybinds.lua new file: config/hypr/scripts/Dock.sh modified: config/hypr/scripts/KeyHints.sh modified: config/hypr/scripts/Refresh.sh new file: config/nwg-dock-hyprland/style.css new file: config/nwg-dock-hyprland/wallust/colors-wallust.css new file: config/wallust/templates/colors-nwg-dock.css modified: config/wallust/wallust-v4.toml modified: config/wallust/wallust.toml modified: docs/Keybinds.md modified: scripts/lib_copy.sh --- config/hypr/configs/Keybinds.conf | 1 + config/hypr/configs/system_keybinds.lua | 1 + config/hypr/scripts/Dock.sh | 66 ++++++++++++++++++++++ config/hypr/scripts/KeyHints.sh | 1 + config/hypr/scripts/Refresh.sh | 5 ++ config/nwg-dock-hyprland/style.css | 43 ++++++++++++++ .../nwg-dock-hyprland/wallust/colors-wallust.css | 12 ++++ config/wallust/templates/colors-nwg-dock.css | 12 ++++ config/wallust/wallust-v4.toml | 3 + config/wallust/wallust.toml | 3 + 10 files changed, 147 insertions(+) create mode 100755 config/hypr/scripts/Dock.sh create mode 100644 config/nwg-dock-hyprland/style.css create mode 100644 config/nwg-dock-hyprland/wallust/colors-wallust.css create mode 100644 config/wallust/templates/colors-nwg-dock.css (limited to 'config') diff --git a/config/hypr/configs/Keybinds.conf b/config/hypr/configs/Keybinds.conf index 9fa00a63..3ff5308c 100644 --- a/config/hypr/configs/Keybinds.conf +++ b/config/hypr/configs/Keybinds.conf @@ -92,6 +92,7 @@ bindd = $mainMod, Q, Close active window, killactive, bindd = $mainMod SHIFT, Q, Terminate active process, exec, $scriptsDir/KillActiveProcess.sh bindd = CTRL ALT, L, Lock screen, exec, $scriptsDir/LockScreen.sh bindd = CTRL ALT, P, Powermenu, exec, $scriptsDir/Wlogout.sh +bindd = CTRL ALT, D, Toggle dock, exec, $scriptsDir/Dock.sh bindd = $mainMod SHIFT, N, Notification panel, exec, swaync-client -t -sw bindd = $mainMod SHIFT, E, Quick settings menu, exec, $scriptsDir/Kool_Quick_Settings.sh diff --git a/config/hypr/configs/system_keybinds.lua b/config/hypr/configs/system_keybinds.lua index 0106b3fa..ce0414ab 100644 --- a/config/hypr/configs/system_keybinds.lua +++ b/config/hypr/configs/system_keybinds.lua @@ -497,6 +497,7 @@ bind( ) bind("CTRL ALT", "L", exec_cmd("$HOME/.config/hypr/scripts/LockScreen.sh"), { description = "lock screen" }) bind("CTRL ALT", "P", exec_cmd("$HOME/.config/hypr/scripts/Wlogout.sh"), { description = "powermenu" }) +bind("CTRL ALT", "D", exec_cmd("$HOME/.config/hypr/scripts/Dock.sh"), { description = "toggle dock" }) bind("SUPER SHIFT", "N", exec_cmd("swaync-client -t -sw"), { description = "notification panel" }) bind( "SUPER SHIFT", diff --git a/config/hypr/scripts/Dock.sh b/config/hypr/scripts/Dock.sh new file mode 100755 index 00000000..c919d573 --- /dev/null +++ b/config/hypr/scripts/Dock.sh @@ -0,0 +1,66 @@ +#!/usr/bin/env bash +# ================================================== +# KoolDots (2026) +# Project URL: https://github.com/LinuxBeginnings +# License: GNU GPLv3 +# SPDX-License-Identifier: GPL-3.0-or-later +# ================================================== +# nwg-dock-hyprland launcher and toggle script + +DOCK_CONFIG_DIR="${XDG_CONFIG_HOME:-$HOME/.config}/nwg-dock-hyprland" + +# Ensure dock configuration and wallust directory exist +mkdir -p "$DOCK_CONFIG_DIR/wallust" 2>/dev/null || true + +# Check if nwg-dock-hyprland is installed +if ! command -v nwg-dock-hyprland >/dev/null 2>&1; then + notify-send -u normal "Dock" "nwg-dock-hyprland is not installed" 2>/dev/null || true + exit 1 +fi + +is_dock_running() { + pgrep -x "nwg-dock-hyprla" >/dev/null 2>&1 || pgrep -x "nwg-dock-hyprland" >/dev/null 2>&1 || pgrep -f "nwg-dock-hyprland" >/dev/null 2>&1 +} + +kill_dock() { + pkill -x "nwg-dock-hyprla" 2>/dev/null || true + pkill -x "nwg-dock-hyprland" 2>/dev/null || true + pkill -f "nwg-dock-hyprland" 2>/dev/null || true +} + +start_dock() { + # Dock configuration: + # -p bottom : bottom dock position + # -x : exclusive zone (moves other windows aside) + # -i 32 : icon size 32 + # -g "kitty-dropterm" : ignores dropdown terminal class + # -c : launcher button command (rofi menu) + # (no -d : no auto-hide) + local launcher_cmd="pkill rofi || rofi -show drun -modi drun,filebrowser,run,window" + nwg-dock-hyprland -p bottom -x -i 32 -g "kitty-dropterm" -c "$launcher_cmd" >/dev/null 2>&1 & +} + +case "${1:-toggle}" in + --restart|restart) + kill_dock + sleep 0.2 + start_dock + ;; + --start|start|activate) + if ! is_dock_running; then + start_dock + fi + ;; + --stop|stop|deactivate) + kill_dock + ;; + --toggle|toggle|*) + if is_dock_running; then + kill_dock + else + start_dock + fi + ;; +esac + +exit 0 diff --git a/config/hypr/scripts/KeyHints.sh b/config/hypr/scripts/KeyHints.sh index 08415dab..cff74da1 100755 --- a/config/hypr/scripts/KeyHints.sh +++ b/config/hypr/scripts/KeyHints.sh @@ -58,6 +58,7 @@ GDK_BACKEND=$BACKEND yad \ " CTRL SHIFT Print" "screenshot timer 10 secs " "(grim)" \ "ALT Print" "Screenshot active window" "active window only" \ "CTRL ALT P" "power-menu" "(wlogout)" \ + "CTRL ALT D" "Toggle dock" "(nwg-dock-hyprland)" \ "CTRL ALT L" "screen lock" "(hyprlock)" \ "CTRL ALT Del" "Hyprland Exit" "(NOTE: Hyprland Will exit immediately)" \ " SHIFT F" "Fullscreen" "Toggles to full screen" \ diff --git a/config/hypr/scripts/Refresh.sh b/config/hypr/scripts/Refresh.sh index 79d9df8b..a9113c6b 100755 --- a/config/hypr/scripts/Refresh.sh +++ b/config/hypr/scripts/Refresh.sh @@ -123,6 +123,11 @@ fi # reload swaync (asynchronous to prevent DBus timeout delays) (swaync-client --reload-config >/dev/null 2>&1 &) +# reload / restart nwg-dock-hyprland if running +if pgrep -x "nwg-dock-hyprla" >/dev/null 2>&1 || pgrep -x "nwg-dock-hyprland" >/dev/null 2>&1 || pgrep -f "nwg-dock-hyprland" >/dev/null 2>&1; then + "${SCRIPTSDIR}/Dock.sh" --restart >/dev/null 2>&1 & +fi + # Relaunching rainbow borders based on selected mode sleep 1 rainbow_mode_file="${UserScripts}/rainbow-borders.mode" diff --git a/config/nwg-dock-hyprland/style.css b/config/nwg-dock-hyprland/style.css new file mode 100644 index 00000000..0bf4f337 --- /dev/null +++ b/config/nwg-dock-hyprland/style.css @@ -0,0 +1,43 @@ +/* ----------- 💫 https://github.com/LinuxBeginnings 💫 -------- */ +/* nwg-dock-hyprland style - themed with system / wallust */ + +@import 'wallust/colors-wallust.css'; + +window { + background: @background; + border-radius: 10px; + border: 1px solid @border; +} + +#box { + padding: 6px 10px; +} + +#active { + border-bottom: 2px solid @button-active; +} + +button, image { + background: none; + border-style: none; + box-shadow: none; + color: @foreground; +} + +button { + padding: 4px; + margin-left: 4px; + margin-right: 4px; + color: @foreground; + border-radius: 10px; + transition: all 0.2s ease-in-out; +} + +button:hover { + background-color: @hovered; + border-radius: 10px; +} + +button:focus { + box-shadow: none; +} diff --git a/config/nwg-dock-hyprland/wallust/colors-wallust.css b/config/nwg-dock-hyprland/wallust/colors-wallust.css new file mode 100644 index 00000000..01bbb39b --- /dev/null +++ b/config/nwg-dock-hyprland/wallust/colors-wallust.css @@ -0,0 +1,12 @@ +/* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ +/* Default fallback wallust template for nwg-dock-hyprland */ + +@define-color foreground #cdd6f4; +@define-color background rgba(24, 24, 37, 0.85); +@define-color background-alt #1e1e2e; +@define-color cursor #f5e0dc; +@define-color hovered #89b4fa; +@define-color button-background #89b4fa; +@define-color button-active #a6e3a1; +@define-color border #89b4fa; +@define-color urgent #f38ba8; diff --git a/config/wallust/templates/colors-nwg-dock.css b/config/wallust/templates/colors-nwg-dock.css new file mode 100644 index 00000000..f8ff62be --- /dev/null +++ b/config/wallust/templates/colors-nwg-dock.css @@ -0,0 +1,12 @@ +/* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ +/* wallust template - colors-nwg-dock */ + +@define-color foreground {{foreground}}; +@define-color background rgba({{background | rgb}}, 0.85); +@define-color background-alt {{background}}; +@define-color cursor {{cursor}}; +@define-color hovered {{color12}}; +@define-color button-background {{color4}}; +@define-color button-active {{color2}}; +@define-color border {{color12}}; +@define-color urgent {{color15}}; diff --git a/config/wallust/wallust-v4.toml b/config/wallust/wallust-v4.toml index 9dd74e79..ec8cc61e 100644 --- a/config/wallust/wallust-v4.toml +++ b/config/wallust/wallust-v4.toml @@ -51,3 +51,6 @@ ghostty.target = '~/.config/ghostty/wallust.conf' quickshell.template = 'qml_color.json' quickshell.target = '~/.config/quickshell/qml_color.json' + +nwg-dock.template = 'colors-nwg-dock.css' +nwg-dock.target = '~/.config/nwg-dock-hyprland/wallust/colors-wallust.css' diff --git a/config/wallust/wallust.toml b/config/wallust/wallust.toml index b74794d9..73941140 100644 --- a/config/wallust/wallust.toml +++ b/config/wallust/wallust.toml @@ -53,6 +53,9 @@ ghostty.target = '~/.config/ghostty/wallust.conf' quickshell.template = 'qml_color.json' quickshell.target = '~/.config/quickshell/qml_color.json' +nwg-dock.template = 'colors-nwg-dock.css' +nwg-dock.target = '~/.config/nwg-dock-hyprland/wallust/colors-wallust.css' + #swaync.template = 'colors-swaync.css' #swaync.target = '~/.config/swaync/wallust/colors-wallust.css' -- cgit v1.2.3