dotfiles/de/home/.config/eww/modules/bar/network.yuck
2026-01-03 14:45:02 -08:00

31 lines
1.4 KiB
Text

(defvar reveal_network false)
(defwidget network []
(revealer-on-hover
:class "${reveal_network} networks"
:revealvar reveal_network
:revealvar-name "reveal_network"
(button :onclick 'nm-connection-editor'
:tooltip "${jq(network_manager.interfaces, '.[] | "\\(.connection) (\\(.device)) \\n"', 'r')}"
:class "revealer-preview" ;${network_status.wifi || network_status.wired ? 'active' : 'inactive'}"
"󰇧")
(network_children :array "${network_manager.interfaces}")))
(defwidget network_children [array]
(box :class "reveal-children"
:orientation "h"
:space-evenly false
:halign "center"
(for interface in array
(button :onclick "nmcli device ${( interface.state == 'connected' ? 'down' : 'up' )} ${interface.device}"
:tooltip "${interface.connection} (${interface.device})"
{( interface.type == "wifi" ? "" : ( interface.type == "ethernet" ? "󰈀" : "" ))}
)
)
)
)
; (button :onclick {network_status.wifi ? 'scripts/bar/network-updown wifi down' : 'scripts/bar/network-updown wifi up'}
; :class {network_status.wifi ? "active" : "inactive"}
; "")
; (button :onclick {network_status.wired ? 'scripts/bar/network-updown ethernet down' : 'scripts/bar/network-updown ethernet up'}
; :class {network_status.wired ? "active" : "inactive"}
; "󰈀")))