MCABBER(1)

πŸ’– mcabber β€” a simple Jabber (XMPP) console client πŸ’–

okay bestie, welcome to the MCABBER(1) manual page. yes it's a manpage. no it's not boring. let's go πŸ¦‹


✨ NAME ✨

mcabber β€” a simple Jabber (XMPP) console client

✨ SYNOPSIS ✨

mcabber [ -h | -V | -f configfile ]

✨ DESCRIPTION ✨

mcabber(1) is a small Jabber (XMPP) console client. as of right now it needs a configuration file to start, so pls pls pls copy the sample mcabberrc file and adapt your connection settings. πŸ’…

you also need to already have a Jabber account to use this software, because it literally cannot (un)register accounts yet. so no making a whole new identity from inside it, sorry babe 😭

here are some of the features of mcabber, and yes they all ate:

  • SASL/SSL/TLS support. πŸ”
  • MUC support (Multi-User Chat). πŸ‘―
  • PGP, OTR support
  • Chat States support (typing notifications) ✨
  • History logging: if enabled (see the CONFIGURATION FILE section), mcabber can save discussions to text history log files. πŸ““
  • Commands completion: if possible, mcabber will try to complete your command line if you hit the Tab key. ⌨️
  • Input line history: any message or command entered is in the input line history and can be reused easily. πŸ•°οΈ
  • External actions: some events (like receiving a message) can trigger an external action such as a shell script if you enable it in your configuration file. a sample events script ("eventcmd") is provided with mcabber source code, in the contrib directory. πŸ”₯
  • Modules: mcabber can load modules (a.k.a. plugins) at runtime that extend its features. 🧩

✨ OPTIONS ✨

  • -h β€” quick help usage message. short and sweet, like a text from your bestie.
  • -V β€” displays mcabber version and compile-time definitions.
  • -f configfile β€” use configuration file configfile.

✨ WINDOWS/PANES ✨

the mcabber(1) screen is split into 4 regions, okay? the roster, aka the alias buddylist, is on the left. the chat window, aka the chat buffer, is on the right. the input line lies at the bottom of the screen, under a small log window. very demure, very mindful layout πŸ’…

two status lines surround the log window. the bottom status line is the "main status line" and reflects mcabber general status. the other line is the "chat status line" and shows the status of the currently selected buddy. πŸ‘‘

to display buddies chat buffers, you will have to enter chat mode. you can enter chat mode by pressing enter (unless vi mode is enabled), and leave chat mode with the ESC key. simply sending a message will also enable chat mode (unless vi mode is enabled). no cap.

there are several advantages to the two-mode implementation, and honestly? iconic design:

  1. first, it allows accurate "unread" message functionality, as described in the next section. without this, merely scrolling to a specific buddy will "read" the new messages of all buddies in-between. πŸ’€
  2. second, it allows quickly hiding the conversation with a single keystroke.
  3. third, it allows jumping between the few buddies with whom you are conversing with the /roster alternate command described in another section, without having to manually scroll back and forth.

✨ KEYS ✨

text typing occurs in the input line; basic operations are supported (left arrow, right arrow, home/end keys, insert, delete, backspace...). the basics, bestie.

PageUp and PageDown keys are used to move in the roster.

Up and Down arrow keys can be used to move in the input line history; they jump to the previous/next line from the history beginning with the same string (from first column to the cursor column).

to send a message, move to the chosen buddy in the buddylist, type your message and hit enter. if the line begins with a slash, this will be interpreted as a command (see the COMMAND section below). hit escape to leave the chat mode.

here's a quick description of the default key bindings, memorise them fr fr:

  • Esc β€” disable chat mode.
  • Ctrl-a β€” go to the beginning of the input line.
  • Ctrl-e β€” go to the end of the input line.
  • Ctrl-l β€” force a refresh.
  • Up/Down β€” move in the input line history.
  • PgUp/PgDown β€” move inside the roster (buddylist).
  • Tab β€” complete current word, in the input line.
  • Ctrl-g β€” cancel completion.
  • Ctrl-c β€” abort multi-line messages and completions.
  • Ctrl-d β€” send/terminate a multi-line message.
  • Ctrl-p/Ctrl-n β€” scroll up/down half a screen in the buffer window (chat mode).
  • Ctrl-Left β€” move the cursor back to the start of the current or previous word.
  • Ctrl-Right β€” move the cursor forward to the end of the current or next word.
  • Ctrl-u β€” delete from beginning of the line to the cursor.
  • Ctrl-k β€” delete from the cursor to the end of line.
  • Ctrl-w β€” backward kill word.
  • Ctrl-t β€” transpose chars.
  • Ctrl-o β€” accept line and put the next history line in the input line (accept-line-and-down-history).

