diff --git a/config/hyprland/hyprland.conf b/config/hyprland/hyprland.conf index 787db297..9f508d9d 100644 --- a/config/hyprland/hyprland.conf +++ b/config/hyprland/hyprland.conf @@ -35,7 +35,7 @@ wsbind = 10, HDMI-A-2 exec-once = dunst exec-once = hyprpaper exec-once = kdeconnect-indicator # TODO: Only shows sometimes? -exec-once = nextcloud --background +exec-once = nextcloud # --background exec-once = keepassxc # exec-once = md.obsidian.Obsidian # exec-once = firefox @@ -173,6 +173,7 @@ bind = $mainMod, A, exec, rofi -show drun -theme ~/NixFlake/config/rofi/rofi.ras bind = $mainMod, R, exec, rofi -show run -theme ~/NixFlake/config/rofi/rofi.rasi bind = $mainMod, B, exec, rofi -show filebrowser -theme ~/NixFlake/config/rofi/rofi.rasi bind = $mainMod, D, exec, ~/NixFlake/config/rofi/menus/systemd-podman.fish +bind = $mainMod, P, exec, ~/NixFlake/config/rofi/menus/power.fish # Launch apps bind = $mainMod, T, exec, kitty diff --git a/config/rofi/menus/power.fish b/config/rofi/menus/power.fish new file mode 100755 index 00000000..411f7ad5 --- /dev/null +++ b/config/rofi/menus/power.fish @@ -0,0 +1,24 @@ +#!/usr/bin/env fish + +# User chooses option +set OPTIONS "Poweroff" "Reboot" "Reload Hyprland" "Exit Hyprland" +set OPTION (echo -e (string join "\n" $OPTIONS) | rofi -theme ~/NixFlake/config/rofi/rofi.rasi -dmenu -p "power" -i) +if not contains $OPTION $OPTIONS + exit +end + +# Set command +if test "Poweroff" = $OPTION + set ACTION "poweroff" +else if test "Reboot" = $OPTION + set ACTION "reboot" +else if test "Reload Hyprland" = $OPTION + set ACTION "hyprctl reload" +else if test "Exit Hyprland" = $OPTION + set ACTION "hyprctl dispatch exit" +else + exit +end + +# Execute command +eval $ACTION \ No newline at end of file diff --git a/config/rofi/menus/systemd-podman.fish b/config/rofi/menus/systemd-podman.fish index ae6b22f3..e1e2fcf6 100755 --- a/config/rofi/menus/systemd-podman.fish +++ b/config/rofi/menus/systemd-podman.fish @@ -2,21 +2,21 @@ # User chooses service set SERVICES (cat ~/NixFlake/config/rofi/menus/containers.txt) # TODO: This file should probably be generated by nix? -set SERVICE (echo -e (string join "\n" $SERVICES) | rofi -theme ~/NixFlake/config/rofi/rofi.rasi -dmenu) +set SERVICE (echo -e (string join "\n" $SERVICES) | rofi -theme ~/NixFlake/config/rofi/rofi.rasi -dmenu -p "pod" -i) if not contains $SERVICE $SERVICES exit end # User chooses action -set OPS "start" "stop" "status" -set OP (echo -e (string join "\n" $OPS) | rofi -theme ~/NixFlake/config/rofi/rofi.rasi -dmenu) -if not contains $OP $OPS +set ACTIONS "start" "stop" "status" +set ACTION (echo -e (string join "\n" $ACTIONS) | rofi -theme ~/NixFlake/config/rofi/rofi.rasi -dmenu -p "action" -i) +if not contains $ACTION $ACTIONS exit end # Execute command -set COMMAND_ROOT "pkexec --user root systemctl $OP podman-$SERVICE.service" -set COMMAND_USER "systemctl $OP podman-$SERVICE.service" +set COMMAND_ROOT "pkexec --user root systemctl $ACTION podman-$SERVICE.service" +set COMMAND_USER "systemctl $ACTION podman-$SERVICE.service" set EVAL_RESULT "$(eval $COMMAND_USER)" # Display result if it exists