1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-01-25 05:52:50 -05:00

welcome: add a first launch welcome page with doctor integration

fixes #760
This commit is contained in:
bbedward
2026-01-04 19:07:34 -05:00
parent 7ac5191e8d
commit d23fc9f2df
20 changed files with 1890 additions and 13 deletions

View File

@@ -1,7 +1,6 @@
pragma Singleton
pragma ComponentBehavior: Bound
import QtCore
import QtQuick
import Quickshell
import Quickshell.Io
@@ -15,7 +14,7 @@ Singleton {
return greetCfgDir + "/settings.json";
}
property string currentThemeName: "blue"
property string currentThemeName: "purple"
property bool settingsLoaded: false
property string customThemeFile: ""
property string matugenScheme: "scheme-tonal-spot"
@@ -48,7 +47,7 @@ Singleton {
try {
if (content && content.trim()) {
const settings = JSON.parse(content);
currentThemeName = settings.currentThemeName !== undefined ? settings.currentThemeName : "blue";
currentThemeName = settings.currentThemeName !== undefined ? settings.currentThemeName : "purple";
customThemeFile = settings.customThemeFile !== undefined ? settings.customThemeFile : "";
matugenScheme = settings.matugenScheme !== undefined ? settings.matugenScheme : "scheme-tonal-spot";
use24HourClock = settings.use24HourClock !== undefined ? settings.use24HourClock : true;

View File

@@ -24,6 +24,7 @@ PanelWindow {
readonly property string clearText: I18n.tr("Dismiss")
signal entered
signal exitStarted
signal exitFinished
function startExit() {
@@ -31,6 +32,7 @@ PanelWindow {
return;
}
exiting = true;
exitStarted();
exitAnim.restart();
exitWatchdog.restart();
if (NotificationService.removeFromVisibleNotifications)
@@ -61,7 +63,7 @@ PanelWindow {
win.exitFinished();
}
visible: hasValidData
visible: !_finalized
WlrLayershell.layer: {
const envLayer = Quickshell.env("DMS_NOTIFICATION_LAYER");
if (envLayer) {
@@ -211,7 +213,7 @@ PanelWindow {
y: Theme.snap((win.height - alignedHeight) / 2, dpr)
width: alignedWidth
height: alignedHeight
visible: win.hasValidData
visible: !win._finalized
property real swipeOffset: 0
readonly property real dismissThreshold: isTopCenter ? height * 0.4 : width * 0.35

View File

@@ -20,6 +20,7 @@ QtObject {
popupComponent: Component {
NotificationPopup {
onEntered: manager._onPopupEntered(this)
onExitStarted: manager._onPopupExitStarted(this)
onExitFinished: manager._onPopupExitFinished(this)
}
}
@@ -276,6 +277,14 @@ QtObject {
function _onPopupEntered(p) {
}
function _onPopupExitStarted(p) {
if (!p)
return;
const survivors = _active().sort((a, b) => a.screenY - b.screenY);
for (let k = 0; k < survivors.length; ++k)
survivors[k].screenY = topMargin + k * baseNotificationHeight;
}
function _onPopupExitFinished(p) {
if (!p) {
return;