[[command_weechat_away]]
[command]*`away`* toggle away status::
........................................
/away  [-all] [<message>]

   -all: toggle away status on all connected servers
message: message for away (if no message is given, away status is removed)
........................................

[[command_weechat_bar]]
[command]*`bar`* manage bars::
........................................
/bar  list|listfull|listitems
      add <name> <type>[,<cond1>[,<cond2>...]] <position> <size> <separator> <item1>[,<item2>...]
      default [input|title|status|nicklist]
      del <name>|-all
      set <name> <option> <value>
      hide|show|toggle <name>
      scroll <name> <window> <scroll_value>

         list: list all bars
     listfull: list all bars (verbose)
    listitems: list all bar items
          add: add a new bar
         name: name of bar (must be unique)
         type:   root: outside windows,
               window: inside windows, with optional conditions (see below)
    cond1,...: condition(s) for displaying bar (only for type "window"):
                 active: on active window
               inactive: on inactive windows
               nicklist: on windows with nicklist
               without condition, bar is always displayed
     position: bottom, top, left or right
         size: size of bar (in chars)
    separator: 1 for using separator (line), 0 or nothing means no separator
    item1,...: items for this bar (items can be separated by comma (space between items) or "+" (glued items))
      default: create a default bar (all default bars if no bar name is given)
          del: delete a bar (or all bars with -all)
          set: set a value for a bar property
       option: option to change (for options list, look at /set weechat.bar.<barname>.*)
        value: new value for option
         hide: hide a bar
         show: show an hidden bar
       toggle: hide/show a bar
       scroll: scroll bar
       window: window number (use '*' for current window or for root bars)
 scroll_value: value for scroll: 'x' or 'y' (optional), followed by '+', '-', 'b' (beginning) or 'e' (end), value (for +/-), and optional % (to scroll by % of width/height, otherwise value is number of chars)

Examples:
  create a bar with time, buffer number + name, and completion:
    /bar add mybar root bottom 1 0 [time],buffer_number+:+buffer_name,completion
  hide a bar:
    /bar hide mybar
  scroll nicklist 10 lines down on current buffer:
    /bar scroll nicklist * y+10
  scroll to end of nicklist on current buffer:
    /bar scroll nicklist * ye
........................................

[[command_weechat_buffer]]
[command]*`buffer`* manage buffers::
........................................
/buffer  list
         clear [<number>|<name>|-merged|-all]
         move|merge <number>
         swap <number1>|<name1> [<number2>|<name2>]
         unmerge [<number>|-all]
         close [<n1>[-<n2>]|<name>]
         notify <level>
         localvar
         set <property> <value>
         get <property>
         <number>|<name>

    list: list buffers (without argument, this list is displayed)
   clear: clear buffer content (number for a buffer, -merged for merged buffers, -all for all buffers, or nothing for current buffer)
    move: move buffer in the list (may be relative, for example -1)
    swap: swap two buffers (swap with current buffer if only one number/name given)
   merge: merge current buffer to another buffer (chat area will be mix of both buffers)
          (by default ctrl-x switches between merged buffers)
 unmerge: unmerge buffer from other buffers which have same number
   close: close buffer (number/range or name is optional)
  notify: set notify level for current buffer: this level determines whether buffer will be added to hotlist or not:
               none: never
          highlight: for highlights only
            message: for messages from users + highlights
                all: all messages
              reset: reset to default value (all)
localvar: display local variables for current buffer
     set: set a property for current buffer
     get: display a property of current buffer
  number: jump to buffer by number, possible prefix:
          '+': relative jump, add number to current
          '-': relative jump, sub number to current
          '*': jump to number, using option "weechat.look.jump_current_to_previous_buffer"
    name: jump to buffer by (partial) name

Examples:
  clear current buffer:
    /buffer clear
  move buffer to number 5:
    /buffer move 5
  swap buffer 1 with 3:
    /buffer swap 1 3
  swap buffer #weechat with current buffer:
    /buffer swap #weechat
  merge with core buffer:
    /buffer merge 1
  unmerge buffer:
    /buffer unmerge
  close current buffer:
    /buffer close
  close buffers 5 to 7:
    /buffer close 5-7
  jump to #weechat:
    /buffer #weechat
  jump to next buffer:
    /buffer +1
