= WeeChat ЧПП (Често Постављана Питања)
:author: Sébastien Helleu
:email: flashcode@flashtux.org
:lang: sr
:toc-title: Садржај

Превод:

* Иван Пешић (<ivan.pesic@gmail.com>), 2021.

[[general]]
== Опште

[[weechat_name]]
=== Шта је порекло имена „WeeChat”?

„Wee” је рекурзивни акроним који значи „Wee Enhanced Environment”. (Wee Унапређено Окружење) Тако да је комплетно име „Wee Enhanced Environment for Chat”.

„Wee” такође значи и „веома мало” (јесте, постоји и друго значење, али се оно не примењује за WeeChat!).

[[why_choose_weechat]]
=== Зашто да изаберем WeeChat? X-Chat и Irssi су толико добри...

Јер WeeChat уопште не оптерећује систем и доноси иновативне могућности.

Више информација у вези са WeeChat је на
https://weechat.org/about/features/[страници са могућностима ^↗^^].

[[compilation_install]]
== Компајлирање / инсталација

[[gui]]
=== Чуо сам о многим ГКИ за WeeChat. Како да их компајлирам/користим?

Доступни су неки удаљени ГКИ, погледајте
https://weechat.org/about/interfaces/[страницу са удаљеним ГКИ ^↗^^].

[[compile_git]]
=== Након клонирања git репозиторијума не могу да компајлирам програм WeeChat, зашто?

WeeChat мора да се компајлира са CMake.

Молимо да пратите link:weechat_user.en.html#source_package[инструкције за изградњу ^↗^^]
и обезбедите да су све неопходне зависности инсталиране.

Ако и даље имате проблема, молимо вас да их пријавите програмерима.

[[compile_macos]]
=== Како да инсталирам програм WeeChat на macOS систем?

Препоручује се употребите https://brew.sh/[Homebrew ^↗^^], помоћ можете добити са:

----
brew info weechat
----

Програм WeeChat можете да инсталирате следећом командом:

----
brew install weechat
----

[[lost]]
=== Покренуо сам програм WeeChat, али не знам шта даље?

За помоћ можете да откуцате `/help`. За помоћ у вези команде, откуцајте `/help команда`. link:weechat_user.sr.html#key_bindings[Тастери ^↗^^] и link:weechat_user.sr.html#commands_and_options[команде ^↗^^] су наведени у документацији.

Препоручује се да нови корисници прочитају link:weechat_quickstart.sr.html[Водич за брзи почетак ^↗^^].

[[display]]
== Приказ

[[charset]]
=== Не виде се неки карактери са акцентима, шта да радим?

Ово је уобичајени проблем који има разне узроке, молимо вас да пажљиво прочитате и пробате *СВА* решења наведена ниже:

* Проверите да је weechat повезан са libncursesw (упозорење: потребно на многим дистрибуцијама, али не на свим): `ldd /путања/до/weechat`.
* Провери да је „charset” додатак учитан командом `/plugin` (ако није, онда вам је највероватније потребан „weechat-plugins” пакет).
* Проверите излаз команде `/charset` (над core бафером). Требало би да видите _ISO-XXXXXX_ или _UTF-8_ за скуп карактера терминала. Ако видите _ANSI_X3.4-1968_ или остале вредности, највероватније вам је погрешан локале. +
Да поправите свој локале, погледајте инсталиране локале са `locale -a` и поставите одговарајућу вредност у променљиву $LANG, на пример: `+export LANG=sr_RS.UTF-8+`.
* Поставите глобалну вредност за декодирање, на пример: `/set charset.default.decode "ISO-8859-15"`.
* Ако користите UTF-8 локале:
** Проверите да ли ваш терминал подржава UTF-8 (препоручени терминал за UTF-8 је rxvt-unicode).
** Ако користите screen, проверите да се извршава у UTF-8 режиму („`defutf8 on`” у ~/.screenrc или покрените screen са `screen -U`).
* Проверите да је опција link:weechat_user.sr.html#option_weechat.look.eat_newline_glitch[_weechat.look.eat_newline_glitch_ ^↗^^] искључена (ова опција може да изазове багове у приказу).

[NOTE]
За програм WeeChat се препоручује UTF-8 локале. Ако користите ISO или неки други локале, молимо вас да проверите ли су *сва* ваша подешавања (терминал, screen, ...) ISO, а *не* UTF-8.

[[unicode_chars]]
=== Неки уникод карактери се приказују у терминалу, али не у програму WeeChat, зашто?

Узрок овом проблему може бити libc баг у функцији _wcwidth_, који би требало да је исправљен у glibc 2.22 (можда још увек није доступна у вашој дистрибуцији).

Постоји решење да се користи исправљена _wcwidth_ функција: https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat[https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat ^↗^^].

За више информација, погледајте овај https://github.com/weechat/weechat/issues/79[извештај о багу ^↗^^].

[[bars_background]]
=== Траке као што су насловна и статусна нису испуњене, боја позадине се прекида након текста, зашто?

Узрок овоме може бити погрешна вредност променљиве TERM и важем командном окружењу (погледајте излаз команде `echo $TERM` у свом терминалу).

У зависности од тога где сте покренули програм WeeChat, требало би да имате:

* Ако се програм WeeChat извршава локално или на удаљеној машини без screen и без tmux, зависи од врсте терминала који користите: _xterm_, _xterm-256color_, _rxvt-unicode_, _rxvt-256color_, итд.
* Ако се програм WeeChat извршава под screen, требало би да добијете _screen_ или _screen-256color_.
* Ако се програм WeeChat извршава под tmux, требало би да добијете _tmux_, _tmux-256color_, _screen_ или _screen-256color_.

