|
1 [[!meta title="Поради й рецепти"]] |
|
2 |
|
3 [[!toc]] |
|
4 |
|
5 # Багаторядкові повідомлення |
|
6 |
|
7 Ви можете надсилати багаторядкові повідомлення за допомогою команди `/msay` |
|
8 (див. [man-сторінку][manpage]). |
|
9 |
|
10 Ви можете призначити клавіші до `/msay toggle` та (чи) до `/msay |
|
11 toggle_verbatim`, щоб мати змогу швидко перемикати багаторядковий режим: |
|
12 |
|
13 # Alt-m для перемикання в/із багаторядкового режиму |
|
14 bind M109 = msay toggle |
|
15 # Alt-M для перемикання в/із verbatim-багаторядкового режиму |
|
16 bind M77 = msay toggle_verbatim |
|
17 |
|
18 # Швидкий перехід до контакту |
|
19 |
|
20 Ви можете використовувати команду `/roster search` для переходу до визначеного |
|
21 контакту у списку. Або навіть призначати для цього клавіші, наприклад, якщо ви |
|
22 дуже багато розмовляєте із john.doe@jabber.foo, ви можете призначити F1: |
|
23 |
|
24 bind 265 = roster search john.doe |
|
25 |
|
26 **Зауваження:** Ця команда шукає лише серед видимих контактів, отож якщо ви |
|
27 ввімкнули приховування відсутніх у мережі контактів, вона може нічого не знайти, |
|
28 якщо контакт поза мережею. |
|
29 |
|
30 Або ви можете визначити скорочення для цієї команди, якщо ви часто її |
|
31 використовуєте із різними параметрами: |
|
32 |
|
33 alias rsearch = roster search |
|
34 |
|
35 Тепер, завдяки доповненню команд, вам треба набрати лише `/rs<tab>`. |
|
36 |
|
37 # Одна бесіда із декількома контактами |
|
38 |
|
39 (Для цього вам знадобиться версія MCabber не менша за 0.9.2) |
|
40 Ви використовуєте jabber з декількома транспортами, й маєте контакти, які |
|
41 використовують декілька різних систем? MCabber може вести один журнал бесід для |
|
42 них усіх. |
|
43 |
|
44 Скажімо, у вас є контакти abc@jabber.org та abc@icq.jabber.org. Спочатку вам |
|
45 треба об'єднати існуючі файли журналів за допомогою `merge_history.py`. |
|
46 |
|
47 $ cd ~/.mcabber/histo/ |
|
48 $ merge_history abc\@jabber.org abc\@icq.jabber.org > abc |
|
49 $ mv abc abc\@jabber.org |
|
50 $ rm abc\@icq.jabber.org |
|
51 |
|
52 Тепер треба створити символічне посилання |
|
53 (`abc@icq.jabber.org -> abc@jabber.org`): |
|
54 |
|
55 $ ln -sf abc\@jabber.org abc\@icq.jabber.org |
|
56 |
|
57 Після перезавантаження MCabber завантажить журнал бесіди лише один раз для двох |
|
58 контактів. Обидва контакти будуть мати однакові буфери бесід. Команди, які |
|
59 працюють із буфером бесіди, як то `/buffer scroll_lock/purge/clean`, виконані на |
|
60 одному контакті, вплинуть й на буфер іншого, бо насправді це один і той же |
|
61 буфер. |
|
62 |
|
63 Таким чином можна зібрати до купи скільки завгодно контактів, не тільки два... |
|
64 :) |
|
65 |
|
66 # Показ доступності контактів із транспорту |
|
67 |
|
68 За допомогою FIFO та скрипта обробки подій ви можете позначати контакти із |
|
69 транспорту іншим кольором коли транспорт відключено. У `mcabberrc`: |
|
70 |
|
71 color roster clear |
|
72 color roster * * green |
|
73 color roster dn_? * brightblack |
|
74 color roster * *@icq.jabber.org red |
|
75 color roster dn_? *@icq.jabber.org red |
|
76 |
|
77 Це позначить контакти як недоступні на початку. Тоді у `eventcmd.sh`, там де |
|
78 обробляється подія `STATUS` (`"$1" = 'STATUS') |
|
79 |
|
80 if [ "$3" = 'icq.jabber.org' ]; then |
|
81 if [ "$2" = '_' ]; then |
|
82 echo "color roster * *@icq.jabber.org red" > ~/.mcabber/fifo |
|
83 echo "color roster dn_? *@icq.jabber.org red" > ~/.mcabber/fifo |
|
84 else |
|
85 echo "color roster * *@icq.jabber.org white" > ~/.mcabber/fifo |
|
86 echo "color roster dn_? *@icq.jabber.org brightblack" > ~/.mcabber/fifo |
|
87 fi |
|
88 fi |
|
89 |
|
90 Цей код змінюватиме забарвлення контактів кожен раз, як транспорт змінюватиме |
|
91 свій статус. |
|
92 |
|
93 # Відкладені дії (наприклад, повідомлення для контакту у 'dnd') |
|
94 |
|
95 Ви можете відкласти виконання якоїсь дії до тих пір, доки контакт не стане |
|
96 готовим її прийняти (або доки не трапиться якась інша подія). Додайте до |
|
97 `eventcmd.sh`: |
|
98 |
|
99 if [ -f ~/.mcabber/jobs/"$1_$2_$3" ]; then |
|
100 cat ~/.mcabber/jobs/"$1_$2_$3" > ~/.mcabber/fifo |
|
101 rm ~/.mcabber/jobs/"$1_$2_$3" |
|
102 fi |
|
103 |
|
104 Та створіть директорію для відкладених завдань: |
|
105 |
|
106 $ mkdir ~/.mcabber/jobs/ |
|
107 |
|
108 Тепер ви можете робити речі на кшталт цієї: |
|
109 |
|
110 $ cat > ~/.mcabber/jobs/STATUS_O_buddy@jabber.org <<EOF |
|
111 > say_to -q buddy@jabber.org Привіт! Це автоматичне повідомлення. |
|
112 > say_to -q buddy@jabber.org Будь ласка, коли звільнишся, зроби те-то й те-то. |
|
113 > EOF |
|
114 |
|
115 Отож ви не будете турбувати контакт, доки він перебуває у `dnd`, і в той же час |
|
116 вам не треба тримати це повідомлення в голові. |
|
117 |
|
118 # Згортання груп при старті |
|
119 |
|
120 Використовуючи hook'и ви можете згортати рідко використовувані групи контактів |
|
121 (наприклад, група транспортів та інших технічних контактів) при старті. У |
|
122 `mcabberrc`: |
|
123 |
|
124 set hook-post-connect = source ~/.mcabber/post-connect.rc |
|
125 set hook-pre-disconnect = source ~/.mcabber/pre-disconnect.rc |
|
126 |
|
127 А в `~/.mcabber/post-connect.rc`: |
|
128 |
|
129 group fold Технічні |
|
130 group fold Старі |
|
131 |
|
132 # Автоматична зміна статусу при від'єднанні screen |
|
133 |
|
134 Якщо ви хочете встановлювати відповідний статус, коли ви закриваєте термінал з |
|
135 screen, в якому запущений mcabber, додайте до вашого `~/.logout` (або |
|
136 `~/.bash_logout`, якщо ви користуєтеся BASH): |
|
137 |
|
138 # mcabber auto-away - скоріше за все, працюватиме лише в Linux, бо використовується /proc |
|
139 if [ -p .mcabber/mcabber.fifo ]; then |
|
140 MCABBER_PID=$(pgrep -u $USER mcabber) |
|
141 if [ -n $MCABBER_PID ]; then |
|
142 MCABBER_STY=$(cat /proc/$MCABBER_PID/environ | tr '\0' '\n' | grep '^STY=' | cut -d'=' -f2) |
|
143 |
|
144 if [ -n $MCABBER_STY ]; then |
|
145 if [ -z "$(screen -list | grep $MCABBER_STY.*\(Attached\))" ]; then |
|
146 echo /status notavail > .mcabber/mcabber.fifo |
|
147 fi |
|
148 fi |
|
149 fi |
|
150 fi |
|
151 |
|
152 [manpage]: http://www.lilotux.net/~mikael/mcabber/files/mcabber.1.html |
|
153 |