........................................

[[command_weechat_color]]
[command]*`color`* define color aliases and display palette of colors::
........................................
/color  alias <color> <name>
        unalias <color>
        reset

  alias: add an alias for a color
unalias: delete an alias
  color: color number (greater than or equal to 0, max depends on terminal, commonly 63 or 255)
   name: alias name for color (for example: "orange")
  reset: reset all color pairs (required when no more color pairs are available if automatic reset is disabled, see option weechat.look.color_pairs_auto_reset)

Without argument, this command displays colors in a new buffer.

Examples:
  add alias "orange" for color 214:
    /color alias 214 orange
  delete color 214:
    /color unalias 214
........................................

[[command_weechat_command]]
[command]*`command`* launch explicit WeeChat or plugin command::
........................................
/command  <plugin> <command>

 plugin: plugin name ('weechat' for WeeChat internal command)
command: command to execute (a '/' is automatically added if not found at beginning of command)
........................................

[[command_weechat_cursor]]
[command]*`cursor`* free movement of cursor on screen to execute actions on specific areas of screen::
........................................
/cursor  go chat|<bar>|<x>,<y>
         move up|down|left|right|area_up|area_down|area_left|area_right
         stop

  go: move cursor to chat area, a bar (using bar name) or coordinates "x,y"
move: move cursor with direction
stop: stop cursor mode

Without argument, this command toggles cursor mode.

When mouse is enabled (see /help mouse), by default a middle click will start cursor mode at this point.

Examples:
  go to nicklist:
    /cursor go nicklist
  go to coordinates x=10, y=5:
    /cursor go 10,5
........................................

[[command_weechat_debug]]
[command]*`debug`* control debug for core/plugins::
........................................
/debug  list
        set <plugin> <level>
        dump [<plugin>]
        buffer|color|infolists|memory|tags|term|windows
        mouse|cursor [verbose]
        hdata [free]

     list: list plugins with debug levels
      set: set debug level for plugin
   plugin: name of plugin ("core" for WeeChat core)
    level: debug level for plugin (0 = disable debug)
     dump: save memory dump in WeeChat log file (same dump is written when WeeChat crashes)
   buffer: dump buffer content with hexadecimal values in log file
    color: display infos about current color pairs
   cursor: toggle debug for cursor mode
    hdata: display infos about hdata (with free: remove all hdata in memory)
    hooks: display infos about hooks
infolists: display infos about infolists
   memory: display infos about memory usage
    mouse: toggle debug for mouse
     tags: display tags for lines
     term: display infos about terminal
  windows: display windows tree
........................................

[[command_weechat_filter]]
[command]*`filter`* filter messages in buffers, to hide/show them according to tags or regex::
........................................
/filter  list
         enable|disable|toggle [<name>]
         add <name> <buffer>[,<buffer>...] <tags> <regex>
         del <name>|-all

   list: list all filters
 enable: enable filters (filters are enabled by default)
disable: disable filters
 toggle: toggle filters
   name: filter name
    add: add a filter
    del: delete a filter
   -all: delete all filters
 buffer: comma separated list of buffers where filter is active:
         - this is full name including plugin (example: "irc.freenode.#weechat")
         - "*" means all buffers
         - a name starting with '!' is excluded
         - name can start or end with '*' to match many buffers
   tags: comma separated list of tags, for example: "irc_join,irc_part,irc_quit"
  regex: regular expression to search in line
         - use '\t' to separate prefix from message, special chars like '|' must be escaped: '\|'
         - if regex starts with '!', then matching result is reversed (use '\!' to start with '!')
         - two regular expressions are created: one for prefix and one for message
         - regex are case insensitive, they can start by "(?-i)" to become case sensitive

The default key alt+'=' toggles filtering on/off.

