diff options
author | Timo Wilken | 2022-12-11 13:57:15 +0100 |
---|---|---|
committer | Timo Wilken | 2022-12-11 13:59:29 +0100 |
commit | 1e4225af95be8b1871a4b60c54a4e805499de887 (patch) | |
tree | acae9cadf7fe48359dc4e30527bfe88066e6662e /sessionmenu | |
parent | 31357da6b9ed2a44ce9bab79b1497ada0e799339 (diff) |
Rewrite sessionmenu in Guile
Diffstat (limited to 'sessionmenu')
-rwxr-xr-x | sessionmenu | 38 |
1 files changed, 23 insertions, 15 deletions
diff --git a/sessionmenu b/sessionmenu index 01f961e2..be14e6e1 100755 --- a/sessionmenu +++ b/sessionmenu @@ -1,15 +1,23 @@ -#!/bin/sh -e -case $1 in - quit) exit 0 ;; - 'Reload i3 configuration') i3-msg reload >&2 ;; - 'Log out') i3-msg exit >&2 ;; - 'Shutdown') sudo -n /run/current-system/profile/sbin/shutdown >&2 ;; - 'Reboot') sudo -n /run/current-system/profile/sbin/reboot >&2 ;; - *) - printf '\0%s\x1f%s\n' prompt 'Session' - printf '%s\0icon\x1f%s\n' \ - 'Reload i3 configuration' reload \ - 'Log out' system-log-out \ - 'Shutdown' system-shutdown \ - 'Reboot' system-reboot ;; -esac +#!/usr/bin/env -S guile --no-auto-compile +!# +(use-modules (ice-9 format) + (ice-9 match)) + +(match (command-line) + ((_ "quit") + (exit 0)) + ((_ "Reload i3 configuration") + (system* "i3-msg" "reload")) + ((_ "Log out") + (system* "i3-msg" "exit")) + ((_ "Shutdown") + (system* "sudo" "-n" "/run/current-system/profile/sbin/shutdown")) + ((_ "Reboot") + (system* "sudo" "-n" "/run/current-system/profile/sbin/reboot")) + (_ + (format #t "\0~a\x1f~a~%~{~a\0icon\x1f~a~%~}" + "prompt" "Session" + '("Reload i3 configuration" "reload" + "Log out" "system-log-out" + "Shutdown" "system-shutdown" + "Reboot" "system-reboot")))) |