Ако је потребно, исправите своју TERM променљиву: `export TERM="xxx"`.

[[screen_weird_chars]]
=== Када програм weechat користим под screen/tmux, приказују ми се чудни карактери, како то да поправим?

Разлог за ово може бити погрешна вредност променљиве TERM у вашем командном окружењу (погледајте излаз команде `echo $TERM` у свом терминалу, *ван screen/tmux*). +
На пример, _xterm-color_ може да прикаже такве чудне карактере, па можете да користите _xterm_ што је OK (као и многе друге вредности). +
Ако је потребно, исправите своју TERM променљиву: `export TERM=„xxx”`.

Ако користите gnome-terminal, проверите да ли је опција „Ambiguous-width characters” у менију Preferences/Profile/Compatibility постављена на `narrow`.

[[macos_display_broken]]
=== Компајлирао сам програм WeeChat под macOS, и свуда на екрану видим „(null)”, шта није у реду?

Ако сте сами компајлирали ncursesw, покушајте да користите стандардни ncurses (који долази уз систем).

Уз то, на macOS систему се препоручује да се програм WeeChat инсталира са Homebrew менаџером пакета.

[[buffer_vs_window]]
=== Чуо сам о „баферима” и „прозорима”, у чему је разлика?

_бафер_ се састоји из броја, имена, приказаних линија (и још неких података).

_прозор_ је површина екрана која приказује бафер. Свој екран можете да изделите на више прозора.

Сваки прозор приказује један бафер, или скуп спојених бафера. Бафер може бити скривен (тада се не приказује у прозору) или може да се приказује у једном или више прозора.

[[buffers_list]]
=== Како да се са леве стране прикаже листа бафера?

Додатак link:weechat_user.sr.html#buflist[buflist ^↗^^]
је подразумевано учитан и укључен.

Ако желите да ограничите величину траке:

----
/set weechat.bar.buflist.size_max 15
----

Ако траку желите да померите на дно:

----
/set weechat.bar.buflist.position bottom
----

Ако желите да скролујете траку: у случају да је укључен миш (тастер: kbd:[Alt+m]), траку можете да скролујете точкићем миша.

Подразумевани тастери за скроловање _buflist_ траке су kbd:[F1] (или kbd:[Ctrl+F1]), kbd:[F2] (или kbd:[Ctrl+F2]), kbd:[Alt+F1] и kbd:[Alt+F2].

[[customize_buflist]]
=== Како могу да прилагодим листу бафера, као на пример боју активног бафера?

Све buflist опције можете да погледате командом:

----
/fset buflist
----

Позадина активног бафера је подразумевано плава, можете да је промените на следећи начин, на пример, на `red`:

----
/set buflist.format.buffer_current "${color:,red}${format_buffer}"
----

[NOTE]
Испред имена боје „red” постоји запета јер се користи као позадина, а не као боја текста. +
Уместо `red` можете да употребите било коју нумеричку боју, као што је `237` за тамно сиву.

Додатак buflist обезбеђује доста опција које можете да прилагодите својим потребама, молимо вас да прочитате помоћ у вези сваке опције.

Такође постоји и https://github.com/weechat/weechat/wiki/buflist[вики страница ^↗^^]
са примерима напредне конфигурације додатка buflist.

[[customize_prefix]]
=== Како да скратим дужину надимака или да уклоним поравнање надимка у простору за разговор?

Ако желите да у простору за разговор скратите максималну дужину надимака:

----
/set weechat.look.prefix_align_max 15
----

Ако желите да уклоните поравнање надимака:

----
/set weechat.look.prefix_align none
----

[[status_hotlist]]
=== Шта значи [H: 3(1,8), 2(4)] у статусној траци?

Ово се зове „врућа листа”, листа бафера са бројем порука које нисте прочитали, у следећем редоследу: истицања, приватне поруке, поруке, остале поруке (као што су join/part). +
Број „порука које нисте прочитали” је број нових порука приказаних/примљених од када сте посетили бафер.

У примеру `[H: 3(1,8), 2(4)]`, има:

* 1 истицање и 8 непрочитаних порука у баферу #3,
* 4 непрочитане поруке у баферу #2.

Боја бафера/бројача зависи од типа поруке, ово су подразумеване боје:

* истицање: `lightmagenta` / `magenta`
* приватна порука: `lightgreen` / `green`
* порука: `yellow` / `brown`
* остале поруке: `default` / `default` (боја текста у терминалу)

Ове боје могу да се промене опцијама __weechat.color.status_data_*__ (бафери) и __weechat.color.status_count_*__ (бројачи). +
Остале опције вруће листе могу да се промене опцијама __weechat.look.hotlist_*__.

За више информација у вези вруће листе, погледајте link:weechat_user.sr.html#screen_layout[Корисничко упутство / Распоред екрана ^↗^^].

[[input_bar_size]]
=== Како се користи командна линија са више од једне линије?

Опција _size_ у траци уноса може да се постави на вредност већу од 1 (за фиксну величину, подразумевана величина је 1) или на 0 за динамичку величину, у ком случају опција _size_max_ поставља максималну величину (0 = без ограничења).

Пример са динамичком величином:

----
/set weechat.bar.input.size 0
----

Максимална величина 2:

----
/set weechat.bar.input.size_max 2
----

[[one_input_root_bar]]
=== Да ли је могуће да се за све прозоре прикаже само једна трака за унос (након поделе)?

