1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-04-14 17:52:10 -04:00

changelog: add and enable 1.4 changelog

This commit is contained in:
bbedward
2026-02-16 10:33:59 -05:00
parent a9ee91586e
commit 2c9b22c016
4 changed files with 89 additions and 53 deletions

View File

@@ -65,7 +65,7 @@ Column {
StyledText { StyledText {
id: codenameText id: codenameText
anchors.centerIn: parent anchors.centerIn: parent
text: "Spicy Miso" text: "Saffron Bloom"
font.pixelSize: Theme.fontSizeSmall font.pixelSize: Theme.fontSizeSmall
font.weight: Font.Medium font.weight: Font.Medium
color: Theme.primary color: Theme.primary
@@ -74,7 +74,7 @@ Column {
} }
StyledText { StyledText {
text: "Desktop widgets, theme registry, native clipboard & more" text: "New launcher, enhanced plugin system, KDE Connect, & more"
font.pixelSize: Theme.fontSizeMedium font.pixelSize: Theme.fontSizeMedium
color: Theme.surfaceVariantText color: Theme.surfaceVariantText
} }
@@ -108,67 +108,76 @@ Column {
ChangelogFeatureCard { ChangelogFeatureCard {
width: (parent.width - Theme.spacingS) / 2 width: (parent.width - Theme.spacingS) / 2
iconName: "widgets" iconName: "space_dashboard"
title: "Desktop Widgets" title: "Dank Launcher V2"
description: "Widgets on your desktop" description: "New capabilities & plugins"
onClicked: PopoutService.openSettingsWithTab("desktop_widgets") onClicked: PopoutService.openDankLauncherV2()
} }
ChangelogFeatureCard { ChangelogFeatureCard {
width: (parent.width - Theme.spacingS) / 2 width: (parent.width - Theme.spacingS) / 2
iconName: "palette" iconName: "smartphone"
title: "Theme Registry" title: "Phone Connect"
description: "Community themes" description: "KDE Connect & Valent"
onClicked: PopoutService.openSettingsWithTab("theme") onClicked: Qt.openUrlExternally("https://github.com/AvengeMedia/dms-plugins/tree/master/DankKDEConnect")
} }
ChangelogFeatureCard { ChangelogFeatureCard {
width: (parent.width - Theme.spacingS) / 2 width: (parent.width - Theme.spacingS) / 2
iconName: "content_paste" iconName: "monitor_heart"
title: "Native Clipboard" title: "System Monitor"
description: "Zero-dependency history" description: "Redesigned process list"
onClicked: PopoutService.openSettingsWithTab("clipboard") onClicked: PopoutService.showProcessListModal()
} }
ChangelogFeatureCard { ChangelogFeatureCard {
width: (parent.width - Theme.spacingS) / 2 width: (parent.width - Theme.spacingS) / 2
iconName: "display_settings" iconName: "window"
title: "Monitor Config" title: "Window Rules"
description: "Full display setup" description: "niri window rule manager"
onClicked: PopoutService.openSettingsWithTab("display_config") visible: CompositorService.isNiri
onClicked: PopoutService.openSettingsWithTab("window_rules")
} }
ChangelogFeatureCard { ChangelogFeatureCard {
width: (parent.width - Theme.spacingS) / 2 width: (parent.width - Theme.spacingS) / 2
iconName: "notifications_active" iconName: "notifications_active"
title: "Notifications" title: "Enhanced Notifications"
description: "History & gestures" description: "Configurable rules & styling"
visible: !CompositorService.isNiri
onClicked: PopoutService.openSettingsWithTab("notifications") onClicked: PopoutService.openSettingsWithTab("notifications")
} }
ChangelogFeatureCard { ChangelogFeatureCard {
width: (parent.width - Theme.spacingS) / 2 width: (parent.width - Theme.spacingS) / 2
iconName: "healing" iconName: "dock_to_bottom"
title: "DMS Doctor" title: "Dock Enhancements"
description: "Diagnose issues" description: "Bar dock widget & more"
onClicked: FirstLaunchService.showDoctor() onClicked: PopoutService.openSettingsWithTab("dock")
} }
ChangelogFeatureCard { ChangelogFeatureCard {
width: (parent.width - Theme.spacingS) / 2 width: (parent.width - Theme.spacingS) / 2
iconName: "keyboard" iconName: "volume_up"
title: "Keybinds Editor" title: "Audio Aliases"
description: "niri, Hyprland, & MangoWC" description: "Custom device names"
visible: KeybindsService.available onClicked: PopoutService.openSettingsWithTab("audio")
onClicked: PopoutService.openSettingsWithTab("keybinds")
} }
ChangelogFeatureCard { ChangelogFeatureCard {
width: (parent.width - Theme.spacingS) / 2 width: (parent.width - Theme.spacingS) / 2
iconName: "search" iconName: "extension"
title: "Settings Search" title: "Enhanced Plugin System"
description: "Find settings fast" description: "Enables new types of plugins"
onClicked: PopoutService.openSettings() onClicked: PopoutService.openSettingsWithTab("plugins")
}
ChangelogFeatureCard {
width: (parent.width - Theme.spacingS) / 2
iconName: "light_mode"
title: "Auto Light/Dark"
description: "Automatic mode switching"
onClicked: PopoutService.openSettingsWithTab("theme")
} }
} }
} }
@@ -221,17 +230,12 @@ Column {
ChangelogUpgradeNote { ChangelogUpgradeNote {
width: parent.width width: parent.width
text: "Ghostty theme path changed to ~/.config/ghostty/themes/danktheme" text: "Spotlight replaced by Dank Launcher V2 — check settings for new options"
} }
ChangelogUpgradeNote { ChangelogUpgradeNote {
width: parent.width width: parent.width
text: "VS Code theme reinstall required" text: "Plugin API updated — third-party plugins may need updates"
}
ChangelogUpgradeNote {
width: parent.width
text: "Clipboard history migration available from cliphist"
} }
} }
} }

