From dab6b69b1c4a8be1f08d43e5ad6d4152f68310df Mon Sep 17 00:00:00 2001 From: Amin Bandali Date: Fri, 16 Nov 2018 23:29:42 -0500 Subject: [PATCH] [rc] add rofi-remmina.py script for launching remmina connections MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit i *hate* that the remmina gtk gui doesn’t let me just type a few characters of the connection name and press enter. --- rc.org | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/rc.org b/rc.org index 336337f..097e265 100644 --- 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 @@ -5585,6 +5587,36 @@ 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); +rofi = Popen(["rofi", "-i", "-dmenu", "-l", str(lines), "-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" -- 2.20.1