taskWeeChat - Tasks: task #12775, Display a "day changed"...

 
 

task #12775: Display a "day changed" notification when two messages in buffer are on different days

Submitted by:  Matt Copperwaite <yamatt>
Submitted on:  Wed 21 Aug 2013 08:23:24 AM UTC  
 
Category: displayShould Start On: Wed 21 Aug 2013 12:00:00 AM UTC
Should be Finished on: Wed 21 Aug 2013 12:00:00 AM UTCPriority: 5 - Normal
Status: DonePrivacy: Public
Percent Complete: 100%Assigned to: Sebastien Helleu <flashcode>
Originator Name: Open/Closed: Closed
Planned Release: 0.4.2IRC nick: yamatt

Add a New Comment (Rich MarkupRich Markup):
   

You are not logged in

Please log in, so followups can be emailed to you.

 

Sun 25 Aug 2013 07:53:32 AM UTC, comment #4:

Done.

So the day change is now dynamic and displayed:
- before the first line of buffer (if day of first line is different from current date)
- between two lines when day changes
- after last line (if day of last line is different from current date).

Sebastien Helleu <flashcode>
Project AdministratorIn charge of this item.
Wed 21 Aug 2013 12:01:20 PM UTC, comment #3:

Suggested display pseudo-code for display which should be ok with corner cases (any number of lines), if you want some inspiration, this is how I think it should work to display lines. Totally ignoring how display works at the moment, feel free to completely ignore:

display() {
time = now()
index = buffer.num_lines - 1
while(!window.full() && index >= 0) {
line = buffer.lines[index]
if (time - line.time() >= 1day) {
window.push_back(day_change(line.time(), time))
time = line.time()
continue;
}
window.push_back(line)
--index;
}
display window # window.line[0] is bottom of the screen
}

day_change(now, before) {
from_string = ""
if (now - before >= 2days) {
from_string = "from %t" % before.date
}
return "Day changed %s to %t" % (from_string, now.date)
}

Peter Boström <pbos>
Project Member
Wed 21 Aug 2013 09:55:49 AM UTC, comment #2:

I +1 for all the ideas here.

If the message is displayed only when the buffer is displayed (and then not stored as a line in the buffer), then the filters are not a problem. WeeChat should just check if the date between two messages displayed (ie non filtered) is different and displays "Day changed to XXX" with the date of the second message.

And by the way with such feature, the code in logger plugin to display similar message in backlog can be removed too, since it will be automatic.

Sebastien Helleu <flashcode>
Project AdministratorIn charge of this item.
Wed 21 Aug 2013 09:43:00 AM UTC, comment #1:

I'd like this as well. To expand: I have some very inactive buffers, such as highmon, and channels when using smart-filter that have several day-changed messages in a row. It would be very nice to have these contracted to "Day changed from Fri, 16 Aug 2013 to Mon, 19 Aug 2013" between messages, when they're more than one day in between.

I'd still like a "day changed" at the bottom of the screen though, if the day has changed , to display that the last message might also be far away in time, even if there's no following message.

With these changes in place, per-window, multiple day-changed messages in the merged-servers window shouldn't have to be necessary, only that there's one "Day changed" that doesn't belong to any server, but rather the window displaying them.

They would have to update when enabling/disabling filters though, so I'm not sure how this ties in with existing code.

Peter Boström <pbos>
Project Member
Wed 21 Aug 2013 08:23:24 AM UTC, original submission:

Following on from bug: https://savannah.nongnu.org/bugs/index.php?39826

To expand on the idea; it would be advisable to display a "day changed" notification between two messages displayed in a window when the date has changed. This is to signify that the messages may not be close to each other.

Matt Copperwaite <yamatt>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by flashcode (Posted a comment)
  • -unavailable- added by pbos (Posted a comment)
  • -unavailable- added by yamatt (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 5 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Sun 06 Oct 2013 07:45:57 AM UTCflashcodeOpen/ClosedOpen=>Closed
    Sun 25 Aug 2013 07:53:32 AM UTCflashcodeStatusNone=>Done
      Percent Complete0%=>100%
      Assigned toNone=>flashcode
      Planned ReleaseNone=>0.4.2

    Back to the top


    Powered by Savane 3.1-cleanup