additional key bindings may be specified using the /bind command described in the COMMANDS section. 🌈

✨ VI MODE ✨

if the "vi_mode" option is set to 1, mcabber(1) accepts a few commands loosely based on those available in vi(1)'s normal mode. in this case, chat mode is not entered by pressing enter, and messages cannot be composed outside of the chat mode. the following commands are accepted:

  • A β€” call "/roster unread_first".
  • a β€” call "/roster unread_next".
  • F β€” call "/roster group_prev".
  • f β€” call "/roster group_next".
  • G β€” call "/roster bottom".
  • gg β€” call "/roster top".
  • i β€” enter chat mode.
  • [N]j β€” call "/roster down [N]".
  • [N]k β€” call "/roster up [N]".
  • n β€” repeat the previous search (if any).
  • O β€” call "/roster unread_first" and open chat window.
  • o β€” call "/roster unread_next" and open chat window.
  • ZZ β€” call "/quit".
  • zM β€” call "/group fold" for all groups.
  • zR β€” call "/group unfold" for all groups.
  • '' β€” call "/roster alternate".
  • ! β€” toggle attention flag for current buddy.
  • # β€” toggle unread messages flag for current buddy.
  • <Space> β€” call "/group toggle" for the current group.

a leading slash enables search mode:

  • /string β€” call "/roster search string".

a leading colon enabled command-line mode:

    above commands).

commands entered with a leading colon and searches are either submitted by pressing enter or aborted by hitting escape. in either case, mcabber(1) returns to the normal (non-chat) mode. history editing is supported in command-line mode and in search mode. in command-line mode, tab completion is supported as well. ✨

✨ MCABBER'S ROSTER ✨

the first listed item on the roster is [status], which keeps a log of everything that appears in the short log window below the main chat area. while the log window was designed for showing the latest few elements, the dedicated [status] buffer allows more comfortable viewing of the log, as well as scrolling it in a standard manner. 🫢

group names are displayed above the items that are within them, and are indicated by --- to the left of the name.

for every real Jabber contact, the roster displays four pieces of information: the buddy's name or alias, its online status, its authorization status, and whether there are unread messages from the buddy waiting for you.

the online status is one of the following:

  • o β€” online
  • f β€” free for chat
  • a β€” away
  • n β€” not available (labeled extended away in some clients)
  • d β€” do not disturb
  • _ β€” offline (or invisible to you)
  • ? β€” unknown, usually meaning you are not authorized to see this buddy's status
  • x β€” a conference room in which you are not participating
  • C β€” a conference room in which you are participating

the authorization status indicates whether a buddy is authorized to receive your online status updates, and is displayed by the brackets surrounding the buddy's online status. square brackets, like [o], indicate that this buddy is authorized to receive your status. curly braces, like {o}, indicate that they are not authorized to receive your status. πŸ’…

