MELI-THEMES(5)

NAME
meli-themes - themes for the meli(1) terminal e-mail client

SYNOPSIS
meli comes with two themes, dark (default) and light.

Custom themes are defined as lists of key-values in the configuration files:
$XDG_CONFIG_HOME/meli/config.toml
$XDG_CONFIG_HOME/meli/themes/*.toml

The application theme is defined in the configuration as follows:

    [terminal]
    theme = "dark"

DESCRIPTION
Themes for meli are described in the configuration language TOML, as they are key-value tables defined in the TERMINAL section of the configuration file. Each key defines the semantic location of the theme attribute within the application. For example, mail.listing.compact.* keys are settings for the compact mail listing style. A setting contains three fields: fg for foreground color, bg for background color, and attrs for text attribute.

    "widget.key.label" = { fg = "Default", bg = "Default", attrs = "Default" }

Each field contains a value, which may be either a color/attribute, a link (key name) or a valid alias. An alias is a string starting with the "$" character and must be declared in advance in the color_aliases or attr_aliases fields of a theme. An alias' value can be any valid value, including links and other aliases, as long as they are valid. In the case of a link the setting's real value depends on the value of the referred key. This allows for defaults within a group of associated values. Cyclic references in a theme results in an error:

    spooky theme contains a cycle: fg: mail.listing.compact.even -> mail.listing.compact.highlighted -> mail.listing.compact.odd -> mail.listing.compact.even

Two themes are included by default, ‘light’ and ‘dark’ .

EXAMPLES
Specific settings from already defined themes can be overwritten:

    [terminal]
    theme = "dark"

    [terminal.themes.dark]
    "mail.sidebar_highlighted_account" = { bg = "#ff4529" }
    "mail.listing.attachment_flag" = { fg = "#ff4529" }
    "mail.view.headers" = { fg = "30" }
    "mail.view.body" = {fg = "HotPink3", bg = "LightSalmon1"}
    # Linked value keys can be whatever key:
    "mail.listing.compact.even_unseen" = { bg = "mail.sidebar_highlighted_account" }
    # Linked color value keys can optionally refer to another field:
    "mail.listing.compact.odd_unseen" = { bg = "mail.sidebar_highlighted_account.fg" }

    # define new theme. Undefined settings will inherit from the default "dark" theme.
    [terminal.themes."hunter2"]
    color_aliases= { "Jebediah" = "#b4da55" }
    "mail.listing.tag_default" = { fg = "$Jebediah" }
    "mail.view.headers" = { fg = "White", bg = "Black" }

CUSTOM THEMES
Custom themes can be included in your configuration files or be saved independently in your $XDG_CONFIG_HOME/meli/themes/ directory as TOML files. To start creating a theme right away, you can begin by editing the default theme keys and values:

    meli print-default-theme > ~/.config/meli/themes/new_theme.toml

new_theme.toml will now include all keys and values of the "dark" theme.

    meli print-loaded-themes

will print all loaded themes with the links resolved.

VALID ATTRIBUTE VALUES
Case-sensitive.
-   "Default"
-   "Bold"
-   "Dim"
-   "Italics"
-   "Underline"
-   "Undercurl"
-   "Blink"
-   "Reverse"
-   "Hidden"
-   Any combo of the above separated by a bitwise XOR "|" eg "Dim | Italics"

VALID COLOR VALUES
Color values are of type String with the following valid contents:
-   "Default" is the terminal default. (Case-sensitive)
-   Hex triplet e.g. #FFFFFF for RGB colors. Three character shorthand is also valid, e.g. #09c → #0099cc (Case-insensitive)
-   0-255 byte for 256 colors.
-   xterm(1) name but with some modifications (for a full table see COLOR NAMES addendum) (Case-sensitive)

NO COLOR
To completely disable ANSI colors, there are two options:
-   Set the use_color option (section terminal ) to false, which is true by default.
-   The NO_COLOR environmental variable, when present (regardless of its value), prevents the addition of ANSI color. When the configuration value use_color is explicitly set to true by the user, NO_COLOR is ignored.

In this mode, cursor locations (i.e., currently selected entries/items) will use the ‘reverse video’ ANSI attribute to invert the terminal's default foreground/background colors.

VALID KEYS
-   theme_default
-   error_message
-   highlight
-   status.bar
-   status.command_bar
-   status.history
-   status.history.hints
-   status.notification
-   tab.focused
-   tab.unfocused
-   tab.bar
-   widgets.list.header
-   widgets.form.label
-   widgets.form.field
-   widgets.form.highlighted
-   widgets.options.highlighted
-   mail.sidebar
-   mail.sidebar_divider
-   mail.sidebar_unread_count
-   mail.sidebar_index
-   mail.sidebar_highlighted
-   mail.sidebar_highlighted_unread_count
-   mail.sidebar_highlighted_index
-   mail.sidebar_highlighted_account
-   mail.sidebar_highlighted_account_unread_count
-   mail.sidebar_highlighted_account_index
-   mail.listing.compact.even
-   mail.listing.compact.odd
-   mail.listing.compact.even_unseen
-   mail.listing.compact.odd_unseen
-   mail.listing.compact.even_selected
-   mail.listing.compact.odd_selected
-   mail.listing.compact.even_highlighted
-   mail.listing.compact.odd_highlighted
-   mail.listing.compact.even_highlighted_selected
-   mail.listing.compact.odd_highlighted_selected
-   mail.listing.plain.even
-   mail.listing.plain.odd
-   mail.listing.plain.even_unseen
-   mail.listing.plain.odd_unseen
-   mail.listing.plain.even_selected
-   mail.listing.plain.odd_selected
-   mail.listing.plain.even_highlighted
-   mail.listing.plain.odd_highlighted
-   mail.listing.plain.even_highlighted_selected
-   mail.listing.plain.odd_highlighted_selected
-   mail.listing.conversations
-   mail.listing.conversations.subject
-   mail.listing.conversations.from
-   mail.listing.conversations.date
-   mail.listing.conversations.unseen
-   mail.listing.conversations.highlighted
-   mail.listing.conversations.selected
-   mail.listing.conversations.highlighted_selected
-   mail.view.headers
-   mail.view.headers_names
-   mail.view.headers_area
-   mail.view.body
-   mail.view.thread.indentation.a
-   mail.view.thread.indentation.b
-   mail.view.thread.indentation.c
-   mail.view.thread.indentation.d
-   mail.view.thread.indentation.e
-   mail.view.thread.indentation.f
-   mail.listing.attachment_flag
-   mail.listing.thread_snooze_flag
-   mail.listing.tag_default
-   pager.highlight_search
-   pager.highlight_search_current

COLOR NAMES
name ↓ | byte |  | name | byte ↓
Aqua | 14 |  | Black | 0
Aquamarine1 | 122 |  | Maroon | 1
Aquamarine2 | 86 |  | Green | 2
Aquamarine3 | 79 |  | Olive | 3
Black | 0 |  | Navy | 4
Blue | 12 |  | Purple1 | 5
Blue1 | 21 |  | Teal | 6
Blue2 | 19 |  | Silver | 7
Blue3 | 20 |  | Grey | 8
BlueViolet | 57 |  | Red | 9
CadetBlue | 72 |  | Lime | 10
CadetBlue1 | 73 |  | Yellow | 11
Chartreuse1 | 118 |  | Blue | 12
Chartreuse2 | 112 |  | Fuchsia | 13
Chartreuse3 | 82 |  | Aqua | 14
Chartreuse4 | 70 |  | White | 15
Chartreuse5 | 76 |  | Grey0 | 16
Chartreuse6 | 64 |  | NavyBlue | 17
CornflowerBlue | 69 |  | DarkBlue | 18
Cornsilk1 | 230 |  | Blue2 | 19
Cyan1 | 51 |  | Blue3 | 20
Cyan2 | 50 |  | Blue1 | 21
Cyan3 | 43 |  | DarkGreen | 22
DarkBlue | 18 |  | DeepSkyBlue5 | 23
DarkCyan | 36 |  | DeepSkyBlue6 | 24
DarkGoldenrod | 136 |  | DeepSkyBlue7 | 25
DarkGreen | 22 |  | DodgerBlue3 | 26
DarkKhaki | 143 |  | DodgerBlue2 | 27
DarkMagenta | 90 |  | Green4 | 28
DarkMagenta1 | 91 |  | SpringGreen6 | 29
name ↓ | byte |  | name | byte ↓
DarkOliveGreen1 | 192 |  | Turquoise4 | 30
DarkOliveGreen2 | 155 |  | DeepSkyBlue3 | 31
DarkOliveGreen3 | 191 |  | DeepSkyBlue4 | 32
DarkOliveGreen4 | 107 |  | DodgerBlue1 | 33
DarkOliveGreen5 | 113 |  | Green2 | 34
DarkOliveGreen6 | 149 |  | SpringGreen4 | 35
DarkOrange | 208 |  | DarkCyan | 36
DarkOrange2 | 130 |  | LightSeaGreen | 37
DarkOrange3 | 166 |  | DeepSkyBlue2 | 38
DarkRed | 52 |  | DeepSkyBlue1 | 39
DarkRed2 | 88 |  | Green3 | 40
DarkSeaGreen | 108 |  | SpringGreen5 | 41
DarkSeaGreen1 | 158 |  | SpringGreen2 | 42
DarkSeaGreen2 | 193 |  | Cyan3 | 43
DarkSeaGreen3 | 151 |  | DarkTurquoise | 44
DarkSeaGreen4 | 157 |  | Turquoise2 | 45
DarkSeaGreen5 | 115 |  | Green1 | 46
DarkSeaGreen6 | 150 |  | SpringGreen3 | 47
DarkSeaGreen7 | 65 |  | SpringGreen1 | 48
DarkSeaGreen8 | 71 |  | MediumSpringGreen | 49
DarkSlateGray1 | 123 |  | Cyan2 | 50
DarkSlateGray2 | 87 |  | Cyan1 | 51
DarkSlateGray3 | 116 |  | DarkRed | 52
DarkTurquoise | 44 |  | DeepPink8 | 53
DarkViolet | 128 |  | Purple4 | 54
DarkViolet1 | 92 |  | Purple5 | 55
DeepPink1 | 199 |  | Purple3 | 56
DeepPink2 | 197 |  | BlueViolet | 57
DeepPink3 | 198 |  | Orange3 | 58
DeepPink4 | 125 |  | Grey37 | 59
name ↓ | byte |  | name | byte ↓
DeepPink6 | 162 |  | MediumPurple6 | 60
DeepPink7 | 89 |  | SlateBlue2 | 61
DeepPink8 | 53 |  | SlateBlue3 | 62
DeepPink9 | 161 |  | RoyalBlue1 | 63
DeepSkyBlue1 | 39 |  | Chartreuse6 | 64
DeepSkyBlue2 | 38 |  | DarkSeaGreen7 | 65
DeepSkyBlue3 | 31 |  | PaleTurquoise4 | 66
DeepSkyBlue4 | 32 |  | SteelBlue | 67
DeepSkyBlue5 | 23 |  | SteelBlue3 | 68
DeepSkyBlue6 | 24 |  | CornflowerBlue | 69
DeepSkyBlue7 | 25 |  | Chartreuse4 | 70
DodgerBlue1 | 33 |  | DarkSeaGreen8 | 71
DodgerBlue2 | 27 |  | CadetBlue | 72
DodgerBlue3 | 26 |  | CadetBlue1 | 73
Fuchsia | 13 |  | SkyBlue3 | 74
Gold1 | 220 |  | SteelBlue1 | 75
Gold2 | 142 |  | Chartreuse5 | 76
Gold3 | 178 |  | PaleGreen4 | 77
Green | 2 |  | SeaGreen4 | 78
Green1 | 46 |  | Aquamarine3 | 79
Green2 | 34 |  | MediumTurquoise | 80
Green3 | 40 |  | SteelBlue2 | 81
Green4 | 28 |  | Chartreuse3 | 82
GreenYellow | 154 |  | SeaGreen3 | 83
Grey | 8 |  | SeaGreen1 | 84
Grey0 | 16 |  | SeaGreen2 | 85
Grey100 | 231 |  | Aquamarine2 | 86
Grey11 | 234 |  | DarkSlateGray2 | 87
Grey15 | 235 |  | DarkRed2 | 88
Grey19 | 236 |  | DeepPink7 | 89
name ↓ | byte |  | name | byte ↓
Grey23 | 237 |  | DarkMagenta | 90
Grey27 | 238 |  | DarkMagenta1 | 91
Grey3 | 232 |  | DarkViolet1 | 92
Grey30 | 239 |  | Purple2 | 93
Grey35 | 240 |  | Orange4 | 94
Grey37 | 59 |  | LightPink3 | 95
Grey39 | 241 |  | Plum4 | 96
Grey42 | 242 |  | MediumPurple4 | 97
Grey46 | 243 |  | MediumPurple5 | 98
Grey50 | 244 |  | SlateBlue1 | 99
Grey53 | 102 |  | Yellow4 | 100
Grey54 | 245 |  | Wheat4 | 101
Grey58 | 246 |  | Grey53 | 102
Grey62 | 247 |  | LightSlateGrey | 103
Grey63 | 139 |  | MediumPurple | 104
Grey66 | 248 |  | LightSlateBlue | 105
Grey69 | 145 |  | Yellow5 | 106
Grey7 | 233 |  | DarkOliveGreen4 | 107
Grey70 | 249 |  | DarkSeaGreen | 108
Grey74 | 250 |  | LightSkyBlue2 | 109
Grey78 | 251 |  | LightSkyBlue3 | 110
Grey82 | 252 |  | SkyBlue2 | 111
Grey84 | 188 |  | Chartreuse2 | 112
Grey85 | 253 |  | DarkOliveGreen5 | 113
Grey89 | 254 |  | PaleGreen3 | 114
Grey93 | 255 |  | DarkSeaGreen5 | 115
Honeydew2 | 194 |  | DarkSlateGray3 | 116
HotPink | 205 |  | SkyBlue1 | 117
HotPink1 | 206 |  | Chartreuse1 | 118
HotPink2 | 169 |  | LightGreen | 119
name ↓ | byte |  | name | byte ↓
HotPink3 | 132 |  | LightGreen1 | 120
HotPink4 | 168 |  | PaleGreen1 | 121
IndianRed | 131 |  | Aquamarine1 | 122
IndianRed1 | 167 |  | DarkSlateGray1 | 123
IndianRed2 | 204 |  | Red2 | 124
IndianRed3 | 203 |  | DeepPink4 | 125
Khaki1 | 228 |  | MediumVioletRed | 126
Khaki3 | 185 |  | Magenta4 | 127
LightCoral | 210 |  | DarkViolet | 128
LightCyan2 | 195 |  | Purple | 129
LightCyan3 | 152 |  | DarkOrange2 | 130
LightGoldenrod1 | 227 |  | IndianRed | 131
LightGoldenrod2 | 222 |  | HotPink3 | 132
LightGoldenrod3 | 179 |  | MediumOrchid3 | 133
LightGoldenrod4 | 221 |  | MediumOrchid | 134
LightGoldenrod5 | 186 |  | MediumPurple2 | 135
LightGreen | 119 |  | DarkGoldenrod | 136
LightGreen1 | 120 |  | LightSalmon2 | 137
LightPink1 | 217 |  | RosyBrown | 138
LightPink2 | 174 |  | Grey63 | 139
LightPink3 | 95 |  | MediumPurple3 | 140
LightSalmon1 | 216 |  | MediumPurple1 | 141
LightSalmon2 | 137 |  | Gold2 | 142
LightSalmon3 | 173 |  | DarkKhaki | 143
LightSeaGreen | 37 |  | NavajoWhite3 | 144
LightSkyBlue1 | 153 |  | Grey69 | 145
LightSkyBlue2 | 109 |  | LightSteelBlue3 | 146
LightSkyBlue3 | 110 |  | LightSteelBlue | 147
LightSlateBlue | 105 |  | Yellow6 | 148
LightSlateGrey | 103 |  | DarkOliveGreen6 | 149
name ↓ | byte |  | name | byte ↓
LightSteelBlue | 147 |  | DarkSeaGreen6 | 150
LightSteelBlue1 | 189 |  | DarkSeaGreen3 | 151
LightSteelBlue3 | 146 |  | LightCyan3 | 152
LightYellow3 | 187 |  | LightSkyBlue1 | 153
Lime | 10 |  | GreenYellow | 154
Magenta1 | 201 |  | DarkOliveGreen2 | 155
Magenta2 | 165 |  | PaleGreen2 | 156
Magenta3 | 200 |  | DarkSeaGreen4 | 157
Magenta4 | 127 |  | DarkSeaGreen1 | 158
Magenta5 | 163 |  | PaleTurquoise1 | 159
Magenta6 | 164 |  | Red3 | 160
Maroon | 1 |  | DeepPink9 | 161
MediumOrchid | 134 |  | DeepPink6 | 162
MediumOrchid1 | 171 |  | Magenta5 | 163
MediumOrchid2 | 207 |  | Magenta6 | 164
MediumOrchid3 | 133 |  | Magenta2 | 165
MediumPurple | 104 |  | DarkOrange3 | 166
MediumPurple1 | 141 |  | IndianRed1 | 167
MediumPurple2 | 135 |  | HotPink4 | 168
MediumPurple3 | 140 |  | HotPink2 | 169
MediumPurple4 | 97 |  | Orchid | 170
MediumPurple5 | 98 |  | MediumOrchid1 | 171
MediumPurple6 | 60 |  | Orange2 | 172
MediumSpringGreen | 49 |  | LightSalmon3 | 173
MediumTurquoise | 80 |  | LightPink2 | 174
MediumVioletRed | 126 |  | Pink3 | 175
MistyRose1 | 224 |  | Plum3 | 176
MistyRose3 | 181 |  | Violet | 177
NavajoWhite1 | 223 |  | Gold3 | 178
NavajoWhite3 | 144 |  | LightGoldenrod3 | 179
name ↓ | byte |  | name | byte ↓
Navy | 4 |  | Tan | 180
NavyBlue | 17 |  | MistyRose3 | 181
Olive | 3 |  | Thistle3 | 182
Orange1 | 214 |  | Plum2 | 183
Orange2 | 172 |  | Yellow3 | 184
Orange3 | 58 |  | Khaki3 | 185
Orange4 | 94 |  | LightGoldenrod5 | 186
OrangeRed1 | 202 |  | LightYellow3 | 187
Orchid | 170 |  | Grey84 | 188
Orchid1 | 213 |  | LightSteelBlue1 | 189
Orchid2 | 212 |  | Yellow2 | 190
PaleGreen1 | 121 |  | DarkOliveGreen3 | 191
PaleGreen2 | 156 |  | DarkOliveGreen1 | 192
PaleGreen3 | 114 |  | DarkSeaGreen2 | 193
PaleGreen4 | 77 |  | Honeydew2 | 194
PaleTurquoise1 | 159 |  | LightCyan2 | 195
PaleTurquoise4 | 66 |  | Red1 | 196
PaleVioletRed1 | 211 |  | DeepPink2 | 197
Pink1 | 218 |  | DeepPink3 | 198
Pink3 | 175 |  | DeepPink1 | 199
Plum1 | 219 |  | Magenta3 | 200
Plum2 | 183 |  | Magenta1 | 201
Plum3 | 176 |  | OrangeRed1 | 202
Plum4 | 96 |  | IndianRed3 | 203
Purple | 129 |  | IndianRed2 | 204
Purple1 | 5 |  | HotPink | 205
Purple2 | 93 |  | HotPink1 | 206
Purple3 | 56 |  | MediumOrchid2 | 207
Purple4 | 54 |  | DarkOrange | 208
Purple5 | 55 |  | Salmon1 | 209
name ↓ | byte |  | name | byte ↓
Red | 9 |  | LightCoral | 210
Red1 | 196 |  | PaleVioletRed1 | 211
Red2 | 124 |  | Orchid2 | 212
Red3 | 160 |  | Orchid1 | 213
RosyBrown | 138 |  | Orange1 | 214
RoyalBlue1 | 63 |  | SandyBrown | 215
Salmon1 | 209 |  | LightSalmon1 | 216
SandyBrown | 215 |  | LightPink1 | 217
SeaGreen1 | 84 |  | Pink1 | 218
SeaGreen2 | 85 |  | Plum1 | 219
SeaGreen3 | 83 |  | Gold1 | 220
SeaGreen4 | 78 |  | LightGoldenrod4 | 221
Silver | 7 |  | LightGoldenrod2 | 222
SkyBlue1 | 117 |  | NavajoWhite1 | 223
SkyBlue2 | 111 |  | MistyRose1 | 224
SkyBlue3 | 74 |  | Thistle1 | 225
SlateBlue1 | 99 |  | Yellow1 | 226
SlateBlue2 | 61 |  | LightGoldenrod1 | 227
SlateBlue3 | 62 |  | Khaki1 | 228
SpringGreen1 | 48 |  | Wheat1 | 229
SpringGreen2 | 42 |  | Cornsilk1 | 230
SpringGreen3 | 47 |  | Grey100 | 231
SpringGreen4 | 35 |  | Grey3 | 232
SpringGreen5 | 41 |  | Grey7 | 233
SpringGreen6 | 29 |  | Grey11 | 234
SteelBlue | 67 |  | Grey15 | 235
SteelBlue1 | 75 |  | Grey19 | 236
SteelBlue2 | 81 |  | Grey23 | 237
SteelBlue3 | 68 |  | Grey27 | 238
Tan | 180 |  | Grey30 | 239
name ↓ | byte |  | name | byte ↓
Teal | 6 |  | Grey35 | 240
Thistle1 | 225 |  | Grey39 | 241
Thistle3 | 182 |  | Grey42 | 242
Turquoise2 | 45 |  | Grey46 | 243
Turquoise4 | 30 |  | Grey50 | 244
Violet | 177 |  | Grey54 | 245
Wheat1 | 229 |  | Grey58 | 246
Wheat4 | 101 |  | Grey62 | 247
White | 15 |  | Grey66 | 248
Yellow | 11 |  | Grey70 | 249
Yellow1 | 226 |  | Grey74 | 250
Yellow2 | 190 |  | Grey78 | 251
Yellow3 | 184 |  | Grey82 | 252
Yellow4 | 100 |  | Grey85 | 253
Yellow5 | 106 |  | Grey89 | 254
Yellow6 | 148 |  | Grey93 | 255

SEE ALSO
meli(1), meli.conf(5)

STANDARDS
TOML Standard v.0.5.0: https://toml.io/en/v0.5.0
NO_COLOR: disabling ANSI color output by default: https://no-color.org/

AUTHORS
Copyright 2017–2024 Manos Pitsidianakis <manos@pitsidianak.is>

Released under the GPL, version 3 or greater. This software carries no warranty of any kind. ( See COPYING for full copyright and warranty notices.)

  Links
Website: https://meli-email.org
Main git repository and issue tracker: https://git.meli-email.org/meli/meli
Official read-only git mirror on codeberg.org: https://codeberg.org/meli/meli
Official read-only git mirror on github.com: https://github.com/meli/meli
meli crate on crates.io: https://crates.io/crates/meli