Tags most commonly used:
  no_filter, no_highlight, no_log, log0..log9 (log level),
  notify_none, notify_message, notify_private, notify_highlight,
  nick_xxx (xxx is nick in message), prefix_nick_ccc (ccc is color of nick),
  irc_xxx (xxx is command name or number, see /server raw),
  irc_numeric, irc_error, irc_action, irc_ctcp, irc_ctcp_reply, irc_smart_filter, away_info.
To see tags for lines in buffers: /debug tags

Examples:
  use IRC smart filter on all buffers:
    /filter add irc_smart * irc_smart_filter *
  use IRC smart filter on all buffers except those with "#weechat" in name:
    /filter add irc_smart *,!*#weechat* irc_smart_filter *
  filter all IRC join/part/quit messages:
    /filter add joinquit * irc_join,irc_part,irc_quit *
  filter nicks displayed when joining channels or with /names:
    /filter add nicks * irc_366 *
  filter nick "toto" on IRC channel #weechat:
    /filter add toto irc.freenode.#weechat nick_toto *
  filter lines containing "weechat sucks" on IRC channel #weechat:
    /filter add sucks irc.freenode.#weechat * weechat sucks
........................................

[[command_weechat_help]]
[command]*`help`* display help about commands and options::
........................................
/help  -list|-listfull [<plugin> [<plugin>...]]
       <command>
       <option>

    -list: list commands, by plugin (without argument, this list is displayed)
-listfull: list commands with description, by plugin
   plugin: list commands for this plugin
  command: a command name
   option: an option name (use /set to see list)
........................................

[[command_weechat_history]]
[command]*`history`* show buffer command history::
........................................
/history  clear
          <value>

clear: clear history
value: number of history entries to show
........................................

[[command_weechat_input]]
[command]*`input`* functions for command line::
........................................
/input  <action> [<arguments>]

list of actions:
  return: simulate key "enter"
  complete_next: complete word with next completion
  complete_previous: complete word with previous completion
  search_text: search text in buffer
  search_switch_case: switch exact case for search
  search_previous: search previous line
  search_next: search next line
  search_stop: stop search
  delete_previous_char: delete previous char
  delete_next_char: delete next char
  delete_previous_word: delete previous word
  delete_next_word: delete next word
  delete_beginning_of_line: delete from beginning of line until cursor
  delete_end_of_line: delete from cursor until end of line
  delete_line: delete entire line
  clipboard_paste: paste from clipboard
  transpose_chars: transpose two chars
  undo: undo last command line action
  redo: redo last command line action
  move_beginning_of_line: move cursor to beginning of line
  move_end_of_line: move cursor to end of line
  move_previous_char: move cursor to previous char
  move_next_char: move cursor to next char
  move_previous_word: move cursor to previous word
  move_next_word: move cursor to next word
  history_previous: recall previous command in current buffer history
  history_next: recall next command in current buffer history
  history_global_previous: recall previous command in global history
  history_global_next: recall next command in global history
  jump_smart: jump to next buffer with activity
  jump_last_buffer: jump to last buffer
  jump_last_buffer_displayed: jump to last buffer displayed (before last jump to a buffer)
  jump_previously_visited_buffer: jump to previously visited buffer
  jump_next_visited_buffer: jump to next visited buffer
  hotlist_clear: clear hotlist
  grab_key: grab a key (optional argument: delay for end of grab, default is 500 milliseconds)
  grab_key_command: grab a key with its associated command (optional argument: delay for end of grab, default is 500 milliseconds)
  grab_mouse: grab mouse event code
  grab_mouse_area: grab mouse event code with area
  set_unread: set unread marker for all buffers
  set_unread_current_buffer: set unread marker for current buffer
  switch_active_buffer: switch to next merged buffer
  switch_active_buffer_previous: switch to previous merged buffer
  insert: insert text in command line
  paste_start: start paste (bracketed paste mode)
  paste_stop: stop paste (bracketed paste mode)

This command is used by key bindings or plugins.
........................................

