bar/modules/Network.qml (view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
// Sunset.qml
import QtQuick
import Quickshell
import Quickshell.Io
import QtQuick.Layouts
import QtQuick.Controls
import "../../"
import "../classes" as Class
Class.RightRowLayout {
property var wifi_strength
Class.TopbarText {
id: network
font.family: font_emoji.name
Process {
id: network_script
command: ["bar/scripts/network.sh"]
workingDirectory: Quickshell.shellDir
running: true
stdout: StdioCollector {
onStreamFinished: {
network.text = this.text.trim().split(" ")[1]
indicator.indicator_data = this.text.split(" ")[0].trim()
}
}
}
Timer {
interval: 1000
running: true
repeat: true
onTriggered: network_script.running = true
}
}
Class.TopbarIcon {
id: indicator
property var indicator_data
font.pixelSize: Resources.fontsize.network_indicator
text:
(indicator_data == 100) ? Icons.network.ethernet
: (indicator_data == 404) ? Icons.network.nobar
: (indicator_data > -50) ? Icons.network.bar4
: (indicator_data > -60) ? Icons.network.bar3
: (indicator_data > -70) ? Icons.network.bar2
: (indicator_data > -80) ? Icons.network.bar1
: Icons.network.bar0
}
}
|