Highlight active vpns in the rofi menu
This commit is contained in:
@ -1,8 +1,18 @@
|
|||||||
#!/usr/bin/env fish
|
#!/usr/bin/env fish
|
||||||
|
|
||||||
# User chooses VPN server
|
# User chooses VPN server, running servers are marked in green
|
||||||
set SERVERS (cat ~/NixFlake/config/rofi/menus/servers.txt) # TODO: This file should probably be generated by nix?
|
set SERVERS (cat ~/NixFlake/config/rofi/menus/servers.txt) # TODO: This file should probably be generated by nix?
|
||||||
set SERVER (echo -e (string join "\n" $SERVERS) | rofi -theme ~/NixFlake/config/rofi/rofi.rasi -dmenu -p "vpn" -i)
|
set PROMPT ""
|
||||||
|
for SERVER in $SERVERS
|
||||||
|
set SERVER_RUNNING "$(systemctl list-units wg0-$SERVER.service | grep wg0-$SERVER.service)"
|
||||||
|
if test -z $SERVER_RUNNING
|
||||||
|
set PROMPT $PROMPT$SERVER"\n"
|
||||||
|
else
|
||||||
|
set PROMPT $PROMPT"<span foreground=\"green\">$SERVER</span>\n"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
set SERVER (echo -e $PROMPT | rofi -theme ~/NixFlake/config/rofi/rofi.rasi -dmenu -p "vpn" -i -markup-rows)
|
||||||
|
set SERVER (echo -e $SERVER | sd "<.*?>" "")
|
||||||
if not contains $SERVER $SERVERS
|
if not contains $SERVER $SERVERS
|
||||||
exit
|
exit
|
||||||
end
|
end
|
||||||
@ -23,5 +33,5 @@ if test $ACTION = "status" && test -n "$EVAL_RESULT"
|
|||||||
rofi -theme ~/NixFlake/config/rofi/rofi.rasi -e "$EVAL_RESULT"
|
rofi -theme ~/NixFlake/config/rofi/rofi.rasi -e "$EVAL_RESULT"
|
||||||
else if test $ACTION = "start"
|
else if test $ACTION = "start"
|
||||||
# Launch chromium in firejail
|
# Launch chromium in firejail
|
||||||
firejail --noprofile --netns=vpn chromium --incognito ipaddress.my &>/dev/null
|
firejail --noprofile --private --netns="wg0-$SERVER" chromium --incognito --new-window ipaddress.my &>/dev/null
|
||||||
end
|
end
|
||||||
|
Reference in New Issue
Block a user