четверг, 18 ноября 2010 г.

Переключатель языков на маке..

Я ненавижу мак по многим причинам, одна из которых - отсутствие пунто-свитчера; Kirgudu конечно есть, но он работает далеко не везде (читай - практически нигде), и количество нервных клеток, которое уже погибло из-за набранного не в той раскладке текста, зашкаливает. Когда то был топик о переключении раскладки вообще (виндовс, мак, линукс), решения там не нашлось
Выдумал вот себе велосипед, может приживется; заключается в следующем - отдельное сочетание для переключения на английский, отдельное - на русский (+ украинский, +какой угодно в общем-то)

Идея в том, что когда я собираюсь набирать текст на русском, я просто включаю русский (не перепроверяя, какая раскладка активна сейчас) и печатаю. Делается штатными средствами - нужен automator и applescript
В автоматоре создается новый документ, типа "Сервис", сохраняется скажем с именем "2en", в библиотеке ищется действие "Run AppleScript", добавляется двойным щелчком, и в окошко редактирования вписывается

on changeInputLanguage(L)
  tell application "System Events" to tell process "SystemUIServer"
    tell (1st menu bar item of menu bar 1 whose value of attribute "AXDescription" is "text input")
      return {its value, click, click menu 1's menu item L}
    end tell
  end tell
end changeInputLanguage

on run {input, parameters}

  changeInputLanguage("U.S.")

  return input
end run

В списке вверху (Service receives selected) выбираем None, короче вот так:

Cохраняем файл; дальше открываем настройки системы, настройки клавиатуры, клавиатурные сокращения, в списке сервисов ищем 2en и выбираем для него удобное сочетание клавиш - теперь (по-идее) после нажатия этого сочетания система переключит язык на U.S.; точно так же создаем сервис для переключения на русский (у меня он называется "Russian - PC")

Ну и типа профит; пока не привык (и переключение долго делается, тупо смотришь, как открывается меню выбора языка, выбирается в нем нужный пункт - кстати работать все будет, если это самое меню включено - у меня например было выключено, потому что у Киргуду свой индикатор), но буду себя приучать..

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

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