Rectangle v0.97-v0.99: tutte le modifiche degli ultimi aggiornamenti
Proseguendo dalle modifiche trattate per v0.95 e v0.96, ecco cosa è stato effettivamente rilasciato nelle tre release successive — verificato direttamente sulle note di rilascio del progetto invece che riassunto a memoria. Se stai usando una build più vecchia, ecco cosa ti stai perdendo.
v0.97
- Modifica all’ordinamento per
screensOrderedByX, che ora usa il punto medio orizzontale di un display (midX) per il calcolo — un affinamento della logica di ordinamento dei display multi-monitor trattata altrove in questa serie, volto a rendere il comportamento di Display successivo/precedente più prevedibile in configurazioni di monitor non banali. - Un interruttore predefinito per disattivare il ripristino allo sgancio per i comandi Smaller/Larger — che dà il controllo su se usare Make Smaller o Make Larger su una finestra agganciata attivi automaticamente un comportamento simile a Restore.
- Una casella «Skip gap on top screen edge» aggiunta direttamente nelle Impostazioni, che affronta una lamentela specifica sul comportamento incoerente delle impostazioni di spaziatura in cima allo schermo — collegata, sebbene non necessariamente con la stessa causa di fondo, ai problemi di spazio sul bordo superiore trattati nell’articolo dedicato alle lamentele sulla precisione in pixel.
- Il rapporto di divisione a metà applicato in modo coerente alle azioni d’angolo e alle aree di aggancio — correggendo un caso in cui una semplice azione di metà schermo e un’azione d’angolo o di area di aggancio potevano in precedenza calcolare il punto di divisione in modo leggermente diverso per quello che dovrebbe essere lo stesso confine.
- Ancorare le finestre «clamped» al bordo di aggancio invece di lasciare uno spazio, e allineare di default le finestre «clamped» ai bordi di aggancio — la correzione, trattata più in dettaglio nell’articolo su app come Discord e Spotify che impongono una dimensione minima delle finestre, per le finestre che non possono raggiungere la loro dimensione calcolata completa e che restavano fluttuanti con uno spazio indesiderato invece di essere spinte a filo contro il bordo.
- Una funzione «Cooperative Window Resizer», contribuita insieme alle correzioni per le finestre «clamped».
- Eseguire le azioni sulla finestra quando l’ID della finestra non è disponibile — una correzione di robustezza per una specifica modalità di fallimento interna in cui un’azione in precedenza non faceva nulla se Rectangle app non riusciva a risolvere l’ID di una finestra tramite il percorso abituale.
- Correzione delle prestazioni per il caricamento lento della scheda delle preferenze Snap Area.
v0.98
Una release circoscritta e a scopo unico: corregge una regressione per cui i rapporti di divisione laterale per le azioni laterali (metà sinistra/destra/superiore/inferiore) avevano smesso di iniziare esattamente a 1/2 come accadeva prima della v0.97. È un promemoria utile del fatto che anche un progetto open source ben testato a volte rilascia in una versione una correzione che richiede un’ulteriore correzione nella successiva — il lavoro sulla coerenza del rapporto di divisione della v0.97 ha introdotto proprio questa regressione, e la v0.98 esiste specificamente per correggerla.
v0.99
La più corposa delle tre, con contributi di diversi collaboratori alla loro prima partecipazione:
- Un interruttore nelle Impostazioni per mantenere la dimensione della finestra quando si sposta una finestra massimizzata su un altro display — in precedenza, spostare una finestra massimizzata su un display diverso tramite Display successivo/precedente presumibilmente la ridimensionava alle dimensioni complete di quel display; questa impostazione permette invece di preservare la dimensione originale.
- Un badge al passaggio del mouse e un selettore per le finestre sovrapposte — il seguito diretto della funzione di offset di sovrapposizione della v0.96, trattata in dettaglio nell’articolo dedicato a quella funzione. È l’idea del «badge di conteggio al passaggio del mouse» che il maintainer aveva menzionato quando ha unito la precedente PR sull’offset di sovrapposizione, ora effettivamente rilasciata.
- Ripristinare le scorciatoie dopo i cambi di sessione utente — una correzione per le scorciatoie che non sopravvivevano al passaggio di un Mac a una diversa sessione utente e ritorno.
- Impedire che le scorciatoie Todo si attivino durante la registrazione di una scorciatoia — bloccando un’interazione indesiderata in cui tentare di registrare una nuova scorciatoia personalizzata poteva accidentalmente attivare invece un’azione del Todo Mode.
- Invalidare il CFMachPort dell’event tap in ActiveEventMonitor.stop() — una correzione tecnica di livello più basso relativa a come Rectangle mac ascolta gli eventi di sistema, volta a prevenire una specifica classe di problemi di gestione delle risorse piuttosto che un cambiamento di comportamento visibile all’utente.
- Permettere a zero di disattivare i limiti di dimensione minima della finestra — dando un controllo più diretto sull’applicazione della dimensione minima propria di Rectangle app, distinta dal minimo imposto da una singola app (la limitazione in stile Discord/Spotify trattata altrove), che Rectangle app non può comunque ignorare.
- Cancellare le scorciatoie omesse durante l’importazione di una configurazione, e riapplicare le scorciatoie al ripristino delle impostazioni predefinite correnti — due correzioni collegate su come l’importazione di una configurazione salvata o il ripristino alle impostazioni predefinite gestiscono le scorciatoie non presenti nella nuova configurazione, così che associazioni residue di una configurazione precedente non permangano inaspettatamente.
- Permettere a «smaller» di ridurre l’altezza di una finestra massimizzata verticalmente — estendendo l’azione Make Smaller per gestire correttamente una finestra che è stata massimizzata specificamente lungo la sua altezza.
- Preservare la posizione relativa della finestra quando si sposta su un altro display — mantenendo coerente il posizionamento proporzionale di una finestra quando viene spostata tra display di dimensioni diverse, invece di reimpostarla su una posizione predefinita nel nuovo display.
- Rispettare le personalizzazioni
defaults writeper le chiavi JSONDefault — una correzione che garantisce che le personalizzazioni da Terminale non vengano silenziosamente sovrascritte da valori incorporati nei valori predefiniti JSON propri di Rectangle app. - Eliminare gli spazi dell’aggancio in ottavi in verticale su display la cui altezza non è divisibile per 4 — una correzione di precisione in pixel circoscritta ma specifica per una particolare interazione tra altezza del display e griglia in ottavi su monitor orientati in verticale.
- Limitare la scansione dell’offset di sovrapposizione e applicare l’offset anche alle finestre massimizzate — estendendo la funzione di offset di sovrapposizione della v0.96 (trattata nel suo articolo dedicato) affinché si applichi anche alle finestre massimizzate, con un limite aggiunto per evitare che la scansione di rilevamento venga eseguita inutilmente ampia.
- Un piccolo cambiamento nell’interfaccia: il pulsante con i puntini di sospensione nella scheda General ora ha l’etichetta «Extras» invece di essere senza etichetta.
Cosa dice questo ritmo di aggiornamenti
Tre release in successione relativamente ravvicinata, diverse con collaboratori esterni alla loro prima partecipazione, sono un segnale ragionevole di un progetto mantenuto attivamente piuttosto che uno che si accontenta di una vecchia codebase. Se stai risolvendo un problema specifico di precisione in pixel o multi-monitor e trovi un vecchio report dall’aspetto irrisolto di un anno o più fa, vale la pena controllare se una delle correzioni specifiche sopra elencate — coerenza del rapporto di divisione a metà, ancoraggio delle finestre «clamped», preservazione della posizione relativa tra i display — non lo risolva già, prima di dare per scontato che il comportamento sia permanente.
Controllare la propria versione rispetto a questo elenco
Apri l’icona di Rectangle nella barra dei menu e controlla About (senza tenere premuto Option) per il numero di versione attuale, poi confrontalo con la pagina delle Release su GitHub per vedere se ti manca qualcuna delle correzioni descritte qui, e per controllare cosa è stato rilasciato da quando è stato scritto questo articolo.