summaryrefslogtreecommitdiff
path: root/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Services/UserInfoService.qml
diff options
context:
space:
mode:
Diffstat (limited to 'raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Services/UserInfoService.qml')
-rw-r--r--raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Services/UserInfoService.qml35
1 files changed, 35 insertions, 0 deletions
diff --git a/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Services/UserInfoService.qml b/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Services/UserInfoService.qml
new file mode 100644
index 0000000..8378e01
--- /dev/null
+++ b/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Services/UserInfoService.qml
@@ -0,0 +1,35 @@
+pragma Singleton
+pragma ComponentBehavior: Bound
+
+import QtQuick
+import Quickshell
+import qs.Common
+
+Singleton {
+ id: root
+
+ property string username: ""
+ property string fullName: ""
+ property string profilePicture: ""
+ property string hostname: ""
+ property bool profileAvailable: false
+
+ function getUserInfo() {
+ Proc.runCommand("userInfo", ["sh", "-c", "echo \"$USER|$(getent passwd $USER | cut -d: -f5 | cut -d, -f1)|$(hostname)\""], (output, exitCode) => {
+ if (exitCode !== 0) {
+ root.username = "User";
+ root.fullName = "User";
+ root.hostname = "System";
+ return;
+ }
+ const parts = output.trim().split("|");
+ if (parts.length >= 3) {
+ root.username = parts[0] || "";
+ root.fullName = parts[1] || parts[0] || "";
+ root.hostname = parts[2] || "";
+ }
+ }, 0);
+ }
+
+ Component.onCompleted: getUserInfo()
+}