summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
|
* Drain the events channel when closingdelthas2022-02-261-0/+5
| | | | | This avoids rare cases where we try to send messages to the event channel, but it is full and blocks the Close routine.
* Use delthas/tcell forkdelthas2022-02-232-10/+11
| | | | | This adds support for OSC 8 hyperlink on some VTE-based terminal emulators.
* Optimize URL parsing performancedelthas2022-02-181-0/+5
| | | | | | | | | According to a CPU profiling I meade, the regex applied on each incoming message took a substantial part of the CPU time. The slowdown it caused was noticable at startup. This optimizes the URL parsing by eliminating fast-path cases where no dot appears to avoid parsing the line with a regex in those cases.
* Add support for the ALL_PROXY, NO_PROXY environment variablesdelthas2022-02-183-5/+15
| | | | | | | | | | | | This adds support for SOCKS5 proxy support through standard environement variables. To connect to the SOCKS5 proxy at host:port with credentials user:pass, run: export ALL_PROXY=socks5://user:pass@host:port Co-authored-by: the-y <the-y@riseup.net>
* Fix segfault on /mode xJeff Knapp2022-02-181-1/+10
| | | | | Return an error instead of segfaulting when handling /mode x where x is a string that starts without + - or #
* Enable clicking on channel members to open a query with themdelthas2022-02-132-8/+48
|
* Make CTRL+C alternatively clear the input and set '/quit' in itdelthas2022-02-133-0/+19
|
* /query: only send MONITOR, ... if the buffer is newdelthas2022-02-131-4/+6
|
* /query: support optionally sending a messagedelthas2022-02-111-27/+36
|
* Fix event collapsingdelthas2022-02-112-73/+93
|
* Add support for the soju.im/read capability and READ commanddelthas2022-02-116-0/+93
| | | | See: https://github.com/emersion/soju/blob/c7f0634ec8ee94425547b159bc36705582151012/doc/read.md
* Rename ColorGrey to ColorGray for consistencyHugo Machet2022-02-102-3/+3
|
* ui: add commands completionKalyan Sriram2022-02-102-0/+31
|
* ui: buffers: sort buffer listKalyan Sriram2022-02-101-24/+31
| | | | | Implements sorting of both network names and buffer names inside networks.
* MONITOR user with whom we have an open bufferdelthas2022-02-107-16/+145
|
* docs: update Ctrl-C behaviourJonathan Halmen2021-12-141-1/+1
| | | | | this behaviour was changed back in c078fbbb029fd248756ea5d7726f9ae6090a4ee3
* ui: use reverse colors for current buffer instead of underlineSimon Ser2021-12-121-5/+3
| | | | I personally find this esthetically more pleasing.