nix-configs/other/scripts/desktop/desktopctl.nix
2023-04-23 22:49:20 +02:00

38 lines
1.3 KiB
Nix

{ pkgs, ... }:
pkgs.writeShellScriptBin "desktopctl" ''
run() {
case $@ in
"Lock Screen")
nohup sh -c "i3lock-fancy" > /dev/null &
exit 0
;;
"Log Out")
pkill xmonad
exit 0
;;
"Shut Down")
shutdown now
exit 0
;;
"Reboot")
systemctl reboot
exit 0
;;
esac
# resizes grid
echo -en "\0theme\x1flistview,inputbar,message{columns:4;lines:1;}\n"
# resizes window, moves it to top of screen, adjusts rounded corners
echo -en "\0theme\x1fwindow{width:800px;location:north;y-offset:24px;border-radius:0 0 12px 12px;}\n"
# swaps grid and input bar
echo -en "\0theme\x1fmainbox{children:[listview,inputbar];}\n"
# fixes brown line below input bar
echo -en "\0theme\x1finputbar{margin:0;}\n"
echo -en "Lock Screen\0icon\x1f${../../../other/assets/desktopctl/lock-screen.svg}\n"
echo -en "Log Out\0icon\x1f${../../../other/assets/desktopctl/logout.svg}\n"
echo -en "Shut Down\0icon\x1f${../../../other/assets/desktopctl/shutdown.svg}\n"
echo -en "Reboot\0icon\x1f${../../../other/assets/desktopctl/reboot.svg}\n"
}
rofi -show "desktopctl" -modes "desktopctl:run"
''