diff options
| -rw-r--r-- | modules/dashboard/dash/User.qml | 32 | ||||
| -rw-r--r-- | modules/lock/Fetch.qml | 8 | ||||
| -rw-r--r-- | utils/SysInfo.qml | 31 |
3 files changed, 36 insertions, 35 deletions
diff --git a/modules/dashboard/dash/User.qml b/modules/dashboard/dash/User.qml index 8dcde1e..2b475dd 100644 --- a/modules/dashboard/dash/User.qml +++ b/modules/dashboard/dash/User.qml @@ -4,7 +4,6 @@ import qs.services import qs.config import qs.utils import Quickshell -import Quickshell.Io import QtQuick Row { @@ -129,37 +128,8 @@ Row { id: uptime icon: "timer" - text: qsTr("Loading uptime...") + text: qsTr("up %1").arg(SysInfo.uptime) colour: Colours.palette.m3tertiary - - Timer { - running: true - repeat: true - interval: 15000 - onTriggered: fileUptime.reload() - } - - FileView { - id: fileUptime - - path: "/proc/uptime" - onLoaded: { - const up = parseInt(text().split(" ")[0] ?? 0); - - const days = Math.floor(up / 86400); - const hours = Math.floor((up % 86400) / 3600); - const minutes = Math.floor((up % 3600) / 60); - - let str = ""; - if (days > 0) - str += `${days} day${days === 1 ? "" : "s"}`; - if (hours > 0) - str += `${str ? ", " : ""}${hours} hour${hours === 1 ? "" : "s"}`; - if (minutes > 0 || !str) - str += `${str ? ", " : ""}${minutes} minute${minutes === 1 ? "" : "s"}`; - uptime.text = qsTr("up %1").arg(str); - } - } } } diff --git a/modules/lock/Fetch.qml b/modules/lock/Fetch.qml index fd954b1..b855cdc 100644 --- a/modules/lock/Fetch.qml +++ b/modules/lock/Fetch.qml @@ -87,19 +87,19 @@ ColumnLayout { spacing: Appearance.spacing.normal FetchText { - text: qsTr("OS : %1").arg(SysInfo.osPrettyName || SysInfo.osName) + text: `OS : ${SysInfo.osPrettyName || SysInfo.osName}` } FetchText { - text: qsTr("WM : %1").arg(SysInfo.wm) + text: `WM : ${SysInfo.wm}` } FetchText { - text: qsTr("USER: %1").arg(SysInfo.user) + text: `USER: ${SysInfo.user}` } FetchText { - text: qsTr("SH : %1").arg(SysInfo.shell) + text: `UP : ${SysInfo.uptime}` } } } diff --git a/utils/SysInfo.qml b/utils/SysInfo.qml index 968dc52..91ef112 100644 --- a/utils/SysInfo.qml +++ b/utils/SysInfo.qml @@ -2,6 +2,7 @@ pragma Singleton import Quickshell import Quickshell.Io +import QtQuick Singleton { id: root @@ -13,6 +14,7 @@ Singleton { property string logo property string osIcon: "" + property string uptime readonly property string user: Quickshell.env("USER") readonly property string wm: Quickshell.env("XDG_CURRENT_DESKTOP") || Quickshell.env("XDG_SESSION_DESKTOP") readonly property string shell: Quickshell.env("SHELL").split("/").pop() @@ -44,4 +46,33 @@ Singleton { } } } + + Timer { + running: true + repeat: true + interval: 15000 + onTriggered: fileUptime.reload() + } + + FileView { + id: fileUptime + + path: "/proc/uptime" + onLoaded: { + const up = parseInt(text().split(" ")[0] ?? 0); + + const days = Math.floor(up / 86400); + const hours = Math.floor((up % 86400) / 3600); + const minutes = Math.floor((up % 3600) / 60); + + let str = ""; + if (days > 0) + str += `${days} day${days === 1 ? "" : "s"}`; + if (hours > 0) + str += `${str ? ", " : ""}${hours} hour${hours === 1 ? "" : "s"}`; + if (minutes > 0 || !str) + str += `${str ? ", " : ""}${minutes} minute${minutes === 1 ? "" : "s"}`; + root.uptime = str; + } + } } |