summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Make the last opened channel visible in the horizontal listdelthas2022-09-142-1/+6
| | | | | | | | When starting senpai, we jump to the last opened buffer. Offset the horizontal target list to make the buffer visible, as if scrolled to with CTRL+N. Fixes: https://todo.sr.ht/~taiite/senpai/100
* Use WHOX rather than WHO when availabledelthas2022-09-022-5/+25
| | | | | This will reduce network usage and possibly increase WHO cache hit ratio on bouncers supporting a WHO cache.
* Always show the date of the top messagedelthas2022-08-281-15/+20
| | | | | | Even if it is a continuation line. Fixes: https://todo.sr.ht/~taiite/senpai/98
* Highlight only on word boundariesdelthas2022-08-191-2/+29
| | | | | | | | | | | | | | | | | | | Preivously, we highlighted the user for any message that contained the nick, even in the middle of a word. Now, we only send a highlight if the user was mentioned in a single word, by detecting word boundaries around the mention of the user. For example, considering user "foo": Previously, we would highlight on "foo" and "foolish". Now, we highlight only on "foo". This was inspired/copied from soju's handling [1]. [1]: https://git.sr.ht/~emersion/soju/tree/5e56cc30c538eb88c21cce732e2e357e80098164/item/irc.go#L473 Fixes: https://todo.sr.ht/~taiite/senpai/97
* Show the message date instead of its time on date changedelthas2022-08-162-1/+25
| | | | Fixes: https://todo.sr.ht/~taiite/senpai/17
* Mention /help rather than mandelthas2022-08-151-1/+1
| | | | | | | Using man to learn more about senpai is obvious. Using /help is more specific to senpai. Mention that rather than the man.
* Revert to using base colors by default, making extended configurabledelthas2022-08-155-41/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In a previous commit, the color scheme for displaying nicks was changed to use more colors (30 rather than 14), using extended colors from the 256 colors set. The issue with this is that most terminal emulators customize the colors of the first 16 colors to make them more readable (eg, a terminal emulator with a light theme will make colors darker, and one with a dark theme will make colors lighter). So the 14 colors used before were usually not the default color codes from the original xterm/X11 spec, but specific colors chosen by the terminal emulator to be particularly readable. In a way, changing the behavior to use colors from the 256 colors set, which is usually not overriden, made them much less readable. Which is why we need a configuration option for this. I conversatively chose to make the default color scheme the previous one, with only the base 16 colors. The 256 colors scheme can be enable by adding to the configuration file: colors { nicks extended }
* Add a project descriptiondelthas2022-08-101-1/+3
| | | | This will help maintainers create their package.
* Update maintainerdelthas2022-08-101-2/+3
|
* Color nicks in the member list the same as in the timelinedelthas2022-08-104-19/+59
| | | | | | | | Also, change the color scheme to use more colors. Now 30 instead of 15, and with the consistent color codes offered by the extended XTerm 256 color scheme. Fixes: https://todo.sr.ht/~taiite/senpai/90
* Add support for soju.im/bouncer-networks-notifydelthas2022-08-105-19/+89
| | | | | | This enables dynamic discovery of new and deleted networks. Fixes: https://todo.sr.ht/~taiite/senpai/71
* Document selecting with shiftdelthas2022-08-101-0/+6
| | | | Fixes: https://todo.sr.ht/~taiite/senpai/91
* Hide automatic away repliesdelthas2022-08-051-0/+2
| | | | | We don't care about them since we display the user away status using MONITOR.
* Add a config option to beep on highlightKirill Chibisov2022-08-014-1/+24
| | | | | This will allow to bring user attention when you are getting highlighted.
* Add support for hex colorsdelthas2022-07-251-2/+43
|
* Add pane-widths { text } to limit the max line widthdelthas2022-07-255-8/+36
| | | | Fixes: https://todo.sr.ht/~taiite/senpai/87
* Fix crashing when shrinking the text to a zero widthdelthas2022-07-221-0/+3
| | | | | | Thanks steamyalt for the bug report. Fixes: https://todo.sr.ht/~taiite/senpai/86
* Scroll to the channel when changing the horizontal channelNomeji2022-07-223-16/+50
| | | | | | | | | | | | | Previously, when running CTRL+N or CTRL+P to go to the next or previous channel, with the horizontal channel mode, the selected channel could appear offscreen. This patch ensures that we scroll just enough to make the newly selected chan visible. Thanks to Nomeji for his hard work on this. Adapted slightly to refactor existing code to use the newly created width computation routine.
* Fix dropping words in /msg, /query, /partdelthas2022-07-201-4/+1
| | | | Inspired by a patch from gildarts <gildarts@orbital.rocks>
* Update soju.im/read to draft/read-markerdelthas2022-07-091-6/+6
| | | | You'll need a recent soju version to use this.
* Implement /whoisdelthas2022-07-062-0/+31
|
* Reset history when flushing linesdelthas2022-06-041-20/+39
| | | | | | | | | | | Previously, when modifying a line in the history (and then possibly sending it), the history was modified, meaning that when looking up history lines again, instead of seeing a new line, the actual original line had been modified. With this patch, history is always kepy, and modifying a previous line and sending it will add this line to the history, and restore the previous history, after flushing the message.
* Fix crashing on removing last char of backsearch patterndelthas2022-06-041-1/+1
| | | | | | | | | | | | | | To reproduce: - Enter a message - Enter a substring of that message, backsearch it - Press backspace until the substring is cleared - senpai crashes This merely fixes the crash. We could do backsearch better in the future but that's a whole feature overhaul to be done in its own patch. Thanks to paren@disroot.org for helping me find the issue by sending a panic trace :)
* /mode: enable getting the channel modes without parametersdelthas2022-05-102-21/+23
|
* Fix horizontal channel buffer clicks on negative positionsdelthas2022-05-101-1/+1
|
* Fix horizontal channel list buffer underline positiondelthas2022-05-101-0/+1
|
* Enable specifying the size of disabled channel & member columnsdelthas2022-04-292-2/+12
|
* make install an independant task in MakefileNomeji2022-04-291-1/+1
|
* update man to reflect changes on pane-widths behaviourNomeji2022-04-291-5/+5
|
* Support +channel-contextdelthas2022-04-281-0/+5
| | | | See: https://github.com/ircv3/ircv3-specifications/pull/498
* Handle IRC read events correctlyptrcnull2022-04-271-1/+1
| | | | | It should mark the buffer as read if the last message was before or at the "read" event, not after.
* Show error when searching if unsupportedGalen Abell2022-04-231-0/+3
| | | | | It's confusing to search for something and have no results show if the server doesn't support the soju.im/search capability.
* Use time.Parse for parsing incoming server timesdelthas2022-04-201-8/+5
| | | | | Following a pprof profiling, using fmt.Scanf was slow. time.Parse is faster and more readable.
* Send SASL PLAIN authentication on connectdelthas2022-04-201-7/+29
| | | | | This saves one round trip by letting us send BOUNCER LISTNETWORKS right away and speeds up startup time.
* Fetch the chat history of the last opened buffer firstdelthas2022-04-201-8/+23
| | | | This will slightly speed up startup time.
* Defer parsing URLs until a buffer is opened at least oncedelthas2022-04-201-2/+11
| | | | | | This heavily reduces CPU load on start, so that we only parse the links of the current buffer hundreds of messages, rather than all of the hundreds of messages * count of buffers.
* Fix default highlight command path not being usedGalen Abell2022-04-201-3/+3
|
* Add a config option for unread buffer text colorTim Culverhouse2022-04-205-20/+37
| | | | | | | This patch adds the ability to set a config option for changing the foreground text color of unread buffers (This was refactored slightly by delthas.)
* Update mailing listdelthas2022-04-201-1/+1
|
* Enable clicking on a horizontal buffer to switch to itdelthas2022-04-203-0/+33
| | | | | | | This is inspired by a patch from mooff. This keeps the same click & drag behavior as for the vertical channel list.
* Scroll horizontal channel list with the mouse wheeldelthas2022-04-203-7/+26
| | | | | | This is inspired by a patch by mooff. The horizontal channel list can now be scrolled with the mouse wheel.
* Show/hide the channel & member list with F7/F8delthas2022-04-204-60/+123
| | | | | | | This patch is inspired and modified from a patch by mooff. Also this switches the default configuration to *display* the channel & member list by default.
* Delete word on Alt+Backspacedelthas2022-04-151-1/+6
| | | | This is a standard shortcut.
* Fix home buffer tooltipdelthas2022-04-152-3/+3
| | | | | Private messages are now sent to their own buffer, rather than in the home buffer.
* Optimize URL regexdelthas2022-04-151-1/+1
| | | | | | | | | | Following a quick local profiling & benchmark, matching links with regexes is by far (>50x) the most time-consuming processing we do, especially on start. Switching to a URL regex with any scheme is faster by a factor of ~x8, probably because there are many less "or" cases between a list of 100+ schemes, instead using a simple character class.
* Batch events by time period rather than by fixed sizedelthas2022-04-151-19/+27
| | | | | | | | | | Previously, we would render every 64 events (at most). Now that we have many more events, with history & read, batch events by period rather than static size. Waiting up to 200ms before refreshing is a good compromise between responsiveness and performance.
* Only send READ for messages received from a channeldelthas2022-04-152-4/+20
| | | | i.e. don't enter an infinite loop when printing disconnection errors :-)
* Implement SEARCHdelthas2022-04-128-39/+167
| | | | | | Also refactor ui/ to support overlays, temporary anonmyous buffers. See: https://github.com/emersion/soju/pull/39
* Add a 15s keepalive to connectionsdelthas2022-04-081-0/+5
| | | | | My DSL line is awful atm, I'd like to know ASAP when I'm disconnected so that I don't write paragraphs into the void.
* Add HTTPS schema by default to hyperlinksdelthas2022-03-291-0/+4
|