Commit Graph

44 Commits

Author SHA1 Message Date
Jeremy Mahieu 60f834882a Remove nicklist when weechat clears it and bring is back if it's filled again 2019-12-12 00:39:17 +01:00
Michael Hazell 93d02c9bcc
Fix highlights in notify_private buffers with notify level is 0 2019-11-28 04:24:13 -05:00
Lorenz Hübschle-Schneider 41bea6ec7e
Merge pull request #1020 from lorenzhs/server-buffer-registry
Keep track of unread counts for servers' buffers for 'show only unread' view
2018-10-27 15:50:33 +02:00
Daniel Kessler e5e81ea177 add semicolon 2018-10-05 00:18:52 -07:00
Daniel Kessler 71252fb4d5 Handle buffer_moved 2018-10-04 23:50:09 -07:00
Lorenz Hübschle-Schneider 263c5e8b00 Keep track of unread counts for servers' buffers for 'show only unread' view
Maintain unread info for all buffers belonging to a server.  This info
is used to hide server buffers for which *no* associated buffer has
activity when 'Only show buffers with unread messages' is enabled.

Closes #1019
2018-09-10 10:01:57 +02:00
Tor Hveem 65b4aaa97d Ability to pin buffers. Fixes #778.
This introduces ability to pin buffers using localvar storage in
WeeChat. At a later stage some UI should be introduced for this, like
discussed in #604 .
2016-09-27 15:49:22 +02:00
Jake Stevenson bc72e8952c Able to resume buffer 2016-09-06 16:35:16 -05:00
Tor Hveem e903acfb0d
Fix notification count update 2016-08-11 14:09:09 +02:00
Tor Hveem f4257c35c3
handlers: check for active buffer
Check for active buffer before syncing unreads from WeeChat
2016-07-30 14:10:02 +02:00
Tor Hveem a527428763
Periodic hotlist sync. Fixes #692
There is a bug in WeeChat when hdata is null, which happens when the
hotlist is empty (meaning all buffers are read). Our websocket callback
machinery expects every command with id to return data, so this code in
current versions of WeeChat will lead to a slow leak. But I think lots
of things in our code will do this already so I'm not entirely sure it's
too problematic to let this patch go by.

We could use infolists instead of hdata, but that is cumbersome to parse
and less performant for WeeChat, and sends more data over the wire.

I propose we make a separate attempt at cleaning up the callbacks. Since
we store time on them we could have a cleanuptask that looks through
them and deletes old callbacks. Maybe @dcormier could have a look?
2016-07-29 14:12:46 +02:00
Patrick Melanson a06f567770 #705 date change msg now moves read marker only if accompanying msg would 2016-01-09 00:39:33 -05:00
Patrick Melanson 19c408ba13 #705 bugfix datechange injected under read marker
after #708 was merged, if a date change message is
injected underneath the read marker the read
marker would be one line too low. Now, the read
marker will adjust properly when a date change
message is injected above and below the read
marker.

thanks lorenzhs for spotting that
2016-01-07 18:09:26 -05:00
Patrick Melanson b719354a07 #700 detect locale formatting support on load 2016-01-06 15:43:05 -05:00
Patrick Melanson 48cc2356a6 Fixed a circular ref in date change messages
line.buffer was the actual buffer object, which contains the injected
date
change message itself. Made this just a buffer id.
2016-01-04 19:58:32 -05:00
Lorenz Hübschle-Schneider 8b045049ce Merge pull request #710 from glowing-bear/weechatconf
fetch weechat configuration variables
2015-12-18 10:05:19 +01:00
Tor Hveem c9dbdc39e4 fetch weechat configuration variables
Usage: fetchConfValue('weechat.look.buffer_time_format')
will result in models.wconfig['weechat.look.buffer_time_format'] to be
set when the result returns from WeeChat.

