mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-04-15 10:12:07 -04:00
changelog: add and enable 1.4 changelog
This commit is contained in:
@@ -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"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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,14 +394,25 @@ Item {
|
|||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
focus: keyboardActive
|
focus: keyboardActive
|
||||||
|
|
||||||
LauncherContent {
|
Loader {
|
||||||
id: launcherContent
|
id: launcherContentLoader
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
|
active: !root.unloadContentOnClose || root.spotlightOpen || root.isClosing || root.contentVisible || root._pendingInitialize
|
||||||
|
asynchronous: false
|
||||||
|
sourceComponent: LauncherContent {
|
||||||
focus: true
|
focus: true
|
||||||
parentModal: root
|
parentModal: root
|
||||||
heavyContentActive: !SettingsData.dankLauncherV2UnloadOnClose || spotlightOpen || isClosing
|
heavyContentActive: !SettingsData.dankLauncherV2UnloadOnClose || spotlightOpen || isClosing
|
||||||
}
|
}
|
||||||
|
|
||||||
|
onLoaded: {
|
||||||
|
if (root._pendingInitialize) {
|
||||||
|
root._initializeAndShow(root._pendingQuery, root._pendingMode);
|
||||||
|
root._pendingInitialize = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Keys.onEscapePressed: event => {
|
Keys.onEscapePressed: event => {
|
||||||
root.hide();
|
root.hide();
|
||||||
event.accepted = true;
|
event.accepted = true;
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user