From c2076f37aba574871d266fae3531e0dbec7bae0c Mon Sep 17 00:00:00 2001
From: Joe <rbo@gmx.us>
Date: Sun, 2 Mar 2025 00:59:06 +0100
Subject: way

---
 .local/bin/dmlog | 34 ++++++++++++++++++++++++++++++----
 1 file changed, 30 insertions(+), 4 deletions(-)

(limited to '.local/bin/dmlog')

diff --git a/.local/bin/dmlog b/.local/bin/dmlog
index 756d9b9..d209ee5 100755
--- a/.local/bin/dmlog
+++ b/.local/bin/dmlog
@@ -36,8 +36,13 @@ sub confirm
 	for (@{+CONFIRM}) {
 		$list .= $_ . "\n";
 	}
+
+	my $menu = "dmenu -sb '$color' -shb '$color'";
+	if (defined $ENV{WAYLAND_DISPLAY}) {
+		$menu = "wmenu -S '$color'";
+	}
 	$choice = `printf "%s" "$list" | \
-	dmenu -i -p "$var?" -sb '$color' -shb '$color'`;
+	$menu -i -p "$var?"`;
 	chomp $choice;
 	if ($choice eq ${+CONFIRM}[1]) {
 		return (1);
@@ -52,12 +57,28 @@ sub action
 
 	chomp $var;
 	if ($var eq ${+LIST}[0]) {
-		exec(XSCREENSAVER_PATH, '-lock');
+		if (defined $ENV{WAYLAND_DISPLAY}) {
+			exec("waylock",
+				"-init-color", "0x1d2021",
+				"-input-color", "0xd79921",
+				"-fail-color", "0xcc241d");
+		}
+		else {
+			exec(XSCREENSAVER_PATH, '-lock');
+		}
 	}
 	elsif ($var eq ${+LIST}[1]) {
 		$pid = fork();
 		if (not $pid) {
-			exec(XSCREENSAVER_PATH, '-lock');
+			if (defined $ENV{WAYLAND_DISPLAY}) {
+				exec("waylock",
+					"-init-color", "0x1d2021",
+					"-input-color", "0xd79921",
+					"-fail-color", "0xcc241d");
+			}
+			else {
+				exec(XSCREENSAVER_PATH, '-lock');
+			}
 		}
 		else {
 			system(
@@ -138,7 +159,12 @@ sub main
 	for (@{+LIST}) {
 		$list .= $_ . "\n";
 	}
-	$choice = `printf "%s" "$list" | dmenu -i -sb '$color' -shb '$color'`;
+
+	my $menu = "dmenu -sb '$color' -shb '$color'";
+	if (defined $ENV{WAYLAND_DISPLAY}) {
+		$menu = "wmenu -S '$color'";
+	}
+	$choice = `printf "%s" "$list" | $menu -i`;
 	action($choice, $color);
 	return (0);
 }
-- 
cgit v1.2.3