From 1a9449da1b2f80db529c2e6424dcb3bc065c3fee Mon Sep 17 00:00:00 2001 From: bbedward Date: Fri, 20 Mar 2026 10:03:33 -0400 Subject: [PATCH] qs: set app ID to com.danklinux.dms --- CHANGELOG.MD | 8 ++++++++ core/internal/config/embedded/niri.kdl | 1 + quickshell/Common/Paths.qml | 11 +++++++---- quickshell/Modules/DankBar/Widgets/AppsDock.qml | 4 ++-- .../Modules/DankBar/Widgets/AppsDockContextMenu.qml | 2 +- quickshell/Modules/DankBar/Widgets/FocusedApp.qml | 2 +- quickshell/Modules/DankBar/Widgets/RunningApps.qml | 2 +- quickshell/Modules/Dock/DockAppButton.qml | 10 +++++----- quickshell/Modules/Dock/DockApps.qml | 4 ++-- quickshell/Modules/Dock/DockContextMenu.qml | 2 +- quickshell/shell.qml | 1 + 11 files changed, 30 insertions(+), 17 deletions(-) diff --git a/CHANGELOG.MD b/CHANGELOG.MD index 767cae0e..4494ec20 100644 --- a/CHANGELOG.MD +++ b/CHANGELOG.MD @@ -1,5 +1,13 @@ This file is more of a quick reference so I know what to account for before next releases. +# 1.5.0 +- Overhauled shadows +- App ID changed to com.danklinux.dms - breaking for window rules +- Greeter stuff +- Terminal mux +- Locale overrides +- new neovim theming + # 1.4.0 - Overhauled system monitor, graphs, styling diff --git a/core/internal/config/embedded/niri.kdl b/core/internal/config/embedded/niri.kdl index 6a7df4a6..e22d0199 100644 --- a/core/internal/config/embedded/niri.kdl +++ b/core/internal/config/embedded/niri.kdl @@ -252,6 +252,7 @@ window-rule { // Open dms windows as floating by default window-rule { match app-id=r#"org.quickshell$"# + match app-id=r#"com.danklinux.dms$"# open-floating true } debug { diff --git a/quickshell/Common/Paths.qml b/quickshell/Common/Paths.qml index ee50cefb..87ed822e 100644 --- a/quickshell/Common/Paths.qml +++ b/quickshell/Common/Paths.qml @@ -72,7 +72,8 @@ Singleton { } function resolveIconPath(iconName: string): string { - if (!iconName) return ""; + if (!iconName) + return ""; const moddedId = moddedAppId(iconName); if (moddedId !== iconName) { if (moddedId.startsWith("~") || moddedId.startsWith("/")) @@ -85,7 +86,8 @@ Singleton { } function resolveIconUrl(iconName: string): string { - if (!iconName) return ""; + if (!iconName) + return ""; const moddedId = moddedAppId(iconName); if (moddedId !== iconName) { if (moddedId.startsWith("~") || moddedId.startsWith("/")) @@ -98,7 +100,8 @@ Singleton { } function getAppIcon(appId: string, desktopEntry: var): string { - if (appId === "org.quickshell") { + // ! TODO - after QS 0.3, we can install our icon properly + if (appId === "org.quickshell" || appId === "com.danklinux.dms") { return Qt.resolvedUrl("../assets/danklogo.svg"); } @@ -118,7 +121,7 @@ Singleton { } function getAppName(appId: string, desktopEntry: var): string { - if (appId === "org.quickshell") { + if (appId === "org.quickshell" || appId === "com.danklinux.dms") { return "dms"; } diff --git a/quickshell/Modules/DankBar/Widgets/AppsDock.qml b/quickshell/Modules/DankBar/Widgets/AppsDock.qml index 9e242965..901555d2 100644 --- a/quickshell/Modules/DankBar/Widgets/AppsDock.qml +++ b/quickshell/Modules/DankBar/Widgets/AppsDock.qml @@ -248,7 +248,7 @@ BasePill { let appId = Paths.moddedAppId(rawAppId); let coreAppData = null; - if (rawAppId === "org.quickshell") { + if (rawAppId === "org.quickshell" || rawAppId === "com.danklinux.dms") { coreAppData = getCoreAppDataByTitle(toplevel.title); if (coreAppData) { appId = coreAppData.builtInPluginId; @@ -697,7 +697,7 @@ BasePill { mipmap: true asynchronous: true visible: status === Image.Ready && !coreIcon.visible - layer.enabled: appItem.appId === "org.quickshell" + layer.enabled: appItem.appId === "org.quickshell" || appItem.appId === "com.danklinux.dms" layer.smooth: true layer.mipmap: true layer.effect: MultiEffect { diff --git a/quickshell/Modules/DankBar/Widgets/AppsDockContextMenu.qml b/quickshell/Modules/DankBar/Widgets/AppsDockContextMenu.qml index e6c6b185..46c4f693 100644 --- a/quickshell/Modules/DankBar/Widgets/AppsDockContextMenu.qml +++ b/quickshell/Modules/DankBar/Widgets/AppsDockContextMenu.qml @@ -16,7 +16,7 @@ PanelWindow { property int margin: 10 property bool hidePin: false property var desktopEntry: null - property bool isDmsWindow: appData?.appId === "org.quickshell" + property bool isDmsWindow: appData?.appId === "org.quickshell" || appData?.appId === "com.danklinux.dms" property bool isVertical: false property string edge: "top" diff --git a/quickshell/Modules/DankBar/Widgets/FocusedApp.qml b/quickshell/Modules/DankBar/Widgets/FocusedApp.qml index a177121c..796932f5 100644 --- a/quickshell/Modules/DankBar/Widgets/FocusedApp.qml +++ b/quickshell/Modules/DankBar/Widgets/FocusedApp.qml @@ -145,7 +145,7 @@ BasePill { smooth: true mipmap: true asynchronous: true - layer.enabled: activeWindow && activeWindow.appId === "org.quickshell" + layer.enabled: activeWindow && (activeWindow.appId === "org.quickshell" || activeWindow.appId === "com.danklinux.dms") layer.smooth: true layer.mipmap: true layer.effect: MultiEffect { diff --git a/quickshell/Modules/DankBar/Widgets/RunningApps.qml b/quickshell/Modules/DankBar/Widgets/RunningApps.qml index f389e753..bfdd3d6b 100644 --- a/quickshell/Modules/DankBar/Widgets/RunningApps.qml +++ b/quickshell/Modules/DankBar/Widgets/RunningApps.qml @@ -296,7 +296,7 @@ BasePill { mipmap: true asynchronous: true visible: status === Image.Ready - layer.enabled: appId === "org.quickshell" + layer.enabled: appId === "org.quickshell" || appId === "com.danklinux.dms" layer.smooth: true layer.mipmap: true layer.effect: MultiEffect { diff --git a/quickshell/Modules/Dock/DockAppButton.qml b/quickshell/Modules/Dock/DockAppButton.qml index 42fe39c5..1d9fb755 100644 --- a/quickshell/Modules/Dock/DockAppButton.qml +++ b/quickshell/Modules/Dock/DockAppButton.qml @@ -344,7 +344,7 @@ Item { groupedToplevel.activate(); } } else if (contextMenu) { - const shouldHidePin = appData.appId === "org.quickshell"; + const shouldHidePin = appData.appId === "org.quickshell" || appData.appId === "com.danklinux.dms"; contextMenu.showForButton(root, appData, root.height + 25, shouldHidePin, cachedDesktopEntry, parentDockScreen, dockApps); } break; @@ -391,7 +391,7 @@ Item { break; case "grouped": if (contextMenu) { - const shouldHidePin = appData.appId === "org.quickshell"; + const shouldHidePin = appData.appId === "org.quickshell" || appData.appId === "com.danklinux.dms"; contextMenu.showForButton(root, appData, root.height, shouldHidePin, cachedDesktopEntry, parentDockScreen, dockApps); } break; @@ -414,7 +414,7 @@ Item { } else if (mouse.button === Qt.RightButton) { if (!contextMenu) return; - const shouldHidePin = appData.appId === "org.quickshell"; + const shouldHidePin = appData.appId === "org.quickshell" || appData.appId === "com.danklinux.dms"; contextMenu.showForButton(root, appData, root.height, shouldHidePin, cachedDesktopEntry, parentDockScreen, dockApps); } } @@ -471,7 +471,7 @@ Item { id: iconImg anchors.centerIn: parent - implicitSize: appData && appData.appId === "org.quickshell" ? actualIconSize * 0.85 : actualIconSize + implicitSize: appData && (appData.appId === "org.quickshell" || appData.appId === "com.danklinux.dms") ? actualIconSize * 0.85 : actualIconSize source: { if (!appData || appData.appId === "__SEPARATOR__") { return ""; @@ -485,7 +485,7 @@ Item { smooth: true asynchronous: true visible: status === Image.Ready && !coreIcon.visible - layer.enabled: appData && appData.appId === "org.quickshell" + layer.enabled: appData && (appData.appId === "org.quickshell" || appData.appId === "com.danklinux.dms") layer.smooth: true layer.mipmap: true layer.effect: MultiEffect { diff --git a/quickshell/Modules/Dock/DockApps.qml b/quickshell/Modules/Dock/DockApps.qml index 34b4d497..6d2990d7 100644 --- a/quickshell/Modules/Dock/DockApps.qml +++ b/quickshell/Modules/Dock/DockApps.qml @@ -161,7 +161,7 @@ Item { let appId = Paths.moddedAppId(rawAppId); let coreAppData = null; - if (rawAppId === "org.quickshell") { + if (rawAppId === "org.quickshell" || rawAppId === "com.danklinux.dms") { coreAppData = getCoreAppDataByTitle(toplevel.title); if (coreAppData) appId = coreAppData.builtInPluginId; @@ -241,7 +241,7 @@ Item { let coreAppData = null; let isCoreApp = false; - if (rawAppId === "org.quickshell") { + if (rawAppId === "org.quickshell" || rawAppId === "com.danklinux.dms") { coreAppData = getCoreAppDataByTitle(toplevel.title); if (coreAppData) isCoreApp = true; diff --git a/quickshell/Modules/Dock/DockContextMenu.qml b/quickshell/Modules/Dock/DockContextMenu.qml index 50a144c3..375e21c9 100644 --- a/quickshell/Modules/Dock/DockContextMenu.qml +++ b/quickshell/Modules/Dock/DockContextMenu.qml @@ -17,7 +17,7 @@ PanelWindow { property int margin: 10 property bool hidePin: false property var desktopEntry: null - property bool isDmsWindow: appData?.appId === "org.quickshell" + property bool isDmsWindow: appData?.appId === "org.quickshell" || appData?.appId === "com.danklinux.dms" property var dockApps: null function showForButton(button, data, dockHeight, hidePinOption, entry, dockScreen, parentDockApps) { diff --git a/quickshell/shell.qml b/quickshell/shell.qml index fabe6d74..7c84fc2c 100644 --- a/quickshell/shell.qml +++ b/quickshell/shell.qml @@ -5,6 +5,7 @@ //@ pragma Env QT_WAYLAND_DISABLE_WINDOWDECORATION=1 //@ pragma Env QT_QUICK_CONTROLS_STYLE=Material //@ pragma UseQApplication +//@ pragma AppId com.danklinux.dms import QtQuick import Quickshell