Управление глобальными хоткеями в OS X
В один прекрасный день, я пришел к необходимости назначать действия на глобальные шорткаты. Встроенный в систему способ (через создание сервиса в Automator) не подошел. У него куча ограничений — так, например, если у приложения нет системного меню или по какой-то причине недоступно конкретно меню с сервисами, то хоткей работать не будет. Вообще.
Полез искать 3rd-party решения. Их, конечно же, существует немало, но вот незадача — они либо кривые, либо перегружены ненужным (для меня) функционалом, либо стоят каких-то невозможных денег (в качестве самого яркого примера, вот тут у нас менеджер хоткеев за 60 баксов), либо все это в различных комбинациях.
Так как я большой любитель собственных велосипедов, вопрос что со всем этим делать решился достаточно быстро — писать свое. Открытое, бесплатное, без ненужных свистоперделок.
И написал таки, назвал в честь известного мема — iCanHazShortcut (всем же известно, что хороший софт на маке должен начинаться с буквы i).
Что умеет:
- задавать произвольные шорткаты
- привязывать к ним любые команды
- выполнять команды в выбранной оболочке
- показывать список команд в меню
- проверять обновления
Пара слов о технической стороне — шорткаты биндятся через древний, но рабочий Carbon, написано на PureBasic, общий объем кода на данный момент около 1000 строк, все иконки взяты из свободных сетов, лицензия Unlicense.
Текущий релиз (0.5.1) достаточно стабилен и функционален для ежедневного использования, но, безусловно, еще есть куда расти. Поэтому пожелания, предложения и багрепорты приветствуются. Также, если кто-то хочет помочь проекту и нарисовать оригинальную иконку — буду благодарен.
github
dmg