瀏覽代碼

Added the connect-screen script

Samuel W. Flint 7 年之前
父節點
當前提交
0c96b3f7f6
共有 1 個文件被更改,包括 46 次插入0 次删除
  1. 46 0
      connect-screen

+ 46 - 0
connect-screen

@@ -0,0 +1,46 @@
+#!/bin/zsh -f
+
+if [[ $# -eq 0 ]] ; then
+    echo "connect-screen [ screen-instance [ -x ] | list | dmenu ]"
+    exit
+fi
+
+function open-screen {
+    screen -r $1
+}
+
+function open-screen-x {
+    xterm -e "screen -r $1"
+}
+
+function list-screen-sessions {
+    screen -list | sed '$ d' | sed 1d | awk '{print $1}'
+}
+
+function with-external-completion {
+    if [[ -e `which rofi` ]] ; then
+        SCREEN=`list-screen-sessions | rofi -dmenu -p "screen session:"`
+        [[ $SCREEN != "" ]] && open-screen-x $SCREEN
+    else
+        SCREEN=`list-screen-sessions | dmenu -p "screen session:"`
+        [[ $SCREEN != "" ]] && open-screen-x $SCREEN
+    fi
+}
+
+SCREEN=$1
+shift
+
+case ${SCREEN} in
+    list)
+        list-screen-sessions
+        ;;
+    dmenu)
+        with-external-completion
+        ;;
+    *)
+        if [[ $1 == "-x" ]] ; then
+            open-screen-x $SCREEN
+        else
+            open-screen $SCREEN
+        fi
+esac