From 1357d202751ca32ce39ce22e878c2b230709206a Mon Sep 17 00:00:00 2001
From: coolneng <akasroua@gmail.com>
Date: Fri, 28 May 2021 03:50:30 +0200
Subject: [PATCH] Replace tmuxp session mode with rofi selection

---
 scripts/.local/share/scripts/tmuxp-session | 25 ++++++++++++++++++++++
 sway/.config/sway/config                   | 16 ++------------
 2 files changed, 27 insertions(+), 14 deletions(-)
 create mode 100755 scripts/.local/share/scripts/tmuxp-session

diff --git a/scripts/.local/share/scripts/tmuxp-session b/scripts/.local/share/scripts/tmuxp-session
new file mode 100755
index 0000000..574708e
--- /dev/null
+++ b/scripts/.local/share/scripts/tmuxp-session
@@ -0,0 +1,25 @@
+#!/usr/bin/env bash
+
+select_action() {
+	action_content=(
+		"zion"
+		"unit"
+		"aegis"
+	)
+	action=$(printf '%s\n' "${action_content[@]}" | rofi -no-auto-select -i "$@" -dmenu -p "Choose a session")
+	execute_action "$action"
+}
+
+launch_session() {
+	bash -c "tmuxp load ~/.tmuxp/$1.yaml"
+}
+
+execute_action() {
+	case "$1" in
+	"zion") launch_session "zion" ;;
+	"unit") launch_session "unit" ;;
+	"aegis") launch_session "aegis" ;;
+	esac
+}
+
+select_action "$@"
diff --git a/sway/.config/sway/config b/sway/.config/sway/config
index e28b446..7e57531 100644
--- a/sway/.config/sway/config
+++ b/sway/.config/sway/config
@@ -283,6 +283,8 @@ bindsym Shift+Print exec slurp | grim -g - - | wl-copy
 bindsym $mod+f exec ~/.local/share/scripts/finder
 # temporary popup window selection
 bindsym $mod+p exec ~/.local/share/scripts/popup-window
+# tmuxp session menu
+bindsym $mod+Shift+s exec ~/.local/share/scripts/tmuxp-session
 # power menu
 bindsym $mod+Shift+p mode "$Pause-break"
 
@@ -309,20 +311,6 @@ mode "$Theme-switch" {
     bindsym Escape  mode "default"
 }
 
-# tmuxp session menu
-bindsym $mod+Shift+s mode "$tmuxp-session"
-
-set $tmuxp-session (z) zion, (u) unit
-
-mode "$tmuxp-session" {
-    bindsym z exec --no-startup-id  tmuxp load ~/.tmuxp/zion.yaml, mode "default"
-    bindsym u exec --no-startup-id  tmuxp load ~/.tmuxp/unit.yaml, mode "default"
-    bindsym a exec --no-startup-id  tmuxp load ~/.tmuxp/aegis.yaml, mode "default"
-
-    bindsym Return  mode "default"
-    bindsym Escape  mode "default"
-}
-
 # lock screen on suspend
 set $lock_bg ~/Photos/Wallpapers/wallhaven-638719.png
 exec swayidle -w \