A terminal IRC client
/switch
command added to quickly switch to a different tab using a substring of the tab name.Del
key is now handled. It deletes character under the cursor.alt-char
bindings implemented to switching between tabs.join
command used in auto_cmds
(#49, #38).alt-left/right
keys (#52).TOPIC
messages are now handled (#58).RPL_AWAY
is now handled (#55). Away message is shown in user tab./ignore
command added to ignore join/quit
messages in channels.pass
added for connecting to password-protected servers (e.g. znc).~/logs
directory. This directory was used for debug logs in the past (#82).NOTICE
messages (used by services like NickServ
, MemoServ
, Global
etc.) are now shown in server tabs unless there's already a tab for the sender (#21).--config
added for specifying config file location (#81).tiny now supports pasting multi-line strings. It runs $EDITOR
to let you edit the paste before sending. After closing the editor the final contents of the file (excluding comment lines) are sent. Note: we currently don't support commands in paste mode, so none of the lines can start with /
.
Ney key binding C-x
implemented for editing current message in $EDITOR
.
Fixed a bug when pasing a string starting with a newline (#86).
auto_cmds
config field is gone and nick change and identification handling is updated.
A major pain point for me has been the handling of nick changes when the server doesn't support SASL (sigh). We now solve this problem by simplifying (removing!) auto_cmds
field and refactoring nick change logic:
We now only consider the nick as changed if we hear a NICK response from the server. This way we no longer have to revert a nick change when the request fails or is rejected.
Config file format changed: auto_cmds is gone, two new fields are added: join
(a list of channels) and nickserv_ident
(nickserv password to send on connecting and nick change).
Note that join
is technically old, but it just wasn't advertised as a config file field.
This breaks backwards compatibility, but simplifies the code and nick changes and identification are now handled better.
/msg
command fixed (#111).C-x
(paste mode): empty lines are now sent as a space (" "). Useful when e.g. sending long text with multiple paragraphs (#112).Starting with this release tiny is no longer distributed on crates.io. Please get it from the git repo at https://github.com/osa1/tiny.
log_dir
specified in tinyrc. (#100, #56, #132)/connect
command, or by closing the tab/client) (#3).$XDG_CONFIG_HOME/tiny/config.yml
for the default config file location. The old location $HOME/.tinyrc.yml
is still used when there isn't a config file in the new location, to avoid breakage. $HOME/.config
is used for $XDG_CONFIG_HOME
when the env variable is not available (#152).