ENGLISH: This is release 1.5c of VisualPrefs, a patch to modify the look of the Amiga GUI. I hope there are no serious bugs. However, please don't judge it too severely. :) If you find a bug, report it to [tanti@intercom.it] and be sure that I'll do my best to fix it. But please, also read the documentation first. ;-) Changes from release 1.5b ------------------------- · VisualPrefs can now change the look of the ReAction iconify gadget. · Now the screen depth gadget on screens ignored by VisualPrefs works again even with the "Bound hit box" option turned on. · When using a custom bitmap for DirOpus "padlock" images, the "active selected" image was used even for the "inactive selected" state. Now fixed. · Fixed a problem which prevented custom bitmaps to work if the Picasso96 or OS 3.5 picture.datatype was used on CyberGraphX systems. A nice side-effect of this is that now VisualPrefs can always load bitmaps in V43 mode and therefore display truecolor images as they are meant to be, if the screen is deep enough. · Now titlebar gadgets in the preview of the OS 3.5 Font preferences editor are drawn with the correct height. · Fixed a problem which caused garbage or black rectangles to appear in window borders on deep screens if VisualPrefs' "Don't optimize..." option was turned on, a "GadTools" or "Filled" frame style was used for system gadgets, and PatchControl was started before VisualPrefs in the Startup-sequence. · Fixed a bug which caused system gadget images to look trashed if the "RTG mode" bit was set in the "Special" environment variable and Birdie was used with VisualPrefs' "Don't optimize..." option turned on. · Some menu items of the GUI editor could fail to correctly update the contents of the "Bitmaps" text gadget in the "System" page. Now fixed. · The "tbiclass" API now supports a new attribute allowing to ask an image about its inner dimensions (useful for more accurate rendering of additional imagery inside the image). See the "VP-Developer.doc" file for more details. · The version string of the VisualPrefs and GUI executables now reports the specific CPU the program is optimized for (except for the 68000 version). Changes from release 1.5a ------------------------- · It seems that the new semaphore system, while working better for most people, causes some problems on a few specific configurations. So you can now choose whether to use it or not: by setting a bit in the "Special" environment variable you tell VisualPrefs to keep handling semaphores the old way. Changes from release 1.5 ------------------------ · Now VisualPrefs consumes significantly less CHIP memory when using bitmaps. · By setting a bit in the "Special" environment variable you can now prevent VisualPrefs from adjusting the results of the IM_FRAMEBOX method of "frameiclass" (usually done to better reflect the border thickness). · By setting a bit in the "Special" environment variable you can now prevent VisualPrefs from using any CHIP memory at all, if you're using CyberGraphX and have the PLANES2FAST variable set to "1". If Picasso96 supports a similar feature, this should work with it too, although it wasn't tested. · Now VisualPrefs supports the usage of the { GTSC_Arrows, 0 } tag item in the creation of GadTools scroller gadgets, although it's actually an undocumented feature of GadTools and therefore shouldn't be used. · Reworked the internal semaphore handling in order to avoid some rare (but possible) deadlocks at boot time and/or at the re-opening of the Workbench screen. · The wrong pens were being used to draw the frame of selected screen depth gadgets in "Simple" or "Filled" style. Now fixed. · Now the GUI editor refuses to load anything which isn't an IFF preferences file. · Included new select.gadget which fixes a bug that caused it to ignore the NG_HIGHLABEL flag when rendering non-centered gadget labels. Changes from release 1.4 ------------------------ · Added support of external bitmap images for system gadgets! You can also redefine the symbols of checkbox and cycle gadgets. See the new section to learn how to use this feature, as well as the "Sample.ilbm" picture and the sample bitmap set found in this archive. · Now the button frame style and inner symbol style for system gadgets have become independent from one another, and can thus be chosen separately. A number of new frame styles have been added, which can be used with any of the usual symbol styles (Standard, XEN, Future, Flat). · Added a new pen (Inactive Glyph) for selection of the color of system gadget symbols in inactive window borders. · Added an option to use the Fill Shine and Fill Shadow pens for the edges of selected frames (when "Alternate look..." is off). · Now selected XEN frames are filled with the Foreground pen (rather than the Background pen) if the "Don't fill selected frames" option is not set. · Now the "Intuition is attempting to reset the Workbench screen..." requester issued by VisualPrefs should always disappear automatically when all the non-Workbench windows have been closed, just like the original IPrefs requester does. · Now the GUI editor tries to open a cloned screen even if the requested one is already open, if the already-existing screen is too small. · Added a new environment variable "VisualPrefs/CopyGTText": set it to "1" to tell VisualPrefs to copy the label text of GadTools button gadgets, rather than simply referencing the original string. This may come useful if you use some programs which incorrectly reuse the same string pointer when they create a list of GadTools gadgets. · Now GadTools string gadgets can have a special look when in disabled state. · Now VisualPrefs can (optionally) change the system standard DrawInfo pens on all screens, rather than only on the Workbench screen. This works also for the template. Also, when doing so, a checkbox in the "Color locking" page allows you to choose whether to have all system standard pens always automatically locked (like Intuition normally would do) or to selectively lock them yourself by hand (like you usually do with custom pens). · The pop-up patch for cycle gadgets can now optionally draw the menu panel directly on the screen's bitmap, rather than opening a window. This enhances the "smoothness" of pop-up menu operations. · Pop-up menus of cycle gadgets can now have a nice zoom-like effect when opening and closing, with a configurable duration. · New SCREENBARFONT tool type for the GUI editor, allowing to use the current screen's font for screen and window titlebars drawn in the preview area, even if using a different font for the rest of the editor. This way you can see the titlebar gadgets exactly in the size they would have on the current screen, rather than the size they would have on a screen using the editor's font. · When saving the template, the GUI editor now displays a proper requester with a number of gadgets allowing to choose all template options at once, rather than having to go through a series of simple EasyRequesters. · A new "Allocate new color" option for the template, which allows for more precise color selection than "Find best match", creating the color if a suitable one doesn't already exist (it doesn't lock the pen, however). · A new "Lock pens" option for the template, allowing to lock all the GUI pens on screens which the template is applied to (only if the template uses the saved values for pen assignment, as otherwise it isn't necessary). · A new "Bitplane threshold" setting for the template, to determine a minimum number of bitplanes under which the pens are given simple default values regardless of what method was selected for pen assignment. This is especially useful with pen color remapping, which is usually ok with deep screens but gives poor results on screens with few colors. · A new "Allow nameless screens" option for the template, which tells VisualPrefs to apply the template even to screens having no title. · Reworked some internals of the GUI editor in order to make it somewhat quicker, especially when refreshing or resizing its window. · Now the "Open..." menu item is no longer disabled on screens other than the Workbench one, allowing you to load preset preferences files on any screen. Furthermore, when loading a preset containing just one screen definition, you can now choose to apply it to the screen you're editing rather than to add it to the screen list or to replace the list with it (however, note that applying doesn't affect pen assignment). · By great demand (about three people, one of which didn't ask me directly) VisualPrefs is now able to make the window sizing gadget thinner than the standard 18 pixels, therefore narrowing also the right window border. However, as Intuition does NOT really support such a thing, in order to achieve this the right window border needs to be quickly redrawn by the patch upon opening. Hopefully, on fast enough systems this won't be too noticeable; if it is, just don't use this feature. · A new menu item in GUI allows you to launch your preferred palette editor. The default is SYS:Prefs/Palette, but you can override this by using the new PALETTE tool type to indicate a different editor (like FullPalette). · The GUI editor now reads some settings (currently SCREENBARFONT and PALETTE) from its icon if you don't specify them on the command line when starting it from the Shell. · New "Lock all" and "Free all" gadgets added to the "Color locking" page for your convenience. · Slightly bettered the aspect of arrow symbols in window borders with the "Borderless" system frame style. · A recent version of FPPrefs (40.22) included for people who use FullPalette and haven't yet downloaded the latest release from Aminet. Versions prior to 40.20 don't work correctly with VisualPrefs 1.5. · Now screen titlebars can have a different height than window titlebars! If you have square titlebar gadgets, you can force the screen depth gadget to keep the same width as the window depth gadget by setting a bit in the "Special" environment variable. · By setting a bit in the "Special" environment variable you can now have a new global look with thicker 3D edges for XEN button frames. · Now GadTools gadgets in XEN style use the Text pen (rather than the Fill Text pen) for their label when they are in "selected" state. This preserves the correct XEN look regardless of what color you choose for window titles. · Two new environment variables, "SafetyLevel" and "MinStackSize", which allow to choose how VisualPrefs must behave in low stack conditions within its patches to system BOOPSI classes. If needed, VisualPrefs is now able to temporarily switch to a larger stack when executing BOOPSI classes code. Note well: this feature must be regarded as experimental! · Now the preview area of the GUI editor should be displayed a bit faster on hicolor and truecolor screens. · Added information about the new VisualPrefs mailing list. · Corrected an error in the GUI editor which prevented the cycle gadget used to set the look of "pop-up" highlighted items from working properly. · VisualPrefs could fail to free some memory at the closing of the Workbench screen. Now fixed. · Now VisualPrefs handles much better the palette of two-color screens. · GadTools string gadgets could sometimes have incorrectly sized frames. Now fixed. · Setting the preferences to the "Four-color" mode on the Workbench screen, then visiting another screen, doesn't cause anymore the loss of Workbench's multicolor settings due to them being overwritten with the four-color ones. · Edges of pop-up menu drop shadows have now the correct shape when the "round edges" option is active. · The dithering for normally disabled gadgets and for the background of GadTools proportional gadgets was being rendered with an incorrect color in the GUI editor's preview area. Now fixed. · Fixed a bug in the screen depth gadget handling code which could cause deadlocks in certain situations. · Corrected some details of the preview display in the GUI editor. · If a screen using the template couldn't be opened, VisualPrefs was increasing the template usage counter anyway, and never decreasing it afterwards. Now fixed. · Added a workaround for a confict with NewIcons which caused window titles to be written more than one time and slightly out of phase when NewIcons' "Outline" option was selected. · Added some stack-checking code in the "frameiclass" patch: now the custom routines of VisualPrefs aren't executed if the stack is too low. This prevents the input.device from crashing for a stack overflow when clicking on some (fortunately very rare) stack-hungry GUIs. · Now the screen titlebar's bright edge attempts to repair itself whenever it's damaged by Directory Opus titlebar messages. · Added a workaround for a bug in WordPerfect which caused the program's requesters not to be displayed with VisualPrefs running. ============================================================================= ITALIANO: Questa è la release 1.5c di VisualPrefs, un patch per modificare l'aspetto della GUI di Amiga. Spero che non ci sia alcun bug serio. Tuttavia, per favore, non giudicatelo troppo severamente. :) Se trovate un bug, riferitelo a [tanti@intercom.it] e state certi che farò del mio meglio per correggerlo. Ma per favore, prima leggete anche la documentazione. ;-) Cambiamenti dalla release 1.5b ------------------------------ · Ora VisualPrefs può modificare l'aspetto del gadget iconify di ReAction. · Ora il gadget di profondità sugli schermi ignorati da VisualPrefs funziona di nuovo anche con l'opzione "Confina hit box" attivata. · Usando una bitmap custom per le immagini "padlock" di DirOpus, l'immagine "attiva selezionata" veniva usata anche per lo stato "inattivo selezionato". Corretto. · Corretto un problema che impediva alle bitmap custom di funzionare se si usava il picture.datatype di Picasso96 o di AmigaOS 3.5 su un sistema CyberGraphX. Un simpatico effetto collaterale di ciò è che ora VisualPrefs può caricare sempre le bitmap in modalità V43 e quindi visualizzare immagini truecolor con l'esatto aspetto che dovrebbero avere, se la profondità dello schermo è sufficiente. · Ora i gadget della titlebar nel preview dell'editor di preferenze Font di AmigaOS 3.5 sono disegnati con l'altezza giusta. · Corretto un problema che faceva apparire spazzatura o rettangoli neri nei bordi delle finestre su schermi profondi se l'opzione "Non ottimizzare..." di VisualPrefs era attiva, veniva usato uno stile "GadTools" o "Filled" per i gadget di sistema, e PatchControl era lanciato prima di VisualPrefs nella Startup-sequence. · Corretto un bug che faceva apparire rovinate le immagini dei gadget di sistema se c'era il bit "modo RTG" nella variabile d'ambiente "Special" e si usava Birdie con l'opzione "Non ottimizzare..." di VisualPrefs attiva. · Alcune voci di menu dell'editor GUI non aggiornavano correttamente il contenuto del gadget di testo "Bitmap" nella pagina "Sistema". Corretto. · L'API di "tbiclass" ora supporta un nuovo attributo che permette di chiedere ad un'immagine la sua dimensione interna (utile per un rendering più accurato di eventuali immagini aggiuntive all'interno dell'immagine). Vedere il file "VP-Developer.doc" per maggiori dettagli. · La stringa di versione degli eseguibili di VisualPrefs e GUI ora riporta la specifica CPU per cui il programma è ottimizzato (tranne la versione 68000). Cambiamenti dalla release 1.5a ------------------------------ · Sembra che il nuovo sistema di semafori, pur funzionando meglio per la maggior parte delle persone, dia qualche problema su certe particolari configurazioni. Pertanto ora si può scegliere se usarlo o no: impostando un bit nella variabile d'ambiente "Special" si dice a VisualPrefs di continuare a gestire i semafori nel vecchio modo. Cambiamenti dalla release 1.5 ----------------------------- · Ora VisualPrefs consuma significativamente meno memoria CHIP per le bitmap. · Impostando un bit nella variabile d'ambiente "Special" è ora possibile evitare che VisualPrefs corregga i risultati del metodo IM_FRAMEBOX di "frameiclass" (fatto di norma per riflettere meglio lo spessore dei bordi). · Impostando un bit nella variabile d'ambiente "Special" è ora possibile evitare del tutto che VisualPrefs usi memoria CHIP, se si usa CyberGraphX e si ha la variabile PLANES2FAST impostata a "1". Se Picasso96 supporta una funzionalità simile la cosa dovrebbe funzionare anche con essa, benché non sia stata provata. · Ora VisualPrefs supporta l'uso del tag item { GTSC_Arrows, 0 } durante la creazione dei gadget scroller di GadTools, anche se in realtà si tratta di una funzionalità non documentata e pertanto non dovrebbe essere usata. · Riorganizzata la gestione dei semafori interni per evitare alcuni rari (ma possibili) deadlock al boot e/o alla riapertura dello schermo Workbench. · Venivano usate le penne sbagliate per disegnare la cornice dei gadget di profondità dello schermo negli stili "Simple" e "Filled". Corretto. · Ora l'editor GUI si rifiuta di caricare qualsiasi cosa non sia un file di preferenze IFF. · Incluso nuovo select.gadget che corregge un bug che gli faceva ignorare il flag NG_HIGHLABEL nel disegnare testi di gadget non centrati. Cambiamenti dalla release 1.4 ----------------------------- · Ho aggiunto il supporto delle immagini bitmap esterne per i gadget di sistema! Inoltre si possono ridefinire anche i simboli dei gadget checkbox e cycle. Vedere la nuova sezione per imparare come si usa questa feature, nonché l'immagine "Sample.ilbm" ed il set di bitmap di esempio che si trovano in questo archivio. · Ora lo stile della cornice e lo stile dei simboli interni per i gadget di sistema sono indipendenti l'uno dall'altro, e possono pertanto essere scelti separatamente. E` stato aggiunto un certo numero di nuovi stili per la cornice, che possono venire usati insieme ad uno qualunque dei soliti stili per i simboli (Standard, XEN, Future, Flat). · Ho aggiunto una nuova penna (Inactive Glyph) per selezionare il colore dei simboli dei gadget di sistema nei bordi delle finestre inattive. · Ho aggiunto un'opzione che permette di usare le penne Fill Shine e Fill Shadow per i contorni delle cornici selezionate (se "Look alternativo..." è disattivato). · Ora le cornici XEN selezionate sono riempite con la penna Foreground (invece che la penna Background) se l'opzione "Non riempire le cornici selezionate" non è attiva. · Ora il requester "Intuition deve aggiornare lo schermo del Workbench..." mostrato da VisualPrefs dovrebbe sempre sparire automaticamente quando tutte le finestre non Workbench sono state chiuse, proprio come fa il requester originale di IPrefs. · Ora l'editor GUI tenta di aprire uno schermo clonato anche se quello richiesto è già aperto nel caso lo schermo già esistente sia troppo piccolo. · Aggiunta una nuova variabile d'ambiente "VisualPrefs/CopyGTText": impostandola a "1" si dice a VisualPrefs di copiare il testo dei label dei gadget button di GadTools, invece che fare semplicemente riferimento alla stringa originale. Questo può risultare utile se si usano dei programmi che erroneamente riutilizzano lo stesso puntatore a stringa quando creano una lista di gadget GadTools. · Ora i gadget stringa di GadTools possono avere un nuovo look quando sono disabilitati. · Ora VisualPrefs può (opzionalmente) cambiare le penne DrawInfo standard di sistema con tutti gli schermi, invece che solo con lo schermo Workbench. Questo vale anche per il template. Inoltre, quando si fa ciò, un checkbox nella pagina "Bloccaggio colori" permette di indicare se si vuole che le penne standard di sistema vengano sempre automaticamente bloccate (come normalmente farebbe Intuition) oppure se si preferisce bloccarle selettivamente a mano (come si fa di solito con le penne aggiuntive). · Il patch pop-up per i cycle gadget può ora opzionalmente disegnare il pannello del menu direttamente sulla bitmap dello schermo, invece di aprire una finestra. Questo aumenta la "fluidità" delle operazioni con i menu pop-up. · I menu pop-up per i cycle gadget possono ora avere un simpatico effetto di zoom quando si aprono e si chiudono, con una durata configurabile. · Un nuovo tool type SCREENBARFONT per l'editor GUI, che permette di usare il font dello schermo corrente per le titlebar di schermi e finestre disegnate nella zona di preview, anche se si utilizza un font diverso per il resto dell'editor. In questo modo si possono vedere i gadget della titlebar con l'esatta dimensione che avrebbero sullo schermo corrente, piuttosto che su uno schermo utilizzante il font dell'editor. · Quando si salva il template ora l'editor GUI mostra un vero e proprio requester con un certo numero di gadget che permettono di scegliere tutte le opzioni per il template in una volta sola, invece di dover attraversare una serie di semplici EasyRequester. · Una nuova opzione "Alloca nuovo colore" per il template, che permette una selezione dei colori più precisa di "Trova migliore corrispondenza", creando il colore se non ne esiste già uno adatto (tuttavia non blocca la penna). · Una nuova opzione "Blocca penne" per il template, che permette di bloccare tutte le penne GUI degli schermi a cui il template viene applicato (solo se il template usa i valori salvati per l'assegnamento delle penne, altrimenti non è necessario). · Una nuova opzione "Soglia bitplane" per il template, per determinare un numero minimo di bitplane sotto il quale alle penne vengono assegnati dei semplici valori di default indipendentemente dal metodo scelto per l'assegnamento delle penne. Ciò è particolarmente utile con il remapping dei colori delle penne, che di solito funziona bene con schermi profondi ma dà risultati scadenti su schermi con pochi colori. · Una nuova opzione "Accetta schermi anonimi" per il template, che dice a VisualPrefs di applicare il template anche agli schermi senza titolo. · Ho riscritto alcune parti dell'editor GUI per renderlo un po' più veloce, specialmente durante il refresh o il ridimensionamento della sua finestra. · Ora la voce di menu "Carica..." non è più disabilitata sugli schermi diversi da quello Workbench, il che permette di caricare file di preferenze di preset su qualsiasi schermo. Inoltre, quando si carica un file di preset che contiene una sola definizione di schermo, si può ora scegliere di applicarla allo schermo che si sta configurando invece che aggiungerla alla lista degli schermi o sostituirla alla lista (tuttavia, si noti che la applicazione non modifica l'assegnamento delle penne). · A grande richiesta (circa tre persone, una delle quali non me l'ha chiesto direttamente) VisualPrefs ora può rendere il gadget di ridimensionamento delle finestre più stretto dei 18 pixel standard, restringendo quindi anche il bordo destro delle finestre. Tuttavia, poiché Intuition NON supporta veramente una cosa simile, per ottenere ciò il patch deve ridisegnare rapidamente il bordo destro della finestra quando questa viene aperta. Si spera che su sistemi abbastanza veloci la cosa non si noti troppo; se si nota, non usare questa feature. · Una nuova voce di menu in GUI permette di lanciare il proprio editor per la palette preferito. Il default è SYS:Prefs/Palette, ma si può cambiarlo usando il nuovo tool type PALETTE per indicare un editor diverso (come FullPalette). · L'editor GUI ora legge alcune impostazioni (attualmente SCREENBARFONT e PALETTE) dalla sua icona se non vengono specificate sulla linea di comando quando viene lanciato da Shell. · Nuovi gadget "Bl. tutto" (blocca tutto) e "Lib. tutto" (libera tutto) aggiunti alla pagina "Bloccaggio colori" per maggiore comodità. · Leggermente migliorate le proporzioni dei simboli freccia nei bordi delle finestre con lo stile "Borderless" per le cornici di sistema. · Una versione recente di FPPrefs (40.22) è inclusa per chi usa FullPalette e non ha ancora prelevato l'ultima release da Aminet. Le versioni precedenti alla 40.20 non funzionano correttamente con VisualPrefs 1.5. · Ora la titlebar dello schermo può avere un'altezza diversa rispetto alla titlebar delle finestre! Se si hanno gadget della titlebar quadrati è possibile costringere il gadget di profondità dello schermo a mantenere la stessa larghezza del gadget di profondità delle finestre impostando un bit nella variabile d'ambiente "Special". · Impostando un bit nella variabile d'ambiente "Special" è ora possibile avere un nuovo look globale con contorni 3D più spessi per le cornici XEN usate per i pulsanti. · Ora i gadget GadTools in stile XEN usano la penna Text (invece che la penna Fill Text) per il loro testo quando sono in stato "selezionato". Ciò preserva il corretto look XEN indipendentemente da quale colore si scelga per i titoli delle finestre. · Due nuove variabili d'ambiente, "SafetyLevel" e "MinStackSize", che permettono di scegliere il comportamento di VisualPrefs in condizioni di scarsità di stack all'interno dei suoi patch alle classi BOOPSI di sistema. Se necessario, ora VisualPrefs è in grado di passare temporaneamente ad uno stack più grande quando viene eseguito il codice delle classi BOOPSI. Nota bene: questa feature è da considerarsi sperimentale! · Ora la zona di preview dell'editor GUI dovrebbe essere visualizzata un po' più velocemente sugli schermi hicolor e truecolor. · Aggiunte informazioni sulla nuova mailing list di VisualPrefs. · Corretto un errore nell'editor GUI che impediva al cycle gadget usato per impostare l'aspetto degli elementi "pop-up" evidenziati di funzionare correttamente. · VisualPrefs poteva non riuscire a liberare un po' di memoria alla chiusura dello schermo Workbench. Corretto. · Ora VisualPrefs gestisce molto meglio la palette degli schermi a due colori. · I gadget stringa di GadTools a volte potevano avere una cornice di dimensioni sbagliate. Corretto. · Impostare le preferenze al modo "Quattro colori" sullo schermo Workbench e poi visitare un altro schermo non provoca più la perdita delle impostazioni multicolore (venivano sovrascritte da quelle a quattro colori). · Gli angoli delle ombre dei menu pop-up hanno ora la forma corretta quando l'opzione "angoli arrotondati" è attiva. · La retinatura per i gadget disabilitati in modo standard e per lo sfondo dei gadget proporzionali di GadTools veniva disegnata con il colore sbagliato nella zona di preview dell'editor GUI. Corretto. · Corretto un bug nel codice che gestisce il gadget di profondità dello schermo, che poteva provocare dei deadlock in particolari circostanze. · Corretti alcuni dettagli del display di preview nell'editor GUI. · Se uno schermo che usava il template non poteva venire aperto, VisualPrefs incrementava ugualmente il contatore per l'uso del template e poi non lo decrementava più. Corretto. · Aggiunto un "workaround" per un conflitto con NewIcons a causa del quale i titoli delle finestre venivano scritti più di una volta e leggermente sfasati quando era attiva l'opzione "Outline" di NewIcons. · Aggiunto del codice che controlla lo stack nel patch a "frameiclass": ora le routine custom di VisualPrefs non vengono eseguite se lo stack è troppo basso. Questo impedisce che l'input.device vada in crash a causa di uno stack overflow quando si fa click su certe GUI (fortunatamente piuttosto rare) molto affamate di stack. · Ora il contorno chiaro della titlebar dello schermo tenta di ridisegnarsi quando viene danneggiato dai messaggi sulla titlebar di Directory Opus. · Aggiunto un "workaround" per un bug di WordPerfect che impediva ai requester del programma di essere visualizzati in presenza di VisualPrefs.