all repos — quickshell @ 7a0555aa092ea22b8594622ac5103168be0729b3

A desert-witch desktop shell

bar/modules/Battery.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
//Battery.qml
import QtQuick
import Quickshell
import QtQuick.Layouts
import Quickshell.Services.UPower
import "../.."
import "../classes" as Class


Repeater {
  model: UPower.devices.values.filter(d=>d.model)

  Class.RightRowLayout {
    property var lvl: Math.round(modelData.percentage*100)
    property var charge_state: UPowerDeviceState.toString(modelData.state)
    Class.BottombarText {
      id: battery_level_indicator
      text: lvl+"%"
      font.family: font_jetbrains.name
      color:
        (charge_state == "Charging")
        ? Resources.palette.saffron
        : (lvl < 20)
        ? Resources.palette.scarlet
        : Resources.palette.fg
    }
    Class.BottombarIcon {
      id: battery_device_icon
      text: modelData.isLaptopBattery
            ? Icons.devices.battery
            : {
                "Jupiter of the Monkey": Icons.devices.headphones,
                "Pro Controller": Icons.devices.controller,
                "mix4": Icons.devices.mewi,
              }[modelData.model] ?? modelData.model
      font.pixelSize: (modelData.model == "Pro Controller") ? 14 : 10
      color:
        lvl < 20
        ? Resources.palette.scarlet
        : {
            "Charging": Resources.palette.saffron,
            "Discharging": Resources.palette.orange,
            "FullyCharged": Resources.palette.cyan,
            "Empty": Resources.palette.scarlet,
          }[charge_state] ?? Resources.palette.orange
    }
    Class.BotSep{}
  }
}