aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md1
-rw-r--r--config/hypr/configs/Keybinds.conf1
-rw-r--r--config/hypr/configs/system_keybinds.lua1
-rwxr-xr-xconfig/hypr/scripts/Dock.sh66
-rwxr-xr-xconfig/hypr/scripts/KeyHints.sh1
-rwxr-xr-xconfig/hypr/scripts/Refresh.sh5
-rw-r--r--config/nwg-dock-hyprland/style.css43
-rw-r--r--config/nwg-dock-hyprland/wallust/colors-wallust.css12
-rw-r--r--config/wallust/templates/colors-nwg-dock.css12
-rw-r--r--config/wallust/wallust-v4.toml3
-rw-r--r--config/wallust/wallust.toml3
-rw-r--r--docs/Keybinds.md1
-rw-r--r--scripts/lib_copy.sh2
13 files changed, 150 insertions, 1 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index eb7630fb..ec72f125 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,7 @@
## Added:
+- `nwg-dock-hyprland` that themes with wallpaper
- LUA script `float.all.samesizze.lua`script
- `SUPER + CTRL + SPACE` to activate
- sets the sizes based on number of windows and resolution
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'
diff --git a/docs/Keybinds.md b/docs/Keybinds.md
index 19fd5d08..c0e91d74 100644
--- a/docs/Keybinds.md
+++ b/docs/Keybinds.md
@@ -59,6 +59,7 @@ Source: `config/hypr/configs/Keybinds.conf`
- `CTRL + ALT + Delete` — Exit Hyprland
- `CTRL + ALT + L` — Lock screen
- `CTRL + ALT + P` — Power menu
+- `CTRL + ALT + D` — Toggle dock (nwg-dock)
- `SUPER + SHIFT + H` — Toggle active-window mute
- `SUPER + SHIFT + G` — Toggle game mode
- `SUPER + N` — Toggle night light
diff --git a/scripts/lib_copy.sh b/scripts/lib_copy.sh
index da78ca16..4e8dda71 100644
--- a/scripts/lib_copy.sh
+++ b/scripts/lib_copy.sh
@@ -124,7 +124,7 @@ copy_waybar() {
copy_phase2() {
local log="$1"
local base="${DOTFILES_DIR:-.}"
- local DIR="btop cava hypr Kvantum qt5ct qt6ct starship swappy wallust wlogout yazi"
+ local DIR="btop cava hypr Kvantum nwg-dock-hyprland qt5ct qt6ct starship swappy wallust wlogout yazi"
for DIR_NAME in $DIR; do
local DIRPATH="${XDG_CONFIG_HOME:-$HOME/.config}/$DIR_NAME"
if [ -d "$DIRPATH" ]; then
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage