Skip to content

Bar Indicators

Bakkeby edited this page Aug 26, 2024 · 7 revisions

Bar indicators are used to highlight workspace icons or window titles that are in specific states.

Indicators

Here is a preview of the built-in indicators.

Indicator Preview
INDICATOR_NONE INDICATOR_NONE
INDICATOR_TOP_LEFT_SQUARE INDICATOR_TOP_LEFT_SQUARE
INDICATOR_TOP_LEFT_LARGER_SQUARE INDICATOR_TOP_LEFT_LARGER_SQUARE
INDICATOR_TOP_RIGHT_TRIANGLE INDICATOR_TOP_RIGHT_TRIANGLE
INDICATOR_TOP_RIGHT_PIN INDICATOR_TOP_RIGHT_PIN
INDICATOR_TOP_BAR INDICATOR_TOP_BAR
INDICATOR_TOP_BAR_SLIM INDICATOR_TOP_BAR_SLIM
INDICATOR_TOP_CENTERED_DOT INDICATOR_TOP_CENTERED_DOT
INDICATOR_BOTTOM_BAR INDICATOR_BOTTOM_BAR
INDICATOR_BOTTOM_BAR_SLIM INDICATOR_BOTTOM_BAR_SLIM
INDICATOR_BOTTOM_BAR_SLIM_DOTS INDICATOR_BOTTOM_BAR_SLIM_DOTS
INDICATOR_BOTTOM_CENTERED_DOT INDICATOR_BOTTOM_CENTERED_DOT
INDICATOR_BOX INDICATOR_BOX
INDICATOR_BOX_WIDER INDICATOR_BOX_WIDER
INDICATOR_BOX_FULL INDICATOR_BOX_FULL
INDICATOR_CLIENT_DOTS INDICATOR_CLIENT_DOTS
INDICATOR_PLUS INDICATOR_PLUS
INDICATOR_PLUS_AND_SQUARE INDICATOR_PLUS_AND_SQUARE
INDICATOR_PLUS_AND_LARGER_SQUARE INDICATOR_PLUS_AND_LARGER_SQUARE

Some indicators are naturally intended to be displayed on workspace icons rather than on window titles and vice versa, but there is nothing preventing you to mix and match as you want.

Some indicators may also be intended for specific combinations, for example the two dots from the INDICATOR_BOTTOM_BAR_SLIM_DOTS are intended as pinned indicator and to be combined with INDICATOR_BOTTOM_BAR_SLIM showing that the workspace has clients.

If the workspace is both pinned and has clients then this combines to a lying square bracket (vertical right square bracket).

The INDICATOR_CLIENT_DOTS indicator is specifically meant for workspace icons and shows a dot for every visible client on a workspace with a longer line for the selected client.

Refer to lib/bar_indicators.h for a complete list of the available indicators.

Custom 2d indicators

These are indicators that are drawn using the status2d markup language instead of using built-in and hardcoded draw logic.

This is computationally more expensive, but the benefit is that you can use colours for your indicators should you need it.

Here is a preview of the example indicators using this mechanism.

Indicator Preview
INDICATOR_CUSTOM_1 INDICATOR_CUSTOM_1
INDICATOR_CUSTOM_2 INDICATOR_CUSTOM_2
INDICATOR_CUSTOM_3 INDICATOR_CUSTOM_3
INDICATOR_CUSTOM_4 INDICATOR_CUSTOM_4
INDICATOR_CUSTOM_5 INDICATOR_CUSTOM_5
INDICATOR_CUSTOM_6 INDICATOR_CUSTOM_6

These indicators can be customised via the custom_2d_indicator_# config items in config.h.

Workspaces

For workspaces the following types of indicators may be used.

These are:

  • IndicatorWsOcc - indicator when the workspace is occupied by clients
  • IndicatorWsSel - indicator when the workspace is selected
  • IndicatorWsVis - indicator when the workspace is visible, but not selected
  • IndicatorWsNorm - indicator when the workspace is not visible
  • IndicatorPinnedWs - indicator highlighting that the workspace is pinned

Refer to the above settings in config.h.

Window titles

For window titles there are several states where indicators may be used.

These are:

  • IndicatorFakeFullScreen - indicator highlighting that the window is available for fake fullscreen
  • IndicatorFakeFullScreenActive - indicator highlighting that the window is in fake fullscreen
  • IndicatorFloatFakeFullScreen - indicator highlighting that the window is floating and is available for fake fullscreen
  • IndicatorFloatFakeFullScreenActive - - indicator highlighting that the window is floating and is in fake fullscreen
  • IndicatorFloating - indicator highlighting that the window is floating
  • IndicatorTiled - indicator highlighting that the window is tiled

Refer to the above settings in config.h.


Back to Bar.

Clone this wiki locally