4.8 Option for box buttons

Brief: Control the style of buttons in the Custom UI and related.

Symbol: modus-themes-box-buttons (‘choice’ type, list of properties)

Possible values are expressed as a list of properties (default is nil or an empty list). The list can include any of the following symbols:

The default (a nil value or an empty list) is a gray background combined with a pseudo three-dimensional effect.

The flat property makes the button two dimensional.

The accented property changes the background from gray to an accent color.

The faint property reduces the overall coloration.

The variable-pitch property applies a proportionately spaced typeface to the button~s text.

Font configurations for Org and others.

The underline property draws a line below the affected text and removes whatever box effect. This is optimal when Emacs runs inside a terminal emulator (More accurate colors in terminal emulators). If flat and underline are defined together, the latter takes precedence.

The symbol of a weight attribute adjusts the font of the button accordingly, such as light, semibold, etc. Valid symbols are defined in the variable modus-themes-weights.

Configure bold and italic faces.

A number, expressed as a floating point (e.g. ‘0.9’), adjusts the height of the button’s text to that many times the base font size. The default height is the same as ‘1.0’, though it need not be explicitly stated. Instead of a floating point, an acceptable value can be in the form of a cons cell like ‘(height . FLOAT)’ or ‘(height FLOAT)’, where FLOAT is the given number.

The all-buttons property extends the box button effect (or the aforementioned properties) to the faces of the generic widget library. By default, those do not look like the buttons of the Custom UI as they are ordinary text wrapped in square brackets.

Combinations of any of those properties are expressed as a list, like in these examples:

(flat)
(variable-pitch flat)
(variable-pitch flat semibold 0.9)
(variable-pitch flat semibold (height 0.9)) ; same as above
(variable-pitch flat semibold (height . 0.9)) ; same as above

The order in which the properties are set is not significant.

In user configuration files the form may look like this:

(setq modus-themes-box-buttons '(variable-pitch flat 0.9))