Could maybe be extended to also call a callback when it's available if
needed.
2015-12-17 17:46:43 +01:00
Patrick Melanson 86f6a37702 semicolons :'( :'( :'( fixes failing build 2015-12-17 10:57:21 -05:00
Patrick Melanson e3f2a160b9 #700 increment buffer.lastSeen on date change message 2015-12-17 10:47:48 -05:00
Lorenz Hübschle-Schneider ceceac78a2 Use buffer localvars instead of regex hackery
Fixes #589
2015-12-06 13:53:57 +01:00
Lorenz Hübschle-Schneider 507a39f68f Don't show date change message for free buffers
This requires requesting the buffer type and handling the
apropriate event
2015-11-28 20:59:00 +01:00
Lorenz Hübschle-Schneider 735798831f Date change marker: Don't modify last line's date 2015-11-28 20:56:19 +01:00
Lorenz Hübschle-Schneider da7a7f85e8 Date change: refactoring 2015-11-28 13:23:41 +01:00
Patrick Melanson 9334f44cde more human readable date change, per #679
For one day later: Friday (November 27) (examples in en-US)
For n>1 days: Friday (November 27, 2 days later)
For n<0 days: Friday (November 27, 1 day before)
For different years: Friday (November 27, 2015, 2156 days later)
2015-11-27 15:13:26 -05:00
Patrick Melanson 271a5d0626 when switching buffers, will inject date change if date changed 2015-11-27 15:13:01 -05:00
Lorenz Hübschle-Schneider 5dc40cb134 Date change: prettier messages, code cleaning
Has a weird bug:
https://github.com/glowing-bear/glowing-bear/pull/677#issuecomment-158891237
2015-11-23 10:59:00 +01:00
Patrick Melanson 9955056ed9 dates change with weechat 2date behaviour 2015-11-22 21:02:10 -05:00
Patrick Melanson 0a1726e359 date change messages are chat_day_change color, multiple messages generated for diff of 1-5 days 2015-11-20 18:31:55 -05:00
Lorenz Hübschle-Schneider b883a52b09 Date change message prototype 2015-11-15 21:50:29 +01:00
Tor Hveem cf771eb73f Merge pull request #620 from glowing-bear/noswitch
Use -noswitch option to open buffers
2015-09-17 09:05:35 +02:00
Angus Gibson 117d9991ec Handle hidden weechat buffers
This adds a new 'hidden' field to the Buffer model, which stays in sync
with weechat's notion of hidden buffers.
2015-07-10 13:52:12 +10:00
Lorenz Hübschle-Schneider 8c965e0b90 Store WeeChat version is an array of numbers 2015-06-10 10:04:10 +02:00
Tor Hveem ec877ab224 Switch to buffer after issuing /query. Fixes #318
Save outgoing /query nicks to a list and then check that list when we
get a buffer title rename and then switch to the buffer if the name
matches any nick in the outgoing list. Reason to use title event instead
of buffer opened event is that buffer open event doesn't contain the
short name. That would require parsing and guessing full names and in
general be more complicated (but maybe more correct)

This patch can be further improved in the future to check for existing
buffers and switch to them if they already exist.
2015-04-23 10:47:16 +02:00
Tor Hveem feaf76f1ea move hotlistclear into connection
Also some clean up stray debug
2015-03-23 13:33:16 +01:00
Tor Hveem c71ce1b404 Use new command for "syncing" hotlist.
This patch also implements parsing version message and using that to
check that the WeeChat is new enough to use the new command.
2015-03-21 14:08:09 +01:00
Tor Hveem ca5542e46d Handle signal _buffer_localvar_changed
Our parser already supports this message, we just were not hooking the
signal up with the parser.
2015-03-14 21:16:45 +01:00
Lorenz Hübschle-Schneider 849da1b5a2 Implement reconnecting upon connection loss
TODO: test in various conditions
2015-02-17 09:42:48 +01:00
Lorenz Hübschle-Schneider 1d4caa91cd Parse colours in buffer title
Requires a WeeChat version including 013165209a
i.e., WeeChat 1.1 or a November 2014 nightly (or later)
(for previous versions, see https://github.com/weechat/weechat/issues/237)

Fixes #308
2015-01-03 18:18:20 +01:00
Lorenz Hübschle-Schneider d783d0e91b Fix display of buffers without a short_name 2014-11-20 21:18:18 +01:00
Lorenz Hübschle-Schneider 9b7a778186 Fix non-#channels and single-symbol channels (#) 2014-11-20 12:59:33 +01:00
David Cormier 933af6a983 Merge pull request #420 from glowing-bear/use-strict
[PLS TEST] Use strict
2014-09-17 09:44:32 -04:00
Lorenz Hübschle-Schneider 2475ad2c61 Bufferlist design attempt 2014-09-17 13:24:27 +02:00
Lorenz Hübschle-Schneider a80db339f8 Use strict
Requires turning IrcUtils into an Angular service, because the global variable
trick won't work with use strict.
Reuse is still easily possible by removing the angular wrapping around it.
2014-09-07 16:55:18 +01:00
Lorenz Hübschle-Schneider 21f8f47efe Split things up into logical blocks 2014-08-31 15:57:36 +01:00