diff options
| author | Don Williams <Don.e.williams@gmail.com> | 2026-07-04 17:28:36 -0400 |
|---|---|---|
| committer | Pinapelz <yukais@pinapelz.com> | 2026-08-29 21:39:35 -0700 |
| commit | e974676da74ca270b289f789ae055e3a9b4012fe (patch) | |
| tree | e43881adb8d2ab15b85d009e7ad85999d6f61416 /config/quickshell/overview-bak/modules/overview/OverviewWindow.qml | |
| parent | 2f4b617fbb4214e50ae0bc44fd4acb5385731c75 (diff) | |
Updated quickshell overview to current version
Signed-off-by: Don Williams <Don.e.williams@gmail.com>
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: CHANGELOG.md
new file: config/quickshell/overview-bak/README.md
new file: config/quickshell/overview-bak/assets/image.png
new file: config/quickshell/overview-bak/common/Appearance.qml
new file: config/quickshell/overview-bak/common/Config.qml
new file: config/quickshell/overview-bak/common/functions/ColorUtils.qml
new file: config/quickshell/overview-bak/common/functions/qmldir
new file: config/quickshell/overview-bak/common/qmldir
new file: config/quickshell/overview-bak/common/widgets/StyledRectangularShadow.qml
new file: config/quickshell/overview-bak/common/widgets/StyledText.qml
new file: config/quickshell/overview-bak/common/widgets/StyledToolTip.qml
new file: config/quickshell/overview-bak/common/widgets/StyledToolTipContent.qml
new file: config/quickshell/overview-bak/common/widgets/qmldir
new file: config/quickshell/overview-bak/modules/overview/Overview.qml
new file: config/quickshell/overview-bak/modules/overview/OverviewWidget.qml
new file: config/quickshell/overview-bak/modules/overview/OverviewWindow.qml
new file: config/quickshell/overview-bak/modules/overview/qmldir
new file: config/quickshell/overview-bak/services/GlobalStates.qml
new file: config/quickshell/overview-bak/services/HyprlandData.qml
new file: config/quickshell/overview-bak/services/qmldir
new file: config/quickshell/overview-bak/shell.qml
new file: config/quickshell/overview/.github/FUNDING.yml
modified: config/quickshell/overview/README.md
new file: config/quickshell/overview/assets/Workspace_Wallpaper.png
modified: config/quickshell/overview/assets/image.png
modified: config/quickshell/overview/common/Appearance.qml
modified: config/quickshell/overview/common/Config.qml
new file: config/quickshell/overview/config.example.json
modified: config/quickshell/overview/modules/overview/Overview.qml
modified: config/quickshell/overview/modules/overview/OverviewWidget.qml
modified: config/quickshell/overview/modules/overview/OverviewWindow.qml
new file: config/quickshell/overview/quickshell-overview.qml
modified: config/quickshell/overview/services/HyprlandData.qml
modified: config/quickshell/overview/shell.qml
Diffstat (limited to 'config/quickshell/overview-bak/modules/overview/OverviewWindow.qml')
| -rw-r--r-- | config/quickshell/overview-bak/modules/overview/OverviewWindow.qml | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/config/quickshell/overview-bak/modules/overview/OverviewWindow.qml b/config/quickshell/overview-bak/modules/overview/OverviewWindow.qml new file mode 100644 index 00000000..fac3e22e --- /dev/null +++ b/config/quickshell/overview-bak/modules/overview/OverviewWindow.qml @@ -0,0 +1,112 @@ +import QtQuick.Effects +import QtQuick +import QtQuick.Layouts +import Quickshell +import Quickshell.Wayland +import "../../common" +import "../../common/functions" +import "../../services" + +Item { // Window + id: root + property var toplevel + property var windowData + property var monitorData + property var scale + property var availableWorkspaceWidth + property var availableWorkspaceHeight + property bool restrictToWorkspace: true + property real initX: Math.max(((windowData?.at[0] ?? 0) - (monitorData?.x ?? 0) - (monitorData?.reserved?.[0] ?? 0)) * root.scale, 0) + xOffset + property real initY: Math.max(((windowData?.at[1] ?? 0) - (monitorData?.y ?? 0) - (monitorData?.reserved?.[1] ?? 0)) * root.scale, 0) + yOffset + property real xOffset: 0 + property real yOffset: 0 + property int widgetMonitorId: 0 + + property var targetWindowWidth: (windowData?.size[0] ?? 100) * scale + property var targetWindowHeight: (windowData?.size[1] ?? 100) * scale + property bool hovered: false + property bool pressed: false + + property var iconToWindowRatio: 0.25 + property var xwaylandIndicatorToIconRatio: 0.35 + property var iconToWindowRatioCompact: 0.45 + property var entry: DesktopEntries.heuristicLookup(windowData?.class) + property var iconPath: Quickshell.iconPath(entry?.icon ?? windowData?.class ?? "application-x-executable", "image-missing") + property bool compactMode: Appearance.font.pixelSize.smaller * 4 > targetWindowHeight || Appearance.font.pixelSize.smaller * 4 > targetWindowWidth + + property bool indicateXWayland: windowData?.xwayland ?? false + + x: initX + y: initY + width: Math.min((windowData?.size[0] ?? 100) * root.scale, availableWorkspaceWidth) + height: Math.min((windowData?.size[1] ?? 100) * root.scale, availableWorkspaceHeight) + opacity: (windowData?.monitor ?? -1) == widgetMonitorId ? 1 : 0.4 + + layer.enabled: true + layer.smooth: true + layer.mipmap: true + + Behavior on x { + animation: Appearance.animation.elementMoveEnter.numberAnimation.createObject(this) + } + Behavior on y { + animation: Appearance.animation.elementMoveEnter.numberAnimation.createObject(this) + } + Behavior on width { + animation: Appearance.animation.elementMoveEnter.numberAnimation.createObject(this) + } + Behavior on height { + animation: Appearance.animation.elementMoveEnter.numberAnimation.createObject(this) + } + + Rectangle { + id: clipContainer + anchors.fill: parent + radius: Appearance.rounding.windowRounding * root.scale + clip: true + color: "transparent" + + ScreencopyView { + id: windowPreview + anchors.fill: parent + captureSource: GlobalStates.overviewOpen ? root.toplevel : null + live: true + + Rectangle { + anchors.fill: parent + radius: Appearance.rounding.windowRounding * root.scale + color: pressed ? ColorUtils.transparentize(Appearance.colors.colLayer2Active, 0.5) : + hovered ? ColorUtils.transparentize(Appearance.colors.colLayer2Hover, 0.7) : + ColorUtils.transparentize(Appearance.colors.colLayer2) + border.color : ColorUtils.transparentize(Appearance.m3colors.m3outline, 0.7) + border.width : 1 + } + + ColumnLayout { + anchors.verticalCenter: parent.verticalCenter + anchors.left: parent.left + anchors.right: parent.right + spacing: Appearance.font.pixelSize.smaller * 0.5 + + Image { + id: windowIcon + property var iconSize: { + return Math.min(targetWindowWidth, targetWindowHeight) * (root.compactMode ? root.iconToWindowRatioCompact : root.iconToWindowRatio) / (root.monitorData?.scale ?? 1); + } + Layout.alignment: Qt.AlignHCenter + source: root.iconPath + width: iconSize + height: iconSize + sourceSize: Qt.size(iconSize, iconSize) + + Behavior on width { + animation: Appearance.animation.elementMoveEnter.numberAnimation.createObject(this) + } + Behavior on height { + animation: Appearance.animation.elementMoveEnter.numberAnimation.createObject(this) + } + } + } + } + } +} |
