diff --git a/quickshell/Modules/Settings/TimeWeatherTab.qml b/quickshell/Modules/Settings/TimeWeatherTab.qml index 635aebad..b78272de 100644 --- a/quickshell/Modules/Settings/TimeWeatherTab.qml +++ b/quickshell/Modules/Settings/TimeWeatherTab.qml @@ -143,15 +143,6 @@ Item { } } - DankButton { - text: I18n.tr("Launch DankCalendar") - iconName: "calendar_month" - backgroundColor: Theme.primary - textColor: Theme.primaryText - visible: CalendarService.dankNeedsLaunch && CalendarService.dankBinaryExists - onClicked: CalendarService.launchDankCalendar() - } - Rectangle { width: parent.width height: 1 diff --git a/quickshell/Services/CalendarDankBackend.qml b/quickshell/Services/CalendarDankBackend.qml index 3454ae11..a1f53d50 100644 --- a/quickshell/Services/CalendarDankBackend.qml +++ b/quickshell/Services/CalendarDankBackend.qml @@ -103,15 +103,18 @@ Item { } function _applySocketPath(path) { - if (path === socketPath) { - if (socketFound && !connected) - requestSocket.connected = true; + const changed = path !== socketPath; + if (changed) + log.info("dankcal socket discovered:", path); + if (!changed && connected) return; - } - log.info("dankcal socket discovered:", path); + socketPath = path; + _reconnect(); + } + + function _reconnect() { requestSocket.connected = false; subscribeSocket.connected = false; - socketPath = path; Qt.callLater(() => requestSocket.connected = true); } diff --git a/quickshell/Services/CalendarService.qml b/quickshell/Services/CalendarService.qml index 85ce1599..29a6bbb2 100644 --- a/quickshell/Services/CalendarService.qml +++ b/quickshell/Services/CalendarService.qml @@ -34,7 +34,7 @@ Singleton { readonly property bool dankConnected: dankBackend.connected readonly property bool dankBinaryExists: dankBackend.binaryExists - readonly property bool dankNeedsLaunch: backendPref === "dankcal" && !dankBackend.connected + readonly property bool dankNeedsLaunch: backendPref === "dankcal" && !dankBackend.connected && !dankBackend.socketFound property var calendars: dankBackend.calendars property var eventsByDate: ({})