
| Faq numero: | 431 |
|---|---|
| Curata da: | Marco Balestra |
| Argomenti: | develop unix utils |
| Dall’ultima revisione: | 211 giorni, 22 ore, 17 minuti |
| Faq correlate: |
Faq 428 - Come rimettere Front Row in Lion? Faq 430 - Come si inverte la direzione dello scroll in Lion? Faq 429 - Come preparare un DVD o pendrive bootable con Mac OS X 10.7 Lion acquistato su AppStore? |
Creare una copia dell’applicazione
Meglio evitare di modificare l’applicazione originale finché non si è certi del buon risultato, meglio iniziare facendone una copia e lavorando su quella.
Individuare i file “nib” compilati
I file NIB compilati si trovano nel contenuto del bundle, nella cartella “Contents/Resources”.
In applicazioni che sono internazionalizzate potrebbero essere in sottocartelle lproj per lingua, vanno comunque individuati i file NIB da modificare.
- cd whatever.app/Contents/Resources
- grep -iRl NSWindowBacking *
Avremo un elenco dei file NIB compilati che definiscono la chiave “NSWindowBacking”.
Questa chiave è un buon indicatore per capire che il NIB contiene una definizione di finestra.
Si può provare a editarli tutti, oppure cercare di individuare i NIB opportuni (ad esempio per Colloquy: JVChatWindow.nib, JVTabbedChatWindow.nib, e JVSidebarChatWindow.nib).
Convertire i NIB in XML
Si può utilizzare plutil di Apple (da XCode) o plusutil di Erica Sadun per convertire ogni NIB compilato in XML:
- plutil -convert XML1 filename.nib
Editare i file XML
Aprire i file XML convertiti con un text editor (come TextEdit, TextWrangler, BBEdit o altri).
Cercare in ogni file la coppia key/value per “NSWindowBacking”.Subito dopo questa coppia chiave/valore aggiungere:
<key>NSWindowCollectionBehavior</key>
<integer>128</integer>Questa coppia dice all’oggetto Window che è possibile ridimensionare la finestra a pieno schermo.
Salvare e chiudere il file.
Riconvertire il NIB in BPlist
Non è strettamente necesario che il NIB sia riconvertito in una plist binaria, ma per finire il lavoro...
- plutil -convert binary1 filename.nib
È fatta, con tutte le limitazioni del caso: