//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) property var device_type: UPowerDeviceType.toString(modelData.type) 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 } // Image { // // visible: modelData.model == "Jupiter of the Monkey" // // ? true // // : false // source: "../../icons/my-phones.png" // sourceClipRect: Qt.rect(0, 0, 12, 12) // sourceSize.width: 12 // sourceSize.height: 12 // width: 12 // height: 12 // } Class.BottombarIcon { id: battery_device_icon text: modelData.isLaptopBattery ? Icons.devices.battery : modelData.model == "Jupiter of the Monkey" ? Icons.devices.headphones : { "Headphones": Icons.devices.headphones, "Headset": Icons.devices.headphones, "Gaming Input": Icons.devices.controller, "Keyboard": Icons.devices.keyboard, "Mouse": Icons.devices.mouse, "Unknown": Icons.devices.unknown, "Speakers": Icons.devices.speaker, "Printer": Icons.devices.printer, "Camera": Icons.devices.camera, "Phone": Icons.devices.phone, }[device_type] ?? modelData.model font.pixelSize: (device_type == "Gaming Input") ? 14*Size.scale : Resources.fontsize.bottombar_icon color: modelData.model == "Jupiter of the Monkey" ? "#897bc7" : 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{} } }