mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-05-16 01:02:46 -04:00
Compare commits
6 Commits
959190dcbc
...
8d0f256f74
| Author | SHA1 | Date | |
|---|---|---|---|
| 8d0f256f74 | |||
| 1a9449da1b | |||
| 1caf8942b7 | |||
| 9efbcbcd20 | |||
| 3d07b8c9c1 | |||
| dae74a40c0 |
@@ -1,5 +1,13 @@
|
|||||||
This file is more of a quick reference so I know what to account for before next releases.
|
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
|
# 1.4.0
|
||||||
|
|
||||||
- Overhauled system monitor, graphs, styling
|
- Overhauled system monitor, graphs, styling
|
||||||
|
|||||||
@@ -252,6 +252,7 @@ window-rule {
|
|||||||
// Open dms windows as floating by default
|
// Open dms windows as floating by default
|
||||||
window-rule {
|
window-rule {
|
||||||
match app-id=r#"org.quickshell$"#
|
match app-id=r#"org.quickshell$"#
|
||||||
|
match app-id=r#"com.danklinux.dms$"#
|
||||||
open-floating true
|
open-floating true
|
||||||
}
|
}
|
||||||
debug {
|
debug {
|
||||||
|
|||||||
@@ -72,7 +72,8 @@ Singleton {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function resolveIconPath(iconName: string): string {
|
function resolveIconPath(iconName: string): string {
|
||||||
if (!iconName) return "";
|
if (!iconName)
|
||||||
|
return "";
|
||||||
const moddedId = moddedAppId(iconName);
|
const moddedId = moddedAppId(iconName);
|
||||||
if (moddedId !== iconName) {
|
if (moddedId !== iconName) {
|
||||||
if (moddedId.startsWith("~") || moddedId.startsWith("/"))
|
if (moddedId.startsWith("~") || moddedId.startsWith("/"))
|
||||||
@@ -85,7 +86,8 @@ Singleton {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function resolveIconUrl(iconName: string): string {
|
function resolveIconUrl(iconName: string): string {
|
||||||
if (!iconName) return "";
|
if (!iconName)
|
||||||
|
return "";
|
||||||
const moddedId = moddedAppId(iconName);
|
const moddedId = moddedAppId(iconName);
|
||||||
if (moddedId !== iconName) {
|
if (moddedId !== iconName) {
|
||||||
if (moddedId.startsWith("~") || moddedId.startsWith("/"))
|
if (moddedId.startsWith("~") || moddedId.startsWith("/"))
|
||||||
@@ -98,7 +100,8 @@ Singleton {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function getAppIcon(appId: string, desktopEntry: var): string {
|
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");
|
return Qt.resolvedUrl("../assets/danklogo.svg");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -118,7 +121,7 @@ Singleton {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function getAppName(appId: string, desktopEntry: var): string {
|
function getAppName(appId: string, desktopEntry: var): string {
|
||||||
if (appId === "org.quickshell") {
|
if (appId === "org.quickshell" || appId === "com.danklinux.dms") {
|
||||||
return "dms";
|
return "dms";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -12,6 +12,27 @@ Singleton {
|
|||||||
signal popoutOpening
|
signal popoutOpening
|
||||||
signal popoutChanged
|
signal popoutChanged
|
||||||
|
|
||||||
|
function _closePopout(popout) {
|
||||||
|
switch (true) {
|
||||||
|
case popout.dashVisible !== undefined:
|
||||||
|
popout.dashVisible = false;
|
||||||
|
return;
|
||||||
|
case popout.notificationHistoryVisible !== undefined:
|
||||||
|
popout.notificationHistoryVisible = false;
|
||||||
|
return;
|
||||||
|
default:
|
||||||
|
popout.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function _isStale(popout) {
|
||||||
|
try {
|
||||||
|
return !popout || !("shouldBeVisible" in popout);
|
||||||
|
} catch (e) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function showPopout(popout) {
|
function showPopout(popout) {
|
||||||
if (!popout || !popout.screen)
|
if (!popout || !popout.screen)
|
||||||
return;
|
return;
|
||||||
@@ -23,13 +44,11 @@ Singleton {
|
|||||||
const otherPopout = currentPopoutsByScreen[otherScreenName];
|
const otherPopout = currentPopoutsByScreen[otherScreenName];
|
||||||
if (!otherPopout || otherPopout === popout)
|
if (!otherPopout || otherPopout === popout)
|
||||||
continue;
|
continue;
|
||||||
if (otherPopout.dashVisible !== undefined) {
|
if (_isStale(otherPopout)) {
|
||||||
otherPopout.dashVisible = false;
|
currentPopoutsByScreen[otherScreenName] = null;
|
||||||
} else if (otherPopout.notificationHistoryVisible !== undefined) {
|
continue;
|
||||||
otherPopout.notificationHistoryVisible = false;
|
|
||||||
} else {
|
|
||||||
otherPopout.close();
|
|
||||||
}
|
}
|
||||||
|
_closePopout(otherPopout);
|
||||||
}
|
}
|
||||||
|
|
||||||
currentPopoutsByScreen[screenName] = popout;
|
currentPopoutsByScreen[screenName] = popout;
|
||||||
@@ -51,15 +70,9 @@ Singleton {
|
|||||||
function closeAllPopouts() {
|
function closeAllPopouts() {
|
||||||
for (const screenName in currentPopoutsByScreen) {
|
for (const screenName in currentPopoutsByScreen) {
|
||||||
const popout = currentPopoutsByScreen[screenName];
|
const popout = currentPopoutsByScreen[screenName];
|
||||||
if (!popout)
|
if (!popout || _isStale(popout))
|
||||||
continue;
|
continue;
|
||||||
if (popout.dashVisible !== undefined) {
|
_closePopout(popout);
|
||||||
popout.dashVisible = false;
|
|
||||||
} else if (popout.notificationHistoryVisible !== undefined) {
|
|
||||||
popout.notificationHistoryVisible = false;
|
|
||||||
} else {
|
|
||||||
popout.close();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
currentPopoutsByScreen = {};
|
currentPopoutsByScreen = {};
|
||||||
}
|
}
|
||||||
@@ -90,6 +103,12 @@ Singleton {
|
|||||||
if (!otherPopout)
|
if (!otherPopout)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
if (_isStale(otherPopout)) {
|
||||||
|
currentPopoutsByScreen[otherScreenName] = null;
|
||||||
|
currentPopoutTriggers[otherScreenName] = null;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if (otherPopout === popout) {
|
if (otherPopout === popout) {
|
||||||
movedFromOtherScreen = true;
|
movedFromOtherScreen = true;
|
||||||
currentPopoutsByScreen[otherScreenName] = null;
|
currentPopoutsByScreen[otherScreenName] = null;
|
||||||
@@ -97,45 +116,26 @@ Singleton {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (otherPopout.dashVisible !== undefined) {
|
_closePopout(otherPopout);
|
||||||
otherPopout.dashVisible = false;
|
|
||||||
} else if (otherPopout.notificationHistoryVisible !== undefined) {
|
|
||||||
otherPopout.notificationHistoryVisible = false;
|
|
||||||
} else {
|
|
||||||
otherPopout.close();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (currentPopout && currentPopout !== popout) {
|
if (currentPopout && currentPopout !== popout) {
|
||||||
if (currentPopout.dashVisible !== undefined) {
|
if (_isStale(currentPopout)) {
|
||||||
currentPopout.dashVisible = false;
|
currentPopoutsByScreen[screenName] = null;
|
||||||
} else if (currentPopout.notificationHistoryVisible !== undefined) {
|
currentPopoutTriggers[screenName] = null;
|
||||||
currentPopout.notificationHistoryVisible = false;
|
|
||||||
} else {
|
} else {
|
||||||
currentPopout.close();
|
_closePopout(currentPopout);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (currentPopout === popout && popout.shouldBeVisible && !movedFromOtherScreen) {
|
if (currentPopout === popout && popout.shouldBeVisible && !movedFromOtherScreen) {
|
||||||
if (triggerId !== undefined && currentPopoutTriggers[screenName] === triggerId) {
|
if (triggerId !== undefined && currentPopoutTriggers[screenName] === triggerId) {
|
||||||
if (popout.dashVisible !== undefined) {
|
_closePopout(popout);
|
||||||
popout.dashVisible = false;
|
|
||||||
} else if (popout.notificationHistoryVisible !== undefined) {
|
|
||||||
popout.notificationHistoryVisible = false;
|
|
||||||
} else {
|
|
||||||
popout.close();
|
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (triggerId === undefined) {
|
if (triggerId === undefined) {
|
||||||
if (popout.dashVisible !== undefined) {
|
_closePopout(popout);
|
||||||
popout.dashVisible = false;
|
|
||||||
} else if (popout.notificationHistoryVisible !== undefined) {
|
|
||||||
popout.notificationHistoryVisible = false;
|
|
||||||
} else {
|
|
||||||
popout.close();
|
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -81,7 +81,7 @@ DankModal {
|
|||||||
|
|
||||||
StyledText {
|
StyledText {
|
||||||
Layout.alignment: Qt.AlignLeft
|
Layout.alignment: Qt.AlignLeft
|
||||||
text: KeybindsService.cheatsheet.title || "Keybinds"
|
text: KeybindsService.cheatsheet.title || i18n("Keybinds")
|
||||||
font.pixelSize: Theme.fontSizeLarge
|
font.pixelSize: Theme.fontSizeLarge
|
||||||
font.weight: Font.Bold
|
font.weight: Font.Bold
|
||||||
color: Theme.primary
|
color: Theme.primary
|
||||||
@@ -309,10 +309,12 @@ DankModal {
|
|||||||
id: keyText
|
id: keyText
|
||||||
anchors.centerIn: parent
|
anchors.centerIn: parent
|
||||||
color: Theme.secondary
|
color: Theme.secondary
|
||||||
text: modelData.key || ""
|
text: (modelData.key || "").replace(/\+/g, " + ")
|
||||||
font.pixelSize: Theme.fontSizeSmall
|
font.pixelSize: Theme.fontSizeSmall
|
||||||
font.weight: Font.Medium
|
font.weight: Font.Medium
|
||||||
isMonospace: true
|
isMonospace: true
|
||||||
|
elide: Text.ElideRight
|
||||||
|
width: Math.min(implicitWidth, 148)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -325,6 +327,7 @@ DankModal {
|
|||||||
font.pixelSize: Theme.fontSizeSmall
|
font.pixelSize: Theme.fontSizeSmall
|
||||||
opacity: 0.9
|
opacity: 0.9
|
||||||
elide: Text.ElideRight
|
elide: Text.ElideRight
|
||||||
|
wrapMode: Text.NoWrap
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -507,7 +507,7 @@ FocusScope {
|
|||||||
Loader {
|
Loader {
|
||||||
id: muxLoader
|
id: muxLoader
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
active: root.currentIndex === 30
|
active: root.currentIndex === 32
|
||||||
visible: active
|
visible: active
|
||||||
focus: active
|
focus: active
|
||||||
|
|
||||||
|
|||||||
@@ -156,7 +156,7 @@ Rectangle {
|
|||||||
{
|
{
|
||||||
"id": "running_apps",
|
"id": "running_apps",
|
||||||
"text": I18n.tr("Running Apps"),
|
"text": I18n.tr("Running Apps"),
|
||||||
"icon": "apps",
|
"icon": "app_registration",
|
||||||
"tabIndex": 19,
|
"tabIndex": 19,
|
||||||
"hyprlandNiriOnly": true
|
"hyprlandNiriOnly": true
|
||||||
},
|
},
|
||||||
@@ -237,7 +237,7 @@ Rectangle {
|
|||||||
{
|
{
|
||||||
"id": "system",
|
"id": "system",
|
||||||
"text": I18n.tr("System"),
|
"text": I18n.tr("System"),
|
||||||
"icon": "computer",
|
"icon": "memory",
|
||||||
"collapsedByDefault": true,
|
"collapsedByDefault": true,
|
||||||
"children": [
|
"children": [
|
||||||
{
|
{
|
||||||
@@ -270,7 +270,7 @@ Rectangle {
|
|||||||
"id": "multiplexers",
|
"id": "multiplexers",
|
||||||
"text": I18n.tr("Multiplexers"),
|
"text": I18n.tr("Multiplexers"),
|
||||||
"icon": "terminal",
|
"icon": "terminal",
|
||||||
"tabIndex": 30
|
"tabIndex": 32
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "window_rules",
|
"id": "window_rules",
|
||||||
|
|||||||
@@ -100,10 +100,10 @@ Variants {
|
|||||||
Connections {
|
Connections {
|
||||||
target: currentWallpaper
|
target: currentWallpaper
|
||||||
function onStatusChanged() {
|
function onStatusChanged() {
|
||||||
if (currentWallpaper.status === Image.Ready) {
|
if (currentWallpaper.status !== Image.Ready && currentWallpaper.status !== Image.Error)
|
||||||
root._renderSettling = true;
|
return;
|
||||||
renderSettleTimer.restart();
|
root._renderSettling = true;
|
||||||
}
|
renderSettleTimer.restart();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -206,6 +206,7 @@ Variants {
|
|||||||
visible: false
|
visible: false
|
||||||
opacity: 1
|
opacity: 1
|
||||||
asynchronous: true
|
asynchronous: true
|
||||||
|
retainWhileLoading: true
|
||||||
smooth: true
|
smooth: true
|
||||||
cache: true
|
cache: true
|
||||||
sourceSize: Qt.size(root.textureWidth, root.textureHeight)
|
sourceSize: Qt.size(root.textureWidth, root.textureHeight)
|
||||||
@@ -218,6 +219,7 @@ Variants {
|
|||||||
visible: false
|
visible: false
|
||||||
opacity: 0
|
opacity: 0
|
||||||
asynchronous: true
|
asynchronous: true
|
||||||
|
retainWhileLoading: true
|
||||||
smooth: true
|
smooth: true
|
||||||
cache: true
|
cache: true
|
||||||
sourceSize: Qt.size(root.textureWidth, root.textureHeight)
|
sourceSize: Qt.size(root.textureWidth, root.textureHeight)
|
||||||
@@ -300,6 +302,8 @@ Variants {
|
|||||||
root.useNextForEffect = false;
|
root.useNextForEffect = false;
|
||||||
nextWallpaper.source = "";
|
nextWallpaper.source = "";
|
||||||
root.transitionProgress = 0.0;
|
root.transitionProgress = 0.0;
|
||||||
|
root._renderSettling = true;
|
||||||
|
renderSettleTimer.restart();
|
||||||
root.effectActive = false;
|
root.effectActive = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -248,7 +248,7 @@ BasePill {
|
|||||||
let appId = Paths.moddedAppId(rawAppId);
|
let appId = Paths.moddedAppId(rawAppId);
|
||||||
|
|
||||||
let coreAppData = null;
|
let coreAppData = null;
|
||||||
if (rawAppId === "org.quickshell") {
|
if (rawAppId === "org.quickshell" || rawAppId === "com.danklinux.dms") {
|
||||||
coreAppData = getCoreAppDataByTitle(toplevel.title);
|
coreAppData = getCoreAppDataByTitle(toplevel.title);
|
||||||
if (coreAppData) {
|
if (coreAppData) {
|
||||||
appId = coreAppData.builtInPluginId;
|
appId = coreAppData.builtInPluginId;
|
||||||
@@ -697,7 +697,7 @@ BasePill {
|
|||||||
mipmap: true
|
mipmap: true
|
||||||
asynchronous: true
|
asynchronous: true
|
||||||
visible: status === Image.Ready && !coreIcon.visible
|
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.smooth: true
|
||||||
layer.mipmap: true
|
layer.mipmap: true
|
||||||
layer.effect: MultiEffect {
|
layer.effect: MultiEffect {
|
||||||
@@ -990,7 +990,7 @@ BasePill {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
const shouldHidePin = modelData.appId === "org.quickshell";
|
const shouldHidePin = modelData.appId === "org.quickshell" || modelData.appId === "com.danklinux.dms";
|
||||||
const moddedId = Paths.moddedAppId(modelData.appId);
|
const moddedId = Paths.moddedAppId(modelData.appId);
|
||||||
const desktopEntry = moddedId ? DesktopEntries.heuristicLookup(moddedId) : null;
|
const desktopEntry = moddedId ? DesktopEntries.heuristicLookup(moddedId) : null;
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ PanelWindow {
|
|||||||
property int margin: 10
|
property int margin: 10
|
||||||
property bool hidePin: false
|
property bool hidePin: false
|
||||||
property var desktopEntry: null
|
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 bool isVertical: false
|
||||||
property string edge: "top"
|
property string edge: "top"
|
||||||
|
|||||||
@@ -145,7 +145,7 @@ BasePill {
|
|||||||
smooth: true
|
smooth: true
|
||||||
mipmap: true
|
mipmap: true
|
||||||
asynchronous: 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.smooth: true
|
||||||
layer.mipmap: true
|
layer.mipmap: true
|
||||||
layer.effect: MultiEffect {
|
layer.effect: MultiEffect {
|
||||||
|
|||||||
@@ -296,7 +296,7 @@ BasePill {
|
|||||||
mipmap: true
|
mipmap: true
|
||||||
asynchronous: true
|
asynchronous: true
|
||||||
visible: status === Image.Ready
|
visible: status === Image.Ready
|
||||||
layer.enabled: appId === "org.quickshell"
|
layer.enabled: appId === "org.quickshell" || appId === "com.danklinux.dms"
|
||||||
layer.smooth: true
|
layer.smooth: true
|
||||||
layer.mipmap: true
|
layer.mipmap: true
|
||||||
layer.effect: MultiEffect {
|
layer.effect: MultiEffect {
|
||||||
@@ -550,7 +550,7 @@ BasePill {
|
|||||||
mipmap: true
|
mipmap: true
|
||||||
asynchronous: true
|
asynchronous: true
|
||||||
visible: status === Image.Ready
|
visible: status === Image.Ready
|
||||||
layer.enabled: appId === "org.quickshell"
|
layer.enabled: appId === "org.quickshell" || appId === "com.danklinux.dms"
|
||||||
layer.smooth: true
|
layer.smooth: true
|
||||||
layer.mipmap: true
|
layer.mipmap: true
|
||||||
layer.effect: MultiEffect {
|
layer.effect: MultiEffect {
|
||||||
|
|||||||
@@ -286,7 +286,7 @@ Item {
|
|||||||
const key = isActiveWs || !SettingsData.groupWorkspaceApps ? `${moddedId}_${i}` : moddedId;
|
const key = isActiveWs || !SettingsData.groupWorkspaceApps ? `${moddedId}_${i}` : moddedId;
|
||||||
|
|
||||||
if (!byApp[key]) {
|
if (!byApp[key]) {
|
||||||
const isQuickshell = keyBase === "org.quickshell";
|
const isQuickshell = keyBase === "org.quickshell" || keyBase === "com.danklinux.dms";
|
||||||
const isSteamApp = Paths.isSteamApp(moddedId);
|
const isSteamApp = Paths.isSteamApp(moddedId);
|
||||||
const desktopEntry = DesktopEntries.heuristicLookup(moddedId);
|
const desktopEntry = DesktopEntries.heuristicLookup(moddedId);
|
||||||
const icon = Paths.getAppIcon(moddedId, desktopEntry);
|
const icon = Paths.getAppIcon(moddedId, desktopEntry);
|
||||||
|
|||||||
@@ -344,7 +344,7 @@ Item {
|
|||||||
groupedToplevel.activate();
|
groupedToplevel.activate();
|
||||||
}
|
}
|
||||||
} else if (contextMenu) {
|
} 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);
|
contextMenu.showForButton(root, appData, root.height + 25, shouldHidePin, cachedDesktopEntry, parentDockScreen, dockApps);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -391,7 +391,7 @@ Item {
|
|||||||
break;
|
break;
|
||||||
case "grouped":
|
case "grouped":
|
||||||
if (contextMenu) {
|
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);
|
contextMenu.showForButton(root, appData, root.height, shouldHidePin, cachedDesktopEntry, parentDockScreen, dockApps);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -414,7 +414,7 @@ Item {
|
|||||||
} else if (mouse.button === Qt.RightButton) {
|
} else if (mouse.button === Qt.RightButton) {
|
||||||
if (!contextMenu)
|
if (!contextMenu)
|
||||||
return;
|
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);
|
contextMenu.showForButton(root, appData, root.height, shouldHidePin, cachedDesktopEntry, parentDockScreen, dockApps);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -471,7 +471,7 @@ Item {
|
|||||||
id: iconImg
|
id: iconImg
|
||||||
|
|
||||||
anchors.centerIn: parent
|
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: {
|
source: {
|
||||||
if (!appData || appData.appId === "__SEPARATOR__") {
|
if (!appData || appData.appId === "__SEPARATOR__") {
|
||||||
return "";
|
return "";
|
||||||
@@ -485,7 +485,7 @@ Item {
|
|||||||
smooth: true
|
smooth: true
|
||||||
asynchronous: true
|
asynchronous: true
|
||||||
visible: status === Image.Ready && !coreIcon.visible
|
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.smooth: true
|
||||||
layer.mipmap: true
|
layer.mipmap: true
|
||||||
layer.effect: MultiEffect {
|
layer.effect: MultiEffect {
|
||||||
|
|||||||
@@ -161,7 +161,7 @@ Item {
|
|||||||
let appId = Paths.moddedAppId(rawAppId);
|
let appId = Paths.moddedAppId(rawAppId);
|
||||||
let coreAppData = null;
|
let coreAppData = null;
|
||||||
|
|
||||||
if (rawAppId === "org.quickshell") {
|
if (rawAppId === "org.quickshell" || rawAppId === "com.danklinux.dms") {
|
||||||
coreAppData = getCoreAppDataByTitle(toplevel.title);
|
coreAppData = getCoreAppDataByTitle(toplevel.title);
|
||||||
if (coreAppData)
|
if (coreAppData)
|
||||||
appId = coreAppData.builtInPluginId;
|
appId = coreAppData.builtInPluginId;
|
||||||
@@ -241,7 +241,7 @@ Item {
|
|||||||
let coreAppData = null;
|
let coreAppData = null;
|
||||||
let isCoreApp = false;
|
let isCoreApp = false;
|
||||||
|
|
||||||
if (rawAppId === "org.quickshell") {
|
if (rawAppId === "org.quickshell" || rawAppId === "com.danklinux.dms") {
|
||||||
coreAppData = getCoreAppDataByTitle(toplevel.title);
|
coreAppData = getCoreAppDataByTitle(toplevel.title);
|
||||||
if (coreAppData)
|
if (coreAppData)
|
||||||
isCoreApp = true;
|
isCoreApp = true;
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ PanelWindow {
|
|||||||
property int margin: 10
|
property int margin: 10
|
||||||
property bool hidePin: false
|
property bool hidePin: false
|
||||||
property var desktopEntry: null
|
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
|
property var dockApps: null
|
||||||
|
|
||||||
function showForButton(button, data, dockHeight, hidePinOption, entry, dockScreen, parentDockApps) {
|
function showForButton(button, data, dockHeight, hidePinOption, entry, dockScreen, parentDockApps) {
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ Scope {
|
|||||||
property bool shouldLock: false
|
property bool shouldLock: false
|
||||||
|
|
||||||
onShouldLockChanged: {
|
onShouldLockChanged: {
|
||||||
|
IdleService.isShellLocked = shouldLock;
|
||||||
if (shouldLock && lockPowerOffArmed) {
|
if (shouldLock && lockPowerOffArmed) {
|
||||||
lockStateCheck.restart();
|
lockStateCheck.restart();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ Item {
|
|||||||
"zellij"
|
"zellij"
|
||||||
]
|
]
|
||||||
|
|
||||||
DankFlickable {
|
DankFlickable {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
clip: true
|
clip: true
|
||||||
contentHeight: mainColumn.height + Theme.spacingXL
|
contentHeight: mainColumn.height + Theme.spacingXL
|
||||||
@@ -79,7 +79,6 @@ DankFlickable {
|
|||||||
onTextEdited: SettingsData.set("muxCustomCommand", text)
|
onTextEdited: SettingsData.set("muxCustomCommand", text)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
SettingsCard {
|
SettingsCard {
|
||||||
|
|||||||
@@ -93,10 +93,10 @@ Variants {
|
|||||||
Connections {
|
Connections {
|
||||||
target: currentWallpaper
|
target: currentWallpaper
|
||||||
function onStatusChanged() {
|
function onStatusChanged() {
|
||||||
if (currentWallpaper.status === Image.Ready) {
|
if (currentWallpaper.status !== Image.Ready && currentWallpaper.status !== Image.Error)
|
||||||
root._renderSettling = true;
|
return;
|
||||||
renderSettleTimer.restart();
|
root._renderSettling = true;
|
||||||
}
|
renderSettleTimer.restart();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -151,6 +151,16 @@ Variants {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Connections {
|
||||||
|
target: IdleService
|
||||||
|
function onIsShellLockedChanged() {
|
||||||
|
if (!IdleService.isShellLocked) {
|
||||||
|
root._renderSettling = true;
|
||||||
|
renderSettleTimer.restart();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Timer {
|
Timer {
|
||||||
id: renderSettleTimer
|
id: renderSettleTimer
|
||||||
interval: 1000
|
interval: 1000
|
||||||
@@ -188,7 +198,7 @@ Variants {
|
|||||||
|
|
||||||
Component.onCompleted: {
|
Component.onCompleted: {
|
||||||
if (typeof wallpaperWindow.updatesEnabled !== "undefined")
|
if (typeof wallpaperWindow.updatesEnabled !== "undefined")
|
||||||
wallpaperWindow.updatesEnabled = Qt.binding(() => !root.source || root.effectActive || root._renderSettling || root.overviewBlurActive || root._overviewBlurSettling || currentWallpaper.status === Image.Loading || nextWallpaper.status === Image.Loading);
|
wallpaperWindow.updatesEnabled = Qt.binding(() => !root.source || root.effectActive || root._renderSettling || root.overviewBlurActive || root._overviewBlurSettling || root.pendingWallpaper !== "" || root._deferredSource !== "" || currentWallpaper.status === Image.Loading || nextWallpaper.status === Image.Loading);
|
||||||
|
|
||||||
if (!source) {
|
if (!source) {
|
||||||
root._renderSettling = false;
|
root._renderSettling = false;
|
||||||
@@ -320,6 +330,7 @@ Variants {
|
|||||||
opacity: 1
|
opacity: 1
|
||||||
layer.enabled: false
|
layer.enabled: false
|
||||||
asynchronous: true
|
asynchronous: true
|
||||||
|
retainWhileLoading: true
|
||||||
smooth: true
|
smooth: true
|
||||||
cache: true
|
cache: true
|
||||||
sourceSize: Qt.size(root.textureWidth, root.textureHeight)
|
sourceSize: Qt.size(root.textureWidth, root.textureHeight)
|
||||||
@@ -333,6 +344,7 @@ Variants {
|
|||||||
opacity: 0
|
opacity: 0
|
||||||
layer.enabled: false
|
layer.enabled: false
|
||||||
asynchronous: true
|
asynchronous: true
|
||||||
|
retainWhileLoading: true
|
||||||
smooth: true
|
smooth: true
|
||||||
cache: true
|
cache: true
|
||||||
sourceSize: Qt.size(root.textureWidth, root.textureHeight)
|
sourceSize: Qt.size(root.textureWidth, root.textureHeight)
|
||||||
@@ -591,6 +603,8 @@ Variants {
|
|||||||
root.transitionProgress = 0.0;
|
root.transitionProgress = 0.0;
|
||||||
currentWallpaper.layer.enabled = false;
|
currentWallpaper.layer.enabled = false;
|
||||||
nextWallpaper.layer.enabled = false;
|
nextWallpaper.layer.enabled = false;
|
||||||
|
root._renderSettling = true;
|
||||||
|
renderSettleTimer.restart();
|
||||||
root.effectActive = false;
|
root.effectActive = false;
|
||||||
|
|
||||||
if (!root.pendingWallpaper)
|
if (!root.pendingWallpaper)
|
||||||
|
|||||||
@@ -64,6 +64,7 @@ Singleton {
|
|||||||
property var suspendMonitor: null
|
property var suspendMonitor: null
|
||||||
property var lockComponent: null
|
property var lockComponent: null
|
||||||
property bool monitorsOff: false
|
property bool monitorsOff: false
|
||||||
|
property bool isShellLocked: false
|
||||||
|
|
||||||
function wake() {
|
function wake() {
|
||||||
requestMonitorOn();
|
requestMonitorOn();
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
//@ pragma Env QT_WAYLAND_DISABLE_WINDOWDECORATION=1
|
//@ pragma Env QT_WAYLAND_DISABLE_WINDOWDECORATION=1
|
||||||
//@ pragma Env QT_QUICK_CONTROLS_STYLE=Material
|
//@ pragma Env QT_QUICK_CONTROLS_STYLE=Material
|
||||||
//@ pragma UseQApplication
|
//@ pragma UseQApplication
|
||||||
|
//@ pragma AppId com.danklinux.dms
|
||||||
|
|
||||||
import QtQuick
|
import QtQuick
|
||||||
import Quickshell
|
import Quickshell
|
||||||
|
|||||||
Reference in New Issue
Block a user