quickshell/modules/bar/PowerProfiles.qml

34 lines
1.1 KiB
QML
Raw Normal View History

2025-12-26 00:37:39 +01:00
import QtQuick
import Quickshell.Services.UPower
import qs
Item {
id: root
implicitWidth: 80
Text {
id: powerProfile
text: PowerProfile.toString(PowerProfiles.profile)
font.weight: 900
color: Colors.foreground
font.family: Appearance.font
font.pixelSize: Appearance.fontSize
anchors.centerIn: parent
MouseArea {
cursorShape: Qt.PointingHandCursor
2025-12-26 00:37:39 +01:00
acceptedButtons: Qt.LeftButton | Qt.RightButton
anchors.fill: parent
onClicked: mouse => {
const modes = [PowerProfile.PowerSaver, PowerProfile.Balanced, PowerProfile.Performance];
let current = PowerProfiles.profile;
let currentIndex = modes.indexOf(current);
let nextIndex = (currentIndex + 1) % modes.length;
let prevIndex = (currentIndex - 1) % modes.length;
if (mouse.button == Qt.LeftButton)
PowerProfiles.profile = modes[nextIndex];
if (mouse.button == Qt.RightButton)
PowerProfiles.profile = modes[prevIndex];
}
}
}
}