5.8 KiB
NAME
config.json – configuration file for iamb
SYNOPSIS
Configuration must be placed under ~/.config/iamb/ and is named config.json.
Example configuration usually comes bundled with your installation and can typically be found in /usr/share/iamb.
As implied by the filename, the configuration is formatted in JSON. It's structure and fields are described below.
BASIC SETTINGS
These options are primitives at the top-level of the file.
default_profile (type: string)
The default profile to connect to, unless overwritten by a commandline switch. It has to be defined in the PROFILES section.
PROFILES
These options are configured as a map under the profiles name.
user_id (type: string)
The user ID to use when connecting to the server. For example "user" for "@user:matrix.org".
url (type: string)
The URL of the users server. For example "https://matrix.org" for "@user:matrix.org".
settings (type: settings object)
Overwrite general settings for this account. The fields are identical to those in TUNABLES.
layout (type: startup layout object)
Overwrite general settings for this account. The fields are identical to those in STARTUP LAYOUT.
dirs (type: XDG overrides object)
Overwrite general settings for this account. The fields are identical to those in DIRECTORIES.
TUNABLES
These options are configured as a map under the settings key and can be overridden as described in PROFILES.
log_level (type: string)
Specifies the lowest log level that should be shown. Possible values are: trace, debug, info, warn, and error.
message_shortcode_display (type: boolean)
Defines whether or not emoji characters in messages should be replaced by their respective shortcodes.
reaction_display (type: boolean)
Defines whether or not reactions should be shown.
reaction_shortcode_display (type: boolean)
Defines whether or not reactions should be shown as their respective shortcode.
read_receipt_send (type: boolean)
Defines whether or not read confirmations are sent.
read_receipt_display (type: boolean)
Defines whether or not read confirmations are displayed.
request_timeout (type: uint64)
Defines the maximum time per request in seconds.
typing_notice_send (type: boolean)
Defines whether or not the typing state is sent.
typing_notice_display (type: boolean)
Defines whether or not the typing state is displayed.
user (type: map)
Overrides values for the specified user. See USER OVERRIDES for details on the format.
default_room (type: string)
The room to show by default instead of a welcome-screen.
message_user_color (type: boolean)
Defines whether or not the message body is colored like the username.
notifications (type: notifications object)
Configures push-notifications, which are delivered as desktop notifications if available. enabled
true
to enable the feature, defaults tofalse
. show_message to show the message in the desktop notification. Defaults totrue
. Messages are truncated beyond a small length. The notification rules are stored server side, loaded once at startup, and are currently not configurable in iamb. In other words, you can simply change the rules with another client.
image_preview (type: image_preview object)
Enable image previews and configure it. An empty object will enable the feature with default settings, omitting it will disable the feature. size is an optional object with width and height numbers, which are used to set the preview size in characters. Defaults to 66 and 10. protocol is an optional object to override settings that should normally be guessed automatically. protocol.type is an optional string with one of the protocol types: sixel, kitty, halfblocks. protocol.font_size is an optional list of two numbers representing font width and height in pixels.
user_gutter_width (type: usize)
Specify the width of the column where usernames are displayed in a room. Usernames that are too long are truncated.
USER OVERRIDES
Overrides are mapped onto matrix User IDs such as @user:matrix.org and are maps containing the following key value pairs.
name (type: string)
Change the display name of the user.
color (type: string)
Change the color the user is shown as. Possible values are: black, blue, cyan, dark-gray, gray, green, light-blue, light-cyan, light-green, light-magenta, light-red, light-yellow, magenta, none, red, white, yellow
STARTUP LAYOUT
Specifies what initial set of tabs and windows to show when starting the client. Configured as an object under the key layout.
style (type: string)
Specifies what window layout to load when starting. Valid values are restore to restore the layout from the last time the client was exited, new to open a single window (uses the value of default_room if set), or config to open the layout described under tabs.
tabs (type: array of window objects)
If style is set to config, then this value will be used to open a set of tabs and windows at startup. Each object can contain either a window key specifying a username, room identifier or room alias to show, or a split key specifying an array of window objects.
DIRECTORIES
Specifies the directories to save data in. Configured as a map under the key dirs.
cache (type: string)
Specifies where to store assets and temporary data in.
logs (type: string)
Specifies where to store log files.
downloads (type: string)
Specifies where to store downloaded files.
image_previews (type: string)
Specifies where to store automatically downloaded image previews.
SEE ALSO
iamb(1)
Full documentation is available online at <https://iamb.chat>