rework of IdleButton
This commit is contained in:
+1
-1
@@ -70,7 +70,7 @@ PanelWindow {
|
||||
Tray{}
|
||||
Battery{}
|
||||
Network {}
|
||||
IdleButton {}
|
||||
IdleButton { panelWindow: panel }
|
||||
PowerButton {}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
if [ "$1" = "--status" ]; then
|
||||
if pgrep -x "hypridle" >/dev/null; then
|
||||
echo 1
|
||||
else
|
||||
echo 0
|
||||
fi
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if pgrep -x "hypridle" >/dev/null; then
|
||||
killall hypridle
|
||||
else
|
||||
hypridle &
|
||||
fi
|
||||
@@ -5,24 +5,6 @@ import Quickshell.Io
|
||||
import "../../../../config"
|
||||
|
||||
Item {
|
||||
property int idle: 0
|
||||
|
||||
Process {
|
||||
id: statusScript
|
||||
command: ["sh", "-c", Config.configDir + "/modules/bar/scripts/Idle.sh --status"]
|
||||
running: true
|
||||
stdout: StdioCollector {
|
||||
onStreamFinished: {
|
||||
idle = this.text.trim() === "0" ? 1 : 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Timer {
|
||||
interval: 5000
|
||||
running: true
|
||||
repeat: true
|
||||
triggeredOnStart: true
|
||||
onTriggered: statusScript.running = true
|
||||
}
|
||||
// true = inhibit idle (prevent hypridle/lock/dpms), false = allow idle
|
||||
property bool idle: false
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
import QtQuick
|
||||
import Quickshell
|
||||
import Quickshell.Hyprland
|
||||
import Quickshell.Wayland
|
||||
import Quickshell.Io
|
||||
import "../../../config"
|
||||
import "../states/Idle"
|
||||
@@ -12,16 +13,29 @@ MouseArea {
|
||||
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: {
|
||||
var newState = IdleState.idle ? 0 : 1
|
||||
console.log("[IdleButton] Toggling idle: " + (newState ? "enabled" : "disabled"))
|
||||
idleToggleProc.startDetached()
|
||||
IdleState.idle = newState
|
||||
IdleState.idle = !IdleState.idle
|
||||
console.log("[IdleButton] Toggling idle: " + (IdleState.idle ? "enabled" : "disabled"))
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
anchors.fill: parent
|
||||
color: idleButton.containsMouse ? Colors.tertiary : Qt.alpha(Colors.tertiaryContainer, 0.25)
|
||||
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: (
|
||||
@@ -42,10 +56,4 @@ MouseArea {
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
Process {
|
||||
id: idleToggleProc
|
||||
command: ["sh", "-c", Config.configDir + "/modules/bar/scripts/Idle.sh"]
|
||||
running: false
|
||||
}
|
||||
}
|
||||
@@ -74,6 +74,7 @@ Rectangle {
|
||||
} else {
|
||||
Hyprland.dispatch("workspace " + workspaceData.id)
|
||||
}
|
||||
Hyprland.refreshWorkspaces()
|
||||
}
|
||||
|
||||
Row {
|
||||
|
||||
Reference in New Issue
Block a user