summaryrefslogtreecommitdiff
path: root/modules/utilities
diff options
context:
space:
mode:
author2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-09-18 15:19:15 +1000
committer2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-09-18 15:19:15 +1000
commit85d575f6c18017693cb2f3ab07314a0cf43adbe6 (patch)
tree89540859a71162c28c8419af49c75cc3634e6b70 /modules/utilities
parentlauncher: fix open anim (diff)
downloadcaelestia-shell-85d575f6c18017693cb2f3ab07314a0cf43adbe6.tar.gz
caelestia-shell-85d575f6c18017693cb2f3ab07314a0cf43adbe6.tar.bz2
caelestia-shell-85d575f6c18017693cb2f3ab07314a0cf43adbe6.zip
feat: add sidebar
WIP
Diffstat (limited to 'modules/utilities')
-rw-r--r--modules/utilities/Background.qml7
-rw-r--r--modules/utilities/Wrapper.qml11
2 files changed, 11 insertions, 7 deletions
diff --git a/modules/utilities/Background.qml b/modules/utilities/Background.qml
index 5dc2c13..fbce896 100644
--- a/modules/utilities/Background.qml
+++ b/modules/utilities/Background.qml
@@ -8,6 +8,7 @@ ShapePath {
id: root
required property Wrapper wrapper
+ required property var sidebar
readonly property real rounding: Config.border.rounding
readonly property bool flatten: wrapper.height < rounding * 2
readonly property real roundingY: flatten ? wrapper.height / 2 : rounding
@@ -31,13 +32,13 @@ ShapePath {
relativeY: -(root.wrapper.height - root.roundingY * 2)
}
PathArc {
- relativeX: root.rounding
+ relativeX: root.sidebar.utilsRoundingX
relativeY: -root.roundingY
- radiusX: root.rounding
+ radiusX: root.sidebar.utilsRoundingX
radiusY: Math.min(root.rounding, root.wrapper.height)
}
PathLine {
- relativeX: root.wrapper.height > 0 ? root.wrapper.width - root.rounding * 2 : root.wrapper.width
+ relativeX: root.wrapper.height > 0 ? root.wrapper.width - root.rounding - root.sidebar.utilsRoundingX : root.wrapper.width
relativeY: 0
}
PathArc {
diff --git a/modules/utilities/Wrapper.qml b/modules/utilities/Wrapper.qml
index 3f84319..a3ba53d 100644
--- a/modules/utilities/Wrapper.qml
+++ b/modules/utilities/Wrapper.qml
@@ -9,6 +9,8 @@ Item {
id: root
required property var visibilities
+ required property Item sidebar
+
readonly property PersistentProperties props: PersistentProperties {
property bool recordingListExpanded: false
property string recordingConfirmDelete
@@ -16,10 +18,11 @@ Item {
reloadableId: "utilities"
}
+ readonly property bool shouldBeActive: visibilities.sidebar || (visibilities.utilities && Config.utilities.enabled)
visible: height > 0
implicitHeight: 0
- implicitWidth: Config.utilities.sizes.width
+ implicitWidth: Math.max(sidebar.width, Config.utilities.sizes.width)
onStateChanged: {
if (state === "visible" && timer.running) {
@@ -30,7 +33,7 @@ Item {
states: State {
name: "visible"
- when: root.visibilities.utilities
+ when: root.shouldBeActive
PropertyChanges {
root.implicitHeight: content.implicitHeight + Appearance.padding.large * 2
@@ -67,7 +70,7 @@ Item {
running: true
interval: Appearance.anim.durations.extraLarge
onTriggered: {
- content.active = Qt.binding(() => (root.visibilities.utilities && Config.utilities.enabled) || root.visible);
+ content.active = Qt.binding(() => root.shouldBeActive || root.visible);
content.visible = true;
}
}
@@ -77,13 +80,13 @@ Item {
anchors.top: parent.top
anchors.left: parent.left
- anchors.right: parent.right
anchors.margins: Appearance.padding.large
visible: false
active: true
sourceComponent: Content {
+ implicitWidth: Config.utilities.sizes.width - Appearance.padding.large * 2
props: root.props
visibilities: root.visibilities
}