Днями Еріка Садун (Erica Sadun), «ніндзя» програмування для Mac і iOS, а також за сумісництвом автор ресурсу The Unofficial Apple Weblog, поділилася чудовою інструкцією, що дозволяє додати повноекранний режим в будь-який додаток для OS X Lion.

Спосіб перший. Складний.

Для експерименту нам знадобиться:

  • Будь-який додаток, яке не підтримує роботу в повноекранному режимі (я вибрав uTorrent.app).
  • Термінал.
  • Утиліти plutil зі складу Xcode або plusutil розробки Еріки.
  • І 10 хвилин вільного часу.
  • Отже, поїхали.

    На початку зробіть резервну копію вашого «піддослідного кролика» — для цього просто скопіюйте вибране додаток з каталогу Програми в іншу папку на жорсткому диску або на Робочий стіл.

    Тепер ми будемо шукати певні скомпільовані файли з розширенням *.nib. Вони можуть розташовуватися в папці Contents > Resources, але якщо програма перекладена на кілька мов, варто звертати увагу і на файли з вкладених каталогів *.lproj.

    Для того, щоб дізнатися, які саме файли нам прийдеться редагувати, виконуємо в Терміналі кілька команд:

    cd /Applications/название_приложения.app/Contents/Resources
    grep -iRl NSWindowBacking *

    Друга команда поверне список nib-файлів, в яких згадується ключ NSWindowBacking. Ви можете відредагувати всі знайдені файли або спробувати зрозуміти, який з них відповідає за потрібне вікно і змінити його. В моєму випадку шукати довго не довелося — цим файлом виявився MainWindow.nib з каталогу English.lproj.

    Але просто так ви їх не зможете відредагувати, тому доведеться виконати перетворення в старий-добрий XML. Для цього можна скористатися епплівської утилітою plutil або програмою, яку розробила Еріка (plusutil). У Терміналі вводимо таку команду:

    plutil -convert xml1 ім’я_файлу.nib

    Тепер цей файл можна відкрити будь-яким текстовим або спеціальним редактором, пошуком знайти ключ NSWindowBacking і його значення, після якого додати ще два рядки:

    NSWindowCollectionBehavior
    128

    Даний ключ передбачає, що біля вікна з’явився новий стан, який дозволяє переходити йому в повноекранний режим. Тепер збережіть зміни просто закрийте файл, адже це Lion — тут не потрібно зберігатися :)

    Знову конвертуємо nib-файл в бінарний формат за допомогою цієї команди:

    plutil -convert binary1 ім’я_файлу.nib

    Залишається лише схрестити пальці і знову запустити додаток. Якщо ви зробили все правильно, то «випробовуваний» додаток тепер буде повністю підтримувати перехід у повноекранний режим і назад.

    На всяк випадок, залиште резервну копію цієї програми, якщо в майбутньому раптом зіткнетеся з якими-небудь проблемами.

    Спосіб другий. Простий

    Другий спосіб полягає у використанні спеціального плагіна для SIMBL під назвою Maximizer. З його допомогою ви можете домогтися аналогічного результату набагато швидше і не вдаючись до редагування файлів.

    Після завантаження та розпакування архіву вам потрібно покласти файл Maximizer.bundle в каталог ~/Library/Application Support/SIMBL/Plugins (або аналогічну папку в /, якщо ви хочете активувати плагін для всіх користувачів в системі).

    Звичайно, на даний Maximizer перебуває в статусі бета, але це не заважає йому додати цю корисну функцію в Firefox, Google Chrome і інші програми, розробники, яких поки що не поспішають оновлювати свої програми.

    • Завантажити SIMBL.
    • Завантажити Maximizer.