rofi consul menu
This commit is contained in:
@ -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
28
.config/rofi/scripts/services
Executable 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)
|
Reference in New Issue
Block a user