Come rendere una applicazione ridimensionabile a pieno schermo con Lion?

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:

  • Conservare un backup dell’applicazione originale in un posto sicuro
  • Non cercare di aggiornare l’applicazione modificata, potrebbe creare problemi

[ Home | Elenco delle FAQ | Forum | Segnalazioni | Risorse | Feed RSS ]