aboutsummaryrefslogtreecommitdiff
path: root/tools/workspace_menu
diff options
context:
space:
mode:
authorVasil Zlatanov <vasil.zlatanov@gmail.com>2015-04-12 13:05:47 +0200
committerVasil Zlatanov <vasil.zlatanov@gmail.com>2015-04-12 13:05:47 +0200
commit47a0a3f433f820fc78d180884f6ca376fba97b73 (patch)
tree587b80062ebdb947d26ca7a70e32b38b7d67ca45 /tools/workspace_menu
parent269e617fea39658233db38ad503030c4fe040e80 (diff)
downloaddotfiles-47a0a3f433f820fc78d180884f6ca376fba97b73.tar.gz
dotfiles-47a0a3f433f820fc78d180884f6ca376fba97b73.tar.bz2
dotfiles-47a0a3f433f820fc78d180884f6ca376fba97b73.zip
Tidy up everything :)
Diffstat (limited to 'tools/workspace_menu')
-rwxr-xr-xtools/workspace_menu24
1 files changed, 24 insertions, 0 deletions
diff --git a/tools/workspace_menu b/tools/workspace_menu
new file mode 100755
index 0000000..6fb6633
--- /dev/null
+++ b/tools/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="~/.tools/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
+