diff options
| author | Nippy <nippy@rp1.hu> | 2026-05-09 13:33:09 +0200 |
|---|---|---|
| committer | Nippy <nippy@rp1.hu> | 2026-05-09 13:33:09 +0200 |
| commit | a2b924d7e9492b978ad6dc33b6c1ffcb304b4bc5 (patch) | |
| tree | 1a8769217f84bfe9d6216fafaadaf8cdd876d457 /raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Common/AppUsageHistoryData.qml | |
| parent | 34b9c34f982b2596cfa9e368a2d7f74e9a17477c (diff) | |
| download | RaveOS-PKGBUILD-a2b924d7e9492b978ad6dc33b6c1ffcb304b4bc5.tar.gz RaveOS-PKGBUILD-a2b924d7e9492b978ad6dc33b6c1ffcb304b4bc5.zip | |
raveos update
Diffstat (limited to 'raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Common/AppUsageHistoryData.qml')
| -rw-r--r-- | raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Common/AppUsageHistoryData.qml | 123 |
1 files changed, 0 insertions, 123 deletions
diff --git a/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Common/AppUsageHistoryData.qml b/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Common/AppUsageHistoryData.qml deleted file mode 100644 index 1077f38..0000000 --- a/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Common/AppUsageHistoryData.qml +++ /dev/null @@ -1,123 +0,0 @@ -pragma Singleton -pragma ComponentBehavior: Bound - -import QtCore -import QtQuick -import Quickshell -import Quickshell.Io - -Singleton { - id: root - - property var appUsageRanking: {} - property bool _saving: false - - Component.onCompleted: { - loadSettings(); - } - - function loadSettings() { - parseSettings(settingsFile.text()); - } - - function parseSettings(content) { - try { - if (content && content.trim()) { - var settings = JSON.parse(content); - appUsageRanking = settings.appUsageRanking || {}; - } - } catch (e) {} - } - - function saveSettings() { - settingsFile.setText(JSON.stringify({ - "appUsageRanking": appUsageRanking - }, null, 2)); - } - - function addAppUsage(app) { - if (!app) - return; - var appId = app.id || (app.execString || app.exec || ""); - if (!appId) - return; - var currentRanking = Object.assign({}, appUsageRanking); - - if (currentRanking[appId]) { - currentRanking[appId].usageCount = (currentRanking[appId].usageCount || 1) + 1; - currentRanking[appId].lastUsed = Date.now(); - currentRanking[appId].icon = app.icon ? String(app.icon) : (currentRanking[appId].icon || "application-x-executable"); - currentRanking[appId].name = app.name || currentRanking[appId].name || ""; - } else { - currentRanking[appId] = { - "name": app.name || "", - "exec": app.execString || app.exec || "", - "icon": app.icon ? String(app.icon) : "application-x-executable", - "comment": app.comment || "", - "usageCount": 1, - "lastUsed": Date.now() - }; - } - - appUsageRanking = currentRanking; - _saving = true; - saveSettings(); - _saving = false; - } - - function getRankedApps() { - var apps = []; - for (var appId in appUsageRanking) { - var appData = appUsageRanking[appId]; - apps.push({ - "id": appId, - "name": appData.name, - "exec": appData.exec, - "icon": appData.icon, - "comment": appData.comment, - "usageCount": appData.usageCount, - "lastUsed": appData.lastUsed - }); - } - - return apps.sort(function (a, b) { - if (a.usageCount !== b.usageCount) - return b.usageCount - a.usageCount; - return a.name.localeCompare(b.name); - }); - } - - function cleanupAppUsageRanking(availableAppIds) { - var currentRanking = Object.assign({}, appUsageRanking); - var hasChanges = false; - - for (var appId in currentRanking) { - if (availableAppIds.indexOf(appId) === -1) { - delete currentRanking[appId]; - hasChanges = true; - } - } - - if (hasChanges) { - appUsageRanking = currentRanking; - _saving = true; - saveSettings(); - _saving = false; - } - } - - FileView { - id: settingsFile - - path: StandardPaths.writableLocation(StandardPaths.GenericStateLocation) + "/DankMaterialShell/appusage.json" - blockLoading: true - blockWrites: true - watchChanges: true - onLoaded: { - if (root._saving) - return; - parseSettings(settingsFile.text()); - } - onLoadFailed: error => {} - } -} |