senpai(1)
πΈ NAME πΈ
senpai β your everyday IRC student, bestie edition π
Yes, that's the whole vibe. Your everyday IRC student. We love a humble icon.
β¨ SYNOPSIS β¨
senpai [options...] [link]
π OPTIONS π
-config <path>β point senpai at a different path for the config file. The format? Documented over insenpai(5), go check it.-nickname <nickname>β advanced mode, bestie. The nick name you connect as. This overrides the config item of the same name, no cap.-debugβ advanced. Shows all the IRC messages received from / sent to the server. Every single one. It's giving raw unfiltered timeline.-versionβ display version info π«Ά
Also, real talk: senpai can be opened with an irc:// link to a server or target. In that case, the link gets opened in an existing instance if there is one available. Efficient queen behavior.
π DESCRIPTION π
senpai is an IRC client made for bouncers. And it supports the newest IRC extensions, such as:
CHATHISTORYβ senpai fetches history from the server instead of keeping logs. No local hoarding, we love a clean space.@+typingβ senpai shows when others are typing a message. You get to watch them type. Iconic.BOUNCERβ senpai connects to all your networks at once, automatically. Main character multitasking.SEARCHβ senpai can search messages quickly, server-side. Fast fast fast.FILEHOSTβ senpai can upload files to the bouncer. Files, slayed.- and more to come! π₯
π¦ CONFIGURATION π¦
senpai searches for the config in this location:
$XDG_CONFIG_HOME/senpai/senpai.scfg
If $XDG_CONFIG_HOME is unset, it defaults to ~/.config or whatever the platform's equivalent is. Ngl, it's pretty predictable.
For information about the configuration format, see senpai(5).
And okay, this part is cute: if the configuration file does not exist, a setup assistant will create one for you. It literally does your homework. π§
π USER INTERFACE π
The user interface of senpai consists of several parts. Let's do a little tour, bestie.
On the left, the buffer list, which shows joined channels. The special buffer home is where server notices are shown. The list can be put on the bottom of the screen with a configuration option. Buffers can be closed with the mouse middle click, or the part command.
On the right, the member list, which shows members joined to the current channel.
On the bottom, the input field β that's where you type in messages or commands (see COMMANDS). By default, when you type a message, senpai will inform others in the channel that you are typing. Yes, it's telling on you, and honestly? Good.
On the row above, the status line (orβ¦ just a line if nothing is happeningβ¦) is where typing indicators are shown (e.g. "dan- is typing...").
Finally, the message timeline is displayed on the rest of the screen.
senpai supports the mouse almost everywhere β clicking on nicks, buffers, members, links; resizing panels; and features "buttons". On supported terminals, the cursor will turn into a hand when it's over a clickable element. So fancy. π±οΈ
πΈ SELECTING TEXT πΈ
Okay so in order to select text with a mouse, hold SHIFT while clicking and dragging the mouse. Full stop.
Clicking and dragging without holding SHIFT will not work, because senpai eats these events for, eg, selecting channels. It's not being rude, it's just hungry.
π OPENING LINKS π
In order to open links, refer to your terminal manual. On most terminals, opening links is done by holding CTRL, or SHIFT, while clicking the link. On the foot terminal, links can be opened by pressing Ctrl+Shift+O.
A simple left click with no modifiers will make senpai try to preview the link, or open it. In order to skip the preview, open the link with a modifier, as specified above, instead of an unmodified left click. Choose your fighter. β¨
π KEYBOARD SHORTCUTS π
These shortcuts can be customized in the configuration, see senpai(5). Obsessed with a customizable queen.
- Ctrl+A β move the cursor to the beginning of the input field.
- Ctrl+E β move the cursor to the end of the input field.
- Ctrl+C β clear input line, or prepare for exit by adding
/quitto input line. - Ctrl+F β prepare for search: add
/searchto input line. - Ctrl+K β prepare for jumping to a buffer: add
/bufferto input line. - Ctrl+Alt+V β prepare for uploading the clipboard: add
/uploadto input line. - Ctrl+U, PgUp β go up in the timeline.
- Ctrl+D, PgDown β go down in the timeline.
- Ctrl+N, Alt+Right β go to the next buffer.
- Ctrl+P, Alt+Left β go to the previous buffer.
- Shift+Right β go to the next unread buffer.
- Shift+Left β go to the previous unread buffer.
- Alt+Home β go to the first buffer.
- Alt+End β go to the last buffer.
- Alt+P β go to the previous highlight
- Alt+N β go to the next highlight, or to the (most recent) end of the timeline if there is none.
- Alt+{1..9} β go to buffer by index.
- Up, Down, Left, Right, Home, End, Backspace, Delete β edit the text in the input field.
- Enter β sends the contents of the input field.
- Tab β open the auto-completion dialog. Choose auto-completion item with Up and Down, then press Tab again to confirm.
- Ctrl+L β refresh the window.
- F7 β show/hide the vertical channel list.
- F8 β show/hide the vertical member list.
π COMMANDS π
So if you type and send a message that starts with a slash (/), it will instead be interpreted as a command:
/name argument1 argument2...
name is matched case-insensitively. It can be one of the following:
HELP [search]β show the list of command (or a commands that match the given search terms).JOIN <channel>β join the given channel.PART [channel] [reason]β part the given channel, defaults to the current one if omitted.QUIT [reason]β quits senpai. πMOTDβ show the message of the day (MOTD).NAMESβ show the member list of the current channel. Powerlevels (such as@for "operator", or+for "voice") are shown in green.TOPIC [topic]β if topic is omitted, show the topic of the current channel and, if available, the person who set it and the time when it has been set. Otherwise, change the topic of the current channel to topic.MUTEβ mute the current channel. This prevents being distracted from new messages on unimportant channels. This moves the channel to the end of the server, and greys its name out so that new messages do not change its color in the list. Highlights will still send a notification. (Peace and quiet, but not too quiet.)UNMUTEβ unmute the current channel. SeeMUTE.PINβ pin the current channel. This moves the channel to the start of the buffer list. Front of the line, as it deserves.UNPINβ unpin the current channel. SeePIN.MSG <target> <content>β send content to target.REPLY <content>β reply to the last person who sent a private message.ME <content>β send a message prefixed with your nick (a user action). If sent from home, reply to the last person who sent a private message.NPβ send the current song that is being played on the system. Uses DBus/MPRIS internally. Now playing: your taste. π΅UPLOAD [file path]β upload a local file to the bouncer. If no path is given, upload the current clipboard content instead (requireswl-pasteon Wayland orxclipon X11; Linux only).SCREENSHOTβ take and upload a screenshot to the bouncer. Requires support for D-Bus andxdg-desktop-portal(e.g. Gnome, orxdg-desktop-portal-wlron sway).QUOTE <raw message>β send raw message verbatim.LIST [pattern]β list public channels, optionally matching the specified pattern.BUFFER <index|name>β switch to the buffer at the index position, or containing name. The buffer list will be filtered according to the passed name; entering the command will select the first buffer in the list.WHOIS <nickname>β get information about someone who is connected.WHOWAS <nickname>β get information about someone who is disconnected.NICK <nickname>β change your nickname.OPER <username> <password>β log in to an operator account.MODE <nick/channel> <flags> [args]β change channel or user modes.INVITE <nick> [channel]β invite nick to channel (the current channel if not given).KICK <nick> [channel] [message]β eject nick from channel (the current channel if not given) with an optional kick message/reason. Bye bestie πBAN <nick> [channel]β ban nick from entering channel (the current channel if not given).UNBAN <nick> [channel]β allow nick to enter channel again (the current channel if not given).SEARCH <text>β search messages matching the given text, in the current channel or server. This opens a temporary list, which can be closed with the escape key.AWAY [message]β mark yourself as away, with an optional away message. UseBACKto cancel.BACKβ mark yourself as back from being away (seeAWAY).VERSION [target]β query the server software version.ADMIN [target]β query the server administrative information.LUSERSβ query the server user information.TIME [target]β query the server local time.INFOβ query server information.LINKSβ query the servers of the network.SHRUGβ send a shrug emoji to the current channel.Β―\_(γ)_/Β―TABLEFLIPβ send a table flip emoji to the current channel.(β―Β°β‘Β°)β―οΈ΅ β»ββ»STATS <query> [target]β query server statistics (advanced).CONNECT <target server> [<port> [remote server]]β connect a server to the network (advanced).SQUIT <server> [comment]β disconnects a server from the network (advanced).KILL <nick> [message]β eject someone from the server (advanced).REHASHβ make the server reload its configuration (advanced).RESTARTβ make the server restart (advanced).WALLOPS [text]β broadcast a message to all users (advanced).
π ENVIRONMENT VARIABLES π
The following standard environment variables are supported. Standard, but make it fashion.
ALL_PROXYβ URL of a SOCKS proxy to use when connecting to the server.SSL_CERT_DIRβ colon-separated list of directories containing TLS certificates to trust, in OpenSSLc_rehashformat.SSL_CERT_FILEβ path to a file, PEM-encoded, containing a list of TLS certificates to trust.
β SEE ALSO β
Like, obviously. Go read the config page, bestie. iykyk.
π AUTHORS π
- Creator/Sensei: Hubert Hirtz
<hubert@hirtzfr.eu>! - Current maintainer: delthas
<delthas@dille.cc>. - Sources are available at <https://git.sr.ht/~delthas/senpai>.
- Patches are welcome by email at <~delthas/senpai-dev@lists.sr.ht>.
And that's the whole page, bestie π
β¨ This edition of the senpai(1) manual is dated 2026-10-14 β go forth, connect to all your networks at once, and slay π¦ππ
π¦ where this page comes from
- alpine 3.24: senpai-doc 0.5.0-r2 Β· ISC
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms