Update to Apps and Networking and added Idle Button

This commit is contained in:
Hannes
2026-03-22 20:53:49 +01:00
parent 9c69bad626
commit 8a8c38be67
5 changed files with 74 additions and 9 deletions
+1
View File
@@ -74,6 +74,7 @@ PanelWindow {
// TODO: Add bluetooth, network, audio, power, maybe HW monitor // TODO: Add bluetooth, network, audio, power, maybe HW monitor
Tray{} Tray{}
Network {} Network {}
IdleButton {}
PowerButton {} PowerButton {}
} }
+7 -4
View File
@@ -26,6 +26,8 @@ declare -A MAP=(
["VLC media player"]="󰕼" ["VLC media player"]="󰕼"
["mpv"]="" ["mpv"]=""
["ffplay"]="" ["ffplay"]=""
# Video editing
["org.kde.kdenlive"]=""
# Chats # Chats
["discord"]="" ["discord"]=""
["vesktop"]="" ["vesktop"]=""
@@ -37,7 +39,7 @@ declare -A MAP=(
["jetbrains-idea"]="" ["jetbrains-idea"]=""
["jetbrains-studio"]="" ["jetbrains-studio"]=""
# Text Editor # Text Editor
["mousepad"]="󱩼" ["org.xfce.mousepad"]="󱩼"
# Password # Password
["org.keepassxc.KeePassXC"]="" ["org.keepassxc.KeePassXC"]=""
["Yubico Authenticator"]="" ["Yubico Authenticator"]=""
@@ -66,12 +68,13 @@ declare -A MAP=(
# Document Editor/Viewer # Document Editor/Viewer
["libreoffice-startcenter"]="" ["libreoffice-startcenter"]=""
["libreoffice-base"]="" ["libreoffice-base"]=""
["libreoffice-calc"]="" ["libreoffice-calc"]="󱎏"
["libreoffice-draw"]="" ["libreoffice-draw"]="󱎐"
["libreoffice-impress"]="" ["libreoffice-impress"]=""
["libreoffice-math"]="" ["libreoffice-math"]=""
["libreoffice-writer"]="" ["libreoffice-writer"]="󱎒"
["com.github.flxzt.rnote"]="󱩼" ["com.github.flxzt.rnote"]="󱩼"
["Xreader"]="󱩼"
["com.github.xournalpp.xournalpp"]="󱩼" ["com.github.xournalpp.xournalpp"]="󱩼"
["qpdfview.local.qpdfview"]="󱩼" ["qpdfview.local.qpdfview"]="󱩼"
# Hardware # Hardware
+5
View File
@@ -0,0 +1,5 @@
if pgrep -x "hypridle" >/dev/null ;then
killall hypridle
else
hypridle &
fi
+55
View File
@@ -0,0 +1,55 @@
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
}
}
}
+6 -5
View File
@@ -6,7 +6,8 @@ import "../../../colors"
MouseArea { MouseArea {
id: networkButton id: networkButton
width: bar.height width: Math.max(networkText.width + parent.spacing*2, bar.height)
height: bar.height height: bar.height
hoverEnabled: true hoverEnabled: true
cursorShape: Qt.PointingHandCursor cursorShape: Qt.PointingHandCursor
@@ -24,11 +25,11 @@ MouseArea {
: Colors.secondaryContainer_fg : Colors.secondaryContainer_fg
Text { Text {
id: output id: networkText
anchors.centerIn: parent anchors.centerIn: parent
font.pixelSize: 26 font.pixelSize: 26
font.family: "Nerd Font" font.family: "Nerd Font"
color: networkButton.containsMouse ? Colors.tertiary_fg : output.text === "󰤭 /󱐤" ? Colors.error : Colors.primary color: networkButton.containsMouse ? Colors.tertiary_fg : networkText.text === "󰤭 /󱐤" ? Colors.error : Colors.primary
} }
Process { Process {
@@ -38,8 +39,8 @@ MouseArea {
stdout: StdioCollector { stdout: StdioCollector {
onStreamFinished: { onStreamFinished: {
output.text = this.text.trim() networkText.text = this.text.trim()
// console.log("networkScript output:", this.text.trim()) // console.log("networkScript networkText:", this.text.trim())
} }
} }
} }