1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-25 04:16:38 +02:00
Commit Graph

262 Commits

Author SHA1 Message Date
Sébastien Helleu 422958337b core: fix bar item "scroll" after /buffer clear (closes #448) 2015-06-22 20:09:52 +02:00
Sébastien Helleu a020c28ea6 core: update copyright dates 2015-01-01 09:23:23 +01:00
Sébastien Helleu c1aa51fa9c core: fix crash on buffer close when option weechat.look.hotlist_remove is set to "merged" (closes #199) 2014-09-24 21:45:01 +02:00
Sébastien Helleu 02eed97d97 relay: fix crash when closing relay buffers (closes #57, closes #78)
A flag "closing" has been added in buffers. It is set to 1 when the buffer
is closing, and then no more printf is allowed in the buffer (a message
printed on relay buffer was causing a crash when it is closed).
2014-05-24 18:57:29 +02:00
Sébastien Helleu 7aaf3be15b api: add argument "flags" in function hdata_new_list 2014-05-24 18:03:14 +02:00
Sébastien Helleu 55d77ed216 core: add option -all for command /buffer hide|unhide 2014-04-05 18:43:11 +02:00
Sébastien Helleu c7ce05d5ec core: add hidden buffers, add options hide/unhide in command /buffer 2014-04-05 16:30:13 +02:00
Sébastien Helleu c4c6d2cddc core: add "hotlist" in completion of command "/buffer set" 2014-04-03 14:34:01 +02:00
Sébastien Helleu 55e43e15f8 api: allow value "-1" for property "hotlist" in function buffer_set (to remove a buffer from hotlist) 2014-04-03 13:53:18 +02:00
Sébastien Helleu a03232e155 core: add default key alt-'-' to toggle filters in current buffer (closes #17) 2014-04-01 16:00:44 +02:00
Sébastien Helleu 0e561104fa core: add non-active merged buffers with activity in hotlist (if another merged buffer is zoomed) (task #12845)
There was a bug with "num_displayed" in buffers when they are merged and
that one buffer is zoomed: now the num_displayed is > 0 for the active buffer,
and it is set to 0 for all merged non-active buffers (only in case of zoom).

A variable "zoomed" has been added in buffers to know if a buffer with this
number is zoomed or not (possibly another buffer).
2014-03-31 10:31:56 +02:00
Sebastien Helleu 92ec36eced core: add buffer property "clear" 2014-03-25 10:55:12 +01:00
Sebastien Helleu 9c838d2628 api: add support of case insensitive search and search by buffer full name in function buffer_search (bug #34318) 2014-03-11 15:07:36 +01:00
Sebastien Helleu 437767c0ca api: add integer return code for functions hook_{signal|hsignal}_send 2014-02-10 17:42:53 +01:00
Sebastien Helleu 43fb54f51d core: fix apply of layout when buffers that are not in layout are before some buffers in layout
Now when a layout is applied, the buffers in layout are inserted/sorted
first in the new list. Then the other buffers (not in layout) are added
after this loop, and then they are added after all layout buffers.
2014-02-07 17:07:45 +01:00
Sebastien Helleu 0ffb61617a core: fix hotlist problems after apply of a layout (bug #41481)
This commit fixes a problem when computing the value of "num_displayed"
in all buffers. For merged buffers (with same number), the num_displayed
of each merged buffer must be incremented (and not only the current
active buffer).
2014-02-06 15:17:00 +01:00
Sebastien Helleu 892aa79fb5 core: update copyright dates 2014-01-01 00:14:12 +01:00
Sebastien Helleu d364298d75 core: fix unneeded shift of buffer numbers when a buffer with layout is created and merged 2013-12-31 23:58:55 +01:00
Sebastien Helleu d52d214448 core: add buffer property "highlight_tags_restrict", rename option irc.look.highlight_tags to irc.look.highlight_tags_restrict
The buffer property "highlight_tags" is renamed to "highlight_tags_restrict".
New behavior for buffer property "highlight_tags": force highlight on tags.
Option irc.look.highlight_tags is renamed to irc.look.highlight_tags_restrict.
2013-12-15 13:45:40 +01:00
Sebastien Helleu 811b68991e core: add logical "and" between tags in filters, weechat.look.highlight_tags and buffer property "highlight_tags"
The logical "and" is made with the separator "+".

Example: "irc_notice+nick_toto,nick_test"
will match a notice from nick "toto" or any message from nick "test".
2013-12-14 11:26:03 +01:00
Sebastien Helleu 58f1403414 Merge branch 'buffer-auto-renumber' 2013-12-11 18:54:06 +01:00
Sebastien Helleu 0eb77db79f core: add signal "buffer_cleared" 2013-12-08 09:41:59 +01:00
Sebastien Helleu c82633e9e4 core: use first gap for new buffer only if the buffer has no layout number 2013-12-07 12:45:40 +01:00
Sebastien Helleu 4520b0f7ae core: add option weechat.look.buffer_position
The value of option can be:
- "end": buffer is added after the end of list (number = last number + 1)
- "first_gap": buffer is added at first number available in the list
  (after the end of list if no number is available)
2013-12-07 10:44:08 +01:00
Sebastien Helleu 1d7466032d core: add buffer property "day_change" to hide messages for the day change in specific buffers 2013-12-04 09:38:57 +01:00
Sebastien Helleu 9a160509d7 core: fix random crash when closing a buffer
The problem happened because we used a pointer to a
"struct t_gui_buffer_visited" for the switch to another buffer,
when the buffer is closed. This is executed in all windows displaying
the buffer, but on each switch to buffer, the visited buffers are
updated and therefore the address can change. The pointer becomes
invalid, and WeeChat still uses it on next windows for the buffer
switch.

It happened rarely because the visited buffer is freed and allocated
immediately after, so the address is often the same in memory.

Thanks to silverd for the tests on OS X to track the problem.
2013-12-01 08:37:22 +01:00
Sebastien Helleu 92d6074931 core: add limits for buffers (max 10000 buffers opened, number of a buffer: between 1 and INT_MAX - 10000) 2013-11-30 18:45:19 +01:00
Sebastien Helleu 3e90657ab0 core: fix crash when moving buffer with only one buffer (core buffer) 2013-11-30 17:34:25 +01:00
Sebastien Helleu 4c59f2bf5e core: add variable "gui_buffers_count", use it in bar item "buffer_count"
Now the bar item "buffer_count" displays the number of opened buffers
(each merged buffer counts 1).
2013-11-30 15:11:17 +01:00
Sebastien Helleu a496db78aa core: add option weechat.look.buffer_auto_renumber
New option: weechat.look.buffer_auto_renumber, boolean which is on by
default, so the behavior is the same: no gap is allowed in numbers,
they start at number 1 and they are auto-renumbered after each command
like /buffer move, /buffer merge, ...

A new option "renumber" has been added in command /buffer, to renumber
a range of buffers (or all).

Changes when the option weechat.look.buffer_auto_renumber is off:

- command "/buffer move":
    - the current number will be left free for use, and the
      target number can be any number >= 1 (possibly higher than the
      current last buffer number)
    - the value can be "-" (which moves the buffer to number 1)
      or "+" (which moves the buffer to the end, ie last number + 1)

- command "/buffer swap":
    - now the buffers are swapped in the list without being "moved"

- comand "/buffer [+/-]N":
    - it is now working with gaps in buffer numbers

- command "/buffer merge":
    - it can now merge a group of merged buffers into another buffer
      (or buffers merged themselves)

- layout can restore buffer numbers with gaps in numbers
2013-11-30 10:39:38 +01:00
Sebastien Helleu 7e14c60f4d core: revert check of layout when switching to a buffer using value "auto" in buffer_set
This reverts commits 14cf7bd20f and
262dff4b87.

The initial fix was for a problem with irc autojoin and layout: the
current window has not appropriate buffer (as defined in layout) if it
is not the latest channel in "autojoin" option.

So the way to fix this problem is to set the value of option
irc.look.buffer_switch_autojoin to off.
2013-11-28 19:59:36 +01:00
Sebastien Helleu 14cf7bd20f core: fix auto-apply of window layout in current window when option irc.look.buffer_switch_autojoin is on 2013-10-27 11:07:33 +01:00
Sebastien Helleu 600ee3ddf3 core: add search of regular expression in buffer, don't reset search type on a new search, select where to search (messages/prefixes)
Key changed in search context:
- ctrl+"r": switch search type: string/regex

New keys in search context:
- alt+"c": case (in)sensitive search
- tab: search in messages/prefixes/both
2013-08-17 11:51:50 +02:00
Sebastien Helleu 6714d6fc82 core: optimize the removal of lines in buffers (a lot faster to clear/close buffers with lot of lines)
The update of variables "buffer_max_length" and "prefix_max_length" in struct
t_gui_lines is now delayed and made during the main refresh (in main loop).

For a buffer with 50K lines, it is up to 3300 times faster to clear/close it.
For a buffer with 4096 lines (default limit), it is up to 120 times faster.
2013-08-10 17:18:12 +02:00
Sebastien Helleu c95f3d84d0 api: add property "completion_freeze" for function buffer_set: do not stop completion when command line is updated 2013-04-18 20:24:35 +02:00
Sebastien Helleu 3e1d811761 core: fix refresh of item "completion" (bug #38214) (patch from Nils Görs)
The item is now cleared after any action that is changing content of command
line and after switch of buffer.
2013-03-17 19:44:39 +01:00
Sebastien Helleu 149c77decd core: fix typos in many comments and some strings 2013-03-17 12:55:20 +01:00
Sebastien Helleu 30e6acb00d core: add support of multiple layouts (task #11274) 2013-03-17 08:28:41 +01:00
Sebastien Helleu 8b925baa3c core: add count for groups, nicks, and total in nicklist 2013-03-03 11:30:58 +01:00
Sebastien Helleu d4b1b50311 core: fix structures before buffer data when a buffer is closed
This was causing a bug in relay plugin (weechat protocol): when a buffer was
closed, local variables were removed after buffer name, and when signal is sent
to client, the buffer name was wrong (already freed).
2013-02-07 22:11:25 +01:00
Sebastien Helleu 25eaec3864 core: use size of 32 for hashtables (instead of 4, 8 or 16)
A size of 32 will use a little more memory but will reduce collisions in key
hashs, and then length of linked lists inside hash structure (faster search in
hashtable).
2013-01-26 19:26:43 +01:00
Sebastien Helleu f97598b4aa core: update copyright dates 2013-01-01 13:12:49 +01:00
Sebastien Helleu 7eb5cc4b97 core: move comments with description of C file to top of files 2012-12-15 12:27:57 +01:00
Sebastien Helleu 7d34812f1c core: reformat comments for functions 2012-12-13 18:51:44 +01:00
Sebastien Helleu 641de51bdb api: allow creation of structure with hdata_update (allowed for hdata "history") 2012-12-08 23:54:07 +01:00
Sebastien Helleu 93d3198b70 core: fix display of zoomed/merged buffer (with number >= 2) after switching to it (bug #37593) 2012-10-18 10:25:34 +02:00
Sebastien Helleu e1a54d49eb core: add default key alt+"x" (zoom on merged buffer) (task #11029) 2012-08-30 10:46:42 +02:00
Sebastien Helleu df80aa5fc9 api: allow update for some variables of hdata, add new functions hdata_update and hdata_set 2012-08-27 09:47:46 +02:00
Nils Görs ee74131f69 core: add option "swap" for command /buffer (task #11373) 2012-07-29 20:08:52 +02:00
Sebastien Helleu eab0110732 core: add support of arrays in hdata variables 2012-07-20 18:12:07 +02:00