« | На главную | »

Второй, второй, я 481019153

Три недели назад я обещал ответить на вопрос на следующий день, а обещания я держу (и про Dovecot вот-вот напишу). Отвечаю.

rom2rom спрашивает: «Скажите пожалуйста, как сказать FrontRow показывать себя на другом (втором) экране или телевизоре?».

Front Row показывает свою картинку на основном мониторе, то есть на мониторе с менюбаром, а второй монитор просто тушит. Поэтому первый способ, простой и быстрый — открыть System Preferences > Displays и перетащить менюбар на второй монитор (временно сделав его, таким образом, первым):

menubar

Если вы хотите быстро начать смотреть кино — можете бросить читать тут. Потому что второй способ — как сделать так, чтобы менюбар был на этом экране, а Front Row на том — куда муторней.

Второй способ — длинный. На самом деле он короткий, но я расскажу о нем подробно, и поэтому будет казаться, что он длинный.

Если добавить в файл настроек Front Row (~/Library/Preferences/com.apple.frontrow.plist) ключ FrontRowUsePreferredDisplayID, Front Row будет использовать его при выборе монитора, на котором он планирует запускаться. Сделать это можно, например, командой

defaults write com.apple.frontrow FrontRowUsePreferredDisplayID 481019153
Проблема в том, как раздобыть DisplayID, то есть содержимое этого ключа (в команде я использовал DisplayID своего телевизора). К сожалению, способа просто узнать его нет — если вы не программа на Objective-C. Вручную это можно (попытаться) сделать, открыв файл /Library/Preferences/com.apple.windowserver.plist — тут GUI OS X хранит настройки для всех наборов дисплеев, с которыми ему приходилось сталкиваться (у меня там 19 пунктов, потому что я часто загружаю с жесткого диска своего ноутбука сервера и компьютеры клиентов). Если речь о вашем домашнем аймаке или свежекупленном макбуке будет, конечно, проще — просто найдите Item, в котором два дисплея, и опознайте свой телевизор по разрешению. Файл этот очень любопытный (например, флаг isStereo тревожит душу), но ковыряться в нем не очень интересно.
Если поискать, можно найти пару консольных утилиток, показывающих DisplayID подключенных мониторов: 
Screen shot 2009-12-16 at 20.15.58
...но автор этой конкретной утилитки выложил ее на Rapidshare и не приложил исходный код, и запускать ее стоит разве что из-под специально включенного пользователя Guest, да и ссылки на нее я давать не буду.
Вместо этого я дам ссылку на третий (хотя на самом деле он второй с половиной) способ: утилиту TV Row, которая делает именно то, что я описал — находит DisplayID нужного монитора и вписывает его в com.apple.frontrow.plist, но выглядит при этом вот так:
Screen shot 2009-12-16 at 20.23.32
Мак вэй! Кнопочки и иконочки! Кэнди-ай!... 
Конечно, я мог просто дать ссылку на TV Row, не объясняя как именно она работает — но тогда бы этот пост был бы куда менее развлекательным, зрелищным, детективным

.

Комментариев: 2

спасибо! эталон развернутого ответа :-)

Вау! Отличная рекомендация, давно думал, как это сделать. Спасибо.

Оставить комментарий