[[command_weechat_key]]
[command]*`key`* bind/unbind keys::
........................................
/key  list|listdefault|listdiff [<context>]
      bind <key> [<command> [<args>]]
      bindctxt <context> <key> [<command> [<args>]]
      unbind <key>
      unbindctxt <context> <key>
      reset <key>
      resetctxt <context> <key>
      resetall -yes [<context>]
      missing [<context>]

       list: list all current keys (without argument, this list is displayed)
listdefault: list default keys
   listdiff: list differences between current and default keys (keys added, redefined or deleted)
    context: name of context ("default" or "search")
       bind: bind a command to a key or display command bound to key (for context "default")
   bindctxt: bind a command to a key or display command bound to key, for given context
    command: command (many commands can be separated by semicolons)
     unbind: remove a key binding (for context "default")
 unbindctxt: remove a key binding for given context
      reset: reset a key to default binding (for context "default")
  resetctxt: reset a key to default binding, for given context
   resetall: restore bindings to the default values and delete ALL personal bindings (use carefully!)
    missing: add missing keys (using default bindings), useful after installing new WeeChat version

When binding a command to a key, it is recommended to use key alt+k (or Esc then k), and then press the key to bind: this will insert key code in command line.

For context "mouse" (possible in context "cursor" too), key has format: "@area:key" or "@area1>area2:key" where area can be:
          *: any area on screen
       chat: chat area (any buffer)
  chat(xxx): char area for buffer with name "xxx" (full name including plugin)
     bar(*): any bar
   bar(xxx): bar "xxx"
    item(*): any bar item
  item(xxx): bar item "xxx"
The key can start or end with '*' to match many mouse events.
A special value for command with format "hsignal:name" can be used for context mouse, this will send the hsignal "name" with the focus hashtable as argument.
Another special value "-" can be used to disable key (it will be ignored when looking for keys).

Examples:
  key alt-x to toggle nicklist bar:
    /key bind meta-x /bar toggle nicklist
  key alt-r to jump to #weechat IRC channel:
    /key bind meta-r /buffer #weechat
  restore default binding for key alt-r:
    /key reset meta-r
  key "tab" to stop search in buffer:
    /key bindctxt search ctrl-I /input search_stop
  middle button of mouse on a nick to retrieve info on nick:
    /key bindctxt mouse @item(buffer_nicklist):button3 /msg nickserv info ${nick}
........................................

[[command_weechat_layout]]
[command]*`layout`* save/apply/reset layout for buffers and windows::
........................................
/layout  save [buffers|windows]
         apply [buffers|windows]
         reset [buffers|windows]

   save: save current layout
  apply: apply saved layout
  reset: remove saved layout
buffers: save/apply only buffers (order of buffers)
windows: save/apply only windows (buffer displayed by each window)

Without argument, this command displays saved layout.
........................................

[[command_weechat_mouse]]
[command]*`mouse`* mouse control::
........................................
/mouse  enable|disable|toggle [<delay>]

 enable: enable mouse
disable: disable mouse
 toggle: toggle mouse
  delay: delay (in seconds) after which initial mouse state is restored (useful to temporarily disable mouse)

The mouse state is saved in option "weechat.look.mouse".

Examples:
  enable mouse:
    /mouse enable
  toggle mouse for 5 seconds:
    /mouse toggle 5
........................................

[[command_weechat_mute]]
[command]*`mute`* execute a command silently::
........................................
/mute  [-current | -buffer <name> | -all] command

-current: no output on current buffer
 -buffer: no output on specified buffer
    name: full buffer name (examples: "irc.server.freenode", "irc.freenode.#weechat")
    -all: no output on ALL buffers
 command: command to execute silently (a '/' is automatically added if not found at beginning of command)

If no target is specified (-current, -buffer or -all), then default is to mute WeeChat core buffer only.

Examples:
  config save:
    /mute save
  message to current IRC channel:
    /mute -current msg * hi!
  message to #weechat channel:
    /mute -buffer irc.freenode.#weechat msg #weechat hi!
........................................