Могуће је, потребно је да креирате траку типа „root” (са ставком која ће вам говорити у ком прозору се налазите), па затим да обришете текућу траку за унос.

На пример:

----
/bar add rootinput root bottom 1 0 [buffer_name]+[input_prompt]+(away),[input_search],[input_paste],input_text
/bar del input
----

У случају да нисте задовољни са овим, једноставно обришите нову траку и програм WeeChat ће аутоматски да креира подразумевану траку „input” у случају да се ставка „input_text” не користи ни у једној постојећој траци:

----
/bar del rootinput
----

[[terminal_copy_paste]]
=== Како могу да копирам/налепљујем текст без налепљивања листе надимака?

Можете да употребите огољени приказ (подразумевани тастер: kbd:[Alt+l] (`L`)), који приказује
само садржај тренутно изабраног прозора, без било каквог форматирања.

Можете да користите терминал са правоугаоним избором (као rxvt-unicode, konsole, gnome-terminal, итд.). Тастер је обично kbd:[Ctrl] + kbd:[Alt] + избор мишем.

Друго решење је да листу надимака померите на врх или дно, на пример:

----
/set weechat.bar.nicklist.position top
----

[[urls]]
=== Како да кликнем на дугачке URL адресе (које заузимају више од једне линије)?

Можете да употребите огољени приказ (подразумевани тастер: kbd:[Alt+l] (`L`)).

Ако желите да олакшате отварање URL адреса, можете да:

* померите листу надимака на врх:

----
/set weechat.bar.nicklist.position top
----

* искључите поравнање за речи које се простиру на више линија:

----
/set weechat.look.align_multiline_words off
----

* или за све обавијене линије:

----
/set weechat.look.align_end_of_lines time
----

Можете да укључите опцију „eat_newline_glitch”, тако да се карактер нове линије не додаје на крај
сваке приказане линије (неће покварити избор URL адреса):

----
/set weechat.look.eat_newline_glitch on
----

[IMPORTANT]
Ова опција може да буде узрок багова у приказу. Ако имате такве проблеме, морате да искључите ову опцију.

Друго решење је да користите скрипту:

----
/script search url
----

[[change_locale_without_quit]]
=== Желим да променим језик који програм WeeChat користи за поруке, али без прекида извршавања програма WeeChat, да ли је то могуће?

Наравно да је могуће:

----
/set env LANG sr_RS.UTF-8
/upgrade
----

[[timezone]]
=== Како могу да променим временску зону?

У програму WeeChat не постоји опција за промену временске зоне, променљиву окружења `TZ` морате да поставите на жељену вредност.

У иницијализационом фајлу свог командног окружења или на командној линији, пре покретања програма WeeChat:

----
export TZ=America/New_York
----

Из програма WeeChat, нова вредност се користи тренутно:

----
/set env TZ America/New_York
----

[[use_256_colors]]
=== Како да користим 256 боја у програму WeeChat?

Најпре проверите да ли је вредност ваше променљиве окружења _TERM_ исправна, препоручене вредности су следеће:

* под screen: _screen-256color_
* под tmux: _screen-256color_ или _tmux-256color_
* ван screen/tmux: _xterm-256color_, _rxvt-256color_, _putty-256color_, ...

[NOTE]
Можда ће бити потребно да инсталирате пакет „ncurses-term” како бисте могли да у _TERM_ променљивој користите ове вредности.

Ако користите screen, можете да додате следећу линију у свој _~/.screenrc_:

----
term screen-256color
----

Ако је вредност ваше _TERM_ променљиве погрешна и програм WeeChat се већ извршава, можете да је промените помоћу следеће две команде:

----
/set env TERM screen-256color
/upgrade
----

У опцијама можете да користите било који број боје (није обавезно: командом `/color` можете да додате
алијасе боја).

За више информација у вези управљања бојама, молимо вас да прочитате link:weechat_user.sr.html#colors[Корисничко упутство / Боје ^↗^^].

[[search_text]]
=== Како могу да претражујем текст у баферу (као /lastlog у програму irssi)?

Подразумевани тастер је kbd:[Ctrl+r] (команда је: `+/input овде_текст_претраге+`). И скок на истицања: kbd:[Alt+p] / kbd:[Alt+n].

За више о овој могућности, погледајте link:weechat_user.sr.html#key_bindings[Корисничко упутство / Тастерске пречице ^↗^^].

[[terminal_focus]]
=== Како могу да извршим команде када терминал добије/изгуби фокус?

Морате да укључите фоку догађаје тако што терминалу пошаљете специјални кôд.

*Важно*:

* Морате да користите модерни xterm-компатибилни терминал.
* Уз то, изгледа да је важно и да вредност ваше TERM променљиве буде _xterm_ или _xterm-256color_.
* Ако користите tmux, морате да укључите фокус догађаје постављањем `set -g focus-events on` у свој _.tmux.conf_ фајл.
* Ово *не* функционише у програму screen.

Ако желите да се кôд пошаље током покретања програма WeeChat:

----
/set weechat.startup.command_after_plugins "/print -stdout \033[?1004h\n"
----

и да затим вежете две пречице за фокус (замените `/print` команде командама по свом избору):

