Added Network icon to bar and rework some of the debug prints
This commit is contained in:
+1
-1
@@ -71,7 +71,7 @@ PanelWindow {
|
||||
spacing: 8
|
||||
|
||||
// TODO: Add bluetooth, network, audio, power, maybe HW monitor
|
||||
// Network {}
|
||||
Network {}
|
||||
PowerButton {}
|
||||
|
||||
}
|
||||
|
||||
Executable
+43
@@ -0,0 +1,43 @@
|
||||
#!/bin/bash
|
||||
|
||||
OUTPUT="$(ip -br link | awk '{print $1, $2}' | grep UP| awk '{print $1}')"
|
||||
|
||||
# echo "$OUTPUT"
|
||||
|
||||
ITYPES=()
|
||||
IFACES=()
|
||||
|
||||
for IFACE in $OUTPUT; do
|
||||
case $IFACE in
|
||||
en*|eth*) TYPE="Ethernet" ;;
|
||||
wl*|wlan*) TYPE="Wi-Fi" ;;
|
||||
*) TYPE="Unknown" ;;
|
||||
esac
|
||||
ITYPES+=("$TYPE")
|
||||
IFACES+=("$IFACE")
|
||||
done
|
||||
|
||||
if printf "%s\n" "${ITYPES[@]}" | grep -qx "Ethernet"; then
|
||||
echo " "
|
||||
elif printf "%s\n" "${ITYPES[@]}" | grep -qx "Wi-Fi"; then
|
||||
if [ -x "/usr/bin/nmcli" ]; then
|
||||
CONNECTION="$(nmcli -f DEVICE,ACTIVE,SSID,SIGNAL dev wifi | grep yes | awk '{print $4}')"
|
||||
if [[ -z "$CONNECTION" ]]; then
|
||||
echo " "
|
||||
elif (( CONNECTION > 80 )); then
|
||||
echo " "
|
||||
elif (( CONNECTION > 60 )); then
|
||||
echo " "
|
||||
elif (( CONNECTION > 40 )); then
|
||||
echo " "
|
||||
elif (( CONNECTION > 20 )); then
|
||||
echo " "
|
||||
else
|
||||
echo " "
|
||||
fi
|
||||
else
|
||||
echo " "
|
||||
fi
|
||||
else
|
||||
echo " / "
|
||||
fi
|
||||
@@ -1,26 +1,56 @@
|
||||
import QtQuick
|
||||
import Quickshell
|
||||
import Quickshell.Hyprland
|
||||
// import Quickshell.Networking
|
||||
import Quickshell.Io
|
||||
|
||||
MouseArea {
|
||||
id: networkButton
|
||||
width: 30
|
||||
height: 28
|
||||
width: output.width + 16
|
||||
height: bar.height
|
||||
hoverEnabled: true
|
||||
cursorShape: Qt.PointingHandCursor
|
||||
|
||||
|
||||
// onClicked: {
|
||||
// console.log("Wifi Hardware:", Networking.wifiHardwareEnabled)
|
||||
// console.log("Wifi:", Networking.wifiEnabled)
|
||||
// console.log("Device Type:", Networking.devices.DeviceType.toString(DeviceType))
|
||||
// console.log("Device Type:", Networking.devices.DeviceConnectionState.toString(DeviceConnectionState)) // ???
|
||||
// console.log("Device Type:", Networking.devices.toString(NetworkDevice))
|
||||
// console.log("Device Type:", Networking.devices.length)
|
||||
// }
|
||||
|
||||
Rectangle {
|
||||
anchors.fill: parent
|
||||
color: networkButton.containsMouse ? "#2a2a2a" : "transparent"
|
||||
radius: 6
|
||||
width: output.width + 16
|
||||
|
||||
Text {
|
||||
id: output
|
||||
anchors.centerIn: parent
|
||||
text: " "
|
||||
font.pixelSize: 26
|
||||
font.family: "Nerd Font"
|
||||
color: "#ffffff"
|
||||
color: output.text === " /" ? "#FF0000" : "#00ff00"
|
||||
}
|
||||
|
||||
Process {
|
||||
id: networkStatus
|
||||
command: ["sh", "-c", Quickshell.env("HOME") + "/.config/quickshell/modules/bar/scripts/Network.sh"]
|
||||
running: true
|
||||
|
||||
stdout: StdioCollector {
|
||||
onStreamFinished: {
|
||||
output.text = this.text.trim()
|
||||
console.log("networkScript output:", this.text.trim())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Timer {
|
||||
interval: 10000
|
||||
running: true
|
||||
repeat: true
|
||||
onTriggered: networkStatus.running = true
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -6,7 +6,7 @@ import Quickshell.Io
|
||||
MouseArea {
|
||||
id: powerButton
|
||||
width: 30
|
||||
height: 28
|
||||
height: bar.height
|
||||
hoverEnabled: true
|
||||
cursorShape: Qt.PointingHandCursor
|
||||
|
||||
|
||||
Reference in New Issue
Block a user