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

26 lines
1.1 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 ${(jq(network_manager.interfaces, '[ .[] | select(.state=="connected") ] | length') > 0 ? 'active' : 'inactive')}" ;${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}"
:class {( interface.state == "connected" ? 'active' : 'inactive' )}
:tooltip "${interface.connection} (${interface.device})"
{( interface.type == "wifi" ? "" : ( interface.type == "ethernet" ? "󰈀" : "" ))}
)
)
)
)