summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-06-02 21:57:59 +1000
committer2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-06-02 21:57:59 +1000
commit4f816e0abf00682c45a4a6dbd3301067233e7bd4 (patch)
treea1bec061a21d18eaa1478216a803883c47975745
parentdashboard: fix performance gpu stats (diff)
downloadcaelestia-shell-4f816e0abf00682c45a4a6dbd3301067233e7bd4.tar.gz
caelestia-shell-4f816e0abf00682c45a4a6dbd3301067233e7bd4.tar.bz2
caelestia-shell-4f816e0abf00682c45a4a6dbd3301067233e7bd4.zip
bar: add preview to activewindow popout
-rw-r--r--config/BarConfig.qml1
-rw-r--r--modules/bar/popouts/ActiveWindow.qml25
-rw-r--r--modules/bar/popouts/Content.qml5
3 files changed, 25 insertions, 6 deletions
diff --git a/config/BarConfig.qml b/config/BarConfig.qml
index 5afbdb3..9ffcabf 100644
--- a/config/BarConfig.qml
+++ b/config/BarConfig.qml
@@ -11,6 +11,7 @@ Singleton {
component Sizes: QtObject {
property int innerHeight: 30
+ property int windowPreviewSize: 400
}
component Workspaces: QtObject {
diff --git a/modules/bar/popouts/ActiveWindow.qml b/modules/bar/popouts/ActiveWindow.qml
index 06ad52c..d9e9b9e 100644
--- a/modules/bar/popouts/ActiveWindow.qml
+++ b/modules/bar/popouts/ActiveWindow.qml
@@ -1,9 +1,8 @@
-
-
import "root:/widgets"
import "root:/services"
import "root:/utils"
import "root:/config"
+import Quickshell.Widgets
import Quickshell.Wayland
import QtQuick
@@ -17,17 +16,35 @@ Item {
id: child
anchors.centerIn: parent
+ spacing: Appearance.spacing.normal
StyledText {
text: Hyprland.activeClient?.title ?? ""
+
+ elide: Text.ElideRight
+ width: preview.implicitWidth
}
StyledText {
text: Hyprland.activeClient?.wmClass ?? ""
+
+ elide: Text.ElideRight
+ width: preview.implicitWidth
}
- ScreencopyView {
-
+ ClippingWrapperRectangle {
+ color: "transparent"
+ radius: Appearance.rounding.small
+
+ ScreencopyView {
+ id: preview
+
+ captureSource: ToplevelManager.toplevels.values.find(t => t.title === Hyprland.activeClient?.title) ?? null
+ live: true
+
+ constraintSize.width: BarConfig.sizes.windowPreviewSize
+ constraintSize.height: BarConfig.sizes.windowPreviewSize
+ }
}
}
}
diff --git a/modules/bar/popouts/Content.qml b/modules/bar/popouts/Content.qml
index be45eac..c10348c 100644
--- a/modules/bar/popouts/Content.qml
+++ b/modules/bar/popouts/Content.qml
@@ -1,7 +1,6 @@
import "root:/services"
import "root:/config"
import Quickshell
-import Quickshell.Widgets
import QtQuick
Item {
@@ -13,7 +12,6 @@ Item {
implicitWidth: Popouts.hasCurrent ? content.children.find(c => c.shouldBeActive).implicitWidth + Appearance.padding.large * 2 : 0
implicitHeight: Popouts.hasCurrent ? content.children.find(c => c.shouldBeActive).implicitHeight + Appearance.padding.large * 2 : 0
- clip: true
Item {
id: content
@@ -47,6 +45,9 @@ Item {
required property string name
property bool shouldBeActive: Popouts.currentName === name
+ anchors.verticalCenter: parent.verticalCenter
+ anchors.right: parent.right
+
active: shouldBeActive
asynchronous: true