summaryrefslogtreecommitdiffstats
path: root/.local/bin/rofi-remmina
blob: 153a5a602a9dcdcb38b64a5a5f48afad1b9ae2c1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/usr/bin/env python2

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()