1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2025-12-09 15:05:39 -05:00

qmlformat-all script

This commit is contained in:
bbedward
2025-07-17 18:15:35 -04:00
parent 26ad3810b4
commit 70b9a3cff4
14 changed files with 2163 additions and 2037 deletions

View File

@@ -7,92 +7,37 @@ import Quickshell.Io
Singleton {
id: root
property bool niriAvailable: false
property string focusedAppId: ""
property string focusedAppName: ""
property string focusedWindowTitle: ""
property int focusedWindowId: -1
Component.onCompleted: {
// Use the availability from NiriWorkspaceService to avoid duplicate checks
root.niriAvailable = NiriWorkspaceService.niriAvailable
// Connect to workspace service events
NiriWorkspaceService.onNiriAvailableChanged.connect(() => {
root.niriAvailable = NiriWorkspaceService.niriAvailable
if (root.niriAvailable) {
loadInitialFocusedWindow()
}
})
if (root.niriAvailable) {
loadInitialFocusedWindow()
}
}
// Listen to window focus changes from NiriWorkspaceService
Connections {
target: NiriWorkspaceService
function onFocusedWindowIdChanged() {
root.focusedWindowId = parseInt(NiriWorkspaceService.focusedWindowId) || -1
updateFocusedWindowData()
}
function onFocusedWindowTitleChanged() {
root.focusedWindowTitle = NiriWorkspaceService.focusedWindowTitle
}
}
// Process to get focused window info
Process {
id: focusedWindowQuery
command: ["niri", "msg", "--json", "focused-window"]
running: false
stdout: StdioCollector {
onStreamFinished: {
if (text && text.trim()) {
try {
const windowData = JSON.parse(text.trim())
root.focusedAppId = windowData.app_id || ""
root.focusedWindowTitle = windowData.title || ""
root.focusedAppName = getDisplayName(windowData.app_id || "")
root.focusedWindowId = parseInt(windowData.id) || -1
} catch (e) {
console.warn("FocusedWindowService: Failed to parse focused window data:", e)
clearFocusedWindow()
}
} else {
clearFocusedWindow()
}
}
}
}
function loadInitialFocusedWindow() {
if (root.niriAvailable) {
focusedWindowQuery.running = true
}
if (root.niriAvailable)
focusedWindowQuery.running = true;
}
function updateFocusedWindowData() {
if (root.niriAvailable && root.focusedWindowId !== -1) {
focusedWindowQuery.running = true
} else {
clearFocusedWindow()
}
if (root.niriAvailable && root.focusedWindowId !== -1)
focusedWindowQuery.running = true;
else
clearFocusedWindow();
}
function clearFocusedWindow() {
root.focusedAppId = ""
root.focusedAppName = ""
root.focusedWindowTitle = ""
root.focusedAppId = "";
root.focusedAppName = "";
root.focusedWindowTitle = "";
}
// Convert app_id to a more user-friendly display name
function getDisplayName(appId) {
if (!appId) return ""
if (!appId)
return "";
// Common app_id to display name mappings
const appNames = {
"com.mitchellh.ghostty": "Ghostty",
@@ -113,22 +58,74 @@ Singleton {
"discord": "Discord",
"slack": "Slack",
"zoom": "Zoom"
}
};
// Return mapped name or clean up the app_id
if (appNames[appId]) {
return appNames[appId]
}
if (appNames[appId])
return appNames[appId];
// Try to extract a clean name from the app_id
// Remove common prefixes and make first letter uppercase
let cleanName = appId
.replace(/^(org\.|com\.|net\.|io\.)/, '')
.replace(/\./g, ' ')
.split(' ')
.map(word => word.charAt(0).toUpperCase() + word.slice(1))
.join(' ')
return cleanName
let cleanName = appId.replace(/^(org\.|com\.|net\.|io\.)/, '').replace(/\./g, ' ').split(' ').map((word) => {
return word.charAt(0).toUpperCase() + word.slice(1);
}).join(' ');
return cleanName;
}
}
Component.onCompleted: {
// Use the availability from NiriWorkspaceService to avoid duplicate checks
root.niriAvailable = NiriWorkspaceService.niriAvailable;
// Connect to workspace service events
NiriWorkspaceService.onNiriAvailableChanged.connect(() => {
root.niriAvailable = NiriWorkspaceService.niriAvailable;
if (root.niriAvailable)
loadInitialFocusedWindow();
});
if (root.niriAvailable)
loadInitialFocusedWindow();
}
// Listen to window focus changes from NiriWorkspaceService
Connections {
function onFocusedWindowIdChanged() {
root.focusedWindowId = parseInt(NiriWorkspaceService.focusedWindowId) || -1;
updateFocusedWindowData();
}
function onFocusedWindowTitleChanged() {
root.focusedWindowTitle = NiriWorkspaceService.focusedWindowTitle;
}
target: NiriWorkspaceService
}
// Process to get focused window info
Process {
id: focusedWindowQuery
command: ["niri", "msg", "--json", "focused-window"]
running: false
stdout: StdioCollector {
onStreamFinished: {
if (text && text.trim()) {
try {
const windowData = JSON.parse(text.trim());
root.focusedAppId = windowData.app_id || "";
root.focusedWindowTitle = windowData.title || "";
root.focusedAppName = getDisplayName(windowData.app_id || "");
root.focusedWindowId = parseInt(windowData.id) || -1;
} catch (e) {
console.warn("FocusedWindowService: Failed to parse focused window data:", e);
clearFocusedWindow();
}
} else {
clearFocusedWindow();
}
}
}
}
}