[[command_weechat_plugin]]
[command]*`plugin`* list/load/unload plugins::
........................................
/plugin  list|listfull [<name>]
         load <filename> [<arguments>]
         autoload [<arguments>]
         reload [<name> [<arguments>]]
         unload [<name>]

     list: list loaded plugins
 listfull: list loaded plugins (verbose)
     load: load a plugin
 autoload: autoload plugins in system or user directory
   reload: reload a plugin (if no name given, unload all plugins, then autoload plugins)
   unload: unload a plugin (if no name given, unload all plugins)
 filename: plugin (file) to load
     name: a plugin name
arguments: arguments given to plugin on load

Without argument, this command lists loaded plugins.
........................................

[[command_weechat_proxy]]
[command]*`proxy`* manage proxies::
........................................
/proxy  list
        add <name> <type> <address> <port> [<username> [<password>]]
        del <name>|-all
        set <name> <option> <value>

    list: list all proxies
     add: add a new proxy
    name: name of proxy (must be unique)
    type: http, socks4 or socks5
 address: IP or hostname
    port: port
username: username (optional)
password: password (optional)
     del: delete a proxy (or all proxies with -all)
     set: set a value for a proxy property
  option: option to change (for options list, look at /set weechat.proxy.<proxyname>.*)
   value: new value for option

Examples:
  create a http proxy, running on local host, port 8888:
    /proxy add local http 127.0.0.1 8888
  create a http proxy using IPv6 protocol:
    /proxy add local http 127.0.0.1 8888
    /proxy set local ipv6 on
  create a socks5 proxy with username/password:
    /proxy add myproxy socks5 sample.host.org 3128 myuser mypass
  delete a proxy:
    /proxy del myproxy
........................................

[[command_weechat_quit]]
[command]*`quit`* quit WeeChat::
........................................
/quit  [-yes] [<arguments>]

     -yes: required if option weechat.look.confirm_quit is enabled
arguments: text sent with signal "quit"
           (for example irc plugin uses this text to send quit message to server)
........................................

[[command_weechat_reload]]
[command]*`reload`* reload configuration files from disk::
........................................
/reload  [<file> [<file>...]]

file: configuration file to reload (without extension ".conf")

Without argument, all files (WeeChat and plugins) are reloaded.
........................................

[[command_weechat_repeat]]
[command]*`repeat`* execute a command several times::
........................................
/repeat  [-interval <delay>] <count> <command>

  delay: delay between execution of commands (in milliseconds)
  count: number of times to execute command
command: command to execute (a '/' is automatically added if not found at beginning of command)

All commands are executed on buffer where this command was issued.

Example:
  scroll 2 pages up:
    /repeat 2 /window page_up
........................................

[[command_weechat_save]]
[command]*`save`* save configuration files to disk::
........................................
/save  [<file> [<file>...]]

file: configuration file to save (without extension ".conf")

Without argument, all files (WeeChat and plugins) are saved.
........................................

[[command_weechat_set]]
[command]*`set`* set config options::
........................................
/set  [<option> [<value>]]

option: name of an option (can start or end with '*' to list many options)
 value: new value for option

New value can be, according to variable type:
  boolean: on, off or toggle
  integer: number, ++number or --number
  string : any string ("" for empty string)
  color  : color name, ++number or --number

For all types, you can use null to remove option value (undefined value). This works only for some special plugin variables.

Examples:
  display options about highlight:
    /set *highlight*
  add a word to highlight:
    /set weechat.look.highlight "word"
........................................

[[command_weechat_unset]]
[command]*`unset`* unset/reset config options::
........................................
/unset  <option>

option: name of an option (may begin or end with "*" to mass-reset options, use carefully!)

According to option, it's reset (for standard options) or removed (for optional settings, like server values).

Examples:
  reset one option:
    /unset weechat.look.item_time_format
  reset all color options:
    /unset weechat.color.*
........................................

[[command_weechat_upgrade]]
[command]*`upgrade`* upgrade WeeChat without disconnecting from servers::
........................................
/upgrade  [<path_to_binary>]

path_to_binary: path to WeeChat binary (default is current binary)

This command upgrades and reloads a running WeeChat session. The new WeeChat binary must have been compiled or installed with a package manager before running this command.