when there are unread messages from a buddy which you have not looked at, a hash mark (#) appears in the leftmost section of the roster for that buddy. the hash mark disappears once you view that buddy's message buffer. when the user attention is requested (or when you receive a message containing your nickname in a MUC room), the hash mark is replaced with the attention sign, an exclamation mark (!). 🚨

examples, so you can see the vibe:

  • ' --- Buds' β€” this is a group named Buds.
  • #[o] John β€” John is online, can see your status, and sent you a message that you did not read yet.
  • ' {?} Sally' β€” neither you nor Sally have authorized each other to see your online status.
  • ' {a} Jane' β€” Jane is away, but she cannot see your online status.
  • #[C] x@y.c β€” you are participating in x@y.c conference room, and there are unread messages.

✨ COMMANDS ✨

pls refer to the online help (command /help), it is probably more up-to-date than this manpage. furthermore, help files have been translated into several languages. you will find an overview of the mcabber commands in this manual. πŸŽ€

  • /add [jid [nickname]] β€” add the "jid" Jabber user to our roster (default group), and send a notification request to this buddy. if no nickname is specified, the jid is used. if no jid (or an empty string "") is provided or if jid is ".", the current buddy is used.
    • [jid [nickname]] β€” add to our roster "jid" as "nickname".
example: "/add somebody@jabber.server.com Somebody"
  • /alias [name [= command line]] β€” this command let you to add aliases which can simplify sophisticated commands. πŸ’…

you can manage your aliases by:

  • (without arguments) β€” print list of currently defined aliases.
  • name β€” print the value of alias called "name".
  • name= β€” unset alias called "name".
  • name = command line β€” set alias called "name" with value "command line".
example: "/alias away = status away"
  • /authorization allow|cancel|request|request_unsubscribe [jid] β€” this command manages presence subscriptions: it allows you to request presence subscriptions from others on your roster, and allows you to control who receives your presence notifications. πŸ‘‘

if no JID is provided, the currently-selected buddy is used.

  • allow β€” allow the buddy to receive your presence updates.
  • cancel β€” cancel the buddy's subscription to your presence updates.
  • request β€” request a subscription to the buddy's presence updates.
  • request_unsubscribe β€” request unsubscription from the buddy's presence updates.

πŸ’… /bind β€” the "make this key do a thing" command

/bind [keycode [= command line]]

okay so this is how you glue a command onto a key, bestie. You hand it the keycode and the command gets bound to it. Wanna know which keys are still free? πŸ‘€ Go look at the mcabber log window and just press the key you're curious about. If it goes Unknown key=265, that's the universe telling you key #265 is up for grabs and you can bind whatever you want to it. slay.

  • /bind (no arguments) β€” shows you the list of current bindings. inventory check. πŸ“‹
  • keycode β€” displays the command line that's bound to this key
  • keycode= β€” unbinds the key with code keycode. bye bestie πŸ‘‹
  • keycode = command line β€” binds command line to the key with code keycode
Example: /bind 265 = status away (265 is F1). Note: keycodes can be different depending on your ncurses configuration. Tip: aliases also can be used instead of commands.

🧺 /buffer β€” your chat window's whole personality

/buffer clear|close|close_all|purge|list, /buffer top|bottom|date|%|search_backward|search_forward, /buffer scroll_lock|scroll_unlock|scroll_toggle, /buffer save filename

This is the buddy's buffer manipulation command, and it does so much. Searching through a buffer for "text", clearing the chat window, all of it. main character energy fr fr.

  • clear β€” clears the current buddy chat window ✨
  • close [jid] β€” empties all the contents of the buffer and closes the current buddy chat window
  • close_all β€” empties all the contents of the chat buffers and closes the chat windows. it's giving spring cleaning 🧹
  • purge [jid] β€” clears the current buddy chat window and empties all the contents of the chat buffer
  • list β€” shows the list of existing buffers, with their length (lines/blocks)
  • top β€” jump to the top of the current buddy chat buffer ⬆️
  • bottom β€” jump to the bottom of the current buddy chat buffer ⬇️
  • up [n] β€” scroll the buffer up [n] lines (default: half a screen)
  • down [n] β€” scroll the buffer down [n] lines (default: half a screen)
  • date [date] β€” jump to the first line after the specified [date] in the chat buffer (date format: "YYYY-mm-dd")
  • % n β€” jump to position %n of the buddy chat buffer
  • search_backward text β€” search for [text] in the current buddy chat buffer
  • search_forward text β€” search for [text] in the current buddy chat buffer
  • scroll_lock β€” locks buffer scrolling πŸ”’
  • scroll_unlock β€” unlocks buffer scrolling πŸ”“
  • scroll_toggle β€” toggles buffer scrolling (lock/unlock)
  • save filename β€” saves the contents of the current buffer to the file "filename" πŸ’Ύ

πŸšͺ /chat_disable

/chat_disable [--show-roster]

Turns chat mode off, periodt.

With --show-roster, the fullscreen mode will be disabled too.


🧼 /clear

This one is actually just an alias for /buffer clear. It clears the current buddy chat window. that's it, that's the whole vibe. ✨


🎨 /color β€” the makeover command

/color roster (status wildcard (color|-)|clear), /color mucnick nick (color|-), /color muc (jid|.|*) [on|preset|off|-]

The color command lets you set dynamic color properties of the screen. aesthetic customization, we love to see it. πŸ’…

roster clear

Removes all color rules for the roster. All roster items will get its default color.

roster status wildcard color

Sets a color rule (or overwrites it, if it already exists). The status is a string containing all statuses the roster item can have for the rule to match, or * if any status is OK. Wildcard is the file-matching wildcard that will be applied to JID. Color is the wanted color. If color is -, the rule is removed. If more than one rule matches, the color from the last created (not overwritten) is used.

mucnick nick (color|-)

Marks the nick to be colored by the given color. If a MUC has colored nicks, this one will be used. If color is -, the color is marked as chosen automatically, which means it will not be used in preset coloring mode, but will stay the same in on coloring mode.

muc (jid|.|*) [on|preset|off|-]

Sets a MUC nick coloring mode. If a jid is provided (. means the currently selected jid), the mode will apply to this specific MUC. If * is used, it will be applied to all MUCs, except the ones set by their jid. Mode on colors all nicks, preset only the ones manually set by the /color mucnick command, and off colors none. If not specified, it defaults to on. Mode - removes the mode from the given JID, which means the global one will apply. You can not remove the global mode. The default global coloring mode is off.


πŸ”Œ /connect

Establishes the connection to the Jabber server. we're so back 🫢


πŸ—‘οΈ /del

Deletes the current buddy from our roster, unsubscribes from its presence notification, and unsubscribes it from ours. full unfollow, no notes. πŸ’€


πŸ”• /disconnect

Terminates the connection to the Jabber server.

Note: the roster is only available when the connection to the server is active, so the buddylist is empty when disconnected. don't panic, bestie, that's just how it is 😭

πŸ“’ /echo message

Displays "message" in the log window. talking to yourself but make it ✨intentional✨


🎟️ /event β€” pending event wrangler

/event #n|* accept|ignore|reject [event-specific arguments], /event list

Tells mcabber what to do about pending events.

If the first parameter is *, the command will apply to all queued events.

Event-specific arguments will be interpreted on an event-to-event basis. The only built-in case where an argument is used is MUC invitation reject β€” the argument, if present, will be interpreted as the reject reason.

  • #N|* accept [event-specific arguments] β€” event number #N / all events will be accepted βœ…
  • #N|* ignore [event-specific arguments] β€” event number #N / all events will be ignored πŸ™ˆ
  • #N|* reject [event-specific arguments] β€” event number #N / all events will be rejected ❌
  • list β€” lists all pending events

🌳 /group β€” roster tree folding hours

/group fold|unfold|toggle [groupname]

This command changes the current group display.

  • fold [groupname] β€” folds (shrinks) the current/specified group tree in the roster
  • unfold [groupname] β€” unfolds (expands) the current/specified group tree in the roster
  • toggle [groupname] β€” toggles the state (fold/unfold) of the current/specified tree

πŸ†˜ /help

/help [command|+topic]

Displays help for command "command" or topic "topic".

Example: /help buffer β€” look at us, being responsible and reading the docs πŸ“š


⌨️ /iline β€” the input line glow-up

/iline fchar|bchar|char_fdel|char_bdel|char_swap, /iline fword|bword|word_bdel|word_fdel, /iline word_upcase|word_downcase|word_capit, /iline hist_beginning_search_bwd|hist_beginning_search_fwd, /iline hist_prev|hist_next, /iline iline_start|iline_end|iline_fdel|iline_bdel, /iline iline_accept|iline_accept_down_hist, /iline compl_do|compl_cancel, /iline send_multiline

Input line commands. cursor movement, deletion, history, completion β€” the whole toolbox. 🧰

  • fchar β€” move to the next letter
  • bchar β€” move to the previous letter
  • char_fdel β€” delete the letter at cursor position
  • char_bdel β€” delete the letter before cursor position
  • char_swap β€” transpose chars
  • fword β€” move the cursor forward to the end of the current or next word
  • bword β€” move the cursor back to the start of the current or previous word
  • word_bdel β€” delete the word from cursor position to its start
  • word_fdel β€” delete the word from cursor position to its end
  • word_upcase β€” convert the word from cursor position to its end to upper case
  • word_downcase β€” convert the word from cursor position to its end to down case
  • word_capit β€” capitalize the word from cursor position to its end
  • hist_beginning_search_bwd β€” search backward in the history for a line beginning with the current line up to the cursor (this leaves the cursor in its original position)
  • hist_beginning_search_fwd β€” search forward in the history for a line beginning with the current line up to the cursor (this leaves the cursor in its original position)
  • hist_prev β€” previous line of input line history
  • hist_next β€” next line of input line history
  • iline_start β€” go to the beginning of the input line
  • iline_end β€” go to the end of the input line
  • iline_fdel β€” delete from the cursor to the end of line
  • iline_bdel β€” delete from beginning of the line to the cursor
  • iline_accept β€” accept line
  • iline_accept_down_hist β€” accept line and put the next history line in the input line
  • compl_do β€” complete current word, in the input line
  • compl_cancel β€” cancel completion
  • send_multiline β€” send/terminate a multi-line message

πŸ” /info

Displays info on the selected entry (user, agent, group...).

For users, resources are displayed with the status, priority and status message (if available) of each resource. receipts on receipts πŸ’…


🧩 /module β€” plug-in management

/module load|unload [-f] module, /module info module, /module [list]

Load, unload or show info on a module.

  • load [-f] module β€” loads the specified module. If the -f flag is specified, most of the module loading errors will be ignored.
  • unload [-f] module β€” unloads the specified module. > Note: the force flag will not remove any dependency on this module!
  • info module β€” shows available information about this module.
  • [list] β€” lists modules in this format: [modulename] [reference count] ([Manually/Automatically loaded]) [any extra info, like version or dependencies]

🚚 /move

/move [groupname]

Moves the current buddy to the requested group. If no group is specified, then the buddy is moved to the default group. If the group "groupname" doesn't exist, it gets created. new group, who dis πŸ¦‹

Tip: if the chatmode is enabled, you can use /roster alternate to jump to the moved buddy.

πŸ“ /msay β€” multi-line message mode

/msay begin|verbatim|send|send_to|toggle|toggle_verbatim|abort

Sends a multi-line message. To write a single message with several lines, the multi-line mode should be used.

In multi-line mode, each line (except command lines) typed in the input line will be added to the multi-line message. Once the message is finished, it can be sent to the current selected buddy with the /msay send command.

The begin subcommand enables multi-line mode. Note that it allows a message subject to be specified. πŸ‘‘

The verbatim multi-line mode disables commands, so that it's possible to enter lines starting with a slash. Only the /msay command (with send or abort parameters) can be used to exit verbatim mode.

The toggle subcommand can be bound to a key so you can flip into multi-line mode at the speed of light β€” for example, "bind M13 = msay toggle" to switch using the Meta-Enter combo. ✨

  • begin [subject] β€” Enter multi-line mode 🫢
  • verbatim β€” Enter verbatim multi-line mode
  • send [-n|-h] β€” Send the current multi-line message to the currently selected buddy πŸ“¨
  • send_to [-n|-h] jid β€” Send the current multi-line message to "jid"
  • toggle|toggle_verbatim β€” Switch to/from multi-line mode (begin/send) πŸ”
  • abort β€” Leave multi-line mode without sending the message πŸ™ˆ

The -n or -h flags turn the message to "normal" or "headline" accordingly, as opposed to the default "chat" message.


πŸ’– /otr key, /otr start|stop|info [jid], /otr fingerprint [jid [fpr]], /otr smpq|smpr [jid] secret, /otr smpa [jid]

You can use the shortcut-jid . for the currently selected contact. πŸ’…

  • key β€” Print the fingerprint of your private key to the Status Buffer πŸ”‘
  • start [jid] β€” Open an OTR channel to the specified jid (or the currently selected contact)
  • stop [jid] β€” Close the OTR channel to the specified jid (or the currently selected contact)
  • info [jid] β€” Show current OTR status for the specified jid (or the currently selected contact)
  • fingerprint [jid [fpr]] β€” Show the active fingerprint of an OTR channel. If the fingerprint is provided instead of "fpr", the fingerprint will become trusted. If you replace "fpr" by some bogus string the fingerprint will loose the trusted status. πŸ•΅οΈ
  • smpq [jid] secret β€” Initiate the Socialist Millionaires Protocol with the secret and the buddy
  • smpr [jid] secret β€” Respond to the Initiation of the jid with the secret
  • smpa [jid] β€” Abort the running Socialist Millionaires Protocol πŸ›‘

🌈 /otrpolicy, /otrpolicy (default|jid) (plain|manual|opportunistic|always)

You can use the shortcut-jid . for the currently selected contact.

  • (without arguments) β€” Prints all OTR policies to the status buffer πŸ“‹
  • (default|jid) (plain|manual|opportunistic|always) β€” Sets either the default policy or the policy for the given jid
The plain policy should never be used, because you won't be able to receive or send any OTR encrypted messages. πŸ’€

If you set the policy to manual, you or your chat partner have to start the OTR encryption by hand (e.g. with /otr start). The policy "opportunistic" does that itself by sending a special whitespace-sequence at the end of unencrypted messages. So the other OTR-enabled chat client knows that you want to use OTR. Note that the first message will always be unencryted, if you use this policy. With the policy "always" no message will be sent in plain text. If you try to sent the first message unencrypted, mcabber will try to establish an OTR channel. Please resend your message, when you get the information that the channel was established. If someone sends you plaintext messages while the policy is set to "always", you'll be able to read the message but it won't be saved to the history. 😭


πŸ” /pgp disable|enable|force|info [jid], /pgp setkey [jid [key]]

This command manipulates PGP settings for the specified jid (by default the currently selected contact).

Heads up bestie: PGP encryption won't be used if no remote PGP support is detected, even if PGP is enabled with this command. You can force PGP encryption with the "force" subcommand. πŸ’ͺ
  • disable [jid] β€” Disable PGP encryption for jid (or the currently selected contact)
  • enable [jid] β€” Enable PGP encryption for jid (or the currently selected contact)
  • force [jid] β€” Enforce PGP encryption, even for offline messages, and always assume the recipient has PGP support. If a message can't be encrypted (missing key or key id), the messages won't be sent at all. This option is ignored when PGP is disabled. ⚠️
  • info [jid] β€” Show current PGP settings for the contact
  • setkey [jid [key]] β€” Set the PGP key to be used to encrypt message for this contact. If no key is provided, the current key is erased. You can use the shortcut-jid . for the currently selected contact. πŸ—οΈ

πŸ‘‹ /quit

This command closes all connections and quit mcabber. Bye bestie, it's giving log-off era. πŸ¦‹

🧨 /rawxml send string

Send "string" (raw XML format) to the Jabber server.

No check is done on the string provided.

BEWARE! Use this only if you know what you are doing, or you could terminate the connection. πŸ’€πŸ”₯

Example: "/rawxml send <presence><show>away</show></presence>"

✏️ /rename name

Rename the current buddy or group to the given "name". If "name" is -, the name is removed from the roster (and mcabber will display the JID or username).

πŸ“‘ /request last|ping|time|vcard|version [jid]

Send a "IQ" query to the current buddy, or to the specified Jabber user. If the resource is not provided with the jid, mcabber will send the query to all known resources for this user.

  • last β€” Request "last" information (usually idle time) πŸ’€
  • ping β€” Send an XMPP Ping request. Note that you should use the full JID since a ping sent to a bare JID will be handled by the server. πŸ“
  • time β€” Request time from the buddy ⏰
  • vcard β€” Request VCard from the buddy πŸͺͺ
  • version β€” Request version from the buddy

🏠 /room

/room join|leave|names|nick|remove|topic|unlock|destroy, /room
privmsg|invite|whois|kick|ban|unban|role|affil, /room setopt
print_status|auto_whois [value], /room bookmark [add|del]
[-autojoin|+autojoin] [-|nick]

The room command handles Multi-User Chat room actions. πŸŽ€

  • join [room [nick [pass]]] β€” Join "room", using "nick" as nickname. If no nickname is provided (or if it is an empty string), the "nickname" option value is used (see sample configuration file). If the currently selected entry is correctly recognized as a room by mcabber, the shortcut "." can be used instead of the full room id. A password can be provided to enter protected rooms. If your nickname contains space characters, use quotes. πŸ”‘
  • leave [message] β€” Leave the current room πŸšͺ
  • names [--detail|--short|--quiet|--compact] β€” Display members of the current room πŸ‘₯
  • nick newnick β€” Change your nickname in the current room
  • privmsg nick msg β€” Send private message "msg" to "nick" 🀫
  • remove β€” Remove the current room from the roster (you must have left this room before)
  • topic -|newtopic β€” Set topic for current room
  • unlock β€” Unlock current room (if you are the owner) πŸ”“
  • destroy [reason] β€” Destroy the current room (use with care!) πŸ’₯
  • whois nick β€” Display MUC information about "nick" πŸ”
  • ban jid [reason] β€” Ban jid from the current room 🚫
  • unban jid β€” Unban jid from the current room
  • invite jid [reason] β€” Invite jid to the current room πŸ’Œ
  • kick nick [reason] β€” Kick "nick" from the current room πŸ‘’
  • role nick role [reason] β€” Change nick's role (role can be "none", "visitor", "participant", "moderator")
  • affil jid affil [reason] β€” Change jid's affiliation (affil can be "none", "member", "admin", "owner")
  • setopt print_status|auto_whois [value] β€” Change settings for the current room. For print_status, the possible values are "default", "none", "in_and_out", "all". For auto_whois, the possible values are "default", "off", "on". When the value is "default", the options muc_print_status / muc_auto_whois is used.
  • bookmark [add|del] [-autojoin|+autojoin] [-|nick] β€” Add, remove or update a bookmark (default is add). If autojoin is set, mcabber will automatically join the MUC room when it connects to the server. To see the list of bookmarks, use /room bookmark in the status buffer. πŸ”–

πŸ“‹ /roster

/roster bottom|top|up|down|group_prev|group_next, /roster
alternate|unread_first|unread_next, /roster search bud, /roster
display|hide_offline|show_offline|toggle_offline, /roster
item_lock|item_unlock|item_toggle_lock, /roster hide|show|toggle,
/roster note [-|text]

The roster command manipulates the roster/buddylist.

Here are the available parameters:

  • bottom β€” Jump to the bottom of the roster ⬇️
  • top β€” Jump to the top of the roster ⬆️
  • up [n] β€” Move up [n lines] in the roster
  • down [n] β€” Move down [n lines] in the roster
  • group_prev β€” Jump to the previous group in the roster
  • group_next β€” Jump to the next group in the roster
  • alternate β€” Jump to alternate buddy. The "alternate" buddy is the last buddy left while being in chat mode. This command is thus especially useful after commands like "/roster unread_next" (Ctrl-q). πŸ”
  • unread_first β€” Jump to the first unread message
  • unread_next β€” Jump to the next unread message πŸ“¬
  • search bud β€” Search for a buddy with a name or jid containing "bud" (only in the displayed buddylist)
  • display [mask] β€” See or update the roster filter. The mask should contain the shortcut letters of the status you want to see ([o]nline, [f]ree_for_chat, [d]o_not_disturb, [n]ot_available, [a]way, [_]offline). For example "ofdna" to display only connected buddies. πŸ‘€
  • hide_offline β€” Hide offline buddies (same as /roster display ofdna)
  • show_offline β€” Show offline buddies (same as /roster display ofdna_)
  • toggle_offline β€” Toggle display of offline buddies
  • item_lock [jid] β€” Lock the roster item so it remains visible regardless of its status πŸ”’
  • item_unlock [jid] β€” Undo the effects of item_lock
  • item_toggle_lock [jid] β€” Invert the current lock flag
  • hide β€” Hide roster (full-width chat window) 🫣
  • show β€” Show roster
  • toggle β€” Toggle roster visibility
  • note [-|text] β€” Okay so this one sets/updates/deletes an annotation, bestie. If there’s no text, the current item’s annotation is displayed β€” and if you’re in the status buffer, literally all notes are displayed. If text is "-", the note is erased. πŸ’…
  • /say [-n|-h|--] text β€” Send the "text" message to the currently selected buddy. It’s lowkey useful if you wanna send a message beginning with a slash, for example.

The -n flag turns the message to "normal" type, -h to "headline". -- can be used to send chat message beginning with -n or -h. No cap. ✨

  • /say_to [-n|-h] [-q] [-f file] jid text β€” Send the "text" message to the specified jid.

Please note that this command doesn’t set the default resource for a contact, so if you want to send several messages to a specific resource you will have to use /say_to for each message. It’s giving manual labor, fr fr. 😭

You can send a message to a specific resource of the currently selected contact by using /say_to ./resourcename message.

The -n flag turns the message to "normal" type, -h to "headline". -- can be used to send chat messages beginning with -n or -h.

When -q is used, the message will be sent in the background and will not change the current active window. πŸ¦‹

A text file can be provided with the -f switch (in which case there’s no need to pass a text argument after the jid, of course).

  • /screen_refresh β€” Refresh the mcabber screen. Iconic. ✨
  • /set [option [= value]] β€” Display or set an option value.

Without arguments prints a list of all set options with their values. Periodt.

  • /source pattern β€” Read configuration files, that match glob pattern (sorted in alphabetical order). πŸŽ€
  • /status [online|avail|free|dnd|notavail|away [-|statusmessage]], /status message -|statusmessage β€” Show or set the current status.
    • If no status is specified, display the current status.
    • If a status message is specified, it will override the message* variables (these variables can be set in the configuration file).
    • If no relevant message* variable is set and no status message provided, the current status message is kept.
    • If StatusMessage is "-", the current status message is cleared.
    • With the /status message command, mcabber will update the message while preserving the status.
  • /status_to jid online|avail|free|dnd|notavail|away [statusmessage], /status_to jid message statusmessage β€” Send the requested status to the specified Jabber user.
    • If the specified jid is ".", the current buddy is used.
    • Note: this status will be overridden by subsequent /status commands. If you are using the auto-away feature, the status will overridden too. πŸ’€
    • Note: The jid can include a resource (i.e. user@server/resource).
  • /version β€” Display current version of mcabber. πŸ‘‘

πŸŽ€ CONFIGURATION FILE πŸŽ€

See the provided sample configuration file, which should be self-documenting. πŸ“„βœ¨

🌸 FILES 🌸

The following files can be used by mcabber(1):

  • $HOME/.mcabber/mcabberrc β€” Default configuration file
  • $HOME/.config/mcabber/mcabberrc β€” Alternate location (can use XDG_CONFIG_HOME)
  • $HOME/.mcabberrc β€” Configuration file used if no other has been found
  • $HOME/.mcabber/histo/ β€” Default directory for storing chat history files, if enabled
  • /usr/share/mcabber/help/ β€” Default directory for online help files
  • /usr/lib/mcabber/ β€” Default directory for modules

πŸ’€ BUGS πŸ’€

Certainly. Please tell me if you find one! :-) Please visit our website to find out about the MUC room and the bug tracker. πŸ›

πŸ‘‘ AUTHOR πŸ‘‘

Written by Mikael BERTHE[1] and others (see AUTHORS file). πŸ’–

🌈 RESOURCES 🌈

  • Main web site[2]
  • Official wiki[3]
  • MCabber MUC room[4]

πŸ“œ COPYING πŸ“œ

Copyright (C) 2005-2021 Mikael Berthe and others. 🌟

Free use of this software is granted under the terms of the GNU General Public License (GPL). πŸ’–

πŸ‘‘ AUTHOR πŸ‘‘ (the contact card era)

  • Mikael BERTHE <mcabber@lilotux.net> β€” Author.

πŸ“ NOTES πŸ“

  1. Mikael BERTHE mailto:mikael@lilotux.net
  2. Main web site https://mcabber.com/
  3. Official wiki https://wiki.mcabber.com/
  4. MCabber MUC room xmpp:mcabber@conf.lilotux.net

And that’s the whole manual, bestie! This page is from mcabber 1.1.3-dev, dated October 2021, and it’s MCABBER(1). Slay. πŸ’…βœ¨

πŸ“¦ where this page comes from