На днях Эрика Садун (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
и его значение, после которого добавить еще две строки:
<key>NSWindowCollectionBehavior</key>
<integer>128</integer>
Данный ключ подразумевает, что у окна появилось новое состояние, которое позволяет переходить ему в полноэкранный режим. Теперь сохраните изменения просто закройте файл, ведь это Lion — здесь не нужно сохраняться 🙂
Вновь конвертируем nib-файл в бинарный формат с помощью этой команды:
plutil -convert binary1 имя_файла.nib
Остается лишь скрестить пальцы и вновь запустить приложение. Если вы сделали все правильно, то «испытуемое» приложение теперь будет полностью поддерживать переход в полноэкранный режим и обратно.
На всякий случай, оставьте резервную копию этой программы, если в будущем вдруг столкнетесь с какими-либо проблемами.
Способ второй. Простой
Второй способ заключается в использовании специального плагина для SIMBL под названием Maximizer. С его помощью вы можете добиться аналогичного результата гораздо быстрее и не прибегая к редактированию файлов.
После загрузки и распаковки архива вам потребуется положить файл Maximizer.bundle
в каталог ~/Library/Application Support/SIMBL/Plugins
(или аналогичную папку в /, если вы хотите активировать плагин для всех пользователей в системе).
Конечно, на данный Maximizer находится в статусе бета, но это не мешает ему добавить эту полезную функцию в Firefox, Google Chrome и прочие приложения, разработчики, которых пока что не спешат обновлять свои программы.
Последние комментарии