Skip to content
Arbinel

Appearance and defaults

Arbinel ships with its own themes and with some defaults that differ from Forgejo. Forgejo’s configuration cheat sheet and interface customization pages describe the other settings in [ui] and [repository].

Setting Arbinel Forgejo Restore Forgejo’s behaviour
Default theme codefloe-tide-auto forgejo-auto [ui] DEFAULT_THEME = forgejo-auto
File icon set devicon Basic file and folder icons [ui] FILE_ICON_SET = basic, see file icons
Pinned issues per repository 6 3 [repository.issue] MAX_PINNED = 3
/issues, /pulls, /notifications Redirect to the inbox Separate pages No setting
Cancel checks from the merge box On for Forgejo Actions Not available No setting, see Cancelling CI

The settings that Arbinel adds, such as PLACEHOLDER_AVATAR and DEFAULT_ALLOWED_MERGE_STYLES, default to Forgejo’s behaviour.

[ui]
DEFAULT_THEME = forgejo-auto
FILE_ICON_SET = basic

[repository.issue]
MAX_PINNED = 3

Arbinel adds two theme families and keeps all Forgejo themes. Each family has an auto variant that follows the visitor’s system setting, and a light and a dark variant.

Theme Name in the theme menu
codefloe-tide-auto CodeFloe Tide (follow system theme)
codefloe-tide-light CodeFloe Tide light
codefloe-tide-dark CodeFloe Tide dark
codefloe-tide-ice-auto CodeFloe Tide Ice (follow system theme)
codefloe-tide-ice-light CodeFloe Tide Ice light
codefloe-tide-ice-dark CodeFloe Tide Ice dark
codefloe-auto CodeFloe (follow system theme)
codefloe-light CodeFloe light
codefloe-dark CodeFloe dark

The Tide family is the default. Tide Ice is a Tide variant with an ice blue accent. The classic codefloe-* themes are the older design with square corners.

The default [ui] THEMES list contains the nine themes above, followed by Forgejo’s forgejo-* and gitea-* themes, including the colour-blind variants. DEFAULT_THEME applies to signed-out visitors, new accounts, and accounts whose stored theme is empty or no longer in THEMES. Accounts that already store a theme keep it, so after switching from Forgejo most existing users still see forgejo-auto until they select another theme.

To offer a shorter list, set THEMES to the themes you want and keep DEFAULT_THEME in that list:

[ui]
DEFAULT_THEME = codefloe-tide-auto
THEMES = codefloe-tide-auto,codefloe-tide-light,codefloe-tide-dark,forgejo-auto,forgejo-light,forgejo-dark

When the active theme starts with codefloe-, Arbinel preloads the Latin subset of the Inter font that these themes use in the page head. The browser then loads the font before it parses the stylesheet, and text does not change font while the page renders. This cannot be configured, and other themes do not preload a font.

Arbinel shows an icon per file type in the repository file list and in the diff file tree. Users choose their set under Settings → Appearance → File icon set.

Value Name in settings Icons
devicon Devicon Language and tool logos from Devicon, served by the instance
material Material Design Material Design file icons
basic Basic Generic file and folder icons, as in Forgejo

[ui] FILE_ICON_SET sets the instance default, which is devicon.

Users, organizations and repositories without an uploaded avatar get a generated placeholder. [picture] PLACEHOLDER_AVATAR sets its style.

Key Default Meaning
PLACEHOLDER_AVATAR identicon identicon is Forgejo’s mirrored block pattern. monogram is the first letter of the name in white on a coloured gradient tile.
[picture]
PLACEHOLDER_AVATAR = monogram

The colour of a monogram stays the same when a user or repository is renamed, and the letter changes to match the new name. If the built-in font cannot draw the script of a name, such as Chinese or Japanese, the monogram shows the gradient without a letter. For an unknown value, Arbinel uses identicon and logs a warning at startup.

Forgejo stores each placeholder once it has generated it. After you change the style, regenerate the stored ones:

forgejo doctor check --run regenerate-avatars --fix

With Gravatar or federated avatars turned on, Arbinel passes the monogram to the provider as the default image. People who have an account at the provider still get their picture from the provider, and everyone else gets a monogram. The provider fetches that image from ROOT_URL, under /avatar-placeholder/, so the instance must be reachable from the internet over HTTP or HTTPS on port 80 or 443. On a private instance, turn the provider off. Otherwise visitors see the provider’s own default image.

A repository can pin up to six issues, shown as compact cards above the issue list.

Key Default Meaning
[repository.issue] MAX_PINNED 6 Maximum pinned issues per repository. 0 turns pinning off. Forgejo’s default is 3.

Lowering the limit does not unpin issues that are already pinned, but users cannot pin more issues until the count drops below the limit.

Forgejo lets you choose which merge style is pre-selected in new repositories, but every new repository allows all merge styles. Arbinel adds a setting for the allowed styles.

Key Default Meaning
[repository.pull-request] DEFAULT_ALLOWED_MERGE_STYLES merge,rebase,rebase-merge,squash,fast-forward-only,manually-merged Comma-separated merge styles that new repositories allow.

For example, to allow only squash merges in new repositories:

[repository.pull-request]
DEFAULT_ALLOWED_MERGE_STYLES = squash
DEFAULT_MERGE_STYLE = squash
  • The setting applies to repositories created after the change, and to repositories that turn on pull requests through the API. Existing repositories keep their settings, and owners can still allow other styles per repository.
  • manually-merged only takes effect when pull requests are turned on through the API. Repositories created in the web interface start with manual merges off, as in Forgejo.
  • Arbinel ignores unknown values and logs a warning. If no valid value is left, every style is allowed.
  • Arbinel logs a warning when DEFAULT_MERGE_STYLE is not in the list, so keep the two settings consistent.