all repos — quickshell @ 23cfe45d0da045aa3443b9bfcc4a25569bc2538d

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
 43
 44
 45
 46
 47
 48
 49
  // 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
  property var zwj
  Class.TopbarText {
    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()
          network.zwj=[...network.text].includes('\u200d')
        }
      }
    }
    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
  }
}