new file: DankMaterialShell/.changelog-1.4 new file: DankMaterialShell/.firstlaunch new file: DankMaterialShell/firefox.css new file: DankMaterialShell/plugins/cavaVisualizer new file: DankMaterialShell/plugins/dankAudioVisualizer new file: DankMaterialShell/plugins/desktopCommand new file: DankMaterialShell/settings.json new file: DankMaterialShell/themes/peaceAndQuiet/preview-blue-dark.svg new file: DankMaterialShell/themes/peaceAndQuiet/preview-blue-light.svg new file: DankMaterialShell/themes/peaceAndQuiet/preview-blue.svg new file: DankMaterialShell/themes/peaceAndQuiet/preview-cyan-dark.svg new file: DankMaterialShell/themes/peaceAndQuiet/preview-cyan-light.svg new file: DankMaterialShell/themes/peaceAndQuiet/preview-cyan.svg new file: DankMaterialShell/themes/peaceAndQuiet/preview-dark.svg new file: DankMaterialShell/themes/peaceAndQuiet/preview-lavender-dark.svg new file: DankMaterialShell/themes/peaceAndQuiet/preview-lavender-light.svg new file: DankMaterialShell/themes/peaceAndQuiet/preview-lavender.svg new file: DankMaterialShell/themes/peaceAndQuiet/preview-light.svg new file: DankMaterialShell/themes/peaceAndQuiet/preview-mint-dark.svg new file: DankMaterialShell/themes/peaceAndQuiet/preview-mint-light.svg new file: DankMaterialShell/themes/peaceAndQuiet/preview-mint.svg new file: DankMaterialShell/themes/peaceAndQuiet/preview-pink-dark.svg new file: DankMaterialShell/themes/peaceAndQuiet/preview-pink-light.svg new file: DankMaterialShell/themes/peaceAndQuiet/preview-pink.svg new file: DankMaterialShell/themes/peaceAndQuiet/preview-salmon-dark.svg new file: DankMaterialShell/themes/peaceAndQuiet/preview-salmon-light.svg new file: DankMaterialShell/themes/peaceAndQuiet/preview-salmon.svg new file: DankMaterialShell/themes/peaceAndQuiet/theme.json new file: DankMaterialShell/themes/zzz/theme.json new file: DankMaterialShell/themes/zzz/theme1.json new file: DankMaterialShell/zen.css new file: Kvantum/KvLibadwaitaDark#/KvLibadwaitaDark#.kvconfig new file: Kvantum/kvantum.kvconfig new file: aichat/config.yaml modified: btop/btop.conf new file: btop/themes/noctalia.theme new file: calcurse/conf new file: calcurse/keys new file: cava/config new file: cava/shaders/bar_spectrum.frag new file: cava/shaders/eye_of_phi.frag new file: cava/shaders/northern_lights.frag new file: cava/shaders/pass_through.vert new file: cava/shaders/spectrogram.frag new file: cava/shaders/winamp_line_style_spectrum.frag new file: cava/themes/solarized_dark new file: cava/themes/tricolor new file: fastfetch/0.01.jsonc new file: fastfetch/0.02.jsonc new file: fastfetch/color.jsonc new file: fastfetch/setts/all.jsonc new file: fastfetch/setts/archey.jsonc new file: fastfetch/setts/ci.jsonc new file: fastfetch/setts/examples/10.jsonc new file: fastfetch/setts/examples/11.jsonc new file: fastfetch/setts/examples/12.jsonc new file: fastfetch/setts/examples/13.jsonc new file: fastfetch/setts/examples/14.jsonc new file: fastfetch/setts/examples/15.jsonc new file: fastfetch/setts/examples/16.jsonc new file: fastfetch/setts/examples/17.jsonc new file: fastfetch/setts/examples/18.jsonc new file: fastfetch/setts/examples/19.jsonc new file: fastfetch/setts/examples/2.jsonc new file: fastfetch/setts/examples/20.jsonc new file: fastfetch/setts/examples/21.jsonc new file: fastfetch/setts/examples/22.jsonc new file: fastfetch/setts/examples/23.jsonc new file: fastfetch/setts/examples/24.jsonc new file: fastfetch/setts/examples/25.jsonc new file: fastfetch/setts/examples/26.jsonc new file: fastfetch/setts/examples/27.jsonc new file: fastfetch/setts/examples/28.jsonc new file: fastfetch/setts/examples/29.jsonc new file: fastfetch/setts/examples/3.jsonc new file: fastfetch/setts/examples/30.jsonc new file: fastfetch/setts/examples/4.jsonc new file: fastfetch/setts/examples/5.jsonc new file: fastfetch/setts/examples/6.jsonc new file: fastfetch/setts/examples/7.jsonc new file: fastfetch/setts/examples/8.jsonc new file: fastfetch/setts/examples/9.jsonc new file: fastfetch/setts/neofetch.jsonc new file: fastfetch/setts/paleofetch.jsonc new file: fastfetch/setts/screenfetch.jsonc modified: fish/config.fish modified: fish/fish_variables new file: fish/fish_variables2DWmNcGa9T new file: fish/functions/ffcolor.fish modified: fish/functions/fish_prompt.fish.bak new file: fish/functions/lt.fish modified: fish/functions/p.fish new file: fish/functions/tide/configure/icons.fish new file: fish/functions/vpn-debug.fish modified: fish/functions/vpn.fish new file: foot/dank-colors.ini modified: foot/foot.ini new file: fsel/config.toml modified: fuzzel/fuzzel.ini modified: hyprwave/config.conf new file: hyprwhspr/config.json new file: hyprwhspr/mic_osd.pid new file: i3/config new file: ironbar/config.json new file: ironbar/schema-v0.18.0.json new file: ironbar/scripts/pomo new file: ironbar/scripts/walker.sh new file: ironbar/style.css new file: keymap.xkb new file: kitty/dank-tabs.conf new file: kitty/dank-theme.conf new file: matugen/config.toml new file: matugen/custom3.json modified: mimeapps.list modified: mpDris2/mpDris2.conf new file: niri/animation.kdl new file: niri/bak.config.kdl new file: niri/binds.kdl new file: niri/caps modified: niri/config.kdl new file: niri/config.kdl.backup1776208575 new file: niri/config.kdl.backup1776211503 new file: niri/config.kdl.backup1776211623 new file: niri/dms/alttab.kdl new file: niri/dms/binds.kdl new file: niri/dms/colors.kdl new file: niri/dms/cursor.kdl new file: niri/dms/layout.kdl new file: niri/dms/outputs.kdl new file: niri/dms/profiles/profile_1776211496314_g03e3q.kdl new file: niri/dms/windowrules.kdl new file: niri/dms/wpblur.kdl new file: niri/emoji.png new file: niri/executable_caps new file: niri/input.kdl new file: niri/ironbar-toggle.sh new file: niri/layer-rule.kdl new file: niri/layout.kdl new file: niri/lock.sh new file: niri/noctalia-toggle.sh new file: niri/output-pc.kdl new file: niri/spawn-at-startup.kdl new file: niri/window-rule.kdl new file: nix/nix.conf modified: nvim/lazy-lock.json modified: nvim/lazyvim.json new file: nvim/lua/plugins/dankcolors.lua new file: nvim/lua/plugins/gpanders-nvim-parinfer.lua new file: nvim/lua/plugins/tokyo-night.lua new file: nvim/lua/tokyonight.nvim new file: nwg-look/config new file: omarchy/current/background new file: omarchy/hooks/theme-set new file: omarchy/hooks/theme-set.d/00-fish.sh new file: omarchy/hooks/theme-set.d/00-fzf.sh new file: omarchy/hooks/theme-set.d/10-discord.sh new file: omarchy/hooks/theme-set.d/10-gtk.sh new file: omarchy/hooks/theme-set.d/10-qt6ct.sh new file: omarchy/hooks/theme-set.d/10-spotify.sh new file: omarchy/hooks/theme-set.d/10-superfile.sh new file: omarchy/hooks/theme-set.d/10-vicinae.sh new file: omarchy/hooks/theme-set.d/15-typora.sh new file: omarchy/hooks/theme-set.d/20-nwg-dock-hyprland.sh new file: omarchy/hooks/theme-set.d/20-zed.sh new file: omarchy/hooks/theme-set.d/30-cursor.sh new file: omarchy/hooks/theme-set.d/30-vscode.sh new file: omarchy/hooks/theme-set.d/30-windsurf.sh new file: omarchy/hooks/theme-set.d/40-cava.sh new file: omarchy/hooks/theme-set.d/40-firefox.sh new file: omarchy/hooks/theme-set.d/40-steam.sh new file: omarchy/hooks/theme-set.d/40-zen.sh new file: omarchy/hooks/theme-set.d/50-heroic.sh new file: omarchy/themes/aether new file: pomo/config.json new file: scripts/niri/caps new file: scripts/niri/ru.png new file: scripts/niri/us.png new file: starship.toml modified: swaync/config.json new file: swaync/config_1.json modified: swaync/style.css new file: swaync/style_1.css new file: systemd/user/default.target.wants/mpDris2.service new file: systemd/user/default.target.wants/mpd.service new file: systemd/user/default.target.wants/mpris-proxy.service new file: systemd/user/default.target.wants/openrazer-daemon.service new file: systemd/user/default.target.wants/pipewire-pulse.service new file: systemd/user/default.target.wants/pipewire.service new file: systemd/user/default.target.wants/ydotool.service new file: systemd/user/elephant.service new file: systemd/user/gnome-session.target.wants/gnome-remote-desktop.service new file: systemd/user/graphical-session.target.wants/elephant.service new file: systemd/user/graphical-session.target.wants/hyprwhspr.service new file: systemd/user/hyprwhspr.service new file: systemd/user/sockets.target.wants/mpd.socket new file: systemd/user/sockets.target.wants/pipewire-pulse.socket new file: systemd/user/sockets.target.wants/pipewire.socket new file: tofi/config new file: user-dirs.conf renamed: ../user-dirs.dirs -> user-dirs.dirs new file: user-dirs.locale modified: walker/config.toml new file: wl-kbptr/config new file: xdg-desktop-portal/portals.conf new file: xsettingsd/xsettingsd.conf new file: yt-dlp/config new file: zathura/zathurarc renamed: ../zram-generator.conf -> zram-generator.conf modified: ../copy.sh deleted: ../nix-packages.md new file: ../nix-pkgs.txt deleted: ../pacman-packages.md renamed: ../apps-list.md -> ../pkgs.txt renamed: ../services.md -> ../services.txt
125 lines
3.2 KiB
Bash
Executable file
125 lines
3.2 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
# This script respects user's existing nwg-dock-hyprland configuration.
|
|
# It searches ~/.config/hypr/*.conf for exec/exec-once commands and preserves user flags.
|
|
# Falls back to default configuration only if no user command is found.
|
|
|
|
output_file="$HOME/.config/omarchy/current/theme/nwg-dock.css"
|
|
default_dock_command="nwg-dock-hyprland -r -mb 10 -mt 10 -i 22 -x -nolauncher"
|
|
|
|
if ! command -v nwg-dock-hyprland >/dev/null 2>&1; then
|
|
skipped "NWG Dock"
|
|
fi
|
|
|
|
# Search for user's nwg-dock-hyprland command in Hyprland config files
|
|
user_dock_command=""
|
|
hypr_config_dir="$HOME/.config/hypr"
|
|
|
|
if [[ -d "$hypr_config_dir" ]]; then
|
|
# Find all config files containing nwg-dock-hyprland exec commands
|
|
mapfile -t dock_files < <(grep -l -E "^\s*(exec|exec-once)\s*=.*nwg-dock-hyprland" "$hypr_config_dir"/*.conf 2>/dev/null)
|
|
|
|
# Find all matching command lines
|
|
mapfile -t dock_commands < <(grep -h -E "^\s*(exec|exec-once)\s*=.*nwg-dock-hyprland" "$hypr_config_dir"/*.conf 2>/dev/null)
|
|
|
|
# Check for multiple commands and warn user
|
|
if [[ ${#dock_commands[@]} -gt 1 ]]; then
|
|
warning "Multiple nwg-dock-hyprland commands found in Hyprland config:"
|
|
for file in "${dock_files[@]}"; do
|
|
warning " - $file"
|
|
done
|
|
warning "Using first occurrence. Please consolidate to a single command."
|
|
fi
|
|
|
|
# Extract the command from first match
|
|
if [[ ${#dock_commands[@]} -gt 0 ]]; then
|
|
# Remove 'exec' or 'exec-once' prefix and '=' sign, trim whitespace
|
|
user_dock_command=$(echo "${dock_commands[0]}" | sed 's/^[[:space:]]*exec\(-once\)\?[[:space:]]*=[[:space:]]*//')
|
|
|
|
# Validate extraction succeeded
|
|
if [[ -z "$user_dock_command" || ! "$user_dock_command" =~ nwg-dock-hyprland ]]; then
|
|
warning "Failed to parse user's nwg-dock-hyprland command: ${dock_commands[0]}"
|
|
warning "Using default configuration."
|
|
user_dock_command=""
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
if [[ ! -f "$output_file" ]]; then
|
|
mkdir -p "$(dirname "$output_file")"
|
|
|
|
cat >"$output_file" <<EOF
|
|
window {
|
|
background: #${primary_background}; /* base01 */
|
|
border-color: #${bright_black}; /* base02 */
|
|
border: 2px solid #${bright_black};
|
|
}
|
|
|
|
button,
|
|
image {
|
|
color: #${bright_white}; /* base07 */
|
|
}
|
|
|
|
button {
|
|
color: #${normal_white}; /* base05 */
|
|
padding: 3px;
|
|
}
|
|
|
|
button:hover {
|
|
background-color: rgba($rgb_bright_black, 0.5); /* base02 */
|
|
}
|
|
EOF
|
|
|
|
mkdir -p "$HOME/.config/nwg-dock-hyprland"
|
|
style_file="$HOME/.config/nwg-dock-hyprland/style.css"
|
|
if [[ ! -f $style_file ]]; then
|
|
cat > $style_file <<EOF
|
|
@import url("./colors.css");
|
|
|
|
window {
|
|
border-radius: 12px;
|
|
border-style: solid;
|
|
border-width: 2px;
|
|
}
|
|
|
|
#box {
|
|
padding: 6px;
|
|
}
|
|
|
|
button,
|
|
image {
|
|
background: none;
|
|
border-style: none;
|
|
box-shadow: none;
|
|
}
|
|
|
|
button {
|
|
padding: 5px;
|
|
margin-left: 4px;
|
|
margin-right: 4px;
|
|
margin-top: 4px;
|
|
font-size: 18px;
|
|
}
|
|
|
|
button:focus {
|
|
box-shadow: none;
|
|
}
|
|
EOF
|
|
fi
|
|
fi
|
|
|
|
cp "$output_file" "$HOME/.config/nwg-dock-hyprland/colors.css"
|
|
|
|
# Kill existing dock instance
|
|
killall nwg-dock-hyprland 2>/dev/null
|
|
|
|
# Restart dock with user's command or default
|
|
if [[ -n "$user_dock_command" ]]; then
|
|
eval "$user_dock_command" &
|
|
disown
|
|
else
|
|
eval "$default_dock_command" &
|
|
disown
|
|
fi
|
|
|
|
success "Dock theme updated!"
|