mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-04-03 20:32:07 -04:00
widgets: fix moddedAppID consistency
This commit is contained in:
@@ -584,8 +584,7 @@ BasePill {
|
|||||||
|
|
||||||
property string tooltipText: {
|
property string tooltipText: {
|
||||||
root._desktopEntriesUpdateTrigger;
|
root._desktopEntriesUpdateTrigger;
|
||||||
const moddedId = Paths.moddedAppId(appId);
|
const desktopEntry = appId ? DesktopEntries.heuristicLookup(appId) : null;
|
||||||
const desktopEntry = moddedId ? DesktopEntries.heuristicLookup(moddedId) : null;
|
|
||||||
const appName = appId ? Paths.getAppName(appId, desktopEntry) : "Unknown";
|
const appName = appId ? Paths.getAppName(appId, desktopEntry) : "Unknown";
|
||||||
|
|
||||||
if (modelData.type === "grouped" && windowCount > 1) {
|
if (modelData.type === "grouped" && windowCount > 1) {
|
||||||
@@ -690,9 +689,8 @@ BasePill {
|
|||||||
if (!appItem.appId)
|
if (!appItem.appId)
|
||||||
return "";
|
return "";
|
||||||
if (modelData.isCoreApp)
|
if (modelData.isCoreApp)
|
||||||
return ""; // Explicitly skip if core app to avoid flickering or wrong look ups
|
return "";
|
||||||
const moddedId = Paths.moddedAppId(appItem.appId);
|
const desktopEntry = DesktopEntries.heuristicLookup(appItem.appId);
|
||||||
const desktopEntry = DesktopEntries.heuristicLookup(moddedId);
|
|
||||||
return Paths.getAppIcon(appItem.appId, desktopEntry);
|
return Paths.getAppIcon(appItem.appId, desktopEntry);
|
||||||
}
|
}
|
||||||
smooth: true
|
smooth: true
|
||||||
@@ -749,8 +747,7 @@ BasePill {
|
|||||||
root._desktopEntriesUpdateTrigger;
|
root._desktopEntriesUpdateTrigger;
|
||||||
if (!appItem.appId)
|
if (!appItem.appId)
|
||||||
return "?";
|
return "?";
|
||||||
const moddedId = Paths.moddedAppId(appItem.appId);
|
const desktopEntry = DesktopEntries.heuristicLookup(appItem.appId);
|
||||||
const desktopEntry = DesktopEntries.heuristicLookup(moddedId);
|
|
||||||
const appName = Paths.getAppName(appItem.appId, desktopEntry);
|
const appName = Paths.getAppName(appItem.appId, desktopEntry);
|
||||||
return appName.charAt(0).toUpperCase();
|
return appName.charAt(0).toUpperCase();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -241,14 +241,17 @@ BasePill {
|
|||||||
property var toplevelData: isGrouped ? (modelData.windows.length > 0 ? modelData.windows[0].toplevel : null) : modelData
|
property var toplevelData: isGrouped ? (modelData.windows.length > 0 ? modelData.windows[0].toplevel : null) : modelData
|
||||||
property bool isFocused: isGrouped ? (root.focusedAppId === appId) : (toplevelData ? toplevelData.activated : false)
|
property bool isFocused: isGrouped ? (root.focusedAppId === appId) : (toplevelData ? toplevelData.activated : false)
|
||||||
property string appId: isGrouped ? modelData.appId : (modelData.appId || "")
|
property string appId: isGrouped ? modelData.appId : (modelData.appId || "")
|
||||||
|
readonly property string effectiveAppId: {
|
||||||
|
root._appIdSubstitutionsTrigger;
|
||||||
|
return Paths.moddedAppId(appId);
|
||||||
|
}
|
||||||
property string windowTitle: toplevelData ? (toplevelData.title || "(Unnamed)") : "(Unnamed)"
|
property string windowTitle: toplevelData ? (toplevelData.title || "(Unnamed)") : "(Unnamed)"
|
||||||
property var toplevelObject: toplevelData
|
property var toplevelObject: toplevelData
|
||||||
property int windowCount: isGrouped ? modelData.windows.length : 1
|
property int windowCount: isGrouped ? modelData.windows.length : 1
|
||||||
property string tooltipText: {
|
property string tooltipText: {
|
||||||
root._desktopEntriesUpdateTrigger;
|
root._desktopEntriesUpdateTrigger;
|
||||||
const moddedId = Paths.moddedAppId(appId);
|
const desktopEntry = effectiveAppId ? DesktopEntries.heuristicLookup(effectiveAppId) : null;
|
||||||
const desktopEntry = moddedId ? DesktopEntries.heuristicLookup(moddedId) : null;
|
const appName = effectiveAppId ? Paths.getAppName(effectiveAppId, desktopEntry) : "Unknown";
|
||||||
const appName = appId ? Paths.getAppName(appId, desktopEntry) : "Unknown";
|
|
||||||
|
|
||||||
if (isGrouped && windowCount > 1) {
|
if (isGrouped && windowCount > 1) {
|
||||||
return appName + " (" + windowCount + " windows)";
|
return appName + " (" + windowCount + " windows)";
|
||||||
@@ -284,11 +287,10 @@ BasePill {
|
|||||||
source: {
|
source: {
|
||||||
root._desktopEntriesUpdateTrigger;
|
root._desktopEntriesUpdateTrigger;
|
||||||
root._appIdSubstitutionsTrigger;
|
root._appIdSubstitutionsTrigger;
|
||||||
if (!appId)
|
if (!effectiveAppId)
|
||||||
return "";
|
return "";
|
||||||
const moddedId = Paths.moddedAppId(appId);
|
const desktopEntry = DesktopEntries.heuristicLookup(effectiveAppId);
|
||||||
const desktopEntry = DesktopEntries.heuristicLookup(moddedId);
|
return Paths.getAppIcon(effectiveAppId, desktopEntry);
|
||||||
return Paths.getAppIcon(appId, desktopEntry);
|
|
||||||
}
|
}
|
||||||
smooth: true
|
smooth: true
|
||||||
mipmap: true
|
mipmap: true
|
||||||
@@ -311,20 +313,18 @@ BasePill {
|
|||||||
size: Theme.barIconSize(root.barThickness, undefined, root.barConfig?.maximizeWidgetIcons, root.barConfig?.iconScale)
|
size: Theme.barIconSize(root.barThickness, undefined, root.barConfig?.maximizeWidgetIcons, root.barConfig?.iconScale)
|
||||||
name: "sports_esports"
|
name: "sports_esports"
|
||||||
color: Theme.widgetTextColor
|
color: Theme.widgetTextColor
|
||||||
visible: !iconImg.visible && Paths.isSteamApp(appId)
|
visible: !iconImg.visible && Paths.isSteamApp(effectiveAppId)
|
||||||
}
|
}
|
||||||
|
|
||||||
Text {
|
Text {
|
||||||
anchors.centerIn: parent
|
anchors.centerIn: parent
|
||||||
visible: !iconImg.visible && !Paths.isSteamApp(appId)
|
visible: !iconImg.visible && !Paths.isSteamApp(effectiveAppId)
|
||||||
text: {
|
text: {
|
||||||
root._desktopEntriesUpdateTrigger;
|
root._desktopEntriesUpdateTrigger;
|
||||||
if (!appId)
|
if (!effectiveAppId)
|
||||||
return "?";
|
return "?";
|
||||||
|
const desktopEntry = DesktopEntries.heuristicLookup(effectiveAppId);
|
||||||
const moddedId = Paths.moddedAppId(appId);
|
const appName = Paths.getAppName(effectiveAppId, desktopEntry);
|
||||||
const desktopEntry = DesktopEntries.heuristicLookup(moddedId);
|
|
||||||
const appName = Paths.getAppName(appId, desktopEntry);
|
|
||||||
return appName.charAt(0).toUpperCase();
|
return appName.charAt(0).toUpperCase();
|
||||||
}
|
}
|
||||||
font.pixelSize: 10
|
font.pixelSize: 10
|
||||||
@@ -496,14 +496,17 @@ BasePill {
|
|||||||
property var toplevelData: isGrouped ? (modelData.windows.length > 0 ? modelData.windows[0].toplevel : null) : modelData
|
property var toplevelData: isGrouped ? (modelData.windows.length > 0 ? modelData.windows[0].toplevel : null) : modelData
|
||||||
property bool isFocused: isGrouped ? (root.focusedAppId === appId) : (toplevelData ? toplevelData.activated : false)
|
property bool isFocused: isGrouped ? (root.focusedAppId === appId) : (toplevelData ? toplevelData.activated : false)
|
||||||
property string appId: isGrouped ? modelData.appId : (modelData.appId || "")
|
property string appId: isGrouped ? modelData.appId : (modelData.appId || "")
|
||||||
|
readonly property string effectiveAppId: {
|
||||||
|
root._appIdSubstitutionsTrigger;
|
||||||
|
return Paths.moddedAppId(appId);
|
||||||
|
}
|
||||||
property string windowTitle: toplevelData ? (toplevelData.title || "(Unnamed)") : "(Unnamed)"
|
property string windowTitle: toplevelData ? (toplevelData.title || "(Unnamed)") : "(Unnamed)"
|
||||||
property var toplevelObject: toplevelData
|
property var toplevelObject: toplevelData
|
||||||
property int windowCount: isGrouped ? modelData.windows.length : 1
|
property int windowCount: isGrouped ? modelData.windows.length : 1
|
||||||
property string tooltipText: {
|
property string tooltipText: {
|
||||||
root._desktopEntriesUpdateTrigger;
|
root._desktopEntriesUpdateTrigger;
|
||||||
const moddedId = Paths.moddedAppId(appId);
|
const desktopEntry = effectiveAppId ? DesktopEntries.heuristicLookup(effectiveAppId) : null;
|
||||||
const desktopEntry = moddedId ? DesktopEntries.heuristicLookup(moddedId) : null;
|
const appName = effectiveAppId ? Paths.getAppName(effectiveAppId, desktopEntry) : "Unknown";
|
||||||
const appName = appId ? Paths.getAppName(appId, desktopEntry) : "Unknown";
|
|
||||||
|
|
||||||
if (isGrouped && windowCount > 1) {
|
if (isGrouped && windowCount > 1) {
|
||||||
return appName + " (" + windowCount + " windows)";
|
return appName + " (" + windowCount + " windows)";
|
||||||
@@ -538,11 +541,10 @@ BasePill {
|
|||||||
source: {
|
source: {
|
||||||
root._desktopEntriesUpdateTrigger;
|
root._desktopEntriesUpdateTrigger;
|
||||||
root._appIdSubstitutionsTrigger;
|
root._appIdSubstitutionsTrigger;
|
||||||
if (!appId)
|
if (!effectiveAppId)
|
||||||
return "";
|
return "";
|
||||||
const moddedId = Paths.moddedAppId(appId);
|
const desktopEntry = DesktopEntries.heuristicLookup(effectiveAppId);
|
||||||
const desktopEntry = DesktopEntries.heuristicLookup(moddedId);
|
return Paths.getAppIcon(effectiveAppId, desktopEntry);
|
||||||
return Paths.getAppIcon(appId, desktopEntry);
|
|
||||||
}
|
}
|
||||||
smooth: true
|
smooth: true
|
||||||
mipmap: true
|
mipmap: true
|
||||||
@@ -565,20 +567,18 @@ BasePill {
|
|||||||
size: Theme.barIconSize(root.barThickness, undefined, root.barConfig?.maximizeWidgetIcons, root.barConfig?.iconScale)
|
size: Theme.barIconSize(root.barThickness, undefined, root.barConfig?.maximizeWidgetIcons, root.barConfig?.iconScale)
|
||||||
name: "sports_esports"
|
name: "sports_esports"
|
||||||
color: Theme.widgetTextColor
|
color: Theme.widgetTextColor
|
||||||
visible: !iconImg.visible && Paths.isSteamApp(appId)
|
visible: !iconImg.visible && Paths.isSteamApp(effectiveAppId)
|
||||||
}
|
}
|
||||||
|
|
||||||
Text {
|
Text {
|
||||||
anchors.centerIn: parent
|
anchors.centerIn: parent
|
||||||
visible: !iconImg.visible && !Paths.isSteamApp(appId)
|
visible: !iconImg.visible && !Paths.isSteamApp(effectiveAppId)
|
||||||
text: {
|
text: {
|
||||||
root._desktopEntriesUpdateTrigger;
|
root._desktopEntriesUpdateTrigger;
|
||||||
if (!appId)
|
if (!effectiveAppId)
|
||||||
return "?";
|
return "?";
|
||||||
|
const desktopEntry = DesktopEntries.heuristicLookup(effectiveAppId);
|
||||||
const moddedId = Paths.moddedAppId(appId);
|
const appName = Paths.getAppName(effectiveAppId, desktopEntry);
|
||||||
const desktopEntry = DesktopEntries.heuristicLookup(moddedId);
|
|
||||||
const appName = Paths.getAppName(appId, desktopEntry);
|
|
||||||
return appName.charAt(0).toUpperCase();
|
return appName.charAt(0).toUpperCase();
|
||||||
}
|
}
|
||||||
font.pixelSize: 10
|
font.pixelSize: 10
|
||||||
|
|||||||
@@ -282,15 +282,15 @@ Item {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const keyBase = (w.app_id || w.appId || w.class || w.windowClass || "unknown");
|
const keyBase = (w.app_id || w.appId || w.class || w.windowClass || "unknown");
|
||||||
const key = isActiveWs || !SettingsData.groupWorkspaceApps ? `${keyBase}_${i}` : keyBase;
|
const moddedId = Paths.moddedAppId(keyBase);
|
||||||
|
const key = isActiveWs || !SettingsData.groupWorkspaceApps ? `${moddedId}_${i}` : moddedId;
|
||||||
|
|
||||||
if (!byApp[key]) {
|
if (!byApp[key]) {
|
||||||
const isQuickshell = keyBase === "org.quickshell";
|
const isQuickshell = keyBase === "org.quickshell";
|
||||||
const isSteamApp = Paths.isSteamApp(keyBase);
|
const isSteamApp = Paths.isSteamApp(moddedId);
|
||||||
const moddedId = Paths.moddedAppId(keyBase);
|
|
||||||
const desktopEntry = DesktopEntries.heuristicLookup(moddedId);
|
const desktopEntry = DesktopEntries.heuristicLookup(moddedId);
|
||||||
const icon = Paths.getAppIcon(keyBase, desktopEntry);
|
const icon = Paths.getAppIcon(moddedId, desktopEntry);
|
||||||
const appName = Paths.getAppName(keyBase, desktopEntry);
|
const appName = Paths.getAppName(moddedId, desktopEntry);
|
||||||
byApp[key] = {
|
byApp[key] = {
|
||||||
"type": "icon",
|
"type": "icon",
|
||||||
"icon": icon,
|
"icon": icon,
|
||||||
|
|||||||
Reference in New Issue
Block a user