diff options
Diffstat (limited to 'dotfiles/hyprland')
20 files changed, 248 insertions, 24 deletions
diff --git a/dotfiles/hyprland/.config/foot/foot.ini b/dotfiles/hyprland/.config/foot/foot.ini index 8837f92..8fe19b3 100644 --- a/dotfiles/hyprland/.config/foot/foot.ini +++ b/dotfiles/hyprland/.config/foot/foot.ini @@ -3,7 +3,7 @@ [main] term=xterm-256color -font=Berkeley Mono:size=14 +font=BerkeleyMono Nerd Font:size=13 pad=8x8 [scrollback] diff --git a/dotfiles/hyprland/.config/fuzzel/fuzzel.ini b/dotfiles/hyprland/.config/fuzzel/fuzzel.ini index ce46448..0efda0d 100644 --- a/dotfiles/hyprland/.config/fuzzel/fuzzel.ini +++ b/dotfiles/hyprland/.config/fuzzel/fuzzel.ini @@ -2,7 +2,8 @@ # Colors from waybar: bg=#222222, cpu=#bbbbbb, clock=#eeeeee, accent=#daa520 [main] -font=BerkeleyMono Nerd Font:size=14 +# size is in points (fontconfig syntax) +font=BerkeleyMono Nerd Font:size=13 prompt=Search: icon-theme=hicolor icons-enabled=yes diff --git a/dotfiles/hyprland/.config/hypr/hyprland.conf b/dotfiles/hyprland/.config/hypr/hyprland.conf index a63a535..0e582d3 100644 --- a/dotfiles/hyprland/.config/hypr/hyprland.conf +++ b/dotfiles/hyprland/.config/hypr/hyprland.conf @@ -12,7 +12,7 @@ monitor=,preferred,auto,auto # ============================================================================ exec-once = hyprpm reload exec-once = waybar -exec-once = swww-daemon && sleep 1 && swww img ~/pictures/wallpaper/dark-lion.jpg +exec-once = swww-daemon && sleep 1 && swww img ~/pictures/wallpaper/trondheim-norway.jpg exec-once = dunst exec-once = hypridle exec-once = gammastep @@ -278,7 +278,7 @@ 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 +bind = $mod, C, exec, hyprpicker -a # Media/hardware keys bindel = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +5% @@ -293,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 @@ -306,10 +303,11 @@ bind = $mod, ESCAPE, exec, hyprlock # Touchpad toggle bind = $mod, F9, exec, toggle-touchpad -# Exit/session (from DWM) -bind = $mod SHIFT, Q, exec, printf "Exit\nCancel" | fuzzel --dmenu --prompt "Exit Hyprland? " | grep -q "Exit" && hyprctl dispatch exit +# Exit/session +bind = $mod SHIFT, Q, exec, pgrep -x wlogout || wlogout -b 3 -T 600 -B 600 -L 1200 -R 1200 -c 20 -r 20 bind = $mod SHIFT, BACKSPACE, exit bind = $mod SHIFT, ESCAPE, exec, hyprctl reload +bind = CTRL ALT $mod, K, exec, hyprctl kill # Mouse bindings (from DWM buttons) bindm = $mod, mouse:272, movewindow diff --git a/dotfiles/hyprland/.config/themes/dupre/Xresources b/dotfiles/hyprland/.config/themes/dupre/Xresources index d149a72..be8f7f4 100644 --- a/dotfiles/hyprland/.config/themes/dupre/Xresources +++ b/dotfiles/hyprland/.config/themes/dupre/Xresources @@ -62,7 +62,8 @@ Emacs*toolBar: 0 !! ============================================================================ !! ST (suckless terminal) settings -st.font: BerkeleyMono Nerd Font:size=12 +!! size is in points (fontconfig syntax) +st.font: BerkeleyMono Nerd Font:size=13 st.background: theme_bg st.foreground: theme_fg st.color0: theme_black @@ -83,7 +84,7 @@ st.color14: theme_br_cyan st.color15: theme_br_white !! XTerm settings -XTerm*faceName: BerkeleyMono Nerd Font:size=12 +XTerm*faceName: BerkeleyMono Nerd Font:size=13 XTerm*selectToClipboard: true XTerm*background: theme_bg XTerm*foreground: theme_fg diff --git a/dotfiles/hyprland/.config/themes/dupre/dunstrc b/dotfiles/hyprland/.config/themes/dupre/dunstrc index 104df28..12ffac0 100644 --- a/dotfiles/hyprland/.config/themes/dupre/dunstrc +++ b/dotfiles/hyprland/.config/themes/dupre/dunstrc @@ -26,8 +26,8 @@ foreground = "#f0fef0" frame_color = "#d7af5f" highlight = "#d7af5f, #ccc768" -# Text -font = BerkeleyMono Nerd Font 11 +# Text (size in points, Pango syntax) +font = BerkeleyMono Nerd Font 13 markup = full format = "<small>%a</small>\n<b>%s</b>\n%b" alignment = left diff --git a/dotfiles/hyprland/.config/themes/dupre/foot.ini b/dotfiles/hyprland/.config/themes/dupre/foot.ini index 8837f92..8fe19b3 100644 --- a/dotfiles/hyprland/.config/themes/dupre/foot.ini +++ b/dotfiles/hyprland/.config/themes/dupre/foot.ini @@ -3,7 +3,7 @@ [main] term=xterm-256color -font=Berkeley Mono:size=14 +font=BerkeleyMono Nerd Font:size=13 pad=8x8 [scrollback] diff --git a/dotfiles/hyprland/.config/themes/dupre/fuzzel.ini b/dotfiles/hyprland/.config/themes/dupre/fuzzel.ini index 64711b8..f00ac8a 100644 --- a/dotfiles/hyprland/.config/themes/dupre/fuzzel.ini +++ b/dotfiles/hyprland/.config/themes/dupre/fuzzel.ini @@ -2,7 +2,8 @@ # Warm, earthy colors from dupre-theme.el [main] -font=BerkeleyMono Nerd Font:size=14 +# size is in points (fontconfig syntax) +font=BerkeleyMono Nerd Font:size=13 prompt=Search: icon-theme=hicolor icons-enabled=yes diff --git a/dotfiles/hyprland/.config/themes/dupre/waybar.css b/dotfiles/hyprland/.config/themes/dupre/waybar.css index 4bd0052..e83f851 100644 --- a/dotfiles/hyprland/.config/themes/dupre/waybar.css +++ b/dotfiles/hyprland/.config/themes/dupre/waybar.css @@ -4,6 +4,7 @@ * { border: none; border-radius: 0; + /* CSS uses pixels, not points (13pt ≈ 17px at 96 DPI) */ font-size: 14px; min-height: 0; font-family: "BerkeleyMono Nerd Font", "Berkeley Mono", monospace; diff --git a/dotfiles/hyprland/.config/themes/hudson/Xresources b/dotfiles/hyprland/.config/themes/hudson/Xresources index 00be166..96e4803 100644 --- a/dotfiles/hyprland/.config/themes/hudson/Xresources +++ b/dotfiles/hyprland/.config/themes/hudson/Xresources @@ -62,7 +62,8 @@ Emacs*toolBar: 0 !! ============================================================================ !! ST (suckless terminal) settings -st.font: BerkeleyMono Nerd Font:size=12 +!! size is in points (fontconfig syntax) +st.font: BerkeleyMono Nerd Font:size=13 st.background: theme_bg st.foreground: theme_fg st.color0: theme_black @@ -83,7 +84,7 @@ st.color14: theme_br_cyan st.color15: theme_br_white !! XTerm settings -XTerm*faceName: BerkeleyMono Nerd Font:size=12 +XTerm*faceName: BerkeleyMono Nerd Font:size=13 XTerm*selectToClipboard: true XTerm*background: theme_bg XTerm*foreground: theme_fg diff --git a/dotfiles/hyprland/.config/themes/hudson/dunstrc b/dotfiles/hyprland/.config/themes/hudson/dunstrc index 0c84133..2cbf0e6 100644 --- a/dotfiles/hyprland/.config/themes/hudson/dunstrc +++ b/dotfiles/hyprland/.config/themes/hudson/dunstrc @@ -26,8 +26,8 @@ foreground = "#eeeeee" frame_color = "#daa520" highlight = "#daa520, #f0c674" -# Text -font = BerkeleyMono Nerd Font 11 +# Text (size in points, Pango syntax) +font = BerkeleyMono Nerd Font 13 markup = full format = "<small>%a</small>\n<b>%s</b>\n%b" alignment = left diff --git a/dotfiles/hyprland/.config/themes/hudson/foot.ini b/dotfiles/hyprland/.config/themes/hudson/foot.ini index 39dcc5e..4e9681c 100644 --- a/dotfiles/hyprland/.config/themes/hudson/foot.ini +++ b/dotfiles/hyprland/.config/themes/hudson/foot.ini @@ -3,7 +3,7 @@ [main] term=xterm-256color -font=Berkeley Mono:size=14 +font=BerkeleyMono Nerd Font:size=13 pad=8x8 [scrollback] diff --git a/dotfiles/hyprland/.config/themes/hudson/fuzzel.ini b/dotfiles/hyprland/.config/themes/hudson/fuzzel.ini index 975004c..39dabc0 100644 --- a/dotfiles/hyprland/.config/themes/hudson/fuzzel.ini +++ b/dotfiles/hyprland/.config/themes/hudson/fuzzel.ini @@ -2,7 +2,8 @@ # Tomorrow Night + Goldenrod accent [main] -font=BerkeleyMono Nerd Font:size=14 +# size is in points (fontconfig syntax) +font=BerkeleyMono Nerd Font:size=13 prompt=Search: icon-theme=hicolor icons-enabled=yes diff --git a/dotfiles/hyprland/.config/themes/hudson/waybar.css b/dotfiles/hyprland/.config/themes/hudson/waybar.css index f9d2e4f..9056529 100644 --- a/dotfiles/hyprland/.config/themes/hudson/waybar.css +++ b/dotfiles/hyprland/.config/themes/hudson/waybar.css @@ -4,6 +4,7 @@ * { border: none; border-radius: 0; + /* CSS uses pixels, not points (13pt ≈ 17px at 96 DPI) */ font-size: 14px; min-height: 0; font-family: "BerkeleyMono Nerd Font", "Berkeley Mono", monospace; diff --git a/dotfiles/hyprland/.config/waybar/config b/dotfiles/hyprland/.config/waybar/config index c7cc0a7..5b9879e 100644 --- a/dotfiles/hyprland/.config/waybar/config +++ b/dotfiles/hyprland/.config/waybar/config @@ -17,6 +17,7 @@ "group/sysmonitor", "custom/netspeed", "wireplumber", + "idle_inhibitor", "tray", "clock" ], @@ -122,5 +123,15 @@ "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%-" + }, + + "idle_inhibitor": { + "format": "<span size='large'>{icon}</span>", + "format-icons": { + "activated": "", + "deactivated": "" + }, + "tooltip-format-activated": "Idle inhibitor: ON (screen will not lock)", + "tooltip-format-deactivated": "Idle inhibitor: OFF" } } diff --git a/dotfiles/hyprland/.config/waybar/style.css b/dotfiles/hyprland/.config/waybar/style.css index 4bd0052..03b11b6 100644 --- a/dotfiles/hyprland/.config/waybar/style.css +++ b/dotfiles/hyprland/.config/waybar/style.css @@ -4,6 +4,7 @@ * { border: none; border-radius: 0; + /* CSS uses pixels, not points (13pt ≈ 17px at 96 DPI) */ font-size: 14px; min-height: 0; font-family: "BerkeleyMono Nerd Font", "Berkeley Mono", monospace; @@ -52,6 +53,7 @@ window#waybar { #custom-netspeed, #battery, #wireplumber, +#idle_inhibitor, #tray, #clock, #custom-layout, @@ -63,6 +65,10 @@ window#waybar { border-radius: 1rem; } +#idle_inhibitor { + margin-right: 0.8rem; +} + #sysmonitor { margin: 0.3rem; background-color: transparent; diff --git a/dotfiles/hyprland/.config/wlogout/layout b/dotfiles/hyprland/.config/wlogout/layout new file mode 100644 index 0000000..878e75d --- /dev/null +++ b/dotfiles/hyprland/.config/wlogout/layout @@ -0,0 +1,36 @@ +{ + "label" : "lock", + "action" : "hyprlock", + "text" : "", + "keybind" : "l" +} +{ + "label" : "logout", + "action" : "hyprctl dispatch exit", + "text" : "", + "keybind" : "e" +} +{ + "label" : "suspend", + "action" : "systemctl suspend", + "text" : "", + "keybind" : "u" +} +{ + "label" : "hibernate", + "action" : "systemctl hibernate", + "text" : "", + "keybind" : "h" +} +{ + "label" : "reboot", + "action" : "systemctl reboot", + "text" : "", + "keybind" : "r" +} +{ + "label" : "shutdown", + "action" : "systemctl poweroff", + "text" : "", + "keybind" : "s" +} diff --git a/dotfiles/hyprland/.config/wlogout/style.css b/dotfiles/hyprland/.config/wlogout/style.css new file mode 100644 index 0000000..658e3c9 --- /dev/null +++ b/dotfiles/hyprland/.config/wlogout/style.css @@ -0,0 +1,37 @@ +/* wlogout style - Dupre theme */ +/* Dupre palette: + bg: #151311, black: #252321, br_black: #474544, muted: #58574e + steel: #969385, white: #d0cbc0, fg: #f0fef0, gold: #d7af5f + red: #d47c59, green: #a4ac64, blue: #67809c, magenta: #b294bb +*/ + +* { + background-image: none; + box-shadow: none; + font-family: "BerkeleyMono Nerd Font", monospace; +} + +window { + background-color: rgba(21, 19, 17, 0.6); +} + +button { + border-radius: 10px; + border-color: #151311; + color: #969385; + background-color: #151311; + border-style: solid; + border-width: 2px; + font-size: 96px; +} + +button:hover, button:focus { + background-color: #151311; + border-color: #d7af5f; + color: #d7af5f; + outline-style: none; +} + +button:active { + background-color: #474544; +} diff --git a/dotfiles/hyprland/.config/wofi/power-menu.css b/dotfiles/hyprland/.config/wofi/power-menu.css new file mode 100644 index 0000000..a9dd9ba --- /dev/null +++ b/dotfiles/hyprland/.config/wofi/power-menu.css @@ -0,0 +1,65 @@ +/* Wofi power menu - Dupre theme */ +/* Dupre palette: + bg: #151311, black: #252321, br_black: #474544, muted: #58574e + steel: #969385, white: #d0cbc0, fg: #f0fef0, gold: #d7af5f +*/ + +* { + font-family: "BerkeleyMono Nerd Font", monospace; +} + +window { + margin: 0px; + border: 2px solid #67809c; + border-radius: 0px; + background-color: rgba(21, 19, 17, 0.9); +} + +#input { + margin: 0px; + padding: 0px; + border: none; + background-color: transparent; + color: transparent; + min-height: 0px; +} + +#inner-box { + margin: 15px; +} + +#outer-box { + margin: 0px; + padding: 0px; +} + +#scroll { + margin: 0px; +} + +#text { + padding: 15px; + color: #969385; + font-size: 32px; +} + +#entry box { + justify-content: center; + align-items: center; +} + +#entry { + border-radius: 0px; + background-color: #151311; + border: 2px solid #474544; + margin: 5px; +} + +#entry:selected { + background-color: #252321; + border-color: #67809c; +} + +#entry:selected #text { + color: #67809c; +} diff --git a/dotfiles/hyprland/.local/bin/power-menu b/dotfiles/hyprland/.local/bin/power-menu new file mode 100755 index 0000000..878a17b --- /dev/null +++ b/dotfiles/hyprland/.local/bin/power-menu @@ -0,0 +1,45 @@ +#!/bin/bash +# Power menu using wofi +# Dupre theme with Nerd Font icons + +options="\n\n\n\n\n" + +selected=$(echo -e "$options" | wofi --dmenu \ + --cache-file /dev/null \ + --prompt "" \ + --hide-scroll \ + --hide-search \ + --gtk-dark \ + --layer overlay \ + --width 700 \ + --height 700 \ + --columns 3 \ + --lines 2 \ + --style ~/.config/wofi/power-menu.css \ + --conf /dev/null) + +case "$selected" in + "") + hyprlock + ;; + "") + notify-send "Power Menu" "Logout disabled for testing" + # hyprctl dispatch exit + ;; + "") + notify-send "Power Menu" "Suspend disabled for testing" + # systemctl suspend + ;; + "") + notify-send "Power Menu" "Hibernate disabled for testing" + # systemctl hibernate + ;; + "") + notify-send "Power Menu" "Reboot disabled for testing" + # systemctl reboot + ;; + "") + notify-send "Power Menu" "Shutdown disabled for testing" + # systemctl poweroff + ;; +esac diff --git a/dotfiles/hyprland/.local/bin/set-theme b/dotfiles/hyprland/.local/bin/set-theme index 338aab9..e95b27b 100755 --- a/dotfiles/hyprland/.local/bin/set-theme +++ b/dotfiles/hyprland/.local/bin/set-theme @@ -50,18 +50,37 @@ apply_theme() { # Apply Hyprland colors directly via hyprctl case "$theme" in dupre) + # Window borders hyprctl keyword general:col.active_border "rgba(d7af5fff)" hyprctl keyword general:col.inactive_border "rgba(474544ff)" + # hy3 tab bar (monocle mode) + hyprctl keyword plugin:hy3:tabs:col.active "rgba(474544ff)" + hyprctl keyword plugin:hy3:tabs:col.active.text "rgba(969385ff)" + hyprctl keyword plugin:hy3:tabs:col.inactive "rgba(d0cbc0ff)" + hyprctl keyword plugin:hy3:tabs:col.inactive.text "rgba(d0cbc0ff)" + hyprctl keyword plugin:hy3:tabs:col.urgent "rgba(d47c59ff)" + hyprctl keyword plugin:hy3:tabs:col.locked "rgba(8a9496ff)" ;; hudson) + # Window borders hyprctl keyword general:col.active_border "rgba(daa520ff)" hyprctl keyword general:col.inactive_border "rgba(444444ff)" + # hy3 tab bar (monocle mode) + hyprctl keyword plugin:hy3:tabs:col.active "rgba(444444ff)" + hyprctl keyword plugin:hy3:tabs:col.active.text "rgba(bbbbbbff)" + hyprctl keyword plugin:hy3:tabs:col.inactive "rgba(c5c8c6ff)" + hyprctl keyword plugin:hy3:tabs:col.inactive.text "rgba(c5c8c6ff)" + hyprctl keyword plugin:hy3:tabs:col.urgent "rgba(cc6666ff)" + hyprctl keyword plugin:hy3:tabs:col.locked "rgba(8abeb7ff)" ;; esac # Save current theme echo "$theme" > "$CURRENT_FILE" + # Set default wallpaper + swww img ~/pictures/wallpaper/trondheim-norway.jpg 2>/dev/null + # Reload applications killall -SIGUSR2 waybar 2>/dev/null pkill dunst && dunst & |
