| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Resets on successful connection.
|
|
|
|
| |
Also hide MOTD start and end messages.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, we did not clear buffers highlight statuses on MARKREAD if
there was any unread line after it.
This meant that if we received a plain message, than a join message, and
some other device sent us a read marker for the plain message, we would
still highlight the buffer. But we should not: a join message should not
highlight the buffer.
This is a recurrent use case because some clients do not display join
mesasges and therefore do not send read markers for it.
This updates the logic to actually store the notify level (in the line)
and uses it to reset the highlight status when only NotifyNone messages
(or no messages) are left.
|
| |
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
}
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
This enables dynamic discovery of new and deleted networks.
Fixes: https://todo.sr.ht/~taiite/senpai/71
|
|
|
|
|
| |
This will allow to bring user attention when you are getting
highlighted.
|
|
|
|
| |
Fixes: https://todo.sr.ht/~taiite/senpai/87
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
This will slightly speed up startup time.
|
| |
|
|
|
|
|
|
|
| |
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.)
|
|
|
|
|
|
|
| |
This is inspired by a patch from mooff.
This keeps the same click & drag behavior as for the vertical channel
list.
|
|
|
|
|
|
| |
This is inspired by a patch by mooff.
The horizontal channel list can now be scrolled with the mouse wheel.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
This is a standard shortcut.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
i.e. don't enter an infinite loop when printing disconnection errors :-)
|
|
|
|
|
|
| |
Also refactor ui/ to support overlays, temporary anonmyous buffers.
See: https://github.com/emersion/soju/pull/39
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
This avoids rare cases where we try to send messages to the event
channel, but it is full and blocks the Close routine.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
| |
|
| |
|
|
|
|
| |
See: https://github.com/emersion/soju/blob/c7f0634ec8ee94425547b159bc36705582151012/doc/read.md
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
So that 1/ redundant events are removed even if people change nick in
the mean time and 2/ events that are actually not redundant are not
removed, e.g.
+val val->jw +dan dan->val -val
should be reduced to
+val val->jw
instead of
val->jw +dan dan->val
|
| |
|
|
|
|
|
|
| |
Initial history request: 200 -> 500
Infinite scroll request: 100 -> 200
Reconnect request: 200 -> 1000
|
| |
|
| |
|
|
|
|
|
| |
Should solve duplicates on servers that don't store message stamps with
the full millisecond precision offered by the time tag (e.g. soju)
|
| |
|
|
|
|
|
| |
Also, fix an issue where mode strings only displayed the first
parameter.
|
|
|
|
|
|
|
|
|
|
| |
- Refactor formatting lines into a function
- Store event times in the event
- Refactor merging lines into a function
- Always merge lines from the history, now that we will add mergeable
lines with CHATHISTORY
Successfully tested locally.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch replaces the YAML configuration format with scfg
(https://git.sr.ht/~emersion/scfg).
Additionally, a few things about configuration are cleaned up:
* abbreviated names are expanded (addr -> address, nick -> nickname)
* negative bools switched to positive (no-tls -> tls)
* independent column widths are grouped under the "pane-width"
directive
* implementation of default configuration values is improved
* password-cmd is executed directly (with scfg field parsing)
instead of with "sh -c".
* on-highlight is now a file, $XDG_CONFIG_HOME/senpai/highlight by
default, which can be changed with the on-highlight-path directive
|
| |
|
|
|
|
|
| |
This is namely useful when the terminal is closing: these events are
sent, and we should close when that happens (instead of panicking).
|
| |
|
|
|
|
|
| |
If there are multiple channels with the same name in several networks,
we should part from the one from the correct network.
|
| |
|