From dcc2b56bd34846c5e8562bdb33ea63f3734d5ec0 Mon Sep 17 00:00:00 2001 From: Don Williams Date: Mon, 13 Jul 2026 16:11:51 -0400 Subject: Fixed qs-hyprview to work with trixie+ Signed-off-by: Don Williams 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 --- .../qs-hyprview-trixie/layouts/SmartGridLayout.qml | 134 --------------------- 1 file changed, 134 deletions(-) delete mode 100644 config/quickshell/qs-hyprview-trixie/layouts/SmartGridLayout.qml (limited to 'config/quickshell/qs-hyprview-trixie/layouts/SmartGridLayout.qml') diff --git a/config/quickshell/qs-hyprview-trixie/layouts/SmartGridLayout.qml b/config/quickshell/qs-hyprview-trixie/layouts/SmartGridLayout.qml deleted file mode 100644 index 6207d19c..00000000 --- a/config/quickshell/qs-hyprview-trixie/layouts/SmartGridLayout.qml +++ /dev/null @@ -1,134 +0,0 @@ -pragma Singleton -import Quickshell - -Singleton { - id: root - - function doLayout(windowList, outerWidth, outerHeight) { - var N = windowList.length - if (N === 0) return [] - if (outerWidth <= 0 || outerHeight <= 0) return [] - - var gap = Math.min(outerWidth * 0.03, outerHeight * 0.03) - - // --- 0. DEFINIZIONE AREA SICURA (SCALATA) --- - // Riduciamo l'area di calcolo al 90% per lasciare spazio alle animazioni hover - var contentScale = 0.9 - var usableW = outerWidth * contentScale - var usableH = outerHeight * contentScale - - // --- 1. TROVARE LA SCALA OTTIMALE --- - // Usiamo usableW/H per decidere la dimensione delle finestre - var TARGET_ASPECT = 16.0 / 9.0 - var bestCols = 1 - var bestRows = 1 - var bestScale = 0 - - for (var cols = 1; cols <= N; cols++) { - var rows = Math.ceil(N / cols) - - // Calcoliamo lo spazio basandoci sull'area ridotta - var availW = usableW - gap * (cols - 1) - var availH = usableH - gap * (rows - 1) - - if (availW <= 0 || availH <= 0) continue - - var cellW = availW / cols - var cellH = availH / rows - - var scaleW = cellW / TARGET_ASPECT - var scaleH = cellH / 1.0 - var currentScale = Math.min(scaleW, scaleH) - - if (currentScale > bestScale) { - bestScale = currentScale - bestCols = cols - bestRows = rows - } - } - - // --- 2. CALCOLO DIMENSIONI REALI --- - - // Ricalcoliamo i limiti cella basati sull'area ridotta - var finalAvailW = usableW - gap * (bestCols - 1) - var finalAvailH = usableH - gap * (bestRows - 1) - var maxCellW = finalAvailW / bestCols - var maxCellH = finalAvailH / bestRows - - // --- 3. POSIZIONAMENTO (CENTRATO NELL'AREA TOTALE) --- - - // Calcoliamo l'altezza totale del blocco di contenuto - var totalGridContentH = bestRows * maxCellH + (bestRows - 1) * gap - - // Per centrare verticalmente, usiamo l'outerHeight REALE (al 100%) - // In questo modo il blocco ridotto (90%) finisce esattamente al centro dello schermo fisico - var startOffsetY = (outerHeight - totalGridContentH) / 2 - - var result = [] - - // Iteriamo per RIGA - for (var r = 0; r < bestRows; r++) { - var rowItems = [] - var startIndex = r * bestCols - var endIndex = Math.min(startIndex + bestCols, N) - - if (startIndex >= N) break - - var totalRowContentWidth = 0 - - // Fase 3a: Calcolo dimensioni miniature (Packed) - for (var i = startIndex; i < endIndex; i++) { - var item = windowList[i] - var w0 = (item.width && item.width > 0) ? item.width : 100 - var h0 = (item.height && item.height > 0) ? item.height : 100 - - // Scala calcolata sui limiti "sicuri" (90%) - var scale = Math.min(maxCellW / w0, maxCellH / h0) - - var thumbW = w0 * scale - var thumbH = h0 * scale - - rowItems.push({ - originalItem: item, - width: thumbW, - height: thumbH, - index: i, - col: i - startIndex - }) - - totalRowContentWidth += thumbW - } - - // Aggiungiamo i gap totali della riga - if (rowItems.length > 1) { - totalRowContentWidth += (rowItems.length - 1) * gap - } - - // Fase 3b: Posizionamento X - // Anche qui, usiamo outerWidth REALE per centrare il blocco riga nello schermo intero - var currentX = (outerWidth - totalRowContentWidth) / 2 - var cellAbsY = startOffsetY + r * (maxCellH + gap) - - for (var k = 0; k < rowItems.length; k++) { - var rItem = rowItems[k] - - // Centratura verticale nella fascia - var currentY = cellAbsY + (maxCellH - rItem.height) / 2 - - result.push({ - win: rItem.originalItem.win, - x: currentX, - y: currentY, - width: rItem.width, - height: rItem.height, - rowIndex: r, - colIndex: rItem.col - }) - - currentX += rItem.width + gap - } - } - - return result - } -} -- cgit v1.2.3