#!/bin/sh # A dmenu wrapper script for system functions. export WM=$XDG_CURRENT_DESKTOP case "$(readlink -f /sbin/init)" in *systemd*) ctl='systemctl' ;; *) ctl='loginctl' ;; esac case "$(printf "šŸ”’ lock\n🚪 leave $WM\nā™»ļø renew\n🐻 hibernate\nšŸ”ƒ reboot\nšŸ–„ļø shutdown\nšŸ’¤ sleep\nšŸ“ŗ display off\n set background\nļŽ start idle\nļŽ kill swayidle\n fcitx5\n kill fcitx5" | dmenu -i -l 12 -p 'Action: ')" in 'šŸ”’ lock') setsid -f swaylock setsid -f sleep 2 && swayidle -w timeout 1 'wlopm --off "*"' resume 'wlopm --on "*" && kill $#' ;; "🚪 leave $WM") swaymsg exit ;; "ā™»ļø renew") swaymsg reload ;; '🐻 hibernate') $ctl hibernate -i ;; 'šŸ’¤ sleep') $ctl suspend -i ;; 'šŸ”ƒ reboot') $ctl reboot -i ;; 'šŸ–„ļø shutdown') $ctl poweroff -i ;; 'šŸ“ŗ display off') swayidle -w timeout 1 'wlopm --off "*"' resume 'wlopm --on "*" && kill $#' ;; ' set background') change-background ;; 'ļŽ start idle') idle ;; 'ļŽ kill swayidle') killall swayidle ;; ' fcitx5') fcitx5 ;; ' kill fcitx5') killall fcitx5 ;; *) exit 1 ;; esac