IAMB(1)

πŸ“¦
version 0.0.11 Β· 3 versions
, in alpine 3.24, nixos 26.05

🌸 IAMB(1) β€” General Commands Manual 🌸

ok so before we even start: this is the manual page for iamb, bestie. It lives in the General Commands Manual section, number 1, and honestly it's giving ✨terminal romance✨. Let's get into it πŸ’…


πŸ’– NAME πŸ’–

iamb β€” a terminal-based client for Matrix, and like… it's for the Vim addict. You know who you are 🫢


πŸ¦‹ SYNOPSIS πŸ¦‹

iamb [-hV] [-P profile] [-C dir]

🌸 DESCRIPTION 🌸

iamb is a client for the Matrix communication protocol, no cap. It gives you a terminal user interface with familiar Vim keybindings, and it's lowkey stacked: support for multiple profiles, threads, spaces, notifications, reactions, custom keybindings, and more. Like?? it does everything πŸ’€

This manual page right here is just a quick rundown of the available commands in iamb. If you want actual example usage and a full description of each command and its arguments, the full documentation is online β€” go look, it's iconic ⭐


πŸŽ€ OPTIONS πŸŽ€

  • -P, --profile β€” the profile you want iamb to start with. If you don't pass this flag, it defaults to using default_profile (peep iamb(5) for that one πŸ‘€).
  • -C, --config-directory β€” path to the directory where the configuration file lives.
  • -h, --help β€” show the help text and quit. cute and quick ✨
  • -V, --version β€” show the current iamb version and quit.

🌈 GENERAL COMMANDS 🌈

  • :chats β€” view a list of joined rooms and direct messages.
  • :dms β€” view a list of direct messages.
  • :logout [user id] β€” log out of iamb.
  • :rooms β€” view a list of joined rooms.
  • :spaces β€” view a list of joined spaces.
  • :unreads β€” view a list of unread rooms.
  • :unreads clear β€” mark all rooms as read.
  • :welcome β€” view the startup Welcome window.
  • :forget β€” remove all left rooms from the internal database. spring cleaning era 🧚

πŸ” E2EE COMMANDS πŸ”

  • :keys export [path] [passphrase] β€” export and encrypt keys to path.
  • :keys import [path] [passphrase] β€” import and decrypt keys from path.
  • :verify β€” view a list of ongoing E2EE verifications.
  • :verify accept [key] β€” accept a verification request.
  • :verify cancel [key] β€” cancel an in-progress verification.
  • :verify confirm [key] β€” confirm an in-progress verification.
  • :verify mismatch [key] β€” reject an in-progress verification due to mismatched Emoji 😭
  • :verify request [user id] β€” request a new verification with the specified user.

πŸ’Œ MESSAGE COMMANDS πŸ’Œ

  • :download [path] β€” download an attachment from the selected message and save it to the optional path.
  • :open [path] β€” download and then open an attachment, or open a link in a message.
  • :edit β€” edit the selected message.
  • :editor β€” open an external $EDITOR to compose a message. yes, your editor, your rules πŸ‘‘
  • :react [shortcode] β€” react to the selected message with an Emoji.
  • :unreact [shortcode] β€” remove your reaction from the selected message. When no arguments are given, remove all of your reactions from the message.
  • :redact [reason] β€” redact the selected message with the optional reason.
  • :reply β€” reply to the selected message.
  • :cancel β€” cancel the currently drafted message, including replies.
  • :replied β€” go to the message the current message replied to.
  • :upload [path] β€” upload an attachment and send it to the currently selected room.

