diff options
| author | Don Williams <Don.e.williams@gmail.com> | 2026-07-13 16:15:49 -0400 |
|---|---|---|
| committer | Pinapelz <yukais@pinapelz.com> | 2026-08-29 21:40:35 -0700 |
| commit | c8b343b98c203ac13d4b28bb269a735cf4c03475 (patch) | |
| tree | c76921ca2309c9595fdd02045f33fe9f1684176b /config/quickshell/qs-hyprview-unified/layouts/SpiralLayout.qml | |
| parent | dcc2b56bd34846c5e8562bdb33ea63f3734d5ec0 (diff) | |
Cleaning up quickshell builds
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:
deleted: overview-trixie/README.md
deleted: overview-trixie/assets/Workspace_Wallpaper.png
deleted: overview-trixie/assets/image.png
deleted: overview-trixie/common/Appearance.qml
deleted: overview-trixie/common/Config.qml
deleted: overview-trixie/common/functions/ColorUtils.qml
deleted: overview-trixie/common/functions/qmldir
deleted: overview-trixie/common/qmldir
deleted: overview-trixie/common/widgets/StyledRectangularShadow.qml
deleted: overview-trixie/common/widgets/StyledText.qml
deleted: overview-trixie/common/widgets/StyledToolTip.qml
deleted: overview-trixie/common/widgets/StyledToolTipContent.qml
deleted: overview-trixie/common/widgets/qmldir
deleted: overview-trixie/config.example.json
deleted: overview-trixie/config.json
deleted: overview-trixie/modules/overview/Overview.qml
deleted: overview-trixie/modules/overview/OverviewWidget.qml
deleted: overview-trixie/modules/overview/OverviewWindow.qml
deleted: overview-trixie/modules/overview/qmldir
deleted: overview-trixie/quickshell-overview.qml
deleted: overview-trixie/services/GlobalStates.qml
deleted: overview-trixie/services/HyprlandData.qml
deleted: overview-trixie/services/qmldir
deleted: overview-trixie/shell.qml
deleted: overview-unified/README.md
deleted: overview-unified/assets/image.png
deleted: overview-unified/common/Appearance.qml
deleted: overview-unified/common/Config.qml
deleted: overview-unified/common/functions/ColorUtils.qml
deleted: overview-unified/common/functions/qmldir
deleted: overview-unified/common/qmldir
deleted: overview-unified/common/widgets/RectangularShadow.qml
deleted: overview-unified/common/widgets/StyledRectangularShadow.qml
deleted: overview-unified/common/widgets/StyledText.qml
deleted: overview-unified/common/widgets/StyledToolTip.qml
deleted: overview-unified/common/widgets/StyledToolTipContent.qml
deleted: overview-unified/common/widgets/qmldir
deleted: overview-unified/modules/overview/Overview.qml
deleted: overview-unified/modules/overview/OverviewWidget.qml
deleted: overview-unified/modules/overview/OverviewWindow.qml
deleted: overview-unified/modules/overview/qmldir
deleted: overview-unified/services/GlobalStates.qml
deleted: overview-unified/services/HyprlandData.qml
deleted: overview-unified/services/qmldir
deleted: overview-unified/shell.qml
renamed: overview-trixie/common/widgets/RectangularShadow.qml -> overview/common/widgets/RectangularShadow.qml
modified: overview/common/widgets/qmldir
deleted: qs-hyprview-unified/LICENSE
deleted: qs-hyprview-unified/README.md
deleted: qs-hyprview-unified/common/Appearance.qml
deleted: qs-hyprview-unified/layouts/BandsLayout.qml
deleted: qs-hyprview-unified/layouts/ColumnarLayout.qml
deleted: qs-hyprview-unified/layouts/HeroLayout.qml
deleted: qs-hyprview-unified/layouts/JustifiedLayout.qml
deleted: qs-hyprview-unified/layouts/LayoutsManager.qml
deleted: qs-hyprview-unified/layouts/MasonryLayout.qml
deleted: qs-hyprview-unified/layouts/SatelliteLayout.qml
deleted: qs-hyprview-unified/layouts/SmartGridLayout.qml
deleted: qs-hyprview-unified/layouts/SpiralLayout.qml
deleted: qs-hyprview-unified/layouts/StarggeredLayout.qml
deleted: qs-hyprview-unified/layouts/VortexLayout.qml
deleted: qs-hyprview-unified/layouts/qmldir
deleted: qs-hyprview-unified/modules/Hyprview.qml
deleted: qs-hyprview-unified/modules/SearchBox.qml
deleted: qs-hyprview-unified/modules/WindowThumbnail.qml
deleted: qs-hyprview-unified/modules/qmldir
deleted: qs-hyprview-unified/qs-hyprview-template.qml
deleted: qs-hyprview-unified/screenshots/bands.jpeg
deleted: qs-hyprview-unified/screenshots/hero.jpeg
deleted: qs-hyprview-unified/screenshots/masonry.jpeg
deleted: qs-hyprview-unified/screenshots/satellite.jpeg
deleted: qs-hyprview-unified/screenshots/smartgrid.jpeg
deleted: qs-hyprview-unified/screenshots/spiral.jpeg
deleted: qs-hyprview-unified/screenshots/staggered.jpeg
deleted: qs-hyprview-unified/screenshots/vortex.jpeg
deleted: qs-hyprview-unified/shell.qml
modified: qs-hyprview/modules/WindowThumbnail.qml
Diffstat (limited to 'config/quickshell/qs-hyprview-unified/layouts/SpiralLayout.qml')
| -rw-r--r-- | config/quickshell/qs-hyprview-unified/layouts/SpiralLayout.qml | 155 |
1 files changed, 0 insertions, 155 deletions
diff --git a/config/quickshell/qs-hyprview-unified/layouts/SpiralLayout.qml b/config/quickshell/qs-hyprview-unified/layouts/SpiralLayout.qml deleted file mode 100644 index bcfc7abb..00000000 --- a/config/quickshell/qs-hyprview-unified/layouts/SpiralLayout.qml +++ /dev/null @@ -1,155 +0,0 @@ -pragma Singleton -import Quickshell -import Quickshell.Hyprland - -Singleton { - id: root - - function doLayout(windowList, outerWidth, outerHeight, maxSplits) { - var N = windowList.length - if (N === 0) return [] - - if (maxSplits === undefined) maxSplits = 3 - - // Standard Gap: 0.8% of screen - var rawGap = outerWidth * 0.008 - var gap = Math.max(8, Math.min(24, rawGap)) - - // Primary Gap: The space between the first Big Window and the rest. - // We make it 3x larger than the standard gap for emphasis. - var primaryGap = gap * 3 - - // Safe Area (90%) - var contentScale = 0.90 - var useW = outerWidth * contentScale - var useH = outerHeight * contentScale - var offX = (outerWidth - useW) / 2 - var offY = (outerHeight - useH) / 2 - - // Move Active Window to start - 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])] - } - } - - var result = [] - - // Working area cursor - var curX = offX - var curY = offY - var curW = useW - var curH = useH - - // Items to process in Spiral mode - var spiralCount = Math.min(N - 1, maxSplits) - - // Spiral cuts - for (var k = 0; k < spiralCount; k++) { - var sItem = windowList[k] - var sBoxW, sBoxH - var sBoxX = curX - var sBoxY = curY - - // Logic change: Use 'primaryGap' only for the very first cut (k=0), - // otherwise use standard 'gap'. - var currentGap = (k === 0) ? primaryGap : gap - - if (curW > curH) { // Split Vertical - // Calculate width subtracting the specific gap for this iteration - sBoxW = (curW - currentGap) / 2 - sBoxH = curH - - // Shift working area for next items by the specific gap - curX += sBoxW + currentGap - curW -= (sBoxW + currentGap) - } else { // Split Horizontal - sBoxW = curW - sBoxH = (curH - currentGap) / 2 - - // Shift working area for next items by the specific gap - curY += sBoxH + currentGap - curH -= (sBoxH + currentGap) - } - - // Aspect Fit - var sw0 = (sItem.width > 0) ? sItem.width : 100 - var sh0 = (sItem.height > 0) ? sItem.height : 100 - var sScale = Math.min(sBoxW / sw0, sBoxH / sh0) - - result.push({ - win: sItem.win, - x: sBoxX + (sBoxW - (sw0 * sScale))/2, - y: sBoxY + (sBoxH - (sh0 * sScale))/2, - width: sw0 * sScale, - height: sh0 * sScale, - isSpiral: true, - index: k - }) - } - - // Overflow grid - var remainingItems = windowList.slice(spiralCount) - var remN = remainingItems.length - - if (remN > 0) { - // Standard Grid logic for the remaining box - var bestCols = 1 - var bestScale = 0 - var TARGET_ASPECT = 16.0/9.0 - - for (var c = 1; c <= remN; c++) { - var r = Math.ceil(remN / c) - var avW = curW - gap * (c - 1) - var avH = curH - gap * (r - 1) - if (avW <= 0 || avH <= 0) continue - - var cW = avW / c - var cH = avH / r - var sc = Math.min(cW / TARGET_ASPECT, cH) - - if (sc > bestScale) { - bestScale = sc - bestCols = c - } - } - - var remRows = Math.ceil(remN / bestCols) - var finalCellW = (curW - gap * (bestCols - 1)) / bestCols - var finalCellH = (curH - gap * (remRows - 1)) / remRows - - var gridContentH = remRows * finalCellH + (remRows - 1) * gap - var gridStartY = curY + (curH - gridContentH) / 2 - - for (var j = 0; j < remN; j++) { - var rItem = remainingItems[j] - var row = Math.floor(j / bestCols) - var col = j % bestCols - - var itemsInRow = Math.min((row + 1) * bestCols, remN) - (row * bestCols) - var rowW = itemsInRow * finalCellW + (itemsInRow - 1) * gap - var rowStartX = curX + (curW - rowW) / 2 - - var cellX = rowStartX + col * (finalCellW + gap) - var cellY = gridStartY + row * (finalCellH + gap) - - var rw0 = (rItem.width > 0) ? rItem.width : 100 - var rh0 = (rItem.height > 0) ? rItem.height : 100 - var rSc = Math.min(finalCellW / rw0, finalCellH / rh0) - - result.push({ - win: rItem.win, - x: cellX + (finalCellW - (rw0 * rSc))/2, - y: cellY + (finalCellH - (rh0 * rSc))/2, - width: rw0 * rSc, - height: rh0 * rSc, - isSpiral: false - }) - } - } - - return result - } -} |
