Compose.

«Кто владеет информацией — тот владеет миром.» — Уинстон Черчилль.

Вот правильное оформление фразы. Да, я в курсе, что на самом деле не всё так гладко (речь идёт о так называемых «тире»), но в целом это выглядит явно лучше и читабельней (не зря же придумали знаки), к тому же убирает некоторую двусмысленность… В общем, речь пойдёт о наборе нестандартных символов, которых нет на клавиатуре, но нужных для качественного и грамотного оформления текста. Для начала назначим compose-клавишу, после нажатия которой (и некоторой последовательности после), мы получаем символы.

Добавьте в /etc/X11/xorg.conf (или, если вы перешли на новые рельсы, в конфигах HAL) в разделе настройки клавиатуры:

Option "XkbOptions" "grp:caps_toggle,grp_led:caps,compose:menu"

menu — на мой взгляд самая логичная клавиша, так как используется крайне редко, но вы можете забиндить compose, к примеру, на ralt

В принципе, всё готово. Посмотреть готовые комбинации можно в /usr/share/X11/locale/en_US.UTF-8/Compose. Но лично мне такое огромное количество просто не нужно, поэтому я выбрал для себя самые востребованные символы:

$ cat .XCompose
<Multi_key> <bar> <bar>          : "¦" brokenbar
<Multi_key> <exclam> <equal>     : "≠" U2260
<Multi_key> <asciitilde> <equal> : "≈" U2248
<Multi_key> <plus> <minus>       : "±" plusminus
<Multi_key> <x> <x>              : "×" multiply
<Multi_key> <less> <minus>       : "←" U2190
<Multi_key> <minus> <greater>    : "→" U2192
<Multi_key> <less> <greater>     : "↔" U2194
<Multi_key> <less> <equal>       : "≤" U2264
<Multi_key> <greater> <equal>    : "≥" U2265
<Multi_key> <e> <less>           : "∈" U2208
<Multi_key> <exclam> <e> <less>  : "∉" U2209
<Multi_key> <c> <less> <less>    : "⊂" U2282
<Multi_key> <c> <less> <equal>   : "⊆" U2286
<Multi_key> <exclam> <c> <less>  : "⊄" U2284
<Multi_key> <o> <o>              : "°" degree
<Multi_key> <minus> <minus>      : "—" U2014
<Multi_key> <space> <space>      : " " nobreakspace
<Multi_key> <period> <period>    : "…" ellipsis
<Multi_key> <o> <c>              : "©" copyright
<Multi_key> <o> <r>              : "®" registered
<Multi_key> <t> <m>              : "™" U2122
<Multi_key> <less> <less>        : "«" guillemotleft
<Multi_key> <greater> <greater>  : "»" guillemotright
<Multi_key> <s> <o>              : "§" section
<Multi_key> <question> <question>  : "¿" questiondown
<Multi_key> <exclam> <exclam>      : "¡" exclamdown
<Multi_key> <less> <3>             : "♥" U2665 # <3
<Multi_key> <asterisk>             : "★" U2605 # star
<Multi_key> <colon> <parenright>   : "☺" U263A # :)
<Multi_key> <C> <C> <C> <P>        : "☭" U262D # USSR
<Multi_key> <1> : " :)"
<Multi_key> <2> : " :("
<Multi_key> <3> : " ;)"
<Multi_key> <4> : " :|"
<Multi_key> <5> : " :/"
<Multi_key> <6> : " :D"
<Multi_key> <7> : " O.o"

Осталось позволить графическим приложениям использовать compose. Нужно экспотнуть переменную:

$ cat .xinitrc | grep export
export GTK_IM_MODULE=xim

Теперь можно перезапускать «иксы». Как видите, всё очень просто :)
Скопировав конфиг полностью, вы можете обнаружить, что стандартные комбинации не работают. Если требуется их включить — добавьте следующую строчку в конфиг:

include "/usr/share/X11/locale/en_US.UTF-8/Compose"

Еще пару слов о кодировке: все символы из секции «оформление текста» (кроме ‘™’) есть и в KOI8-R и в CP1251 — так, что можете не бояться что вас не поймут в физическом смысле :)

P.S. Огромное спасибо x3al с #archlinux-ru@freenode.org за раскрытие моих глаз и помощь в настройке.

Прокомментировать

Ваш e-mail адрес никогда не будет опубликован или разглашен. Обязательные поля отмечены знаком *
*
*