summaryrefslogtreecommitdiff
path: root/dotfiles/hyprland/.config
diff options
context:
space:
mode:
Diffstat (limited to 'dotfiles/hyprland/.config')
-rw-r--r--dotfiles/hyprland/.config/foot/foot.ini38
-rw-r--r--dotfiles/hyprland/.config/fuzzel/fuzzel.ini31
-rw-r--r--dotfiles/hyprland/.config/hypr/hyprland.conf199
-rw-r--r--dotfiles/hyprland/.config/hypr/hyprlock.conf91
-rw-r--r--dotfiles/hyprland/.config/themes/dupre/Xresources105
-rw-r--r--dotfiles/hyprland/.config/themes/dupre/dunstrc72
-rw-r--r--dotfiles/hyprland/.config/themes/dupre/foot.ini38
-rw-r--r--dotfiles/hyprland/.config/themes/dupre/fuzzel.ini31
-rw-r--r--dotfiles/hyprland/.config/themes/dupre/hyprland.conf7
-rw-r--r--dotfiles/hyprland/.config/themes/dupre/hyprlock.conf94
-rw-r--r--dotfiles/hyprland/.config/themes/dupre/waybar.css111
-rw-r--r--dotfiles/hyprland/.config/themes/hudson/Xresources105
-rw-r--r--dotfiles/hyprland/.config/themes/hudson/dunstrc72
-rw-r--r--dotfiles/hyprland/.config/themes/hudson/foot.ini38
-rw-r--r--dotfiles/hyprland/.config/themes/hudson/fuzzel.ini31
-rw-r--r--dotfiles/hyprland/.config/themes/hudson/hyprland.conf7
-rw-r--r--dotfiles/hyprland/.config/themes/hudson/hyprlock.conf94
-rw-r--r--dotfiles/hyprland/.config/themes/hudson/waybar.css111
-rw-r--r--dotfiles/hyprland/.config/waybar/config116
-rw-r--r--dotfiles/hyprland/.config/waybar/style.css103
20 files changed, 1322 insertions, 172 deletions
diff --git a/dotfiles/hyprland/.config/foot/foot.ini b/dotfiles/hyprland/.config/foot/foot.ini
new file mode 100644
index 0000000..8837f92
--- /dev/null
+++ b/dotfiles/hyprland/.config/foot/foot.ini
@@ -0,0 +1,38 @@
+# foot terminal configuration - Dupre theme
+# Warm, earthy colors from dupre-theme.el
+
+[main]
+term=xterm-256color
+font=Berkeley Mono:size=14
+pad=8x8
+
+[scrollback]
+lines=10000
+
+[colors]
+# Dupre theme colors (from Emacs dupre-theme.el)
+background=151311
+foreground=f0fef0
+
+# Regular colors (0-7) - dupre palette
+regular0=252321 # black (dupre-bg+1)
+regular1=d47c59 # red (dupre-red)
+regular2=a4ac64 # green (dupre-green)
+regular3=d7af5f # yellow (dupre-yellow)
+regular4=67809c # blue (dupre-blue)
+regular5=b294bb # magenta
+regular6=8a9496 # cyan (dupre-steel)
+regular7=d0cbc0 # white (dupre-gray+2)
+
+# Bright colors (8-15)
+bright0=474544 # bright black (dupre-bg+2)
+bright1=edb08f # bright red (dupre-red+1)
+bright2=ccc768 # bright green (dupre-green+1)
+bright3=ffd75f # bright yellow (dupre-yellow+1)
+bright4=b2c3cc # bright blue (dupre-blue+1)
+bright5=c397d8 # bright magenta
+bright6=acb0b3 # bright cyan (dupre-steel+1)
+bright7=f0fef0 # bright white (dupre-fg)
+
+# Cursor: muted gold on dark
+cursor=151311 d7af5f
diff --git a/dotfiles/hyprland/.config/fuzzel/fuzzel.ini b/dotfiles/hyprland/.config/fuzzel/fuzzel.ini
new file mode 100644
index 0000000..ce46448
--- /dev/null
+++ b/dotfiles/hyprland/.config/fuzzel/fuzzel.ini
@@ -0,0 +1,31 @@
+# Fuzzel config - matching waybar DWM-inspired theme
+# Colors from waybar: bg=#222222, cpu=#bbbbbb, clock=#eeeeee, accent=#daa520
+
+[main]
+font=BerkeleyMono Nerd Font:size=14
+prompt=Search:
+icon-theme=hicolor
+icons-enabled=yes
+width=30
+lines=12
+horizontal-pad=20
+vertical-pad=12
+inner-pad=8
+layer=overlay
+exit-on-keyboard-focus-loss=yes
+
+[colors]
+# Format: RRGGBBAA
+background=222222f0
+text=eeeeeeff
+selection=daa520ff
+selection-text=222222ff
+border=daa520ff
+match=daa520ff
+prompt=bbbbbbff
+placeholder=888888ff
+input=eeeeeeff
+
+[border]
+width=2
+radius=16
diff --git a/dotfiles/hyprland/.config/hypr/hyprland.conf b/dotfiles/hyprland/.config/hypr/hyprland.conf
index ce45088..1701cc0 100644
--- a/dotfiles/hyprland/.config/hypr/hyprland.conf
+++ b/dotfiles/hyprland/.config/hypr/hyprland.conf
@@ -10,12 +10,12 @@ monitor=,preferred,auto,auto
# ============================================================================
# Startup Applications
# ============================================================================
+exec-once = hyprpm reload
exec-once = waybar
exec-once = swww-daemon && sleep 1 && swww img ~/pictures/wallpaper/dark-lion.jpg
exec-once = dunst
exec-once = hypridle
exec-once = gammastep
-exec-once = nm-applet
exec-once = blueman-applet
exec-once = /usr/bin/gnome-keyring-daemon --start --components=pkcs11,secrets,ssh
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
@@ -39,8 +39,8 @@ env = _JAVA_AWT_WM_NONREPARENTING,1
# DWM colors: gray1=#222222, gray2=#444444, gray3=#bbbbbb, gray4=#eeeeee, cyan=#daa520
general {
- gaps_in = 5
- gaps_out = 10
+ gaps_in = 25
+ gaps_out = 30
border_size = 3
col.active_border = rgba(daa520ff)
col.inactive_border = rgba(444444ff)
@@ -49,7 +49,7 @@ general {
}
decoration {
- rounding = 0
+ rounding = 10
blur {
enabled = false
}
@@ -65,6 +65,7 @@ animations {
animation = windowsOut, 1, 3, default, popin 80%
animation = fade, 1, 3, default
animation = workspaces, 1, 3, default
+ animation = specialWorkspace, 1, 3, default, slidevert
}
# ============================================================================
@@ -86,7 +87,7 @@ dwindle {
input {
kb_layout = us
kb_options = ctrl:nocaps
- follow_mouse = 1
+ follow_mouse = 0
touchpad {
natural_scroll = true
}
@@ -108,15 +109,15 @@ xwayland {
}
# ============================================================================
-# Window Rules
+# Window Rules (Hyprland 0.53+ syntax: match:CONDITION, RULE)
# ============================================================================
# Floating windows (from DWM rules)
-windowrulev2 = float, class:^(Gimp)$
-windowrulev2 = float, class:^(caffeine)$
-windowrulev2 = float, class:^(blueman-services)$
-windowrulev2 = float, class:^(Blueman-manager)$
-windowrulev2 = float, class:^(qalculate-gtk)$
-windowrulev2 = float, title:^(Event Tester)$
+windowrule = match:class ^(Gimp)$, float on
+windowrule = match:class ^(caffeine)$, float on
+windowrule = match:class ^(blueman-services)$, float on
+windowrule = match:class ^(Blueman-manager)$, float on
+windowrule = match:class ^(qalculate-gtk)$, float on
+windowrule = match:title ^(Event Tester)$, float on
# ============================================================================
# Key Bindings
@@ -124,36 +125,43 @@ windowrulev2 = float, title:^(Event Tester)$
$mod = SUPER
# Terminal and core apps (from DWM)
-bind = $mod, T, exec, st
+bind = $mod, T, exec, foot
bind = $mod, E, exec, emacsclient -c -a "" || emacs
bind = $mod, W, exec, $BROWSER
-bind = $mod, P, exec, wofi --show drun
+bind = $mod, P, exec, fuzzel
# From sxhkdrc
-bind = $mod, SPACE, exec, wofi --show drun
-bind = $mod SHIFT, S, exec, wofi --show ssh
+bind = $mod, SPACE, exec, fuzzel
bind = $mod SHIFT, W, exec, $ALTBROWSER
bind = CTRL ALT, W, exec, tor-browser
bind = CTRL ALT, F, exec, thunar
bind = $mod, V, exec, virtualbox
bind = $mod SHIFT, L, exec, calibre
bind = $mod SHIFT, R, exec, shortwave
+bind = $mod SHIFT, P, exec, waypaper
+
+# Theme switching
+bind = $mod, Y, exec, set-theme --toggle
+bind = $mod SHIFT, Y, exec, set-theme --pick
# Window management (from DWM)
-bind = $mod, J, layoutmsg, cyclenext
-bind = $mod, K, layoutmsg, cycleprev
-bind = $mod SHIFT, J, layoutmsg, swapnext
-bind = $mod SHIFT, K, layoutmsg, swapprev
-bind = $mod, H, resizeactive, -50 0
-bind = $mod, L, resizeactive, 50 0
-bind = $mod, RETURN, layoutmsg, swapwithmaster
+# Layout-aware navigation (works across master, scrolling, hy3)
+bind = $mod, J, exec, layout-navigate next
+bind = $mod, K, exec, layout-navigate prev
+bind = $mod SHIFT, J, exec, layout-navigate next move
+bind = $mod SHIFT, K, exec, layout-navigate prev move
+bind = $mod, H, splitratio, -0.05
+bind = $mod, L, splitratio, +0.05
+bind = $mod, RETURN, layoutmsg, swapwithmaster master
bind = $mod, G, centerwindow
bind = $mod, TAB, workspace, previous
bind = $mod SHIFT, C, killactive
-# Layouts (from DWM)
-bind = $mod SHIFT, M, exec, hyprctl keyword general:layout master
-bind = $mod SHIFT, T, exec, hyprctl keyword general:layout master
+# Layouts: master -> tab group (monocle) -> scrolling -> floating
+# Click waybar layout icon to cycle, or use direct keybindings:
+bind = $mod SHIFT, T, exec, hyprctl keyword general:layout master && hyprctl keyword master:orientation left
+bind = $mod SHIFT, M, exec, hyprctl keyword general:layout hy3 && hyprctl dispatch hy3:changegroup tab
+bind = $mod SHIFT, S, exec, hyprctl keyword general:layout scrolling
bind = $mod SHIFT, F, togglefloating
bind = $mod SHIFT, SPACE, togglefloating
@@ -161,10 +169,17 @@ bind = $mod SHIFT, SPACE, togglefloating
bind = $mod, I, layoutmsg, addmaster
bind = $mod, D, layoutmsg, removemaster
+# Focus mode (xtra-dispatchers plugin)
+# O = "Only this window" / "bring back Others" / "close Others"
+bind = $mod, O, exec, hyprctl dispatch plugin:xtd:throwunfocused 10
+bind = $mod SHIFT, O, exec, hyprctl dispatch plugin:xtd:bringallfrom 10
+bind = $mod CTRL, O, exec, hyprctl dispatch plugin:xtd:closeunfocused
+
# Gaps (from DWM)
-bind = $mod, MINUS, exec, hyprctl keyword general:gaps_out $(( $(hyprctl getoption general:gaps_out -j | jq '.int') - 5 ))
-bind = $mod, EQUAL, exec, hyprctl keyword general:gaps_out $(( $(hyprctl getoption general:gaps_out -j | jq '.int') + 5 ))
-bind = $mod SHIFT, EQUAL, exec, hyprctl keyword general:gaps_out 10
+bind = $mod, MINUS, exec, hyprctl keyword general:gaps_out $(( $(hyprctl getoption general:gaps_out -j | jq -r '.custom' | cut -d' ' -f1) - 5 )) && hyprctl keyword general:gaps_in $(( $(hyprctl getoption general:gaps_in -j | jq -r '.custom' | cut -d' ' -f1) - 5 ))
+bind = $mod, EQUAL, exec, hyprctl keyword general:gaps_out $(( $(hyprctl getoption general:gaps_out -j | jq -r '.custom' | cut -d' ' -f1) + 5 )) && hyprctl keyword general:gaps_in $(( $(hyprctl getoption general:gaps_in -j | jq -r '.custom' | cut -d' ' -f1) + 5 ))
+bind = $mod SHIFT, EQUAL, exec, hyprctl keyword general:gaps_out 30 && hyprctl keyword general:gaps_in 25
+bind = $mod SHIFT, MINUS, exec, hyprctl keyword general:gaps_out 0 && hyprctl keyword general:gaps_in 0
# Toggle bar
bind = $mod, B, exec, killall -SIGUSR1 waybar
@@ -185,16 +200,16 @@ bind = $mod, 9, workspace, 9
bind = $mod, 0, workspace, 10
# Move window to workspace (from DWM tag)
-bind = $mod SHIFT, 1, movetoworkspace, 1
-bind = $mod SHIFT, 2, movetoworkspace, 2
-bind = $mod SHIFT, 3, movetoworkspace, 3
-bind = $mod SHIFT, 4, movetoworkspace, 4
-bind = $mod SHIFT, 5, movetoworkspace, 5
-bind = $mod SHIFT, 6, movetoworkspace, 6
-bind = $mod SHIFT, 7, movetoworkspace, 7
-bind = $mod SHIFT, 8, movetoworkspace, 8
-bind = $mod SHIFT, 9, movetoworkspace, 9
-bind = $mod SHIFT, 0, movetoworkspace, 10
+bind = $mod SHIFT, 1, movetoworkspacesilent, 1
+bind = $mod SHIFT, 2, movetoworkspacesilent, 2
+bind = $mod SHIFT, 3, movetoworkspacesilent, 3
+bind = $mod SHIFT, 4, movetoworkspacesilent, 4
+bind = $mod SHIFT, 5, movetoworkspacesilent, 5
+bind = $mod SHIFT, 6, movetoworkspacesilent, 6
+bind = $mod SHIFT, 7, movetoworkspacesilent, 7
+bind = $mod SHIFT, 8, movetoworkspacesilent, 8
+bind = $mod SHIFT, 9, movetoworkspacesilent, 9
+bind = $mod SHIFT, 0, movetoworkspacesilent, 10
# Monitor focus (from DWM focusmon)
bind = $mod, COMMA, focusmonitor, -1
@@ -202,53 +217,68 @@ bind = $mod, PERIOD, focusmonitor, +1
bind = $mod SHIFT, COMMA, movewindow, mon:-1
bind = $mod SHIFT, PERIOD, movewindow, mon:+1
+# ============================================================================
# Scratchpads (from DWM togglescratch)
-# Audio mixer (was MODKEY+a -> spaudio/pulsemixer)
+# ============================================================================
+# Using on-created-empty workspace rules - app launches on first toggle,
+# subsequent toggles just show/hide the workspace
+
+# Workspace rules (auto-launch apps when workspace first accessed)
+workspace = special:term, on-created-empty:foot --app-id foot-term tmux
+workspace = special:audio, on-created-empty:foot --app-id foot-audio pulsemixer
+workspace = special:monitor, on-created-empty:foot --app-id foot-monitor gotop
+workspace = special:music, on-created-empty:foot --app-id foot-music ncmpcpp
+workspace = special:files, on-created-empty:foot --app-id foot-files ranger
+workspace = special:htop, on-created-empty:foot --app-id foot-htop htop
+workspace = special:network, on-created-empty:foot --app-id foot-network nmtui
+
+# Keybindings (single bind per scratchpad - just toggle visibility)
+bind = $mod SHIFT, RETURN, togglespecialworkspace, term
bind = $mod, A, togglespecialworkspace, audio
-bind = $mod, A, exec, [workspace special:audio] pgrep -x pulsemixer || st -n spaudio -e pulsemixer
-windowrulev2 = float, class:^(st)$, title:^(spaudio)$
-windowrulev2 = size 60% 60%, class:^(st)$, title:^(spaudio)$
-windowrulev2 = center, class:^(st)$, title:^(spaudio)$
-windowrulev2 = workspace special:audio, class:^(st)$, title:^(spaudio)$
-
-# System monitor (was MODKEY+m -> spmon/gotop)
bind = $mod, M, togglespecialworkspace, monitor
-bind = $mod, M, exec, [workspace special:monitor] pgrep -x gotop || st -n spmon -e gotop
-windowrulev2 = float, class:^(st)$, title:^(spmon)$
-windowrulev2 = size 60% 60%, class:^(st)$, title:^(spmon)$
-windowrulev2 = workspace special:monitor, class:^(st)$, title:^(spmon)$
-
-# Music player (was MODKEY+slash -> spmp/ncmpcpp)
bind = $mod, SLASH, togglespecialworkspace, music
-bind = $mod, SLASH, exec, [workspace special:music] pgrep -x ncmpcpp || st -n spmp -e ncmpcpp
-windowrulev2 = float, class:^(st)$, title:^(spmp)$
-windowrulev2 = size 60% 60%, class:^(st)$, title:^(spmp)$
-windowrulev2 = workspace special:music, class:^(st)$, title:^(spmp)$
-
-# Terminal scratchpad (was MODKEY+Shift+Return -> spterm/tmux)
-bind = $mod SHIFT, RETURN, togglespecialworkspace, term
-bind = $mod SHIFT, RETURN, exec, [workspace special:term] pgrep -f "st.*spterm" || st -n spterm -e tmux
-windowrulev2 = float, class:^(st)$, title:^(spterm)$
-windowrulev2 = size 60% 60%, class:^(st)$, title:^(spterm)$
-windowrulev2 = workspace special:term, class:^(st)$, title:^(spterm)$
-
-# File manager (was MODKEY+f -> spfm/ranger)
bind = $mod, F, togglespecialworkspace, files
-bind = $mod, F, exec, [workspace special:files] pgrep -x ranger || st -n spfm -e ranger
-windowrulev2 = float, class:^(st)$, title:^(spfm)$
-windowrulev2 = size 60% 60%, class:^(st)$, title:^(spfm)$
-windowrulev2 = workspace special:files, class:^(st)$, title:^(spfm)$
+bind = $mod SHIFT, H, togglespecialworkspace, htop
-# Calculator (was MODKEY+x or MODKEY+c -> qalculate)
+# Window rules (using app-id/class matching, Hyprland 0.53+ syntax)
+# Terminal scratchpad
+windowrule = match:class ^(foot-term)$, float on
+windowrule = match:class ^(foot-term)$, size (monitor_w*0.6) (monitor_h*0.6)
+windowrule = match:class ^(foot-term)$, center on
+
+# Audio mixer
+windowrule = match:class ^(foot-audio)$, float on
+windowrule = match:class ^(foot-audio)$, size (monitor_w*0.6) (monitor_h*0.6)
+windowrule = match:class ^(foot-audio)$, center on
+
+# System monitor
+windowrule = match:class ^(foot-monitor)$, float on
+windowrule = match:class ^(foot-monitor)$, size (monitor_w*0.6) (monitor_h*0.6)
+windowrule = match:class ^(foot-monitor)$, center on
+
+# Music player
+windowrule = match:class ^(foot-music)$, float on
+windowrule = match:class ^(foot-music)$, size (monitor_w*0.6) (monitor_h*0.6)
+windowrule = match:class ^(foot-music)$, center on
+
+# File manager
+windowrule = match:class ^(foot-files)$, float on
+windowrule = match:class ^(foot-files)$, size (monitor_w*0.6) (monitor_h*0.6)
+windowrule = match:class ^(foot-files)$, center on
+
+# Htop
+windowrule = match:class ^(foot-htop)$, float on
+windowrule = match:class ^(foot-htop)$, size (monitor_w*0.6) (monitor_h*0.6)
+windowrule = match:class ^(foot-htop)$, center on
+
+# Network manager
+windowrule = match:class ^(foot-network)$, float on
+windowrule = match:class ^(foot-network)$, size (monitor_w*0.6) (monitor_h*0.6)
+windowrule = match:class ^(foot-network)$, center on
+
+# Calculator (not a scratchpad, just launches app)
bind = $mod, X, exec, qalculate-gtk
-bind = $mod, C, exec, qalculate-gtk
-
-# Htop (was MODKEY+Shift+h -> sptop/htop)
-bind = $mod SHIFT, H, togglespecialworkspace, htop
-bind = $mod SHIFT, H, exec, [workspace special:htop] pgrep -x htop || st -n sptop -e htop
-windowrulev2 = float, class:^(st)$, title:^(sptop)$
-windowrulev2 = size 60% 60%, class:^(st)$, title:^(sptop)$
-windowrulev2 = workspace special:htop, class:^(st)$, title:^(sptop)$
+bind = $mod, C, exec, hyprpicker -a
# Media/hardware keys
bindel = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +5%
@@ -263,12 +293,9 @@ bind = CTRL ALT, SPACE, exec, amixer set Capture toggle && amixer get Capture |
# Bluetooth (from DWM and sxhkdrc)
bind = $mod SHIFT, B, exec, blueman-manager
-# Screenshots (Wayland: grim + slurp instead of maim)
-bind = $mod, S, exec, grim -g "$(slurp)" ~/pictures/screenshots/$(date +%Y.%m.%d-%H%M%S).png && notify-send "Screenshot" "Saved to ~/pictures/screenshots/"
-bind = , Print, exec, grim ~/pictures/screenshots/$(date +%Y.%m.%d-%H%M%S).png && notify-send "Screenshot" "Full screen saved"
-
-# Color picker (Wayland: hyprpicker instead of xcolor)
-# bind = $mod, C, exec, hyprpicker -a # conflicts with calculator, uncomment if needed
+# Screenshots (grim + slurp + satty for annotation)
+bind = $mod, S, exec, grim -g "$(slurp)" - | satty --filename - --output-filename ~/pictures/screenshots/$(date +%Y.%m.%d-%H%M%S).png
+bind = , Print, exec, grim - | satty --filename - --output-filename ~/pictures/screenshots/$(date +%Y.%m.%d-%H%M%S).png
# Lock screen (from sxhkdrc: super+Escape)
bind = $mod, ESCAPE, exec, hyprlock
@@ -277,7 +304,7 @@ bind = $mod, ESCAPE, exec, hyprlock
bind = $mod, F9, exec, toggle-touchpad
# Exit/session (from DWM)
-bind = $mod SHIFT, Q, exec, wofi --show dmenu --prompt "Exit?" -D dmenu/exit="0" < /dev/null && hyprctl dispatch exit
+bind = $mod SHIFT, Q, exec, printf "Exit\nCancel" | fuzzel --dmenu --prompt "Exit Hyprland? " | grep -q "Exit" && hyprctl dispatch exit
bind = $mod SHIFT, BACKSPACE, exit
bind = $mod SHIFT, ESCAPE, exec, hyprctl reload
diff --git a/dotfiles/hyprland/.config/hypr/hyprlock.conf b/dotfiles/hyprland/.config/hypr/hyprlock.conf
index b4dcfb8..fd85651 100644
--- a/dotfiles/hyprland/.config/hypr/hyprlock.conf
+++ b/dotfiles/hyprland/.config/hypr/hyprlock.conf
@@ -1,5 +1,5 @@
-# Hyprlock configuration
-# Matching DWM colors: gray1=#222222, accent=#daa520
+# Hyprlock configuration - Dupre theme
+# Warm, earthy colors from dupre-theme.el
general {
disable_loading_bar = false
@@ -20,56 +20,75 @@ background {
vibrancy_darkness = 0.0
}
+# Clock (top)
+label {
+ monitor =
+ text = $TIME12
+ text_align = center
+ color = rgb(969385)
+ font_size = 64
+ font_family = BerkeleyMono Nerd Font
+ position = 0, 15%
+ halign = center
+ valign = center
+}
+
+# Profile image
+image {
+ monitor =
+ path = ~/pictures/devilman.jpg
+ size = 120
+ rounding = -1
+ border_size = 3
+ border_color = rgb(d7af5f)
+ position = 0, 0%
+ halign = center
+ valign = center
+ shadow_passes = 2
+ shadow_size = 3
+ shadow_color = rgba(0, 0, 0, 0.5)
+}
+
+# Username
+label {
+ monitor =
+ text = $USER
+ text_align = center
+ color = rgb(d7af5f)
+ font_size = 36
+ font_family = BerkeleyMono Nerd Font
+ position = 0, -7%
+ halign = center
+ valign = center
+}
+
+# Password input
input-field {
monitor =
- size = 300, 50
- outline_thickness = 3
+ size = 20%, 4%
+ outline_thickness = 0
dots_size = 0.33
dots_spacing = 0.15
dots_center = true
dots_rounding = -1
- outer_color = rgb(444444)
- inner_color = rgb(222222)
- font_color = rgb(bbbbbb)
+ outer_color = rgb(151311)
+ inner_color = rgb(151311)
+ font_color = rgb(969385)
fade_on_empty = true
fade_timeout = 1000
placeholder_text = <i>Password...</i>
hide_input = false
- rounding = 0
- check_color = rgb(daa520)
- fail_color = rgb(d9534f)
+ rounding = 8
+ check_color = rgb(d7af5f)
+ fail_color = rgb(d47c59)
fail_text = <i>$FAIL <b>($ATTEMPTS)</b></i>
fail_transition = 300
- capslock_color = rgb(f0ad4e)
+ capslock_color = rgb(ccc768)
numlock_color = -1
bothlock_color = -1
invert_numlock = false
swap_font_color = false
- position = 0, -20
- halign = center
- valign = center
-}
-
-label {
- monitor =
- text = $TIME
- text_align = center
- color = rgb(bbbbbb)
- font_size = 64
- font_family = FiraCode Nerd Font Mono
- position = 0, 80
- halign = center
- valign = center
-}
-
-label {
- monitor =
- text = $USER
- text_align = center
- color = rgb(daa520)
- font_size = 20
- font_family = FiraCode Nerd Font Mono
- position = 0, -80
+ position = 0, -12%
halign = center
valign = center
}
diff --git a/dotfiles/hyprland/.config/themes/dupre/Xresources b/dotfiles/hyprland/.config/themes/dupre/Xresources
new file mode 100644
index 0000000..d149a72
--- /dev/null
+++ b/dotfiles/hyprland/.config/themes/dupre/Xresources
@@ -0,0 +1,105 @@
+!! X Resources - Dupre theme
+!! Warm, earthy colors from dupre-theme.el
+!! For X11 applications (st, xterm, etc.) and Emacs
+
+!! X Font Settings
+Xft.dpi: 109
+Xcursor.size: 32
+Xcursor.theme: Vimix-white-cursors
+Xft.autohint: 0
+Xft.lcdfilter: lcddefault
+Xft.hintstyle: hintfull
+Xft.hinting: 1
+Xft.antialias: 1
+Xft.rgba: rgb
+
+!! Emacs
+Emacs*toolBar: 0
+
+!! ============================================================================
+!! Dupre Theme Colors
+!! ============================================================================
+
+#define dupre_fg #f0fef0
+#define dupre_bg #151311
+#define dupre_black #252321
+#define dupre_red #d47c59
+#define dupre_green #a4ac64
+#define dupre_yellow #d7af5f
+#define dupre_blue #67809c
+#define dupre_magenta #b294bb
+#define dupre_cyan #8a9496
+#define dupre_white #d0cbc0
+#define dupre_br_black #474544
+#define dupre_br_red #edb08f
+#define dupre_br_green #ccc768
+#define dupre_br_yellow #ffd75f
+#define dupre_br_blue #b2c3cc
+#define dupre_br_magenta #c397d8
+#define dupre_br_cyan #acb0b3
+#define dupre_br_white #f0fef0
+
+!! Active theme aliases
+#define theme_fg dupre_fg
+#define theme_bg dupre_bg
+#define theme_black dupre_black
+#define theme_red dupre_red
+#define theme_green dupre_green
+#define theme_yellow dupre_yellow
+#define theme_blue dupre_blue
+#define theme_magenta dupre_magenta
+#define theme_cyan dupre_cyan
+#define theme_white dupre_white
+#define theme_br_black dupre_br_black
+#define theme_br_red dupre_br_red
+#define theme_br_green dupre_br_green
+#define theme_br_yellow dupre_br_yellow
+#define theme_br_blue dupre_br_blue
+#define theme_br_magenta dupre_br_magenta
+#define theme_br_cyan dupre_br_cyan
+#define theme_br_white dupre_br_white
+
+!! ============================================================================
+
+!! ST (suckless terminal) settings
+st.font: BerkeleyMono Nerd Font:size=12
+st.background: theme_bg
+st.foreground: theme_fg
+st.color0: theme_black
+st.color1: theme_red
+st.color2: theme_green
+st.color3: theme_yellow
+st.color4: theme_blue
+st.color5: theme_magenta
+st.color6: theme_cyan
+st.color7: theme_white
+st.color8: theme_br_black
+st.color9: theme_br_red
+st.color10: theme_br_green
+st.color11: theme_br_yellow
+st.color12: theme_br_blue
+st.color13: theme_br_magenta
+st.color14: theme_br_cyan
+st.color15: theme_br_white
+
+!! XTerm settings
+XTerm*faceName: BerkeleyMono Nerd Font:size=12
+XTerm*selectToClipboard: true
+XTerm*background: theme_bg
+XTerm*foreground: theme_fg
+XTerm*color0: theme_black
+XTerm*color1: theme_red
+XTerm*color2: theme_green
+XTerm*color3: theme_yellow
+XTerm*color4: theme_blue
+XTerm*color5: theme_magenta
+XTerm*color6: theme_cyan
+XTerm*color7: theme_white
+XTerm*color8: theme_br_black
+XTerm*color9: theme_br_red
+XTerm*color10: theme_br_green
+XTerm*color11: theme_br_yellow
+XTerm*color12: theme_br_blue
+XTerm*color13: theme_br_magenta
+XTerm*color14: theme_br_cyan
+XTerm*color15: theme_br_white
diff --git a/dotfiles/hyprland/.config/themes/dupre/dunstrc b/dotfiles/hyprland/.config/themes/dupre/dunstrc
new file mode 100644
index 0000000..104df28
--- /dev/null
+++ b/dotfiles/hyprland/.config/themes/dupre/dunstrc
@@ -0,0 +1,72 @@
+# Dunst config - Dupre theme
+# Warm, earthy colors from dupre-theme.el
+
+[global]
+# Display
+follow = mouse
+width = 350
+height = (0, 300)
+origin = top-right
+offset = (35, 35)
+indicate_hidden = yes
+notification_limit = 5
+gap_size = 12
+padding = 12
+horizontal_padding = 20
+frame_width = 2
+sort = no
+corner_radius = 10
+
+# Progress bar
+progress_bar_frame_width = 0
+progress_bar_corner_radius = 3
+
+# Colors - Dupre theme
+foreground = "#f0fef0"
+frame_color = "#d7af5f"
+highlight = "#d7af5f, #ccc768"
+
+# Text
+font = BerkeleyMono Nerd Font 11
+markup = full
+format = "<small>%a</small>\n<b>%s</b>\n%b"
+alignment = left
+vertical_alignment = center
+show_age_threshold = -1
+hide_duplicate_count = false
+
+# Icon
+icon_position = left
+min_icon_size = 54
+max_icon_size = 80
+icon_corner_radius = 4
+
+# Misc/Advanced
+dmenu = fuzzel --dmenu --prompt 'Open with'
+
+# Mouse
+mouse_left_click = close_current
+mouse_middle_click = do_action, close_current
+mouse_right_click = close_all
+
+[urgency_low]
+background = "#151311f0"
+timeout = 3
+
+[urgency_normal]
+background = "#151311f0"
+timeout = 8
+
+[urgency_critical]
+background = "#7c2a09f0"
+frame_color = "#d47c59"
+highlight = "#ff2a00"
+foreground = "#f0fef0"
+timeout = 0
+
+[fullscreen_delay_everything]
+fullscreen = delay
+
+[fullscreen_show_critical]
+msg_urgency = critical
+fullscreen = show
diff --git a/dotfiles/hyprland/.config/themes/dupre/foot.ini b/dotfiles/hyprland/.config/themes/dupre/foot.ini
new file mode 100644
index 0000000..8837f92
--- /dev/null
+++ b/dotfiles/hyprland/.config/themes/dupre/foot.ini
@@ -0,0 +1,38 @@
+# foot terminal configuration - Dupre theme
+# Warm, earthy colors from dupre-theme.el
+
+[main]
+term=xterm-256color
+font=Berkeley Mono:size=14
+pad=8x8
+
+[scrollback]
+lines=10000
+
+[colors]
+# Dupre theme colors (from Emacs dupre-theme.el)
+background=151311
+foreground=f0fef0
+
+# Regular colors (0-7) - dupre palette
+regular0=252321 # black (dupre-bg+1)
+regular1=d47c59 # red (dupre-red)
+regular2=a4ac64 # green (dupre-green)
+regular3=d7af5f # yellow (dupre-yellow)
+regular4=67809c # blue (dupre-blue)
+regular5=b294bb # magenta
+regular6=8a9496 # cyan (dupre-steel)
+regular7=d0cbc0 # white (dupre-gray+2)
+
+# Bright colors (8-15)
+bright0=474544 # bright black (dupre-bg+2)
+bright1=edb08f # bright red (dupre-red+1)
+bright2=ccc768 # bright green (dupre-green+1)
+bright3=ffd75f # bright yellow (dupre-yellow+1)
+bright4=b2c3cc # bright blue (dupre-blue+1)
+bright5=c397d8 # bright magenta
+bright6=acb0b3 # bright cyan (dupre-steel+1)
+bright7=f0fef0 # bright white (dupre-fg)
+
+# Cursor: muted gold on dark
+cursor=151311 d7af5f
diff --git a/dotfiles/hyprland/.config/themes/dupre/fuzzel.ini b/dotfiles/hyprland/.config/themes/dupre/fuzzel.ini
new file mode 100644
index 0000000..64711b8
--- /dev/null
+++ b/dotfiles/hyprland/.config/themes/dupre/fuzzel.ini
@@ -0,0 +1,31 @@
+# Fuzzel config - Dupre theme
+# Warm, earthy colors from dupre-theme.el
+
+[main]
+font=BerkeleyMono Nerd Font:size=14
+prompt=Search:
+icon-theme=hicolor
+icons-enabled=yes
+width=30
+lines=12
+horizontal-pad=20
+vertical-pad=12
+inner-pad=8
+layer=overlay
+exit-on-keyboard-focus-loss=yes
+
+[colors]
+# Format: RRGGBBAA
+background=151311f0
+text=f0fef0ff
+selection=d7af5fff
+selection-text=151311ff
+border=d7af5fff
+match=d7af5fff
+prompt=969385ff
+placeholder=6c6a60ff
+input=f0fef0ff
+
+[border]
+width=2
+radius=16
diff --git a/dotfiles/hyprland/.config/themes/dupre/hyprland.conf b/dotfiles/hyprland/.config/themes/dupre/hyprland.conf
new file mode 100644
index 0000000..b9313ff
--- /dev/null
+++ b/dotfiles/hyprland/.config/themes/dupre/hyprland.conf
@@ -0,0 +1,7 @@
+# Hyprland colors - Dupre theme
+# Warm, earthy colors from dupre-theme.el
+
+general {
+ col.active_border = rgba(d7af5fff)
+ col.inactive_border = rgba(474544ff)
+}
diff --git a/dotfiles/hyprland/.config/themes/dupre/hyprlock.conf b/dotfiles/hyprland/.config/themes/dupre/hyprlock.conf
new file mode 100644
index 0000000..fd85651
--- /dev/null
+++ b/dotfiles/hyprland/.config/themes/dupre/hyprlock.conf
@@ -0,0 +1,94 @@
+# Hyprlock configuration - Dupre theme
+# Warm, earthy colors from dupre-theme.el
+
+general {
+ disable_loading_bar = false
+ hide_cursor = true
+ grace = 0
+ no_fade_in = false
+}
+
+background {
+ monitor =
+ path = screenshot
+ blur_passes = 3
+ blur_size = 8
+ noise = 0.0117
+ contrast = 0.8916
+ brightness = 0.8172
+ vibrancy = 0.1696
+ vibrancy_darkness = 0.0
+}
+
+# Clock (top)
+label {
+ monitor =
+ text = $TIME12
+ text_align = center
+ color = rgb(969385)
+ font_size = 64
+ font_family = BerkeleyMono Nerd Font
+ position = 0, 15%
+ halign = center
+ valign = center
+}
+
+# Profile image
+image {
+ monitor =
+ path = ~/pictures/devilman.jpg
+ size = 120
+ rounding = -1
+ border_size = 3
+ border_color = rgb(d7af5f)
+ position = 0, 0%
+ halign = center
+ valign = center
+ shadow_passes = 2
+ shadow_size = 3
+ shadow_color = rgba(0, 0, 0, 0.5)
+}
+
+# Username
+label {
+ monitor =
+ text = $USER
+ text_align = center
+ color = rgb(d7af5f)
+ font_size = 36
+ font_family = BerkeleyMono Nerd Font
+ position = 0, -7%
+ halign = center
+ valign = center
+}
+
+# Password input
+input-field {
+ monitor =
+ size = 20%, 4%
+ outline_thickness = 0
+ dots_size = 0.33
+ dots_spacing = 0.15
+ dots_center = true
+ dots_rounding = -1
+ outer_color = rgb(151311)
+ inner_color = rgb(151311)
+ font_color = rgb(969385)
+ fade_on_empty = true
+ fade_timeout = 1000
+ placeholder_text = <i>Password...</i>
+ hide_input = false
+ rounding = 8
+ check_color = rgb(d7af5f)
+ fail_color = rgb(d47c59)
+ fail_text = <i>$FAIL <b>($ATTEMPTS)</b></i>
+ fail_transition = 300
+ capslock_color = rgb(ccc768)
+ numlock_color = -1
+ bothlock_color = -1
+ invert_numlock = false
+ swap_font_color = false
+ position = 0, -12%
+ halign = center
+ valign = center
+}
diff --git a/dotfiles/hyprland/.config/themes/dupre/waybar.css b/dotfiles/hyprland/.config/themes/dupre/waybar.css
new file mode 100644
index 0000000..4bd0052
--- /dev/null
+++ b/dotfiles/hyprland/.config/themes/dupre/waybar.css
@@ -0,0 +1,111 @@
+/* Waybar style - Dupre theme */
+/* Warm, earthy colors from dupre-theme.el */
+
+* {
+ border: none;
+ border-radius: 0;
+ font-size: 14px;
+ min-height: 0;
+ font-family: "BerkeleyMono Nerd Font", "Berkeley Mono", monospace;
+}
+
+window#waybar {
+ background: transparent;
+}
+
+#workspaces {
+ padding: 0.2rem;
+}
+
+#workspaces button {
+ padding: 0.5rem;
+ margin: 0.2rem;
+ background-color: transparent;
+ color: #969385;
+ border-radius: 1rem;
+ transition: all 0.3s ease;
+}
+
+#workspaces button.active {
+ background: #d7af5f;
+ color: #151311;
+ border-radius: 1rem;
+}
+
+#workspaces button.urgent {
+ background-color: rgba(212, 124, 89, 0.4);
+}
+
+.modules-right, .modules-left {
+ background-color: #151311;
+ border-radius: 1rem;
+ padding: 0.2rem 0.6rem;
+ margin: 0.3rem;
+ border: 0.095rem solid #d7af5f;
+ box-shadow: 0rem 0.2rem 0.4rem rgba(0,0,0,0.5);
+}
+
+#cpu,
+#temperature,
+#memory,
+#disk,
+#custom-netspeed,
+#battery,
+#wireplumber,
+#tray,
+#clock,
+#custom-layout,
+#window {
+ padding: 0.4rem;
+ margin: 0.3rem;
+ color: #969385;
+ background-color: transparent;
+ border-radius: 1rem;
+}
+
+#sysmonitor {
+ margin: 0.3rem;
+ background-color: transparent;
+ border-radius: 1rem;
+}
+
+#cpu:hover,
+#temperature:hover,
+#memory:hover,
+#disk:hover,
+#custom-netspeed:hover,
+#wireplumber:hover,
+#sysmonitor:hover,
+#custom-layout:hover {
+ background-color: #474544;
+ border-radius: 1rem;
+}
+
+#clock {
+ color: #f0fef0;
+}
+
+#wireplumber {
+ color: #969385;
+}
+
+#wireplumber.muted {
+ color: #58574e;
+}
+
+#battery.warning {
+ color: #d7af5f;
+}
+
+#battery.critical {
+ color: #d47c59;
+}
+
+#tray > .passive {
+ -gtk-icon-effect: dim;
+}
+
+#tray > .needs-attention {
+ -gtk-icon-effect: highlight;
+ background-color: #d7af5f;
+}
diff --git a/dotfiles/hyprland/.config/themes/hudson/Xresources b/dotfiles/hyprland/.config/themes/hudson/Xresources
new file mode 100644
index 0000000..00be166
--- /dev/null
+++ b/dotfiles/hyprland/.config/themes/hudson/Xresources
@@ -0,0 +1,105 @@
+!! X Resources - Hudson theme
+!! Tomorrow Night + Goldenrod accent
+!! For X11 applications (st, xterm, etc.) and Emacs
+
+!! X Font Settings
+Xft.dpi: 109
+Xft.autohint: 0
+Xft.lcdfilter: lcddefault
+Xft.hintstyle: hintfull
+Xft.hinting: 1
+Xft.antialias: 1
+Xft.rgba: rgb
+Xcursor.size: 32
+Xcursor.theme: Vimix-white-cursors
+
+!! Emacs
+Emacs*toolBar: 0
+
+!! ============================================================================
+!! Hudson Theme Colors (Tomorrow Night + Goldenrod)
+!! ============================================================================
+
+#define hudson_fg #eeeeee
+#define hudson_bg #222222
+#define hudson_black #222222
+#define hudson_red #cc6666
+#define hudson_green #b5bd68
+#define hudson_yellow #f0c674
+#define hudson_blue #81a2be
+#define hudson_magenta #b294bb
+#define hudson_cyan #8abeb7
+#define hudson_white #c5c8c6
+#define hudson_br_black #444444
+#define hudson_br_red #d54e53
+#define hudson_br_green #b9ca4a
+#define hudson_br_yellow #e0b040
+#define hudson_br_blue #7aa6da
+#define hudson_br_magenta #c397d8
+#define hudson_br_cyan #70c0b1
+#define hudson_br_white #eeeeee
+
+!! Active theme aliases
+#define theme_fg hudson_fg
+#define theme_bg hudson_bg
+#define theme_black hudson_black
+#define theme_red hudson_red
+#define theme_green hudson_green
+#define theme_yellow hudson_yellow
+#define theme_blue hudson_blue
+#define theme_magenta hudson_magenta
+#define theme_cyan hudson_cyan
+#define theme_white hudson_white
+#define theme_br_black hudson_br_black
+#define theme_br_red hudson_br_red
+#define theme_br_green hudson_br_green
+#define theme_br_yellow hudson_br_yellow
+#define theme_br_blue hudson_br_blue
+#define theme_br_magenta hudson_br_magenta
+#define theme_br_cyan hudson_br_cyan
+#define theme_br_white hudson_br_white
+
+!! ============================================================================
+
+!! ST (suckless terminal) settings
+st.font: BerkeleyMono Nerd Font:size=12
+st.background: theme_bg
+st.foreground: theme_fg
+st.color0: theme_black
+st.color1: theme_red
+st.color2: theme_green
+st.color3: theme_yellow
+st.color4: theme_blue
+st.color5: theme_magenta
+st.color6: theme_cyan
+st.color7: theme_white
+st.color8: theme_br_black
+st.color9: theme_br_red
+st.color10: theme_br_green
+st.color11: theme_br_yellow
+st.color12: theme_br_blue
+st.color13: theme_br_magenta
+st.color14: theme_br_cyan
+st.color15: theme_br_white
+
+!! XTerm settings
+XTerm*faceName: BerkeleyMono Nerd Font:size=12
+XTerm*selectToClipboard: true
+XTerm*background: theme_bg
+XTerm*foreground: theme_fg
+XTerm*color0: theme_black
+XTerm*color1: theme_red
+XTerm*color2: theme_green
+XTerm*color3: theme_yellow
+XTerm*color4: theme_blue
+XTerm*color5: theme_magenta
+XTerm*color6: theme_cyan
+XTerm*color7: theme_white
+XTerm*color8: theme_br_black
+XTerm*color9: theme_br_red
+XTerm*color10: theme_br_green
+XTerm*color11: theme_br_yellow
+XTerm*color12: theme_br_blue
+XTerm*color13: theme_br_magenta
+XTerm*color14: theme_br_cyan
+XTerm*color15: theme_br_white
diff --git a/dotfiles/hyprland/.config/themes/hudson/dunstrc b/dotfiles/hyprland/.config/themes/hudson/dunstrc
new file mode 100644
index 0000000..0c84133
--- /dev/null
+++ b/dotfiles/hyprland/.config/themes/hudson/dunstrc
@@ -0,0 +1,72 @@
+# Dunst config - Hudson theme
+# Tomorrow Night + Goldenrod accent
+
+[global]
+# Display
+follow = mouse
+width = 350
+height = (0, 300)
+origin = top-right
+offset = (35, 35)
+indicate_hidden = yes
+notification_limit = 5
+gap_size = 12
+padding = 12
+horizontal_padding = 20
+frame_width = 2
+sort = no
+corner_radius = 10
+
+# Progress bar
+progress_bar_frame_width = 0
+progress_bar_corner_radius = 3
+
+# Colors - Hudson theme
+foreground = "#eeeeee"
+frame_color = "#daa520"
+highlight = "#daa520, #f0c674"
+
+# Text
+font = BerkeleyMono Nerd Font 11
+markup = full
+format = "<small>%a</small>\n<b>%s</b>\n%b"
+alignment = left
+vertical_alignment = center
+show_age_threshold = -1
+hide_duplicate_count = false
+
+# Icon
+icon_position = left
+min_icon_size = 54
+max_icon_size = 80
+icon_corner_radius = 4
+
+# Misc/Advanced
+dmenu = fuzzel --dmenu --prompt 'Open with'
+
+# Mouse
+mouse_left_click = close_current
+mouse_middle_click = do_action, close_current
+mouse_right_click = close_all
+
+[urgency_low]
+background = "#222222f0"
+timeout = 3
+
+[urgency_normal]
+background = "#222222f0"
+timeout = 8
+
+[urgency_critical]
+background = "#cc6666f0"
+frame_color = "#d54e53"
+highlight = "#ff2a00"
+foreground = "#eeeeee"
+timeout = 0
+
+[fullscreen_delay_everything]
+fullscreen = delay
+
+[fullscreen_show_critical]
+msg_urgency = critical
+fullscreen = show
diff --git a/dotfiles/hyprland/.config/themes/hudson/foot.ini b/dotfiles/hyprland/.config/themes/hudson/foot.ini
new file mode 100644
index 0000000..39dcc5e
--- /dev/null
+++ b/dotfiles/hyprland/.config/themes/hudson/foot.ini
@@ -0,0 +1,38 @@
+# foot terminal configuration - Hudson theme
+# Tomorrow Night + Goldenrod accent
+
+[main]
+term=xterm-256color
+font=Berkeley Mono:size=14
+pad=8x8
+
+[scrollback]
+lines=10000
+
+[colors]
+# Hudson theme - Tomorrow Night + Goldenrod accent
+background=222222
+foreground=eeeeee
+
+# Regular colors (0-7)
+regular0=222222 # black
+regular1=cc6666 # red
+regular2=b5bd68 # green
+regular3=f0c674 # yellow
+regular4=81a2be # blue
+regular5=b294bb # magenta
+regular6=8abeb7 # cyan
+regular7=c5c8c6 # white
+
+# Bright colors (8-15)
+bright0=444444 # bright black
+bright1=d54e53 # bright red
+bright2=b9ca4a # bright green
+bright3=e0b040 # bright yellow (adjusted for gold)
+bright4=7aa6da # bright blue
+bright5=c397d8 # bright magenta
+bright6=70c0b1 # bright cyan
+bright7=eeeeee # bright white
+
+# Cursor: goldenrod on dark
+cursor=222222 daa520
diff --git a/dotfiles/hyprland/.config/themes/hudson/fuzzel.ini b/dotfiles/hyprland/.config/themes/hudson/fuzzel.ini
new file mode 100644
index 0000000..975004c
--- /dev/null
+++ b/dotfiles/hyprland/.config/themes/hudson/fuzzel.ini
@@ -0,0 +1,31 @@
+# Fuzzel config - Hudson theme
+# Tomorrow Night + Goldenrod accent
+
+[main]
+font=BerkeleyMono Nerd Font:size=14
+prompt=Search:
+icon-theme=hicolor
+icons-enabled=yes
+width=30
+lines=12
+horizontal-pad=20
+vertical-pad=12
+inner-pad=8
+layer=overlay
+exit-on-keyboard-focus-loss=yes
+
+[colors]
+# Format: RRGGBBAA
+background=222222f0
+text=eeeeeeff
+selection=daa520ff
+selection-text=222222ff
+border=daa520ff
+match=daa520ff
+prompt=bbbbbbff
+placeholder=888888ff
+input=eeeeeeff
+
+[border]
+width=2
+radius=16
diff --git a/dotfiles/hyprland/.config/themes/hudson/hyprland.conf b/dotfiles/hyprland/.config/themes/hudson/hyprland.conf
new file mode 100644
index 0000000..37694da
--- /dev/null
+++ b/dotfiles/hyprland/.config/themes/hudson/hyprland.conf
@@ -0,0 +1,7 @@
+# Hyprland colors - Hudson theme
+# Tomorrow Night + Goldenrod accent
+
+general {
+ col.active_border = rgba(daa520ff)
+ col.inactive_border = rgba(444444ff)
+}
diff --git a/dotfiles/hyprland/.config/themes/hudson/hyprlock.conf b/dotfiles/hyprland/.config/themes/hudson/hyprlock.conf
new file mode 100644
index 0000000..f9c08bb
--- /dev/null
+++ b/dotfiles/hyprland/.config/themes/hudson/hyprlock.conf
@@ -0,0 +1,94 @@
+# Hyprlock configuration - Hudson theme
+# Tomorrow Night + Goldenrod accent
+
+general {
+ disable_loading_bar = false
+ hide_cursor = true
+ grace = 0
+ no_fade_in = false
+}
+
+background {
+ monitor =
+ path = screenshot
+ blur_passes = 3
+ blur_size = 8
+ noise = 0.0117
+ contrast = 0.8916
+ brightness = 0.8172
+ vibrancy = 0.1696
+ vibrancy_darkness = 0.0
+}
+
+# Clock (top)
+label {
+ monitor =
+ text = $TIME12
+ text_align = center
+ color = rgb(bbbbbb)
+ font_size = 64
+ font_family = BerkeleyMono Nerd Font
+ position = 0, 15%
+ halign = center
+ valign = center
+}
+
+# Profile image
+image {
+ monitor =
+ path = ~/pictures/devilman.jpg
+ size = 120
+ rounding = -1
+ border_size = 3
+ border_color = rgb(daa520)
+ position = 0, 0%
+ halign = center
+ valign = center
+ shadow_passes = 2
+ shadow_size = 3
+ shadow_color = rgba(0, 0, 0, 0.5)
+}
+
+# Username
+label {
+ monitor =
+ text = $USER
+ text_align = center
+ color = rgb(daa520)
+ font_size = 36
+ font_family = BerkeleyMono Nerd Font
+ position = 0, -7%
+ halign = center
+ valign = center
+}
+
+# Password input
+input-field {
+ monitor =
+ size = 20%, 4%
+ outline_thickness = 0
+ dots_size = 0.33
+ dots_spacing = 0.15
+ dots_center = true
+ dots_rounding = -1
+ outer_color = rgb(222222)
+ inner_color = rgb(222222)
+ font_color = rgb(bbbbbb)
+ fade_on_empty = true
+ fade_timeout = 1000
+ placeholder_text = <i>Password...</i>
+ hide_input = false
+ rounding = 8
+ check_color = rgb(daa520)
+ fail_color = rgb(d54e53)
+ fail_text = <i>$FAIL <b>($ATTEMPTS)</b></i>
+ fail_transition = 300
+ capslock_color = rgb(e0b040)
+ numlock_color = -1
+ bothlock_color = -1
+ invert_numlock = false
+ swap_font_color = false
+ position = 0, -12%
+ halign = center
+ valign = center
+}
diff --git a/dotfiles/hyprland/.config/themes/hudson/waybar.css b/dotfiles/hyprland/.config/themes/hudson/waybar.css
new file mode 100644
index 0000000..f9d2e4f
--- /dev/null
+++ b/dotfiles/hyprland/.config/themes/hudson/waybar.css
@@ -0,0 +1,111 @@
+/* Waybar style - Hudson theme */
+/* Tomorrow Night + Goldenrod accent */
+
+* {
+ border: none;
+ border-radius: 0;
+ font-size: 14px;
+ min-height: 0;
+ font-family: "BerkeleyMono Nerd Font", "Berkeley Mono", monospace;
+}
+
+window#waybar {
+ background: transparent;
+}
+
+#workspaces {
+ padding: 0.2rem;
+}
+
+#workspaces button {
+ padding: 0.5rem;
+ margin: 0.2rem;
+ background-color: transparent;
+ color: #bbbbbb;
+ border-radius: 1rem;
+ transition: all 0.3s ease;
+}
+
+#workspaces button.active {
+ background: #daa520;
+ color: #222222;
+ border-radius: 1rem;
+}
+
+#workspaces button.urgent {
+ background-color: rgba(255, 88, 88, 0.4);
+}
+
+.modules-right, .modules-left {
+ background-color: #222222;
+ border-radius: 1rem;
+ padding: 0.2rem 0.6rem;
+ margin: 0.3rem;
+ border: 0.095rem solid #daa520;
+ box-shadow: 0rem 0.2rem 0.4rem rgba(0,0,0,0.5);
+}
+
+#cpu,
+#temperature,
+#memory,
+#disk,
+#custom-netspeed,
+#battery,
+#wireplumber,
+#tray,
+#clock,
+#custom-layout,
+#window {
+ padding: 0.4rem;
+ margin: 0.3rem;
+ color: #bbbbbb;
+ background-color: transparent;
+ border-radius: 1rem;
+}
+
+#sysmonitor {
+ margin: 0.3rem;
+ background-color: transparent;
+ border-radius: 1rem;
+}
+
+#cpu:hover,
+#temperature:hover,
+#memory:hover,
+#disk:hover,
+#custom-netspeed:hover,
+#wireplumber:hover,
+#sysmonitor:hover,
+#custom-layout:hover {
+ background-color: #444444;
+ border-radius: 1rem;
+}
+
+#clock {
+ color: #eeeeee;
+}
+
+#wireplumber {
+ color: #bbbbbb;
+}
+
+#wireplumber.muted {
+ color: #666666;
+}
+
+#battery.warning {
+ color: #daa520;
+}
+
+#battery.critical {
+ color: #ff5858;
+}
+
+#tray > .passive {
+ -gtk-icon-effect: dim;
+}
+
+#tray > .needs-attention {
+ -gtk-icon-effect: highlight;
+ background-color: #daa520;
+}
diff --git a/dotfiles/hyprland/.config/waybar/config b/dotfiles/hyprland/.config/waybar/config
index 3b3a90f..c7cc0a7 100644
--- a/dotfiles/hyprland/.config/waybar/config
+++ b/dotfiles/hyprland/.config/waybar/config
@@ -3,48 +3,124 @@
"position": "top",
"height": 30,
"spacing": 4,
+ "margin-top": 6,
+ "margin-left": 10,
+ "margin-right": 10,
- "modules-left": ["hyprland/workspaces"],
- "modules-center": ["hyprland/window"],
- "modules-right": ["tray", "battery", "disk", "clock"],
+ "modules-left": [
+ "hyprland/workspaces",
+ "custom/layout",
+ "hyprland/window"
+ ],
+ "modules-center": [],
+ "modules-right": [
+ "group/sysmonitor",
+ "custom/netspeed",
+ "wireplumber",
+ "tray",
+ "clock"
+ ],
+
+ "group/sysmonitor": {
+ "orientation": "horizontal",
+ "modules": [
+ "cpu",
+ "temperature",
+ "memory",
+ "disk",
+ "battery"
+ ]
+ },
"hyprland/workspaces": {
+ "disable-scroll": true,
+ "all-outputs": true,
"format": "{name}",
- "on-click": "activate",
"sort-by-number": true
},
+ "custom/layout": {
+ "exec": "waybar-layout",
+ "return-type": "json",
+ "interval": 1,
+ "on-click": "cycle-layout"
+ },
+
"hyprland/window": {
- "format": "{}",
- "max-length": 50
+ "max-length": 50,
+ "separate-outputs": true
},
- "tray": {
- "spacing": 10
+ "cpu": {
+ "interval": 10,
+ "format": "<span size='large'>󰍛</span> {}%",
+ "on-click": "toggle-scratchpad monitor"
+ },
+
+ "temperature": {
+ "interval": 10,
+ "hwmon-path-abs": "/sys/devices/pci0000:00/0000:00:18.3/hwmon",
+ "input-filename": "temp1_input",
+ "critical-threshold": 80,
+ "format": "<span size='large'>󰔏</span> {temperatureC}°C",
+ "format-critical": "<span size='large'>󰸁</span> {temperatureC}°C",
+ "on-click": "toggle-scratchpad monitor"
+ },
+
+ "memory": {
+ "interval": 30,
+ "format": "<span size='large'>󰘚</span> {}%",
+ "on-click": "toggle-scratchpad monitor"
+ },
+
+ "disk": {
+ "interval": 30,
+ "format": "<span size='large'>󰆼</span> {percentage_used}%",
+ "path": "/",
+ "on-click": "toggle-scratchpad monitor"
+ },
+
+ "custom/netspeed": {
+ "exec": "waybar-netspeed",
+ "return-type": "json",
+ "interval": 2,
+ "on-click": "toggle-scratchpad network"
},
"battery": {
- "bat": "BAT0",
"interval": 30,
"states": {
"warning": 30,
"critical": 15
},
- "format": "󱊣 {capacity}% {icon}",
- "format-charging": "󱊣 {capacity}% ",
- "format-plugged": "󱊣 {capacity}% ",
- "format-icons": ["", "", "", "", ""]
+ "format": "<span size='large'>{icon}</span> {capacity}%",
+ "format-charging": "<span size='large'>󰂄</span> {capacity}%",
+ "format-plugged": "<span size='large'>󰚥</span> {capacity}%",
+ "format-icons": ["󰂎", "󰁺", "󰁻", "󰁼", "󰁽", "󰁾", "󰁿", "󰂀", "󰂁", "󰂂", "󰁹"],
+ "tooltip-format": "{timeTo}"
},
- "disk": {
- "interval": 30,
- "format": " {used}/{total}",
- "path": "/"
+ "tray": {
+ "icon-size": 22,
+ "spacing": 10
},
"clock": {
- "interval": 30,
- "format": " {:%a %B %d} 󰥔 {:%I:%M %p %Z}",
- "tooltip-format": "<tt>{calendar}</tt>"
+ "format": "{:%a, %b %d %Y %I:%M %p %Z}",
+ "tooltip-format": "<small>{calendar}</small>",
+ "calendar": {
+ "format": {
+ "today": "<span color='#daa520'><b><u>{}</u></b></span>"
+ }
+ }
+ },
+
+ "wireplumber": {
+ "format": "<span size='large'>󰕾</span> {volume}%",
+ "format-muted": "<span size='large'>󰝟</span> Muted",
+ "on-click": "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle",
+ "on-click-right": "toggle-scratchpad audio",
+ "on-scroll-up": "wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+",
+ "on-scroll-down": "wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
}
}
diff --git a/dotfiles/hyprland/.config/waybar/style.css b/dotfiles/hyprland/.config/waybar/style.css
index 9411b46..4bd0052 100644
--- a/dotfiles/hyprland/.config/waybar/style.css
+++ b/dotfiles/hyprland/.config/waybar/style.css
@@ -1,61 +1,104 @@
-/* Waybar style - matching DWM colors */
-/* gray1=#222222, gray2=#444444, gray3=#bbbbbb, gray4=#eeeeee, accent=#daa520 */
+/* Waybar style - Dupre theme */
+/* Warm, earthy colors from dupre-theme.el */
* {
- font-family: "FiraCode Nerd Font Mono", monospace;
- font-size: 12px;
border: none;
border-radius: 0;
+ font-size: 14px;
min-height: 0;
+ font-family: "BerkeleyMono Nerd Font", "Berkeley Mono", monospace;
}
window#waybar {
- background-color: #222222;
- color: #bbbbbb;
+ background: transparent;
}
-#workspaces button {
- padding: 0 8px;
- color: #bbbbbb;
- background-color: transparent;
+#workspaces {
+ padding: 0.2rem;
}
-#workspaces button:hover {
- background-color: #444444;
+#workspaces button {
+ padding: 0.5rem;
+ margin: 0.2rem;
+ background-color: transparent;
+ color: #969385;
+ border-radius: 1rem;
+ transition: all 0.3s ease;
}
#workspaces button.active {
- color: #eeeeee;
- background-color: #daa520;
+ background: #d7af5f;
+ color: #151311;
+ border-radius: 1rem;
}
#workspaces button.urgent {
- background-color: #900000;
+ background-color: rgba(212, 124, 89, 0.4);
}
-#window {
- color: #bbbbbb;
- padding: 0 10px;
+.modules-right, .modules-left {
+ background-color: #151311;
+ border-radius: 1rem;
+ padding: 0.2rem 0.6rem;
+ margin: 0.3rem;
+ border: 0.095rem solid #d7af5f;
+ box-shadow: 0rem 0.2rem 0.4rem rgba(0,0,0,0.5);
}
-#clock,
-#battery,
+#cpu,
+#temperature,
+#memory,
#disk,
-#tray {
- padding: 0 10px;
- color: #bbbbbb;
+#custom-netspeed,
+#battery,
+#wireplumber,
+#tray,
+#clock,
+#custom-layout,
+#window {
+ padding: 0.4rem;
+ margin: 0.3rem;
+ color: #969385;
+ background-color: transparent;
+ border-radius: 1rem;
+}
+
+#sysmonitor {
+ margin: 0.3rem;
+ background-color: transparent;
+ border-radius: 1rem;
+}
+
+#cpu:hover,
+#temperature:hover,
+#memory:hover,
+#disk:hover,
+#custom-netspeed:hover,
+#wireplumber:hover,
+#sysmonitor:hover,
+#custom-layout:hover {
+ background-color: #474544;
+ border-radius: 1rem;
+}
+
+#clock {
+ color: #f0fef0;
+}
+
+#wireplumber {
+ color: #969385;
}
-#battery.charging {
- color: #daa520;
+#wireplumber.muted {
+ color: #58574e;
}
-#battery.warning:not(.charging) {
- color: #f0ad4e;
+#battery.warning {
+ color: #d7af5f;
}
-#battery.critical:not(.charging) {
- color: #d9534f;
+#battery.critical {
+ color: #d47c59;
}
#tray > .passive {
@@ -64,5 +107,5 @@ window#waybar {
#tray > .needs-attention {
-gtk-icon-effect: highlight;
- background-color: #daa520;
+ background-color: #d7af5f;
}