Note: SSL connections are lost during upgrade, because reload of SSL sessions is currently not possible with GnuTLS. There is automatic reconnection after upgrade.

Upgrade process has 4 steps:
  1. save session into files for core and plugins (buffers, history, ..)
  2. unload all plugins (configuration files (*.conf) are written on disk)
  3. save WeeChat configuration (weechat.conf)
  4. execute new WeeChat binary and reload session.
........................................

[[command_weechat_uptime]]
[command]*`uptime`* show WeeChat uptime::
........................................
/uptime  [-o | -ol]

 -o: send uptime to current buffer as input (english string)
-ol: send uptime to current buffer as input (translated string)
........................................

[[command_weechat_version]]
[command]*`version`* show WeeChat version and compilation date::
........................................
/version  [-o | -ol]

 -o: send version to current buffer as input (english string)
-ol: send version to current buffer as input (translated string)
........................................

[[command_weechat_wait]]
[command]*`wait`* schedule a command execution in future::
........................................
/wait  <number>[<unit>] <command>

 number: amount of time to wait (integer number)
   unit: optional, values are:
           ms: milliseconds
            s: seconds (default)
            m: minutes
            h: hours
command: command to execute (or text to send to buffer if command does not start with '/')

Note: command is executed on buffer where /wait was executed (if buffer is not found (for example if it has been closed before execution of command), then command is executed on WeeChat core buffer).

Examples:
  join channel in 10 seconds:
    /wait 10 /join #test
  set away in 15 minutes:
    /wait 15m /away -all I'm away
  say 'hello' in 2 minutes:
    /wait 2m hello
........................................

[[command_weechat_window]]
[command]*`window`* manage windows::
........................................
/window  list
         -1|+1|b#|up|down|left|right [-window <number>]
         <number>
         splith|splitv [-window <number>] [<pct>]
         resize [-window <number>] [+/-]<pct>
         balance
         merge [-window <number>] [all]
         page_up|page_down [-window <number>]
         refresh
         scroll [-window <number>] [+/-]<value>[s|m|h|d|M|y]
         scroll_horiz [-window <number>] [+/-]<value>[%]
         scroll_up|scroll_down|scroll_top|scroll_bottom|scroll_previous_highlight|scroll_next_highlight|scroll_unread [-window <number>]
         swap [-window <number>] [up|down|left|right]
         zoom[-window <number>]

         list: list opened windows (without argument, this list is displayed)
           -1: jump to previous window
           +1: jump to next window
           b#: jump to next window displaying buffer number #
           up: switch to window above current one
         down: switch to window below current one
         left: switch to window on the left
        right: switch to window on the right
       number: window number (see /window list)
       splith: split current window horizontally
       splitv: split current window vertically
       resize: resize window size, new size is <pct> percentage of parent window
      balance: balance the sizes of all windows
        merge: merge window with another (all = keep only one window)
      page_up: scroll one page up
    page_down: scroll one page down
      refresh: refresh screen
       scroll: scroll a number of lines (+/-N) or with time: s=seconds, m=minutes, h=hours, d=days, M=months, y=years
 scroll_horiz: scroll horizontally a number of columns (+/-N) or percentage of window size (this scrolling is possible only on buffers with free content)
    scroll_up: scroll a few lines up
  scroll_down: scroll a few lines down
   scroll_top: scroll to top of buffer
scroll_bottom: scroll to bottom of buffer
scroll_previous_highlight: scroll to previous highlight
scroll_next_highlight: scroll to next highlight
scroll_unread: scroll to unread marker
         swap: swap buffers of two windows (with optional direction for target window)
         zoom: zoom on window

For splith and splitv, pct is a percentage which represents size of new window, computed with current window as size reference. For example 25 means create a new window with size = current_size / 4

Examples:
  jump to window displaying buffer #1:
    /window b1
  scroll 2 lines up:
    /window scroll -2
  scroll 2 days up:
    /window scroll -2d
  scroll to beginning of current day:
    /window scroll -d
  zoom on window #2:
    /window zoom -window 2
........................................

