diff --git a/Modals/PowerConfirmModal.qml b/Modals/PowerConfirmModal.qml index 57d62200..3ec00e12 100644 --- a/Modals/PowerConfirmModal.qml +++ b/Modals/PowerConfirmModal.qml @@ -23,7 +23,7 @@ DankModal { function executePowerAction(action) { switch (action) { case "logout": - NiriService.quit() + CompositorService.logout() break case "suspend": Quickshell.execDetached(["systemctl", "suspend"]) diff --git a/Modules/Lock/LockScreenContent.qml b/Modules/Lock/LockScreenContent.qml index bbff1dca..f700956a 100644 --- a/Modules/Lock/LockScreenContent.qml +++ b/Modules/Lock/LockScreenContent.qml @@ -1187,7 +1187,7 @@ Item { cursorShape: Qt.PointingHandCursor onClicked: { logoutDialog.close() - NiriService.quit() + CompositorService.logout() } } } diff --git a/Modules/Settings/AboutTab.qml b/Modules/Settings/AboutTab.qml index 9c8fbeca..36401f35 100644 --- a/Modules/Settings/AboutTab.qml +++ b/Modules/Settings/AboutTab.qml @@ -378,11 +378,28 @@ Item { } StyledText { - text: "(Hyprland Soon™)" + text: "&" font.pixelSize: Theme.fontSizeMedium color: Theme.surfaceVariantText anchors.verticalCenter: parent.verticalCenter } + + StyledText { + text: `hyprland` + font.pixelSize: Theme.fontSizeMedium + linkColor: Theme.primary + textFormat: Text.RichText + color: Theme.surfaceVariantText + onLinkActivated: url => Qt.openUrlExternally(url) + anchors.verticalCenter: parent.verticalCenter + + MouseArea { + anchors.fill: parent + cursorShape: parent.hoveredLink ? Qt.PointingHandCursor : Qt.ArrowCursor + acceptedButtons: Qt.NoButton + propagateComposedEvents: true + } + } } StyledText { diff --git a/Services/CompositorService.qml b/Services/CompositorService.qml index 7fff0cc8..9223a93e 100644 --- a/Services/CompositorService.qml +++ b/Services/CompositorService.qml @@ -6,6 +6,7 @@ import QtQuick import Quickshell import Quickshell.Io import Quickshell.Wayland +import Quickshell.Hyprland Singleton { id: root @@ -86,4 +87,12 @@ Singleton { } } } + + function logout() { + if (isNiri) { + NiriService.quit() + return + } + Hyprland.dispatch("exit") + } } \ No newline at end of file