EdgeSnap classic 0.51 beta: finestre sul tuo Amiga

Indice della guida

EdgeSnap classic 0.51 beta è su Aminet: il mio sistema di affiancamento delle finestre arriva all’Amiga classico, con un pacchetto m68k per 68000 e successivi. Trascinando una finestra verso un bordo o un angolo compare la cornice di anteprima; rilasciando il pulsante, la finestra occupa quella metà, quel quarto o l’area massimizzata dello schermo.

Il riferimento d’uso è AmigaOS 3.1 e successivi, ma il requisito minimo dichiarato è AmigaOS 2.04. Non è necessario avere una scheda grafica: il percorso classic considera sia AGA sia RTG. È la prima release pubblica di questo ramo, con edgesnap.library 2.28, distinta dai pacchetti EdgeSnap per OS4, MorphOS e AROS.

Non soltanto finestre messe a metà

Il punto di attivazione è il puntatore, non il bordo della finestra. I lati corrispondono alle metà, gli angoli ai quarti e il bordo superiore alla massimizzazione. L’anteprima mostra la destinazione prima del rilascio, mentre il rilevamento di dock e pannelli evita di coprirli.

Due finestre affiancate possono condividere un divisorio: trascinandolo si ridimensionano entrambe. Una finestra già agganciata, trascinata lontano dalle zone, recupera le dimensioni precedenti sotto il puntatore. Ci sono anche scorciatoie configurabili: Ctrl Alt con le frecce per le azioni principali, Ctrl Alt C per centrare e Ctrl Alt Z per il selettore di nove celle sotto il mouse.

Preferenze native, senza MUI o ReAction

Per questo ramo ho adottato GadTools: le preferenze funzionano su 3.1 senza aggiungere quei toolkit. Zone, sensibilità, pressione contro il bordo, aspetto, dock e margini sono raccolti nella finestra delle impostazioni. Gli stessi parametri possono essere letti dai tooltype dell’icona, dal file di preferenze o dalla riga di comando.

La schermata qui sopra proviene dal repository del progetto: mostra le preferenze della 0.51 su AmigaOS 3.2.3. È documentazione autentica, non un’interfaccia inventata dalla copertina e non una nuova prova su hardware svolta per questo articolo.

Il bordo su AmigaOS 3.2: quando serve riavviare

Dopo la prima installazione su AmigaOS 3.2 bisogna riavviare. L’installer abilita l’opzione IControl Can Move Off-screen, recepita dal sistema all’avvio: permette alla finestra trascinata di oltrepassare il limite e al puntatore di raggiungere il bordo. La sezione AmigaOS delle preferenze consente di riportare indietro l’impostazione.

Finché non si riavvia, con l’opzione spenta e su 3.1 o precedenti che non la possiedono, la finestra si ferma al limite. In quel caso basta continuare a spingere il mouse contro il bordo per attivare l’anteprima. La distanza è PUSHPX, inizialmente 24 pixel; zero disabilita questa pressione aggiuntiva. Quando le finestre possono uscire dallo schermo, la pressione non viene conteggiata.

L’animazione Glide into place parte disattivata: su un 68k senza scheda grafica può essere lenta. Su AmiKit, mentre EdgeSnap gira, disattivo temporaneamente in ENV il movimento delle finestre gestito da MCP, ripristinandolo all’uscita senza cambiare le preferenze salvate. Il tooltype KEEPMCP=YES lascia invece MCP invariato.

Una commodity davanti a una libreria condivisa

EdgeSnap non installa patch ai vettori del sistema. Il gestore di input della commodity raccoglie eventi e segnala il task principale; le chiamate Intuition avvengono nel task, non nel contesto di input.device. La logica e lo stato di disposizione appartengono a edgesnap.library, utilizzabile anche da altri programmi: non è un nuovo window manager che sostituisce Workbench.

La porta ARexx EDGESNAP espone comandi come SNAP, RESTORE, QUERY, SELECT e PREFS. Il parametro TITLE permette di scegliere una finestra tramite un pattern. Per eseguire gli script deve essere attivo RexxMast; dalla Shell, rx "ADDRESS EDGESNAP 'SNAP LEFT'" agisce sulla finestra attiva. Il programma esnaptest, incluso nel pacchetto, è un esempio dell’API.

Download e installazione della beta 0.51

Scaricare il pacchetto LHA EdgeSnap classic m68k 0.51, disponibile nella pagina Aminet con readme e contenuto. Il repository classic su GitHub contiene i sorgenti; al momento della verifica non espone una release GitHub separata da indicare come download binario.

Dopo l’estrazione, aprire l’icona Install: la libreria va in LIBS:, la commodity in SYS:WBStartup, le preferenze in SYS:Prefs e il manuale nella posizione scelta. Non viene modificato S:User-Startup. Per aggiornare si ripete l’installazione, normalmente senza riavvio: questa indicazione non sostituisce il riavvio richiesto dalla prima impostazione IControl su 3.2. Exchange consente di abilitare, disabilitare o fermare la commodity.

Cosa è stato verificato e cosa resta da provare

La documentazione registra prove della 0.51 su AmigaOS 3.2.3 in emulazione, con AGA e scheda grafica, e su 3.1 in emulazione; per versioni precedenti riporta A1200 originale, Vampire e PiStorm con AmiKit. AmigaOS 3.1.4 non è ancora stato provato. Il requisito minimo 2.04 non equivale a una nuova certificazione di ogni configurazione.

Per questo articolo ho studiato sorgenti e manuale, verificato versione e integrità dell’archivio Aminet ed eseguito sul Mac le 13 suite host del nucleo C89, tutte superate. Questi controlli non sono nuovi test del binario su un Amiga. Per segnalare problemi usare le issue del repository classic, indicando macchina, sistema e passaggi.

Il progetto resta gratuito e open source con licenza MIT; il sostegno è volontario. Le icone sono di Carlo Spadoni. Lo snapping su Amiga non nasce qui: GoSnap è un precedente pertinente, mentre la mia scelta è unire trascinamento, divisori condivisi e una libreria riutilizzabile. Per il ramo sugli altri sistemi c’è l’articolo EdgeSnap 0.5.

Copertina: illustrazione concettuale generata con OpenAI, non uno screenshot del programma.

Fonti

AUTORE

Informatico, sviluppatore e sistemista con una lunga storia tra codice, server Linux, retrocomputer e piattaforme e-learning. Su AndroidLab porta uno sguardo tecnico e pragmatico: meno fumo da brochure, più attenzione a infrastruttura, usabilità, privacy, aggiornamenti e conseguenze concrete delle scelte dei produttori.

Lascia un commento