diff options
| author | Don Williams <don.e.williams@gmail.com> | 2026-07-13 16:11:51 -0400 |
|---|---|---|
| committer | Pinapelz <yukais@pinapelz.com> | 2026-08-29 21:40:34 -0700 |
| commit | dcc2b56bd34846c5e8562bdb33ea63f3734d5ec0 (patch) | |
| tree | bb4dcab06f4a4f2f690fc87e9fc82d335cd21497 /config/quickshell/qs-hyprview-trixie/layouts/SatelliteLayout.qml | |
| parent | 292b6daf5c56ff60a6263ff4945e74e5ca4372e7 (diff) | |
Fixed qs-hyprview to work with trixie+
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:
renamed: qs-hyprview-trixie/LICENSE -> qs-hyprview-unified/LICENSE
renamed: qs-hyprview-trixie/README.md -> qs-hyprview-unified/README.md
renamed: qs-hyprview-trixie/common/Appearance.qml -> qs-hyprview-unified/common/Appearance.qml
renamed: qs-hyprview-trixie/layouts/BandsLayout.qml -> qs-hyprview-unified/layouts/BandsLayout.qml
renamed: qs-hyprview-trixie/layouts/ColumnarLayout.qml -> qs-hyprview-unified/layouts/ColumnarLayout.qml
renamed: qs-hyprview-trixie/layouts/HeroLayout.qml -> qs-hyprview-unified/layouts/HeroLayout.qml
renamed: qs-hyprview-trixie/layouts/JustifiedLayout.qml -> qs-hyprview-unified/layouts/JustifiedLayout.qml
renamed: qs-hyprview-trixie/layouts/LayoutsManager.qml -> qs-hyprview-unified/layouts/LayoutsManager.qml
renamed: qs-hyprview-trixie/layouts/MasonryLayout.qml -> qs-hyprview-unified/layouts/MasonryLayout.qml
renamed: qs-hyprview-trixie/layouts/SatelliteLayout.qml -> qs-hyprview-unified/layouts/SatelliteLayout.qml
renamed: qs-hyprview-trixie/layouts/SmartGridLayout.qml -> qs-hyprview-unified/layouts/SmartGridLayout.qml
renamed: qs-hyprview-trixie/layouts/SpiralLayout.qml -> qs-hyprview-unified/layouts/SpiralLayout.qml
renamed: qs-hyprview-trixie/layouts/StarggeredLayout.qml -> qs-hyprview-unified/layouts/StarggeredLayout.qml
renamed: qs-hyprview-trixie/layouts/VortexLayout.qml -> qs-hyprview-unified/layouts/VortexLayout.qml
renamed: qs-hyprview-trixie/layouts/qmldir -> qs-hyprview-unified/layouts/qmldir
renamed: qs-hyprview-trixie/modules/Hyprview.qml -> qs-hyprview-unified/modules/Hyprview.qml
renamed: qs-hyprview-trixie/modules/SearchBox.qml -> qs-hyprview-unified/modules/SearchBox.qml
renamed: qs-hyprview-trixie/modules/WindowThumbnail.qml -> qs-hyprview-unified/modules/WindowThumbnail.qml
renamed: qs-hyprview-trixie/modules/qmldir -> qs-hyprview-unified/modules/qmldir
renamed: qs-hyprview-trixie/qs-hyprview-template.qml -> qs-hyprview-unified/qs-hyprview-template.qml
renamed: qs-hyprview-trixie/screenshots/bands.jpeg -> qs-hyprview-unified/screenshots/bands.jpeg
renamed: qs-hyprview-trixie/screenshots/hero.jpeg -> qs-hyprview-unified/screenshots/hero.jpeg
renamed: qs-hyprview-trixie/screenshots/masonry.jpeg -> qs-hyprview-unified/screenshots/masonry.jpeg
renamed: qs-hyprview-trixie/screenshots/satellite.jpeg -> qs-hyprview-unified/screenshots/satellite.jpeg
renamed: qs-hyprview-trixie/screenshots/smartgrid.jpeg -> qs-hyprview-unified/screenshots/smartgrid.jpeg
renamed: qs-hyprview-trixie/screenshots/spiral.jpeg -> qs-hyprview-unified/screenshots/spiral.jpeg
renamed: qs-hyprview-trixie/screenshots/staggered.jpeg -> qs-hyprview-unified/screenshots/staggered.jpeg
renamed: qs-hyprview-trixie/screenshots/vortex.jpeg -> qs-hyprview-unified/screenshots/vortex.jpeg
renamed: qs-hyprview-trixie/shell.qml -> qs-hyprview-unified/shell.qml
Diffstat (limited to 'config/quickshell/qs-hyprview-trixie/layouts/SatelliteLayout.qml')
| -rw-r--r-- | config/quickshell/qs-hyprview-trixie/layouts/SatelliteLayout.qml | 98 |
1 files changed, 0 insertions, 98 deletions
diff --git a/config/quickshell/qs-hyprview-trixie/layouts/SatelliteLayout.qml b/config/quickshell/qs-hyprview-trixie/layouts/SatelliteLayout.qml deleted file mode 100644 index 2efb703b..00000000 --- a/config/quickshell/qs-hyprview-trixie/layouts/SatelliteLayout.qml +++ /dev/null @@ -1,98 +0,0 @@ -pragma Singleton -import Quickshell -import Quickshell.Hyprland - -Singleton { - id: root - - function doLayout(windowList, outerWidth, outerHeight) { - var N = windowList.length - if (N === 0) return [] - - // Move active window to the start of the list (Center Item) - var activeAddr = Hyprland.activeToplevel?.lastIpcObject?.address - if (activeAddr) { - var activeIdx = windowList.findIndex(it => it.lastIpcObject.address === activeAddr) - if (activeIdx !== -1) { - windowList = [windowList[activeIdx], ...windowList.filter(it => it !== windowList[activeIdx])] - } - } - - // Safe Area definition (90%) - var useW = outerWidth * 0.90 - var useH = outerHeight * 0.90 - var offX = (outerWidth - useW) / 2 - var offY = (outerHeight - useH) / 2 - - var result = [] - - // Center item (hero) - var centerItem = windowList[0] - - // The center item takes up roughly 35% of the screen dimensions - var centerW = useW * 0.35 - var centerH = useH * 0.35 - - // Aspect Fit for the center item - var w0 = (centerItem.width > 0) ? centerItem.width : 100 - var h0 = (centerItem.height > 0) ? centerItem.height : 100 - var sc0 = Math.min(centerW / w0, centerH / h0) - var finalCenterW = w0 * sc0 - var finalCenterH = h0 * sc0 - - result.push({ - win: centerItem.win, - x: offX + (useW - finalCenterW) / 2, - y: offY + (useH - finalCenterH) / 2, - width: finalCenterW, - height: finalCenterH, - isSatellite: false - }) - - // Orbit items (satellites) - var satellites = windowList.slice(1) - var numSat = satellites.length - - if (numSat > 0) { - // Orbit Radius (distance from center) - var radiusX = useW * 0.4 - var radiusY = useH * 0.4 - - // Max size for satellites. - // As the number of satellites increases, we shrink them to avoid overlap. - var maxSatW = (useW * 0.25) / Math.max(1, (numSat / 6)) - var maxSatH = (useH * 0.25) / Math.max(1, (numSat / 6)) - - // Start angle (-90 degrees = Top) - var startAngle = -Math.PI / 2 - var stepAngle = (2 * Math.PI) / numSat - - for (var i = 0; i < numSat; i++) { - var item = satellites[i] - var angle = startAngle + (i * stepAngle) - - // Calculate satellite center coordinates - var cx = (useW / 2) + radiusX * Math.cos(angle) - var cy = (useH / 2) + radiusY * Math.sin(angle) - - // Aspect Fit satellite - var ws = (item.width > 0) ? item.width : 100 - var hs = (item.height > 0) ? item.height : 100 - var scS = Math.min(maxSatW / ws, maxSatH / hs) - var finalSatW = ws * scS - var finalSatH = hs * scS - - result.push({ - win: item.win, - x: offX + cx - (finalSatW / 2), - y: offY + cy - (finalSatH / 2), - width: finalSatW, - height: finalSatH, - isSatellite: true - }) - } - } - - return result - } -} |
