diff options
| author | 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> | 2025-09-13 19:07:04 +1000 |
|---|---|---|
| committer | 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> | 2025-09-13 19:07:04 +1000 |
| commit | 252f19ec0ec902c1fbb650260b29f1e63fc55867 (patch) | |
| tree | 7392e723047b0b6035b83588066f3366e37ba722 /modules/launcher | |
| parent | internal: fix blurriness (diff) | |
| download | caelestia-shell-252f19ec0ec902c1fbb650260b29f1e63fc55867.tar.gz caelestia-shell-252f19ec0ec902c1fbb650260b29f1e63fc55867.tar.bz2 caelestia-shell-252f19ec0ec902c1fbb650260b29f1e63fc55867.zip | |
launcher: prevent overlap with dashboard
Fixes #612
Diffstat (limited to 'modules/launcher')
| -rw-r--r-- | modules/launcher/Content.qml | 2 | ||||
| -rw-r--r-- | modules/launcher/ContentList.qml | 6 | ||||
| -rw-r--r-- | modules/launcher/Wrapper.qml | 15 |
3 files changed, 19 insertions, 4 deletions
diff --git a/modules/launcher/Content.qml b/modules/launcher/Content.qml index f4e1b45..f674569 100644 --- a/modules/launcher/Content.qml +++ b/modules/launcher/Content.qml @@ -13,6 +13,7 @@ Item { required property PersistentProperties visibilities required property var panels + required property real maxHeight readonly property int padding: Appearance.padding.large readonly property int rounding: Appearance.rounding.large @@ -36,6 +37,7 @@ Item { content: root visibilities: root.visibilities panels: root.panels + maxHeight: root.maxHeight - searchWrapper.implicitHeight - root.padding * 3 search: search padding: root.padding rounding: root.rounding diff --git a/modules/launcher/ContentList.qml b/modules/launcher/ContentList.qml index a6ccf53..b2a9c77 100644 --- a/modules/launcher/ContentList.qml +++ b/modules/launcher/ContentList.qml @@ -14,6 +14,7 @@ Item { required property var content required property PersistentProperties visibilities required property var panels + required property real maxHeight required property StyledTextField search required property int padding required property int rounding @@ -33,7 +34,7 @@ Item { PropertyChanges { root.implicitWidth: Config.launcher.sizes.itemWidth - root.implicitHeight: appList.implicitHeight > 0 ? appList.implicitHeight : empty.implicitHeight + root.implicitHeight: Math.min(root.maxHeight, appList.implicitHeight > 0 ? appList.implicitHeight : empty.implicitHeight) appList.active: true } @@ -78,8 +79,7 @@ Item { active: false - anchors.left: parent.left - anchors.right: parent.right + anchors.fill: parent sourceComponent: AppList { search: root.search diff --git a/modules/launcher/Wrapper.qml b/modules/launcher/Wrapper.qml index 51354c2..3312d5a 100644 --- a/modules/launcher/Wrapper.qml +++ b/modules/launcher/Wrapper.qml @@ -8,12 +8,22 @@ import QtQuick Item { id: root + required property ShellScreen screen required property PersistentProperties visibilities required property var panels readonly property bool shouldBeActive: visibilities.launcher && Config.launcher.enabled property int contentHeight + readonly property real maxHeight: { + let max = screen.height - Config.border.thickness * 2 - Appearance.spacing.large; + if (visibilities.dashboard) + max -= panels.dashboard.nonAnimHeight; + return max; + } + + onMaxHeightChanged: timer.start() + visible: height > 0 implicitHeight: 0 implicitWidth: content.implicitWidth @@ -84,7 +94,7 @@ Item { interval: Appearance.anim.durations.extraLarge onRunningChanged: { - if (running) { + if (running && !root.shouldBeActive) { content.visible = false; content.active = true; } else { @@ -108,6 +118,9 @@ Item { sourceComponent: Content { visibilities: root.visibilities panels: root.panels + maxHeight: root.maxHeight + + Component.onCompleted: root.contentHeight = implicitHeight } } } |