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 |
import QtQuick
import Quickshell
import Quickshell.Io
import QtQuick.Layouts
import "../../"
import "classes"
RowLayout {
property var wifi_strength
property var zwj
Text {
id: indicator
color: Resources.palette.orange
font.family: font_icon.name
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
}
BarText {
id: network
font.family: zwj ? font_emoji.name : font_proggy.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();
zwj = [...network.text].includes('\u200d');
}
}
}
Timer {
interval: 1000
running: true
repeat: true
onTriggered: network_script.running = true
}
}
}
|