[emacs] update 7 drones
[~bandali/configs] / rc.org
diff --git a/rc.org b/rc.org
index 336337f..7561980 100644 (file)
--- a/rc.org
+++ b/rc.org
@@ -3896,6 +3896,8 @@ exec swayidle \
     bindsym XF86AudioMute exec pamixer --toggle-mute
     bindsym XF86AudioMicMute exec pactl set-source-mute 1 toggle
 
+    bindsym $mod+Shift+apostrophe exec rofi-remmina.py # choose remmina connection
+
     # original sway workspace switch and window move
     bindsym $mod+bracketleft workspace prev
     bindsym $mod+bracketright workspace next
@@ -5443,7 +5445,7 @@ alias mv="mv -iv"
 alias cp="cp -iv"
 alias scl=systemctl
 alias jcl=journalctl
-alias m="mbsync -a"
+alias m="mbsync uwaterloo; mbsync amin"
 alias best="youtube-dl -f best"
 alias sd="ssh deb"
 alias sf="ssh fp"
@@ -5585,6 +5587,43 @@ val=$(rofi -dmenu -mesg "light    $cur" -p "light -S " -l 0 -width 12)
 [ -n "$val" ] && light -S $val
 #+end_src
 
+** rofi-remmina.py
+:PROPERTIES:
+:header-args+: :tangle ~/.local/bin/rofi-remmina.py :shebang "#!/usr/bin/env python2"
+:END:
+
+#+begin_src python
+import ConfigParser
+import os
+from subprocess import Popen, PIPE
+
+remmina_dir = os.path.expanduser("~/.local/share/remmina")
+
+fdict = dict()
+
+for f in os.listdir(remmina_dir):
+    fp = os.path.join(remmina_dir, f)
+    c = ConfigParser.ConfigParser()
+    c.read(fp)
+    n = c.get('remmina', 'name')
+    fdict[n] = fp
+
+lines = max(min(15, len(fdict)), 1);
+width = len(max(fdict.keys(), key=len))
+rofi = Popen(["rofi", "-i", "-dmenu", \
+              "-l", str(lines), "-width", str(width), \
+              "-p", "connection"], stdout=PIPE, stdin=PIPE)
+selected = rofi.communicate("\n" \
+                            .join(fdict.keys()) \
+                            .encode("utf-8"))[0] \
+               .decode("utf-8") \
+               .strip()
+rofi.wait()
+
+r = Popen(["remmina", "-c", fdict[selected]])
+r.wait()
+#+end_src
+
 ** s (run sway)
 :PROPERTIES:
 :header-args+: :tangle ~/.local/bin/s :shebang "#!/bin/bash"