summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/dashboard/dash/User.qml32
-rw-r--r--modules/lock/Fetch.qml8
-rw-r--r--utils/SysInfo.qml31
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;
+ }
+ }
}