summaryrefslogtreecommitdiff
path: root/dotfiles/hyprland
diff options
context:
space:
mode:
Diffstat (limited to 'dotfiles/hyprland')
-rw-r--r--dotfiles/hyprland/.config/hypr/hyprland.conf4
-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
5 files changed, 185 insertions, 2 deletions
diff --git a/dotfiles/hyprland/.config/hypr/hyprland.conf b/dotfiles/hyprland/.config/hypr/hyprland.conf
index 13fa7f2..4a94ad1 100644
--- a/dotfiles/hyprland/.config/hypr/hyprland.conf
+++ b/dotfiles/hyprland/.config/hypr/hyprland.conf
@@ -303,8 +303,8 @@ 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
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