Skip to content

Status bar customisation

Setting the status

Setting the status in instantWM works the same as for dwm.

xsetroot -name "status text"

instantOS ships with its own status text generator. If you want to set your own status text you first need to disable the built in solution. This can be done in Settings->instantOS->Status bar

Note

Planned status bar program

It is planned to create a statusbar similar to dwmblocks that can run different status scripts at different intervals and then generates a complete status text that can be used by the window manager. It will however not be based on dwmblocks and will have a lot more features. dwmblocks is not used because it lacks some crucial features to make it work with the featureset of instantWM

Runtime configuration

Customizing the status bar will not require recompiling it. Instead it will have a config file using the toml format

Markup

The status bar will automatically add markup to status widgets to separate them from each other. Widgets can however also communicate with the bar to for example change their color on runtime.

Validation

The markup parser currently in use in instantWM will crash the entire window manager if there is an error in the markup syntax. The planned status bar will perform validation on all config and status text so it is impossible to configure it in a way that will crash the window manager.

Rust

Following imosid this will be the second instantOS project written in rust

Progress

At the moment this is all just plans, no code for the status bar has been written yet as development is still focussed on making the operating system more stable before piling on even more features

Styling

The appearance of text in the status bar can be changed by using special markup syntax. The markup parser of instantWM is based on the status-2d patch for dwm.

All Markup commands have the following format

^commandnamecommandargument^

They have a "\^" as suffix and prefix. The opening caret is immediatly followed by the command name which is then (without a separator) followed by the argument.

Colors

^c#ff0000^ this text have a red background ^d^ this text will have the default background color
^t#ff0000^ this text have a red foreground ^d^ this text will have the default background color

Offsets

^f11^there will be an 11px gap in front of this text

Reset

^d^text after this is reset to the default styling

Icons

// TODO

Clickable applets

// TODO

Note

This feature is not just lacking documentation There is just a very early implementation of this in the window manager that at the moment is not remotely ready for use