View File

@@ -129,7 +129,7 @@ FloatingWindow {
iconName: "open_in_new" iconName: "open_in_new"
backgroundColor: Theme.surfaceContainerHighest backgroundColor: Theme.surfaceContainerHighest
textColor: Theme.surfaceText textColor: Theme.surfaceText
onClicked: Qt.openUrlExternally("https://danklinux.com/blog/v1-2-release") onClicked: Qt.openUrlExternally("https://danklinux.com/blog/v1-4-release")
} }
DankButton { DankButton {

View File

@@ -13,10 +13,14 @@ Item {
property bool spotlightOpen: false property bool spotlightOpen: false
property bool keyboardActive: false property bool keyboardActive: false
property bool contentVisible: false property bool contentVisible: false
property alias spotlightContent: launcherContent property var spotlightContent: launcherContentLoader.item
property bool openedFromOverview: false property bool openedFromOverview: false
property bool isClosing: false property bool isClosing: false
property bool _windowEnabled: true property bool _windowEnabled: true
property bool _pendingInitialize: false
property string _pendingQuery: ""
property string _pendingMode: ""
readonly property bool unloadContentOnClose: SettingsData.dankLauncherV2UnloadOnClose
readonly property bool useHyprlandFocusGrab: CompositorService.useHyprlandFocusGrab readonly property bool useHyprlandFocusGrab: CompositorService.useHyprlandFocusGrab
readonly property var effectiveScreen: launcherWindow.screen readonly property var effectiveScreen: launcherWindow.screen
@@ -75,7 +79,22 @@ Item {
signal dialogClosed signal dialogClosed
function _ensureContentLoadedAndInitialize(query, mode) {
_pendingQuery = query || "";
_pendingMode = mode || "";
_pendingInitialize = true;
contentVisible = true;
launcherContentLoader.active = true;
if (spotlightContent) {
_initializeAndShow(_pendingQuery, _pendingMode);
_pendingInitialize = false;
}
}
function _initializeAndShow(query, mode) { function _initializeAndShow(query, mode) {
if (!spotlightContent)
return;
contentVisible = true; contentVisible = true;
spotlightContent.searchField.forceActiveFocus(); spotlightContent.searchField.forceActiveFocus();
@@ -121,7 +140,7 @@ Item {
if (useHyprlandFocusGrab) if (useHyprlandFocusGrab)
focusGrab.active = true; focusGrab.active = true;
_initializeAndShow(""); _ensureContentLoadedAndInitialize("", "");
} }
function showWithQuery(query) { function showWithQuery(query) {
@@ -139,7 +158,7 @@ Item {
if (useHyprlandFocusGrab) if (useHyprlandFocusGrab)
focusGrab.active = true; focusGrab.active = true;
_initializeAndShow(query); _ensureContentLoadedAndInitialize(query, "");
} }
function hide() { function hide() {
@@ -176,7 +195,7 @@ Item {
if (useHyprlandFocusGrab) if (useHyprlandFocusGrab)
focusGrab.active = true; focusGrab.active = true;
_initializeAndShow("", mode); _ensureContentLoadedAndInitialize("", mode);
} }
function toggleWithMode(mode) { function toggleWithMode(mode) {
@@ -201,6 +220,8 @@ Item {
repeat: false repeat: false
onTriggered: { onTriggered: {
isClosing = false; isClosing = false;
if (root.unloadContentOnClose)
launcherContentLoader.active = false;
dialogClosed(); dialogClosed();
} }
} }
@@ -263,7 +284,7 @@ Item {
PanelWindow { PanelWindow {
id: launcherWindow id: launcherWindow
visible: root._windowEnabled visible: root._windowEnabled && (!root.unloadContentOnClose || spotlightOpen || isClosing)
color: "transparent" color: "transparent"
exclusionMode: ExclusionMode.Ignore exclusionMode: ExclusionMode.Ignore
@@ -373,12 +394,23 @@ Item {
anchors.fill: parent anchors.fill: parent
focus: keyboardActive focus: keyboardActive
LauncherContent { Loader {
id: launcherContent id: launcherContentLoader
anchors.fill: parent anchors.fill: parent
focus: true active: !root.unloadContentOnClose || root.spotlightOpen || root.isClosing || root.contentVisible || root._pendingInitialize
parentModal: root asynchronous: false
heavyContentActive: !SettingsData.dankLauncherV2UnloadOnClose || spotlightOpen || isClosing sourceComponent: LauncherContent {
focus: true
parentModal: root
heavyContentActive: !SettingsData.dankLauncherV2UnloadOnClose || spotlightOpen || isClosing
}
onLoaded: {
if (root._pendingInitialize) {
root._initializeAndShow(root._pendingQuery, root._pendingMode);
root._pendingInitialize = false;
}
}
} }
Keys.onEscapePressed: event => { Keys.onEscapePressed: event => {

View File

@@ -10,8 +10,8 @@ import qs.Common
Singleton { Singleton {
id: root id: root
readonly property string currentVersion: "1.2" readonly property string currentVersion: "1.4"
readonly property bool changelogEnabled: false readonly property bool changelogEnabled: true
readonly property string configDir: Paths.strip(StandardPaths.writableLocation(StandardPaths.ConfigLocation)) + "/DankMaterialShell" readonly property string configDir: Paths.strip(StandardPaths.writableLocation(StandardPaths.ConfigLocation)) + "/DankMaterialShell"
readonly property string changelogMarkerPath: configDir + "/.changelog-" + currentVersion readonly property string changelogMarkerPath: configDir + "/.changelog-" + currentVersion