all repos — quickshell @ 55b30d92682fe15ee20bd17e46c79ca21e176659

A desert-witch desktop shell

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
    }
  }
}