2023-06-14 21:14:23 -07:00
|
|
|
|
# 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*.
|
|
|
|
|
|
2023-06-28 23:42:31 -07:00
|
|
|
|
**layout** (type: startup layout object)
|
|
|
|
|
> Overwrite general settings for this account. The fields are identical to
|
|
|
|
|
> those in *STARTUP LAYOUT*.
|
|
|
|
|
|
2023-06-14 21:14:23 -07:00
|
|
|
|
**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_.
|
|
|
|
|
|
2024-03-24 00:35:10 +01:00
|
|
|
|
**message_shortcode_display** (type: boolean)
|
|
|
|
|
> Defines whether or not emoji characters in messages should be replaced by
|
|
|
|
|
> their respective shortcodes.
|
|
|
|
|
|
2023-06-14 21:14:23 -07:00
|
|
|
|
**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.
|
|
|
|
|
|
2024-02-28 06:52:24 +00:00
|
|
|
|
**message_user_color** (type: boolean)
|
|
|
|
|
> Defines whether or not the message body is colored like the username.
|
|
|
|
|
|
2024-03-22 00:46:46 +00:00
|
|
|
|
**notifications** (type: notifications object)
|
2024-03-24 10:19:34 -07:00
|
|
|
|
> Configures push-notifications.
|
2024-03-22 00:46:46 +00:00
|
|
|
|
> *enabled* `true` to enable the feature, defaults to `false`.
|
2024-03-24 10:19:34 -07:00
|
|
|
|
> *via* `"desktop"` to use desktop mechanism (default), or `"bell"` to use
|
|
|
|
|
> terminal bell.
|
2024-03-22 00:46:46 +00:00
|
|
|
|
> *show_message* to show the message in the desktop notification. Defaults
|
|
|
|
|
> to `true`. 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.
|
|
|
|
|
|
2023-11-16 08:36:22 -08:00
|
|
|
|
**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.
|
|
|
|
|
|
2024-03-24 02:54:26 +01:00
|
|
|
|
**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.
|
|
|
|
|
|
2023-06-14 21:14:23 -07:00
|
|
|
|
## 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_
|
|
|
|
|
|
2023-06-28 23:42:31 -07:00
|
|
|
|
# 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.
|
|
|
|
|
|
2023-06-14 21:14:23 -07:00
|
|
|
|
# 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.
|
|
|
|
|
|
2023-11-16 08:36:22 -08:00
|
|
|
|
**image_previews** (type: string)
|
|
|
|
|
> Specifies where to store automatically downloaded image previews.
|
|
|
|
|
|
2023-06-14 21:14:23 -07:00
|
|
|
|
# SEE ALSO
|
|
|
|
|
|
|
|
|
|
*iamb(1)*
|
|
|
|
|
|
|
|
|
|
Full documentation is available online at \<https://iamb.chat\>
|