1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-04-04 12:52:06 -04:00

fix(launcher): release DankLauncherV2 resources after close (#1692)

* fix(launcher): release DankLauncherV2 resources after close

* launcher: make unload on close optional

---------

Co-authored-by: bbedward <bbedward@gmail.com>
This commit is contained in:
Higor Prado
2026-02-15 17:26:03 -03:00
committed by GitHub
parent f9f0192b22
commit ebe1785411
7 changed files with 25 additions and 2 deletions

View File

@@ -314,6 +314,7 @@ Singleton {
property int dankLauncherV2BorderThickness: 2
property string dankLauncherV2BorderColor: "primary"
property bool dankLauncherV2ShowFooter: true
property bool dankLauncherV2UnloadOnClose: false
property string _legacyWeatherLocation: "New York, NY"
property string _legacyWeatherCoordinates: "40.7128,-74.0060"

View File

@@ -173,6 +173,7 @@ var SPEC = {
dankLauncherV2BorderThickness: { def: 2 },
dankLauncherV2BorderColor: { def: "primary" },
dankLauncherV2ShowFooter: { def: true },
dankLauncherV2UnloadOnClose: { def: false },
useAutoLocation: { def: false },
weatherEnabled: { def: true },

View File

@@ -531,6 +531,11 @@ Item {
PopoutService.dankLauncherV2Modal = dankLauncherV2Modal;
PopoutService._onDankLauncherV2ModalLoaded();
}
onDialogClosed: {
if (SettingsData.dankLauncherV2UnloadOnClose)
PopoutService.unloadDankLauncherV2();
}
}
}

View File

@@ -47,6 +47,7 @@ Item {
sections = [];
flatModel = [];
selectedItem = null;
_clearModeCache();
}
}

View File

@@ -4,7 +4,6 @@ import Quickshell.Wayland
import Quickshell.Hyprland
import qs.Common
import qs.Services
import qs.Widgets
Item {
id: root
@@ -264,7 +263,7 @@ Item {
PanelWindow {
id: launcherWindow
visible: root._windowEnabled
visible: root._windowEnabled && (!SettingsData.dankLauncherV2UnloadOnClose || spotlightOpen || isClosing)
color: "transparent"
exclusionMode: ExclusionMode.Ignore

View File

@@ -415,6 +415,15 @@ Item {
onToggled: checked => SettingsData.set("dankLauncherV2ShowFooter", checked)
}
SettingsToggleRow {
settingKey: "dankLauncherV2UnloadOnClose"
tags: ["launcher", "unload", "close", "memory", "vram"]
text: I18n.tr("Unload on Close")
description: I18n.tr("Free VRAM/memory when the launcher is closed. May cause a slight delay when reopening.")
checked: SettingsData.dankLauncherV2UnloadOnClose
onToggled: checked => SettingsData.set("dankLauncherV2UnloadOnClose", checked)
}
SettingsToggleRow {
settingKey: "dankLauncherV2BorderEnabled"
tags: ["launcher", "border", "outline"]

View File

@@ -454,6 +454,13 @@ Singleton {
dankLauncherV2Modal?.hide();
}
function unloadDankLauncherV2() {
if (dankLauncherV2ModalLoader) {
dankLauncherV2Modal = null;
dankLauncherV2ModalLoader.active = false;
}
}
function toggleDankLauncherV2() {
if (dankLauncherV2Modal) {
dankLauncherV2Modal.toggle();