🏠 ROOM COMMANDS 🏠

  • :create [arguments] β€” create a new room. Arguments can be ++alias=[alias], ++public, ++space, and ++encrypted.
  • :invite accept β€” accept an invitation to the currently focused room.
  • :invite reject β€” reject an invitation to the currently focused room.
  • :invite send [user] β€” send an invitation to a user to join the currently focused room.
  • :join [room] β€” join a room or open it if you're already joined.
  • :leave β€” leave the currently focused room.
  • :members β€” view a list of members of the currently focused room.
  • :room name set [name] β€” set the name of the currently focused room.
  • :room name unset β€” unset the name of the currently focused room.
  • :room dm set β€” mark the currently focused room as a direct message.
  • :room dm unset β€” mark the currently focused room as a normal room.
  • :room notify set [level] β€” set a notification level for the currently focused room. Valid levels are mute, mentions, keywords, and all. Note that mentions and keywords are aliases for the same behaviour (iykyk, they're twins).
  • :room notify unset β€” unset any room-level notification configuration.
  • :room notify show β€” show the current room-level notification configuration. If the room is using the account-level default, then this will print default.
  • :room tag set [tag] β€” add a tag to the currently focused room.
  • :room tag unset [tag] β€” remove a tag from the currently focused room.
  • :room topic set [topic] β€” set the topic of the currently focused room.
  • :room topic unset β€” unset the topic of the currently focused room.
  • :room topic show β€” show the topic of the currently focused room.
  • :room alias set [alias] β€” create and point the given alias to the room.
  • :room alias unset [alias] β€” delete the provided alias from the room's alternative alias list.
  • :room alias show β€” show alternative aliases to the room, if any are set.
  • :room id show β€” show the Matrix identifier for the room.
  • :room canon set [alias] β€” set the room's canonical alias to the one provided, and make the previous one an alternative alias.
  • :room canon unset [alias] β€” delete the room's canonical alias.
  • :room canon show β€” show the room's canonical alias, if any is set.
  • :room ban [user] [reason] β€” ban a user from this room with an optional reason.
  • :room unban [user] [reason] β€” unban a user from this room with an optional reason.
  • :room kick [user] [reason] β€” kick a user from this room with an optional reason.

πŸͺ SPACE COMMANDS πŸͺ

  • :space child set [room_id] [arguments] β€” add a room to the currently focused space. ++suggested marks the room as a suggested child. ++order=[string] specifies a string by which children are lexicographically ordered.
  • :space child remove β€” remove the selected room from the currently focused space.

πŸͺŸ WINDOW COMMANDS πŸͺŸ

  • :horizontal [cmd] β€” change the behaviour of the given command to be horizontal.
  • :leftabove [cmd] β€” change the behaviour of the given command to open before the current window.
  • :only, :on β€” quit all but one window in the current tab.
  • :quit, :q β€” quit a window.
  • :quitall, :qa β€” quit all windows in the current tab.
  • :resize β€” resize a window.
  • :rightbelow [cmd] β€” change the behaviour of the given command to open after the current window.
  • :split, :sp β€” horizontally split a window.
  • :vertical [cmd] β€” change the layout of the following command to be vertical.
  • :vsplit, :vsp β€” vertically split a window.

πŸ—‚οΈ TAB COMMANDS πŸ—‚οΈ

  • :tab [cmd] β€” run a command that opens a window in a new tab.
  • :tabclose, :tabc β€” close a tab.
  • :tabedit [room], :tabe β€” open a room in a new tab.
  • :tabrewind, :tabr β€” go to the first tab.
  • :tablast, :tabl β€” go to the last tab.
  • :tabnext, :tabn β€” go to the next tab.
  • :tabonly, :tabo β€” close all but one tab.
  • :tabprevious, :tabp β€” go to the preview tab.

πŸ’¬ SLASH COMMANDS πŸ’¬

  • /markdown, /md β€” interpret the message body as Markdown markup. This is the default behaviour, so it's basically the main character ✨
  • /html, /h β€” send the message body as literal HTML.
  • /plaintext, /plain, /p β€” do not interpret any markup in the message body and send it as it is.
  • /me β€” send an emote message.
  • /confetti β€” produces no effect in iamb, but will display confetti in Matrix clients that support doing so. πŸŽ‰
  • /fireworks β€” produces no effect in iamb, but will display fireworks in Matrix clients that support doing so.
  • /hearts β€” produces no effect in iamb, but will display floating hearts in Matrix clients that support doing so. πŸ’–
  • /rainfall β€” produces no effect in iamb, but will display rainfall in Matrix clients that support doing so.
  • /snowfall β€” produces no effect in iamb, but will display snowfall in Matrix clients that support doing so. 🌨️
  • /spaceinvaders β€” produces no effect in iamb, but will display aliens from Space Invaders in Matrix clients that support doing so. πŸ‘Ύ

🌟 EXAMPLES 🌟

Example 1: Starting with a specific profile

So you wanna start with a profile named personal instead of whatever default_profile is set to? Say less:

$ iamb -P personal

Example 2: Using an alternate configuration directory

By default, iamb will use the XDG directories β€” but sometimes you wanna store your configuration somewhere else entirely, and that's valid:

$ iamb -C ~/src/iamb-dev/dev-config/

πŸ› REPORTING BUGS πŸ›

Please report bugs in iamb or its manual pages at https://github.com/ulyssa/iamb/issues β€” do it, the maintainers wanna know, fr fr πŸ™


πŸ‘€ SEE ALSO πŸ‘€

Extended documentation is available online at https://iamb.chat β€” go read it, it's giving study date πŸ“š


ngl this page is from the Debian packaging, dated Mar 24, 2024, section 1 of the General Commands Manual. mwah, go forth and chat πŸ’…πŸ’–βœ¨
πŸ“¦ where this page comes from