Development Version

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of polybar.

See the stable version of this documentation page instead.

Migrating From Version 3.6 to 3.7

Text Module (custom/text)

Using content to specify the text of the module is deprecated in favor of using the same concepts as all other modules (formats and labels).

For example, the following text module:

type = custom/text
content = Hello World
content-foreground = #ff0000

Should now look like this:

type = custom/text
label = Hello World
label-foreground = #ff0000

Because it is set to its default value, the format setting can also be completely left out.

In general, all properties on content also apply the same on label (e.g. background, font), except for offset, prefix, suffix (and their sub-properties). Those three properties have to instead be applied to format (e.g. format-offset).

System Tray

Polybar version 3.7 introduced the new tray module and deprecated the legacy tray implementation which uses tray-position to position the tray. You should switch over to the tray module as soon as possible.

The legacy tray was configured in the bar section, the setting for the module live in that module's section of the config file. The settings in the bar section don't always directly correspond to an equivalent setting in the module section for the new tray module.

The following lists how each old setting in the bar section should be migrated:


The tray is now positioned as a module and so its positioning is done by placing it where you want it to appear in one of the three module lists modules-left, modules-center, modules-right.


This setting does not have an equivalent, detaching the tray is no longer possible.


The tray-size setting now determines the size of tray icons.


Was already deprecated and does not exist in the tray module. Transparency is enabled automatically if a transparent background is used.


Also exists in the module section (see tray-background). Now, the setting only applies to the icons themselves and no longer to the space around them.


Also exists in the module section with the same functionality (see tray-foreground).

tray-offset-x, tray-offset-y

Has no direct equivalent in the module settings. Horizontally, the tray can be moved in the same way other module content can be moved; by reordering the modules or using things like format-offset, format-margin, or format-padding. The tray can't be moved vertically.

In any case, the tray can no longer be moved outside of the bar window.


Spacing between tray icons works a bit different now and needs to be completely reconfigured (see tray-padding and tray-spacing).


No longer exist. The size of the icons is solely determined by tray-size.