rofi consul menu

This commit is contained in:
2020-02-17 18:57:34 +01:00
parent 93edf69d60
commit bcb5f9fb4d
4 changed files with 35 additions and 1 deletions

View File

@ -27,6 +27,8 @@ bindsym $mod+Shift+q kill
# start dmenu (a program launcher)
bindsym $mod+d exec --no-startup-id rofi -show drun -theme themes/app-launcher
bindsym $mod+i exec --no-startup-id rofi -show window -theme themes/app-launcher
bindsym $mod+s exec --no-startup-id rofi -show consul -modi consul:~/.config/rofi/scripts/services -theme themes/app-launcher
bindsym $mod+c exec --no-startup-id rofi -show ssh -theme themes/app-launcher
set $workspacer ~/.config/i3/i3-workspacer.py

28
.config/rofi/scripts/services Executable file
View File

@ -0,0 +1,28 @@
#!/usr/bin/env python3
import re
import consul
import docker
import sys
import subprocess
running = {}
c = consul.Consul()
client = docker.from_env()
for services in c.catalog.services():
for service in services:
idx, details = c.catalog.service(service)
if len(details) == 0:
continue
for item in details:
link = item['ServiceName']+".service."+item['Datacenter']+".consul:"+str(item['ServicePort'])
print("http://"+link)
if sys.argv[1]:
subprocess.Popen(['xdg-open', sys.argv[1]])
sys.exit(1)