summaryrefslogtreecommitdiff
path: root/dotfiles/hyprland
diff options
context:
space:
mode:
Diffstat (limited to 'dotfiles/hyprland')
-rw-r--r--dotfiles/hyprland/.config/foot/foot.ini2
-rw-r--r--dotfiles/hyprland/.config/fuzzel/fuzzel.ini3
-rw-r--r--dotfiles/hyprland/.config/hypr/hyprland.conf18
-rw-r--r--dotfiles/hyprland/.config/themes/dupre/Xresources5
-rw-r--r--dotfiles/hyprland/.config/themes/dupre/dunstrc4
-rw-r--r--dotfiles/hyprland/.config/themes/dupre/foot.ini2
-rw-r--r--dotfiles/hyprland/.config/themes/dupre/fuzzel.ini3
-rw-r--r--dotfiles/hyprland/.config/themes/dupre/waybar.css1
-rw-r--r--dotfiles/hyprland/.config/themes/hudson/Xresources5
-rw-r--r--dotfiles/hyprland/.config/themes/hudson/dunstrc4
-rw-r--r--dotfiles/hyprland/.config/themes/hudson/foot.ini2
-rw-r--r--dotfiles/hyprland/.config/themes/hudson/fuzzel.ini3
-rw-r--r--dotfiles/hyprland/.config/themes/hudson/waybar.css1
-rw-r--r--dotfiles/hyprland/.config/waybar/config11
-rw-r--r--dotfiles/hyprland/.config/waybar/style.css6
-rw-r--r--dotfiles/hyprland/.config/wlogout/layout36
-rw-r--r--dotfiles/hyprland/.config/wlogout/style.css37
-rw-r--r--dotfiles/hyprland/.config/wofi/power-menu.css65
-rwxr-xr-xdotfiles/hyprland/.local/bin/power-menu45
-rwxr-xr-xdotfiles/hyprland/.local/bin/set-theme19
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 &