----
/key bind meta-[I /print -core focus
/key bind meta-[O /print -core unfocus
----

Ако желите, на пример, да означите бафере као прочитане када терминал изгуби фокус:

----
/key bind meta-[O /allbuf /buffer set unread
----

[[screen_paste]]
=== Зашто када се програм WeeChat извршава у screen налепљивање текста у други screen прозор додаје ~0 и ~1 око текста?

Узрок овоме је опција ограђеног налепљивања, која је подразумевано укључена, а screen је не обрађује како треба у осталим прозорима.

Једноставно можете да искључите режим ограђеног налепљивања:

----
/set weechat.look.paste_bracketed off
----

[[small_terminal]]
=== Како могу да прилагодим приказ на веома малој величини терминала (као што је 80x25), како се не би траћио простор?

Можете да уклоните бочне траке (buflist и nicklist), промените формат времена
тако да се приказују само сати и минути, искључите поравнање порука и поставите
карактер за префикс/суфикс надимка:

----
/set buflist.look.enabled off
/bar hide nicklist
/set weechat.look.buffer_time_format "%H:%M"
/set weechat.look.prefix_align none
/set weechat.look.align_end_of_lines prefix
/set weechat.look.nick_suffix ">"
/set weechat.look.nick_prefix "<"
----

Терминал 80x25, са подразумеваном конфигурацијом:

....
┌────────────────────────────────────────────────────────────────────────────────┐
│1.local     │Welcome on WeeChat channel!                                        │
│  weechat   │16:27:16        --> | FlashCode (~flashcode@localhost)  │@FlashCode│
│2.  #weechat│                    | has joined #weechat               │ bob      │
│            │16:27:16         -- | Mode #weechat [+nt] by hades.arpa │          │
│            │16:27:16         -- | Channel #weechat: 1 nick (1 op, 0 │          │
│            │                    | voices, 0 normals)                │          │
│            │16:27:18         -- | Channel created on Sun, 22 Mar    │          │
│            │                    | 2020 16:27:16                     │          │
│            │17:02:28        --> | bob (~bob_user@localhost) has     │          │
│            │                    | joined #weechat                   │          │
│            │17:03:12 @FlashCode | hi bob, you're the first user     │          │
│            │                    | here, welcome on the WeeChat      │          │
│            │                    | support channel!                  │          │
│            │17:03:33        bob | hi FlashCode                      │          │
│            │                                                        │          │
│            │                                                        │          │
│            │                                                        │          │
│            │                                                        │          │
│            │                                                        │          │
│            │                                                        │          │
│            │                                                        │          │
│            │                                                        │          │
│            │                                                        │          │
│            │[17:04] [2] [irc/local] 2:#weechat(+nt){2}                         │
│            │[@FlashCode(i)] █                                                  │
└────────────────────────────────────────────────────────────────────────────────┘
....

Терминал 80x25, након измена:

....
┌────────────────────────────────────────────────────────────────────────────────┐
│Welcome on WeeChat channel!                                                     │
│16:27 --> FlashCode (~flashcode@localhost) has joined #weechat                  │
│16:27 -- Mode #weechat [+nt] by hades.arpa                                      │
│16:27 -- Channel #weechat: 1 nick (1 op, 0 voices, 0 normals)                   │
│16:27 -- Channel created on Sun, 22 Mar 2020 16:27:16                           │
│17:02 --> bob (~bob_user@localhost) has joined #weechat                         │
│17:03 <@FlashCode> hi bob, you're the first user here, welcome on the WeeChat   │
│      support channel!                                                          │
│17:03 <bob> hi FlashCode                                                        │
│                                                                                │
│                                                                                │
│                                                                                │
│                                                                                │
│                                                                                │
│                                                                                │
│                                                                                │
│                                                                                │
│                                                                                │
│                                                                                │
│                                                                                │
│                                                                                │
│                                                                                │
│                                                                                │
│[17:04] [2] [irc/local] 2:#weechat(+nt){2}                                      │
│[@FlashCode(i)] █                                                               │
└────────────────────────────────────────────────────────────────────────────────┘
....

[[key_bindings]]
== Тастерске пречице

[[meta_keys]]
=== Неки meta тастери (alt + тастер) не функционишу, зашто?

Ако користите неке терминале као што су xterm или uxterm, неки meta тастери подразумевано не функционишу. Можете додати линију у фајл _~/.Xresources_:

* За xterm:
----
XTerm*metaSendsEscape: true
----
* За uxterm:
----
UXTerm*metaSendsEscape: true
----

Па да поново учитате ресурсе (`xrdb -override ~/.Xresources`) или поново покренете X.

Ако користите macOS Terminal апликацију, укључите опцију „Use option as meta key” у менију Settings/Keyboard након чега можете користити тастер kbd:[Option] као meta тастер.

[[enter_key]]
=== Зашто неки тастери, укључујући Ентер, не функционишу?

Ако извршавате WeeChat < 4.0.0 са конфигурационим фајловима које је креирала било
која верзија ≥ 4.0.0, имена тастера постану неисправна и многи тастери уопште неће радити. +
Да бисте их поправили, напустите WeeChat, уклоните из weechat.conf све одељке `[key*]` 
и поново покрените WeeChat: креираће се сви подразумевани тастери.

[[key_f11]]
=== Тастер F11 максимизира прозор терминала, како могу да скролујем навише листу надимака?

Терминало обично користе тастер kbd:[F11] да максимизују прозор, а у програму WeeChat
тастери kbd:[F11]/kbd:[F12] су подразумевани тастери за скроловање листе надимака.

Можете да вежете остале тастере, на пример kbd:[Shift+F11] и kbd:[Shift+F12],
у WeeChat ≥ 4.0.0:

----
/key bind shift-f11 /bar scroll nicklist * -100%
/key bind shift-f12 /bar scroll nicklist * +100%
----

Још једно решење је да укључите миша (тастер: kbd:[Alt+m]) и да скролујете точкићем
миша (погледајте такође питање у вези са <<mouse,мишем>>).

[[customize_key_bindings]]
=== Како могу да прилагодим тастерске пречице?

Тастерске пречице можете да прилагодите командом `/key`.

Подразумевани тастер kbd:[Alt+k] вам омогућава да покупите кôд и убаците га у командн линију.

[[jump_to_buffer_11_or_higher]]
=== Којим тастером се скаче на бафер 11 (или неки вечи број)?

Тастер је kbd:[Alt+j] па затим 2 цифре, на пример kbd:[Alt+j], kbd:[1], kbd:[1] ако желите да скочите на бафер 11.

Можете и да вежете тастер, на пример:

----
/key bind meta-q /buffer *11
----

Листа подразумеваних тастера је у link:weechat_user.sr.html#key_bindings[Корисничко упутство / Тастерске пречице ^↗^^].

Ако желите да скочите на бафере са бројем ≥ 100, можете да дефинишете окидач па да онда користите команде као што је `/123` за скок на бафер #123:

----
/trigger add numberjump modifier "2000|input_text_for_buffer" "${tg_string} =~ ^/[0-9]+$" "=\/([0-9]+)=/buffer *${re:1}=" "" "" "none"
----

За једноставно скакање на бафере, можете такође да инсталирате и _go.py_ скрипту:

----
/script install go.py
----

[[global_history]]
=== Како да се тастерима горе и доле користи глобална историја (уместо историје бафера)?

Можете да вежете тастере горе и доле за глобалну историју (подразумевани тастери за глобалну историју су kbd:[Ctrl+↑] и kbd:[Ctrl+↓]).

Пример:

----
/key bind up /input history_global_previous
/key bind down /input history_global_next
----

Са WeeChat ≤ 3.8, морате да користите сирови кôд тастера (притисните kbd:[Alt+k] па затим тастер
да се прикаже његов кôд):

----
/key bind meta2-A /input history_global_previous
/key bind meta2-B /input history_global_next
----

[[mouse]]
== Миш

[[mouse_not_working]]
=== Миш уопште не функционише, шта да радим?

Најпре покушајте да укључите миша:

----
/mouse enable
----

Ако миш и након тога не ради, проверите вредност променљиве TERM у вашем командном окружењу, (погледајте излаз `echo $TERM` у терминалу). У зависности од тога који terminfo се користи, миш можда није подржан.

Подршку за миша можете тестирати у терминалу са:

----
$ printf '\033[?1002h'
----

па затим кликните на први карактер терминала (горњи леви). Требало би да видите „ !!#!!”.

Ако желите да искључите употребу миша у терминалу:

----
$ printf '\033[?1002l'
----

[[mouse_coords]]
=== Миш не ради ништа за X или Y веће од 94 (или 222), зашто?

Неки терминали за координате миша шаљу само ISO карактере, а они не функционишу за X/Y веће од 94 (или 222).

Требало би да користите терминал који подржава UTF-8 координате за миша, као што је rxvt-unicode.

[[mouse_select_paste]]
=== Како могу у терминалу да изаберем или налепим текст када је у програму WeeChat укључен миш?

Када је у програму WeeChat укључен миш, за избор можете да користите модификатор kbd:[Shift] или клик у терминалу, као да је миш искључен (на неким терминалима као што је iTerm, морате да користите kbd:[Alt] уместо kbd:[Shift]).

[[irc]]
== IRC

[[irc_tls_connection]]
=== Имам проблеме са повезивањем на сервер преко TLS, шта може да се уради?

Ако користите macOS, морате инсталирати `openssl` из Homebrew. CA фајл ће се добавити употребом сертификата из системског свежња кључева.

Ако добијате грешке у вези gnutls руковања, можете покушати са мањим Дифи-Хелман кључем (подразумевани је дужине 2048):

----
/set irc.server.example.tls_dhkey_size 1024
----

Ако видите грешке у вези сертификата, можете да искључите „tls_verify” (али будите веома опрезни, због овога су везе мање безбедне):

----
/set irc.server.example.tls_verify off
----

Ако сервер поседује неважећи сертификат, а знате какав би он требало да буде, можете да наведете отисак (SHA-512, SHA-256 или SHA-1):

----
/set irc.server.example.tls_fingerprint 0c06e399d3c3597511dc8550848bfd2a502f0ce19883b728b73f6b7e8604243b
----

[[irc_tls_handshake_error]]
=== Када се успоставља веза са сервером преко TLS, видим само грешку „TLS handshake failed”, шта да радим?

Можете да покушате са другачијим стрингом приоритета, замените „xxx” са именом вашег сервера:

----
/set irc.server.xxx.tls_priorities "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.0:+VERS-SSL3.0:%COMPAT"
----

[[irc_tls_libera]]
=== Како да се повежем са libera сервером преко TLS?

Проверите да су на вашем систему инсталирани сертификати, обично их обезбеђује пакет
„ca-certificates”.

Поставите порт сервера, TLS, затим се повежите:

----
/set irc.server.libera.addresses "irc.libera.chat/6697"
/set irc.server.libera.tls on
/connect libera
----

[[irc_oauth]]
=== Како да се повежем са сервером који захтева „oauth”?

Неки сервери као што је _twitch_ захтевају oauth за повезивање.

oauth је једноставно лозинка која има вредност „oauth:XXXX”.

Такав сервер можете да додате и да се повежете са њим користећи следеће команде (замените име и адресу са одговарајућим вредностима):

----
/server add име irc.server.org -password=oauth:XXXX
/connect име
----

[[irc_sasl]]
=== Како могу да се идентификујем пре приступа каналима?

Ако сервер подржава SASL, требало би то да користите уместо да шаљете команду за nickserv аутентификацију, на пример:

----
/set irc.server.libera.sasl_username "mynick"
/set irc.server.libera.sasl_password "xxxxxxx"
----

Ако сервер не подржава SASL, можете да додате кашњење (између команде и приступа каналима):

----
/set irc.server.libera.command_delay 5
----

[[edit_autojoin]]
=== Како да додам/уклоним канале из autojoin опције?

У WeeChat ≥ 3.5, можете аутоматски да забележите канале којима ручно приступате и које
напуштате у „autojoin” серверској опцији.

За све сервере:

----
/set irc.server_default.autojoin_dynamic on
----

За један сервер:

----
/set irc.server.libera.autojoin_dynamic on
----

Текући канал такође можете да додате "autojoin" опцијом сервера командом
`/autojoin`:

----
/autojoin add
----

Или неки други канал:

----
/autojoin add #test
----

Такође постоје и скрипте:

----
/script search autojoin
----

[[ignore_vs_filter]]
=== У чему је разлика између команди /ignore и /filter?

Команда `/ignore` је IRC команда, тако да се примењује само на IRC бафере (сервере и канале). Она вам омогућава да игноришете неке надимке или имена хостова корисника сервера или канала (команда се не примењује на садржај порука). IRC додатак брише поруке које се подударају пре него што се прикажу (тако да их уопште нећете видети, а не могу ни да се врате уклањањем игнорисања).

Команда `/filter` је команда језгра програма WeeChat, тако да се примењује на било који бафер. Помоћу ње можете да филтрирате неке линије у баферима са ознакама или регуларним изразом за префикс и садржај линије. Филтриране линије се само скривају, не бришу се, тако да их можете видети ако искључите филтере (тастер kbd:[Alt+=] подразумевано пребацује стање филтера).

[[filter_irc_join_part_quit]]
=== Како на IRC каналима могу да филтрирам join/part/quit и остале досадне поруке?

Погледајте link:weechat_user.sr.html#irc_smart_filter[Корисничко упутство / IRC паметни филтер ^↗^^].

[[filter_irc_join_channel_messages]]
=== Како да филтрирам неке поруке које се приказују када приступим IRC каналу?

Када приступате каналу опцијом _irc.look.display_join_message_ можете да изаберете које поруке ће се приказивати
(погледајте `+/help irc.look.display_join_message+` за детаљније информације).

Ако желите да сакријете поруке (али да их задржите у баферу), можете да их филтрирате употребом ознаке (на пример _irc_329_ за датум креирања канала). За помоћ у вези филтера, погледајте `/help filter`.

[[filter_voice_messages]]
=== Како да филтрирам поруке корисника са правом гласа (нпр. на Bitlbee серверу)?

Поруке корисника са правом гласа не могу једноставно да се филтрирају јер режим права гласа може да се постави заједно са осталим режимима у истој IRC поруци.

Ако то желите да урадите, највероватнији разлог је што Bitlbee користи поруке корисника са правом гласа како би приказао одсутне кориснике, па вас затрпава порукама са правом гласа. Дакле, ово можете да измените и допустите да програм WeeChat користи специјалну боју за надимке у листи надимака који су одсутни.

За Bitlbee ≥ 3, задајте следеће на контролном каналу _&bitlbee_:

----
channel set show_users online,away
----

За старије верзије програма Bitlbee, задајте следеће на контролном каналу _&bitlbee_:

----
set away_devoice false
----

За проверу одсутних надимака у програму WeeChat, погледајте питање у вези <<color_away_nicks,одсутних надимака>>.

Ако заиста желите да филтрирате поруке корисника са правом гласа, можете употребити следећу команду, али она није савршена (радиће само ако је први промењени режим voice):

----
/filter add hidevoices * irc_mode (\+|\-)v
----

[[color_away_nicks]]
=== Како у листи надимака могу да видим одсутне надимке?

Морате да поставите опцију _irc.server_default.away_check_ на позитивну вредност (број минута између провера на одсутне надимке).

Ако желите да проверу одсутности ограничите само на мале канале, поставите опцију _irc.server_default.away_check_max_nicks_.

На пример, ако желите да се провера на одсутност надимака врши сваких 5 минута, за канале са макс 24 надимака:

----
/set irc.server_default.away_check 5
/set irc.server_default.away_check_max_nicks 25
----

[[highlight_notification]]
=== Како могу да добијем упозорење када ме неко означи (истакне) на каналу?

Постоји подразумевани окидач „beep” који терминалу шаље _BEL_ када се догоди истицање
или прими приватна порука. Тако да свој терминал (или мултиплексер као што је screen/tmux)
можете подесити тако да покрене команду или пусти звук када прими _BEL_.

Или можете да додате команду у „beep” окидач:

----
/set trigger.trigger.beep.command "/print -beep;/exec -bg /путања/до/команде аргументи"
----

У старијим верзијама програма WeeChat, можете да употребите скрипту као што је _beep.pl_ или _launcher.pl_.

За _launcher.pl_, морате да подесите команду:

----
/set plugins.var.perl.launcher.signal.weechat_highlight "/путања/до/команде аргументи"
----

Остале скрипте на ову тему:

----
/script search notify
----

[[disable_highlights_for_specific_nicks]]
=== Како могу да искључим истицање за одређене надимке?

Бафер особину
link:weechat_user.sr.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^↗^^]
можете користити да за неке надимке подесите максимални ниво вруће листе, по баферу, или по
групи бафера (као на пример IRC сервери).

Ако само желите да искључите истицања, треба да је поставите на 2.

За текући бафер:

----
/buffer setauto hotlist_max_level_nicks_add пера:2,мика:2
----

За све канале на серверу „libera”:

----
/set weechat.buffer.irc.libera.*.hotlist_max_level_nicks_add пера:2,мика:2
----

[[irc_target_buffer]]
=== Како могу да променим циљни бафер за команде над спојеним баферима (као што је бафер са серверима)?

Подразумевани тастер је kbd:[Ctrl+x] (команда је: `+/buffer switch+`).

[[plugins_scripts]]
== Додаци / скрипте

[[openbsd_plugins]]
=== Користим OpenBSD и програм WeeChat уопште не учитава додатке, шта није у реду?

Под OpenBSD, имена фајлова додатака се завршавају са „.so.0.0” („.so” за Linux).

То морате да подесите:

----
/set weechat.plugin.extension ".so.0.0"
/plugin autoload
----

[[install_scripts]]
=== Како могу да инсталирам скрипте? Да ли су скрипте компатибилне са осталим IRC клијентима?

Можете да употребите команду `/script` за инсталирање и управљање скриптама (погледајте `/help script`
за помоћ).

Скрипте нису компатибилне са осталим IRC клијентима.

[[scripts_update]]
=== Команда „/script update” не може да чита скрипте, како да то поправим?

Најпре погледајте питање у вези TLS везе у овом ЧПП.

Ако још увек не функционише, покушајте ручно да обришете фајл са скриптама (из свог командног окружења):

----
$ rm ~/.cache/weechat/script/plugins.xml.gz
----

[NOTE]
Ако не користите XDG директоријуме, путања би могла да буде: _~/.weechat/script/plugins.xml.gz_.

Па у програму WeeChat поново ажурирајте скрипте:

----
/script update
----

Ако још увек наилазите на грешку, онда морате да искључите аутоматско ажурирање фајла у програму WeeChat и да ручно преузмете фајл ван програма WeeChat (то значи да ћете фајл морати ручно да ажурирате онда када желите да добијете ажурирања):

* у програму WeeChat:

----
/set script.scripts.cache_expire -1
----

* у вашем командном окружењу, са инсталираним програмом curl:

----
$ cd ~/.cache/weechat/script
$ curl -O https://weechat.org/files/plugins.xml.gz
----

Ако користите macOS и величина преузетог фајла је 0 бајтова, покушајте
да поставите следећу променљиву у иницијализациони фајл ваше љуске или
у командној линији, пре покретања WeeChat:

----
export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
----

[[spell_dictionaries]]
=== Инсталирао сам aspell речнике у свој систем, како могу да их користим без потребе да поново покрећем програм WeeChat?

Морате поново да учитате spell додатак:

----
/plugin reload spell
----

[[settings]]
== Подешавања

[[editing_config_files]]
=== Могу ли ручно да уређујем конфигурационе (*.conf) фајлове?

Можете, али се то *НЕ* препоручује.

У програму WeeChat се препоручује команда `/set`:

* Име и вредност опције можете да довршите тастером kbd:[Tab] (или kbd:[Shift+Tab] за делимично довршавање, корисно за име).
* Вредност се проверава, у случају грешке се исписује порука.
* Вредност се користи тренутно, нема потребе да се било што поново покреће.

Ако и даље желите да фајлове уређујете ручно, требало би да будете пажљиви:

* Ако као вредност опције поставите неважећу вредност, програм WeeChat ће приликом учитавања да испише грешку и одбациће вредност (користиће се подразумевана вредност те опције).
* Ако се програм WeeChat извршава, мораћете да извршите команду `/reload`, а ако су нека подешавања промењена и нису сачувана командом `/save`, изгубићете их.

[[memory_usage]]
=== Како да подесим програм WeeChat тако да троши мање меморије?

Ако желите да програм троши мање меморије, следите следеће савете:

* Користите последњу стабилну верзију (требало би да има мање цурења меморије од старијих верзија).
* Не учитавајте додатке које заиста и не користите, на пример: buflist, fifo, logger, perl, python, ruby, lua, tcl, guile, javascript, php, spell, xfer (користи се за DCC). Погледајте `/help weechat.plugin.autoload`.
* Учитавајте само скрипте које су вам заста неопходне.
* Не учитавајте системске сертификате ако се TLS *НЕ* користи: искључите следећу опцију: _weechat.network.gnutls_ca_system.
* Смањите вредност опције _weechat.history.max_buffer_lines_number_ или поставите вредност опције _weechat.history.max_buffer_lines_minutes_.
* Смањите вредност опције _weechat.history.max_commands_.

[[cpu_usage]]
=== Како да подесим програм WeeChat тако да мање оптерећује CPU?

Можете да следите исте савете као за <<memory_usage,меморију>>, као и следеће:

* Сакријте „nicklist” траку: `/bar hide nicklist` (тастер: kbd:[Alt+Shift+N]).
* Искључите „buflist”: `/buflist disable` (тастер: kbd:[Alt+Shift+B]).
* Уклоните приказ секунди из времена у статусној траци: `+/set weechat.look.item_time_format "%H:%M"+` (ово је и подразумевана вредност).
* Искључите проверу неисправно написаних речи у командној линији у реалном времену (ако сте је укључили): `+/set spell.check.real_time off+`.
* Поставите променљиву _TZ_ (на пример: `export TZ="Europe/Paris"`), тиме спречавате чест приступ фајлу _/etc/localtime_.

[[security]]
=== Имам параноју у вези безбедности, која подешавања би требало да изменим како би програм постао још сигурнији?

Искључите IRC part и quit поруке:

----
/set irc.server_default.msg_part ""
/set irc.server_default.msg_quit ""
----

Искључите одговоре на све CTCP упите:

----
/set irc.ctcp.clientinfo ""
/set irc.ctcp.source ""
/set irc.ctcp.time ""
/set irc.ctcp.version ""
/set irc.ctcp.ping ""
----

Са WeeChat < 4.1.0, на остале CTCP упите се подразумевано одговарало и такође морају
да се искључе:

----
/set irc.ctcp.finger ""
/set irc.ctcp.userinfo ""
----

Уклоните из меморије и искључите ауто учитавање „xfer” додатка (користи се за IRC DCC):

----
/plugin unload xfer
/set weechat.plugin.autoload "*,!xfer"
----

Дефинишите тајну реченицу и где год можете користите обезбеђене податке за осетљиве ствари као што су лозинке: погледајте `/help secure` и `/help` за опције (ако можете да користите обезбеђене податке, написано је у помоћи). Погледајте такође link:weechat_user.sr.html#secured_data[Корисничко упутство / Обезбеђени подаци ^↗^^].

На пример:

----
/secure passphrase xxxxxxxxxx
/secure set libera_username корисничкоиме
/secure set libera_password xxxxxxxx
/set irc.server.libera.sasl_username "${sec.data.libera_username}"
/set irc.server.libera.sasl_password "${sec.data.libera_password}"
----

[[sharing_config_files]]
=== Желим да делим своју WeeChat конфигурацију, које фајлови би требало да делим, а шта би требало да оставим приватно?

Можете да делите све конфигурационе фајлове _*.conf_ осим фајла _sec.conf_, јер он садржи лозинке шифроване вашом тајном реченицом.

И неки други фајлови могу да садрже осетљиве осетљиве информације као што су лозинке (у случају да нису сачуване у _sec.conf_ командом `/secure`).

Погледајте link:weechat_user.sr.html#files_and_directories[Корисничко упутство / Фајлови и директоријуми ^↗^^] за више информација о конфигурационим фајловима.

[[move_to_another_device]]
=== Желим да преместим свој WeeChat на други уређај и да задржим текућу конфигурацију, шта би требало да копирам?

Следећом командом најпре проверите које директоријуме користи WeeChat: `/debug dirs`. +
Морају да се копирају директоријуми home/config и home/data (сви фајлови и поддиректоријуми).

На пример, ако користите XDG директоријуме (подразумевано са WeeChat ≥ 3.2),
директоријуми би требало да буду `$HOME/.config/weechat` и `$HOME/.local/share/weechat`. +
Ако користите један директоријум (подразумевано са WeeChat < 3.2), директоријум би
требало да буде `$HOME/.weechat`.

[IMPORTANT]
WeeChat верзија на новом уређају мора да буде већа или једнака од верзије на почетном
уређају. +
Враћање WeeChat конфигурације уназад *НИЈЕ ПОДРЖАНО* и може да је поквари,
па на тај начин WeeChat постаје неупотребљив.

Кораци:

. Напустите Weechat: `/quit` (или `/upgrade -quit` ако желите могућност да наставите сесију,
  што укључује садржај свих бафера).
. Копирајте све директоријуме, поддиректоријуме и фајлове на нови уређај, задржавајући
  иста имена и дозволе.
. Није обавезно: копирајте све фајлове ван ових директоријума на које указује ваша
  конфигурација (не препоручује се употреба фајлова ван WeeChat директоријума).
. Покрените WeeChat на новом уређају: `weechat` (или `weechat --upgrade` у случају да сте
  сачували сесију).

[[development]]
== Развој

[[bug_task_patch]]
=== Како би требало да пријавим багове, тражим нове могућности, или пошаљем закрпе?

Погледајте https://weechat.org/about/support/[ови страницу ^↗^^].

[[gdb_error_threads]]
=== Када програм WeeChat покренем под gdb, појави се грешка везана за нити, шта могу да урадим?

Када програм WeeChat покренете под gdb, можете добити следећу грешку:

----
$ gdb /путања/до/програма/weechat
(gdb) run
[Thread debugging using libthread_db enabled]
Cannot find new threads: generic error
----

Да бисте ово исправили, покрените gdb овом командом (замените путању до libpthread и WeeChat са путањама на вашем систему):

----
$ LD_PRELOAD=/lib/libpthread.so.0 gdb /путања/до/програма/weechat
(gdb) run
----

[[supported_os]]
=== Како изгледа листа платформи које подржава програм WeeChat? Да ли ће се портовати на друге оперативне системе?

WeeChat се лепо извршава на већини Linux/BSD дистрибуција, GNU/Hurd, Mac OS и Windows (Cygwin и Windows Subsystem for Linux).

Чинимо што год можемо како би се извршавао на што више различитих платформи. Потребна нам је помоћ око неких ОС које не поседујемо, како би могли да тестирамо програм WeeChat.

[[help_developers]]
=== Желим да помогнем програмерима који развијају програм WeeChat. Како да то учиним?

Постоји много задатака који могу да се ураде (тестирање, програмирање, документација, итд.)

Молимо вас да нас контактирате преко IRC или мејла, погледајте
https://weechat.org/about/support/[страницу подршке ^↗^^].

[[donate]]
=== Могу ли програмерима програма WeeChat да дам новац или нешто друго?

Можете нам послати новац и помогнете развој програма.
Детаљи се налазе на https://weechat.org/donate/[страници донација ^↗^^].
