summaryrefslogtreecommitdiff
path: root/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Services/UserInfoService.qml
blob: 8378e01a2bb5ab47d9b027e371cefe8637bce8fc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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()
}