Files
quickshell/modules/bar/widgets/IdleButton.qml
T

55 lines
1.7 KiB
QML

import QtQuick
import Quickshell
import Quickshell.Hyprland
import Quickshell.Io
import "../../../colors"
MouseArea {
id: idleButton
width: Math.max(idleText.width + parent.spacing*2, bar.height)
height: bar.height
hoverEnabled: true
cursorShape: Qt.PointingHandCursor
property int idle: 0
Rectangle {
anchors.fill: parent
color: idleButton.containsMouse ? Colors.tertiary : Qt.alpha(Colors.tertiaryContainer, 0.25)
radius: 6
border.width: 2
border.color: idleButton.containsMouse ? Colors.tertiaryContainer_fg
: Colors.secondaryContainer_fg
Item {
anchors.fill: parent
Process {
id: idleScript
command: ["sh", "-c", Quickshell.env("HOME") + "/.config/quickshell/modules/bar/scripts/Idle.sh"]
stdout: StdioCollector {
onStreamFinished: idleButton.idle ? console.log(`Disabling Idle`) : console.log(`Enabling Idle`)
}
}
MouseArea {
hoverEnabled: true
cursorShape: Qt.PointingHandCursor
anchors.fill: parent
onClicked: {
console.log("Running Idle Script")
idleScript.startDetached()
idleButton.idle = !idleButton.idle
}
}
}
Text {
id: idleText
anchors.centerIn: parent
text: idleButton.idle ? "" : ""
font.pixelSize: 26
font.family: "Nerd Font"
color: idleButton.containsMouse ? Colors.tertiary_fg : Colors.primary
}
}
}