aboutsummaryrefslogtreecommitdiff
path: root/config/ratpoison/workspace_menu
diff options
context:
space:
mode:
Diffstat (limited to 'config/ratpoison/workspace_menu')
-rwxr-xr-xconfig/ratpoison/workspace_menu24
1 files changed, 24 insertions, 0 deletions
diff --git a/config/ratpoison/workspace_menu b/config/ratpoison/workspace_menu
new file mode 100755
index 0000000..38ef9fc
--- /dev/null
+++ b/config/ratpoison/workspace_menu
@@ -0,0 +1,24 @@
+#!/usr/bin/env bash
+
+# Lets you switch between all workspaces in a way that minimizes keystrokes.
+# The current workspace is selected.
+
+# Yes, bash is really necessary, because it's version of printf makes this
+# script possible. Regular bourne shell printf does NOT.
+
+workspace_command="/usr/bin/rpws"
+ratmenu="~/.config/ratpoison/ratmenu"
+
+( printf "$ratmenu -style dreary -fg \"$COLOR11\" -bg \"$COLOR0\" -io $[ $($workspace_command current) + 1 ]";
+ ratpoison -c "groups" | while read s; do
+ n=$(echo $s | sed 's/\([0-9]\+\).*/\1/');
+# w=$(echo $s | sed 's/[0-9]\+.\(.*\)/\1/');
+ w=$(ratpoison -c "gselect $(($n-1))" -c "windows %t" -c "gprev")
+ a=$(printf "%3q %q" $n $w); b="$workspace_command $n";
+ if [ $n -ne 0 ];then
+ printf " %q %q" "$a" "$b";
+ else
+ printf " %q %q" "Go to workspace:" "/bin/true";
+ fi
+ done; echo \;) | sh
+