diff --git a/Modules/Bar/Widgets/KeepAwake.qml b/Modules/Bar/Widgets/KeepAwake.qml new file mode 100644 index 0000000..31c6525 --- /dev/null +++ b/Modules/Bar/Widgets/KeepAwake.qml @@ -0,0 +1,24 @@ +import QtQuick +import QtQuick.Layouts +import Quickshell +import qs.Commons +import qs.Services +import qs.Widgets + +NIconButton { + id: root + + property ShellScreen screen + property real scaling: 1.0 + + sizeRatio: 0.8 + + icon: "coffee" + tooltipText: IdleInhibitorService.isInhibited ? "Disable keep awake" : "Enable keep awake" + colorBg: Color.mSurfaceVariant + colorFg: IdleInhibitorService.isInhibited ? Color.mPrimary : Color.mOnSurface + colorBorder: Color.transparent + onClicked: { + IdleInhibitorService.manualToggle() + } +} diff --git a/Services/BarWidgetRegistry.qml b/Services/BarWidgetRegistry.qml index 7eb6be0..65897a6 100644 --- a/Services/BarWidgetRegistry.qml +++ b/Services/BarWidgetRegistry.qml @@ -18,6 +18,7 @@ Singleton { "Clock": clockComponent, "CustomButton": customButtonComponent, "DarkModeToggle": darkModeToggle, + "KeepAwake": keepAwakeComponent, "KeyboardLayout": keyboardLayoutComponent, "MediaMini": mediaMiniComponent, "Microphone": microphoneComponent, @@ -73,6 +74,9 @@ Singleton { property Component keyboardLayoutComponent: Component { KeyboardLayout {} } + property Component keepAwakeComponent: Component { + KeepAwake {} + } property Component mediaMiniComponent: Component { MediaMini {} }