Цепочки-это не очень хорошая практика, если ничего не получается В между командами у вас нулевой контроль над обработкой исключений. Что держит это соединение открытым? Любая деятельность, Android или служба может быть убит в любой момент. Спасибо за редактирование. Не был уверен, что лучший способ разметки ярлык. @espinchi сломана?! Нет. Они создаются хост-процессов и экземпляров `NSStatusItem` класс в SDK. В перетаскиваемые элементы NSMenuExtra экземпляров`, который принадлежит частный API, таким образом приложения, которые используют это может быть отклонено из магазина приложений. @PeterCordes и @StephenKitt: когда я задавал вопрос, я думал, что ответом может быть лучше категории lc_collate`, но, возможно, не существует. Еще, возможно, это будет более надежной для создания пользовательского `категории lc_collate` вместо изменения присущего поведение команды `ls`, и пытается заставить его работать так же.

С открытым исходным кодом драйверов, можно использовать xrandr поближе командной строки утилита для изменения вида экрана. Привязать к кнопке или меню для небольшой скрипт, который вызывает xrandr поближе , если хочешь. Для конфигураций, которые вы описываете, командам будет что-то вроде

расширения xrandr --выход внешнего
расширения xrandr --выход --внешняя же-как внутренних
расширения xrandr --выход внутреннего
расширения xrandr --выход --внешние левой внутренней

с именами, которые вполне могут быть внутренние и внешние , но разъем DVI-0 и разъем VGA-0 или что-то еще; запустить xrandr поближе , чтобы посмотреть, что у вас есть. Вы можете написать более существенное скрипт, который парсит вывод xrandr поближе, например, если вы хотите иметь ключ, который колеблется между несколькими предопределенными настройками.

Вы можете сделать нечто подобное с помощью NVIDIA-настройки для NVIDIA проприетарный драйвер. В документации не очень точный; лучше всего создать несколько различных конфигураций через GUI и переключаться между ними с помощью видеокарты NVIDIA-настройки-конфигурации.