diff options
author | Sebastien Helleu <flashcode@flashtux.org> | 2011-07-26 18:50:29 +0200 |
---|---|---|
committer | Sebastien Helleu <flashcode@flashtux.org> | 2011-07-26 18:50:29 +0200 |
commit | e0781f0390291e264e6dd9c17beae1342e87f9a2 (patch) | |
tree | aac2f19ab7e527180952db15867d8daaa23c4a91 /doc/en | |
parent | 2fec84314433c2b7152c6c47b1172a621257fe6f (diff) | |
download | weechat-e0781f0390291e264e6dd9c17beae1342e87f9a2.zip |
core: add mouse support (task #5435), free cursor movement, hook_focus, fix bugs with key "^" (bug #32072, bug #21381), fix bugs with bar windows, completion and /buffer
New features and bugs fixed:
- mouse support: new command /mouse, new option weechat.look.mouse, new key context "mouse"
- free movement of cursor: new command /cursor, new key context "cursor"
- new hook_focus (used by cursor and mouse)
- info "cursor_mode"
- bugs fixed with key "^"
- allow plugin name in /buffer name
- fix bugs with bar windows: do not create bar windows for hidden bars
- fix completion bug when two words for completion are equal but with different case
- automatic scroll direction in /bar scroll (x/y is now optional)
Diffstat (limited to 'doc/en')
-rw-r--r-- | doc/en/autogen/plugin_api/completions.txt | 2 | ||||
-rw-r--r-- | doc/en/autogen/plugin_api/hdata.txt | 47 | ||||
-rw-r--r-- | doc/en/autogen/plugin_api/infos.txt | 2 | ||||
-rw-r--r-- | doc/en/autogen/user/weechat_commands.txt | 60 | ||||
-rw-r--r-- | doc/en/autogen/user/weechat_options.txt | 5 | ||||
-rw-r--r-- | doc/en/weechat_plugin_api.en.txt | 82 | ||||
-rw-r--r-- | doc/en/weechat_user.en.txt | 111 |
7 files changed, 268 insertions, 41 deletions
diff --git a/doc/en/autogen/plugin_api/completions.txt b/doc/en/autogen/plugin_api/completions.txt index b0bc80eeb..1e909099c 100644 --- a/doc/en/autogen/plugin_api/completions.txt +++ b/doc/en/autogen/plugin_api/completions.txt @@ -78,6 +78,8 @@ | weechat | config_options | configuration options +| weechat | cursor_areas | areas ("chat" or bar name) for free cursor movement + | weechat | filename | filename | weechat | filters_names | names of filters diff --git a/doc/en/autogen/plugin_api/hdata.txt b/doc/en/autogen/plugin_api/hdata.txt index e6ff1fa15..b4c46732c 100644 --- a/doc/en/autogen/plugin_api/hdata.txt +++ b/doc/en/autogen/plugin_api/hdata.txt @@ -175,7 +175,10 @@ 'items_count' (integer) + 'items_subcount' (pointer) + 'items_array' (pointer) + - 'bar_window' (pointer) + + 'items_prefix' (pointer) + + 'items_name' (pointer) + + 'items_suffix' (pointer) + + 'bar_window' (pointer, hdata: 'bar_window') + 'bar_refresh_needed' (integer) + 'prev_bar' (pointer, hdata: 'bar') + 'next_bar' (pointer, hdata: 'bar') | @@ -192,6 +195,30 @@ 'gui_bar_items' + 'last_gui_bar_item' +| weechat | bar_window | bar window | + 'bar' (pointer, hdata: 'bar') + + 'x' (integer) + + 'y' (integer) + + 'width' (integer) + + 'height' (integer) + + 'scroll_x' (integer) + + 'scroll_y' (integer) + + 'cursor_x' (integer) + + 'cursor_y' (integer) + + 'current_size' (integer) + + 'items_count' (integer) + + 'items_subcount' (pointer) + + 'items_content' (pointer) + + 'items_num_lines' (pointer) + + 'items_refresh_needed' (pointer) + + 'screen_col_size' (integer) + + 'coords_count' (integer) + + 'coords' (pointer) + + 'gui_objects' (pointer) + + 'prev_bar_window' (pointer, hdata: 'bar_window') + + 'next_bar_window' (pointer, hdata: 'bar_window') | + - + | weechat | buffer | buffer | 'plugin' (pointer, hdata: 'plugin') + 'plugin_name_for_upgrade' (string) + @@ -383,9 +410,21 @@ 'prev_key' (pointer, hdata: 'key') + 'next_key' (pointer, hdata: 'key') | 'gui_default_keys' + + 'gui_default_keys_cursor' + + 'gui_default_keys_mouse' + + 'gui_default_keys_search' + 'gui_keys' + + 'gui_keys_cursor' + + 'gui_keys_mouse' + + 'gui_keys_search' + 'last_gui_default_key' + - 'last_gui_key' + 'last_gui_default_key_cursor' + + 'last_gui_default_key_mouse' + + 'last_gui_default_key_search' + + 'last_gui_key' + + 'last_gui_key_cursor' + + 'last_gui_key_mouse' + + 'last_gui_key_search' | weechat | line | structure with one line | 'data' (pointer, hdata: 'line_data') + @@ -473,8 +512,8 @@ 'win_chat_height' (integer) + 'win_chat_cursor_x' (integer) + 'win_chat_cursor_y' (integer) + - 'bar_windows' (pointer) + - 'last_bar_window' (pointer) + + 'bar_windows' (pointer, hdata: 'bar_window') + + 'last_bar_window' (pointer, hdata: 'bar_window') + 'refresh_needed' (integer) + 'gui_objects' (pointer) + 'buffer' (pointer, hdata: 'buffer') + diff --git a/doc/en/autogen/plugin_api/infos.txt b/doc/en/autogen/plugin_api/infos.txt index 708a570f1..f4fb2a5a7 100644 --- a/doc/en/autogen/plugin_api/infos.txt +++ b/doc/en/autogen/plugin_api/infos.txt @@ -28,6 +28,8 @@ | weechat | charset_terminal | terminal charset | - +| weechat | cursor_mode | 1 if cursor mode is enabled | - + | weechat | date | WeeChat compilation date | - | weechat | dir_separator | directory separator | - diff --git a/doc/en/autogen/user/weechat_commands.txt b/doc/en/autogen/user/weechat_commands.txt index 48f64285a..d35e0a27f 100644 --- a/doc/en/autogen/user/weechat_commands.txt +++ b/doc/en/autogen/user/weechat_commands.txt @@ -42,7 +42,7 @@ message: message for away (if no message is given, away status is removed) toggle: hide/show a bar scroll: scroll bar buffer: name of buffer to scroll ('*' means current buffer, you should use '*' for root bars) - scroll_value: value for scroll: 'x' or 'y', followed by '+', '-', 'b' (beginning) or 'e' (end), value (for +/-), and optional %% (to scroll by %% of width/height, otherwise value is number of chars) + 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: @@ -140,12 +140,33 @@ Examples: command: command to execute (a '/' is automatically added if not found at beginning of command) ........................................ +[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]*`debug`* control debug for core/plugins:: ........................................ /debug list set <plugin> <level> dump [<plugin>] - buffer|color|infolists|memory|tags|term|windows + buffer|color|cursor|infolists|memory|mouse|tags|term|windows hdata [free] list: list plugins with debug levels @@ -155,9 +176,11 @@ command: command to execute (a '/' is automatically added if not found at beginn 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) 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 @@ -279,8 +302,8 @@ list of actions: 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 - grab_key_command: grab a key with its associated command + 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) scroll_unread: scroll to unread marker set_unread: set unread marker for all buffers set_unread_current_buffer: set unread marker for current buffer @@ -318,6 +341,14 @@ listdefault: list default keys 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" where area can be: + *: any area on screen + chat: chat area + bar(*): any bar + bar(xxx): bar "xxx" + item(*): any bar item + item(xxx): bar item "xxx" + Examples: key alt-x to toggle nicklist bar: /key bind meta-x /bar toggle nicklist @@ -327,6 +358,8 @@ Examples: /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]*`layout`* save/apply/reset layout for buffers and windows:: @@ -344,6 +377,25 @@ windows: save/apply only windows (buffer displayed by each window) Without argument, this command displays saved layout. ........................................ +[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) + +To enable/disable mouse at startup, use: + /set weechat.look.mouse on/off + +Examples: + enable mouse: + /mouse enable + toggle mouse for 5 seconds: + /mouse toggle 5 +........................................ + [command]*`mute`* execute a command silently:: ........................................ /mute [-current | -buffer <name> | -all] command diff --git a/doc/en/autogen/user/weechat_options.txt b/doc/en/autogen/user/weechat_options.txt index 559b221da..787bb77b4 100644 --- a/doc/en/autogen/user/weechat_options.txt +++ b/doc/en/autogen/user/weechat_options.txt @@ -473,6 +473,11 @@ ** type: boolean ** values: on, off (default value: `on`) +* *weechat.look.mouse* +** description: `enable mouse support at startup (to enable it now, see /help mouse)` +** type: boolean +** values: on, off (default value: `off`) + * *weechat.look.nickmode* ** description: `display nick mode ((half)op/voice) before each nick` ** type: boolean diff --git a/doc/en/weechat_plugin_api.en.txt b/doc/en/weechat_plugin_api.en.txt index c6e77ce8c..b38b1f70f 100644 --- a/doc/en/weechat_plugin_api.en.txt +++ b/doc/en/weechat_plugin_api.en.txt @@ -6042,7 +6042,7 @@ weechat_hook_modifier ("2000|input_text_display", &modifier_cb, NULL); ---------------------------------------- Following hook types allow priority: command, command_run, signal, hsignal, -config, completion, modifier, info, info_hashtable, infolist, hdata. +config, completion, modifier, info, info_hashtable, infolist, hdata, focus. weechat_hook_command ^^^^^^^^^^^^^^^^^^^^ @@ -8229,6 +8229,86 @@ struct t_hook *my_hdata = weechat_hook_hdata ("my_hdata", [NOTE] This function is not available in scripting API. +weechat_hook_focus +^^^^^^^^^^^^^^^^^^ + +Hook a focus: mouse event or key pressed in cursor mode (free movement of +cursor). + +Prototype: + +[source,C] +---------------------------------------- +struct t_hook *weechat_hook_focus (const char *area, + struct t_hashtable *(*callback)(void *data, + struct t_hashtable *info), + void *callback_data); +---------------------------------------- + +Arguments: + +* 'area': "chat" for chat area, or name of bar item + (priority allowed, see note about <<hook_priority,priority>>) +* 'callback': function called when focus is made, arguments and return + value: +** 'void *data': pointer +** 'struct t_hashtable *info': hashtable with info on focus and strings returned + by other calls to focus callbacks (with higher priority); keys and values + are of type "string"; info on focus (filled by WeeChat) are: +*** '_x': column of focus on screen (first column on the left is "0") +*** '_y': line of focus on screen (first line on top is "0") +*** '_window': pointer of window with focus ("0x0" for a bar of type "root" + or for unknown area) +*** '_bar_name': name of bar with focus (NULL for chat area or for unknown + area) +*** '_bar_item_name': name of bar item with focus (NULL if focus is not in a + bar or if focus is after the end of last bar item) +*** '_item_line': line with focus in bar item (first line of bar item is "0") +*** '_item_col': column with focus in bar item (first column of bar item is "0") +** return value: either "info" pointer (hashtable completed), or pointer to a + new hashtable (created by callback, with keys and values of type "string"), + this new hashtable content will be added to 'info' for other calls to focus + callbacks +* 'callback_data': pointer given to callback when it is called by WeeChat + +Return value: + +* pointer to new hook, NULL if error occured + +C example: + +[source,C] +---------------------------------------- +struct t_hashtable * +my_focus_nicklist_cb (void *data, struct t_hashtable *info) +{ + /* add strings in hashtable */ + /* ... */ + + return info; +} + +/* add focus on nicklist */ +struct t_hook *my_focus = weechat_hook_focus ("buffer_nicklist", + &my_focus_nicklist_cb, NULL); +---------------------------------------- + +Script (Python): + +[source,python] +---------------------------------------- +# prototype +hook = weechat.hook_focus(area, callback, callback_data) + +# example +def my_focus_nicklist_cb(data, info): + # build dict + # ... + return my_dict + +hook = weechat.hook_focus("buffer_nicklist", "my_focus_nicklist_cb", "") +---------------------------------------- + weechat_unhook ^^^^^^^^^^^^^^ diff --git a/doc/en/weechat_user.en.txt b/doc/en/weechat_user.en.txt index 0ca58384f..938a796ed 100644 --- a/doc/en/weechat_user.en.txt +++ b/doc/en/weechat_user.en.txt @@ -412,20 +412,20 @@ Default key bindings Keys for command line ^^^^^^^^^^^^^^^^^^^^^ -[width="100%",cols="^.^3,.^10,.^5m",options="header"] +[width="100%",cols="^.^3,.^10,.^5l",options="header"] |======================================== | Key | Description | Command -| @k(←) .2+| Go to previous char in command line .2+| /input move_previous_char +| @k(←) .2+| Go to previous char in command line .2+| /input move_previous_char | @k(C-)@k(b) -| @k(→) .2+| Go to next char in command line .2+| /input move_next_char +| @k(→) .2+| Go to next char in command line .2+| /input move_next_char | @k(C-)@k(f) -| @k(C-)@k(←) .2+| Go to previous word in command line .2+| /input move_previous_word +| @k(C-)@k(←) .2+| Go to previous word in command line .2+| /input move_previous_word | @k(A-)@k(b) -| @k(C-)@k(→) .2+| Go to next word in command line .2+| /input move_next_word +| @k(C-)@k(→) .2+| Go to next word in command line .2+| /input move_next_word | @k(A-)@k(f) -| @k(Home) .2+| Go to the beginning of command line .2+| /input move_beginning_of_line +| @k(Home) .2+| Go to the beginning of command line .2+| /input move_beginning_of_line | @k(C-)@k(a) -| @k(End) .2+| Go to the end of command line .2+| /input move_end_of_line +| @k(End) .2+| Go to the end of command line .2+| /input move_end_of_line | @k(C-)@k(e) | @k(C-)@k(c) , @k(b) | Insert code for bold text | /input insert \x02 | @k(C-)@k(c) , @k(c) | Insert code for colored text | /input insert \x03 @@ -433,9 +433,9 @@ Keys for command line | @k(C-)@k(c) , @k(o) | Insert code for color reset | /input insert \x0F | @k(C-)@k(c) , @k(r) | Insert code for reverse color | /input insert \x12 | @k(C-)@k(c) , @k(u) | Insert code for underlined text | /input insert \x15 -| @k(Del) .2+| Delete next char in command line .2+| /input delete_next_char +| @k(Del) .2+| Delete next char in command line .2+| /input delete_next_char | @k(C-)@k(d) -| @k(Backsp.) .2+| Delete previous char in command line .2+| /input delete_previous_char +| @k(Backsp.) .2+| Delete previous char in command line .2+| /input delete_previous_char | @k(C-)@k(h) | @k(C-)@k(k) | Delete from cursor until end of command line (deleted string is copied to clipboard) | /input delete_end_of_line | @k(C-)@k(r) | Search for text in buffer history (see <<key_bindings_search_context,keys for search context>>) | /input search_text @@ -447,7 +447,7 @@ Keys for command line | @k(A-)@k(_) | Redo last action on command line | /input redo | @k(Tab) | Complete command or nick (@k(Tab) again: find next completion) | /input complete_next | @k(S-)@k(Tab) | Without completion: do a partial completion, with pending completion: complete with previous completion | /input complete_previous -| @k(Enter) .3+| Execute command or send message (in search mode: stop search) .3+| /input return +| @k(Enter) .3+| Execute command or send message (in search mode: stop search) .3+| /input return | @k(C-)@k(j) | @k(C-)@k(m) | @k(↑) | Call previous command/message (in search mode: search up) | /input history_previous @@ -463,7 +463,7 @@ Keys for command line Keys for buffers / windows ^^^^^^^^^^^^^^^^^^^^^^^^^^ -[width="100%",cols="^.^3,.^10,.^5m",options="header"] +[width="100%",cols="^.^3,.^10,.^5l",options="header"] |======================================== | Key | Description | Command | @k(C-)@k(l) | Redraw whole window | /window refresh @@ -475,23 +475,24 @@ Keys for buffers / windows | @k(A-)@k(PgDn) | Scroll down a few lines in buffer history | /window scroll_down | @k(A-)@k(Home) | Scroll to top of buffer | /window scroll_top | @k(A-)@k(End) | Scroll to bottom of buffer | /window scroll_bottom -| @k(A-)@k(←) .4+| Switch to previous buffer .4+| /buffer -1 +| @k(A-)@k(←) .4+| Switch to previous buffer .4+| /buffer -1 | @k(A-)@k(↑) | @k(C-)@k(p) | @k(F5) -| @k(A-)@k(→) .4+| Switch to next buffer .4+| /buffer +1 +| @k(A-)@k(→) .4+| Switch to next buffer .4+| /buffer +1 | @k(A-)@k(↓) | @k(C-)@k(n) | @k(F6) | @k(F7) | Switch to previous window | /window -1 | @k(F8) | Switch to next window | /window +1 -| @k(F9) | Scroll buffer's title on the left | /bar scroll title * x-50% -| @k(F10) | Scroll buffer's title on the right | /bar scroll title * x+50% -| @k(F11) | Scroll up one page in nicklist | /bar scroll nicklist * y-100% -| @k(F12) | Scroll down one page in nicklist | /bar scroll nicklist * y+100% -| @k(A-)@k(F11) | Go to the beginning of nicklist | /bar scroll nicklist * yb -| @k(A-)@k(F12) | Go to the end of nicklist | /bar scroll nicklist * ye +| @k(F9) | Scroll buffer's title on the left | /bar scroll title * -30% +| @k(F10) | Scroll buffer's title on the right | /bar scroll title * +30% +| @k(F11) | Scroll up one page in nicklist | /bar scroll nicklist * -100% +| @k(F12) | Scroll down one page in nicklist | /bar scroll nicklist * +100% +| @k(A-)@k(F11) | Go to the beginning of nicklist | /bar scroll nicklist * b +| @k(A-)@k(F12) | Go to the end of nicklist | /bar scroll nicklist * e | @k(A-)@k(a) | Switch to next buffer with activity (with priority: highlight, message, other) | /input jump_smart +| @k(A-)@k(h) | Clear hotlist (activity notification on other buffers) | /input hotlist_clear | @k(A-)@k(j) , @k(A-)@k(l) | Switch to last buffer | /input jump_last_buffer | @k(A-)@k(j) , @k(A-)@k(r) | Switch to IRC raw buffer | /server raw | @k(A-)@k(j) , @k(A-)@k(s) | Switch to IRC server buffer | /server jump @@ -509,6 +510,7 @@ Keys for buffers / windows | @k(A-)@k(z) | Zoom on current window (@k(A-)@k(z) again: restore initial windows state, before zoom) | /window zoom | @k(A-)@k(<) | Switch to previous buffer in list of visited buffers | /input jump_previously_visited_buffer | @k(A-)@k(>) | Switch to next buffer in list of visited buffers | /input jump_next_visited_buffer +| @k(A-)@k(=) | Toggle filters on/off | /filter toggle |======================================== [[key_bindings_search_context]] @@ -518,26 +520,71 @@ Keys for "search" context These keys are used in context "search" (when @k(C-)@k(r) is pressed to search text in buffer). -[width="100%",cols="^.^3,.^10,.^5m",options="header"] +[width="100%",cols="^.^3,.^10,.^5l",options="header"] |======================================== -| Key | Description | Command -| @k(C-)@k(r) | Switch exact case for search | /input search_switch_case -| @k(↑) | Search previous line | /input search_previous -| @k(↓) | Search next line | /input search_next -| @k(Enter) .3+| Stop search .3+| /input search_stop +| Key | Description | Command +| @k(C-)@k(r) | Switch exact case for search | /input search_switch_case +| @k(↑) | Search previous line | /input search_previous +| @k(↓) | Search next line | /input search_next +| @k(Enter) .3+| Stop search .3+| /input search_stop | @k(C-)@k(j) | @k(C-)@k(m) |======================================== -[[key_bindings_other]] -Other keys -^^^^^^^^^^ +[[key_bindings_cursor_context]] +Keys for "cursor" context +^^^^^^^^^^^^^^^^^^^^^^^^^ + +These keys are used in context "cursor" (free movement of cursor on screen). + +[width="100%",cols="^.^3,^.^3,.^10,.^5l",options="header"] +|======================================== +| Key | Area | Description | Command +| @k(↑) | - | Move cursor one line up | /cursor move up +| @k(↓) | - | Move cursor one line down | /cursor move down +| @k(←) | - | Move cursor one column left | /cursor move left +| @k(→) | - | Move cursor one column right | /cursor move right +| @k(A-)@k(↑) | - | Move cursor one area up | /cursor move area_up +| @k(A-)@k(↓) | - | Move cursor one area down | /cursor move area_down +| @k(A-)@k(←) | - | Move cursor one area left | /cursor move area_left +| @k(A-)@k(→) | - | Move cursor one area right | /cursor move area_right +| @k(b) | nicklist | Ban nick | /ban ${nick} +| @k(k) | nicklist | Kick nick | /kick ${nick} +| @k(K) | nicklist | Kick and ban nick | /kickban ${nick} +| @k(q) | nicklist | Open query with nick | /query ${nick};/cursor stop +| @k(w) | nicklist | Do a whois on nick | /whois ${nick} +| @k(Enter) .3+| - .3+| Stop cursor mode .3+| /cursor stop +| @k(C-)@k(j) +| @k(C-)@k(m) +|======================================== + +[[key_bindings_mouse_context]] +Keys for "mouse" context +^^^^^^^^^^^^^^^^^^^^^^^^ + +These keys are used in context "mouse", namely when a mouse event occurs. -[width="100%",cols="^.^3,.^10,.^5m",options="header"] +[width="100%",cols="^.^3,^.^3,^.^3,.^10,.^5l",options="header"] |======================================== -| Key | Description | Command -| @k(A-)@k(h) | Clear hotlist (activity notification on other buffers) | /input hotlist_clear -| @k(A-)@k(=) | Toggle filters on/off | /filter toggle +| Button | Gesture | Area | Description | Command +| ◾◽◽ | left | chat | Switch to previous buffer | /buffer +1 +| ◾◽◽ | right | chat | Switch to next buffer | /buffer +1 +| ◾◽◽ | left (long) | chat | Switch to first buffer | /buffer 1 +| ◾◽◽ | right (long) | chat | Switch to last buffer | /input jump_last_buffer +| wheel ⇑ | - | chat | Scroll up a few lines in buffer history | /window scroll_up +| wheel ⇓ | - | chat | Scroll down a few lines in buffer history | /window scroll_down +| ◾◽◽ | up | nicklist | Scroll up one page in nicklist | /bar scroll nicklist * -100% +| ◾◽◽ | down | nicklist | Scroll down one page in nicklist | /bar scroll nicklist * +100% +| ◾◽◽ | up (long) | nicklist | Go to the beginning of nicklist | /bar scroll nicklist * b +| ◾◽◽ | down (long) | nicklist | Go to the end of nicklist | /bar scroll nicklist * e +| ◾◽◽ | - | nicklist | Open query with nick | /query ${nick} +| ◽◽◾ | - | nicklist | Do a whois on nick | /whois ${nick} +| ◾◽◽ | left | nicklist | Kick nick | /kick ${nick} +| ◾◽◽ | left (long) | nicklist | Kick and ban nick | /kickban ${nick} +| ◽◽◾ | left | nicklist | Ban nick | /ban ${nick} +| wheel ⇑ | - | any bar | Scroll bar by -10% | /bar scroll ${_bar_name} * -10% +| wheel ⇓ | - | any bar | Scroll bar by +10% | /bar scroll ${_bar_name} * +10% +| ◽◾◽ | - | anywhere | Start cursor mode at this point | /cursor go ${_x},${_y} |======================================== [[command_line]] |