import QtQuick import Quickshell import Quickshell.Hyprland import Quickshell.Wayland import Quickshell.Io import "../../../config" import "../states/Idle" MouseArea { id: idleButton width: Math.max(idleText.width + Config.spacing_fun(height)*2, height) height: bar.height hoverEnabled: true cursorShape: Qt.PointingHandCursor required property PanelWindow panelWindow IdleInhibitor { id: idleInhibitor window: panelWindow enabled: IdleState.idle } IdleMonitor { id: idleMonitor enabled: true timeout: 30 respectInhibitors: true } onClicked: { IdleState.idle = !IdleState.idle console.log("[IdleButton] Toggling idle: " + (IdleState.idle ? "enabled" : "disabled")) } Rectangle { anchors.fill: parent color: idleButton.containsMouse ? Colors.tertiary : idleMonitor.isIdle ? Qt.alpha(Colors.secondary, 0.25) : Qt.alpha(Colors.tertiaryContainer, 0.25) radius: Config.radius_fun(idleButton.height) border.width: Config.border_width border.color: ( idleButton.containsMouse ? Colors.tertiaryContainer_fg : Colors.secondaryContainer_fg ) Text { id: idleText anchors.centerIn: parent text: IdleState.idle ? "" : "" font.pixelSize: Config.iconSize(idleButton.height) font.family: Config.font color: ( idleButton.containsMouse ? Colors.tertiary_fg : IdleState.idle ? Colors.tertiary : Colors.primary ) } } }