fields are:
- 'B' - shell type, values [xwayland|xdg-shell]
- 'b' - shell type (short form), values [X|W]
- - 'S' - state of window, values [M|m|F] (3 spaces allocated)
- (maximized, minimized, fullscreen)
- - 's' - state of window (short form), values [M|m|F] (1 space)
+ - 'S' - state of window, values [m|s|M|F] (4 spaces allocated)
+ (minimized, shaded, maximized, fullscreen)
+ - 's' - state of window (short form), values [m|s|M|F] (1 space)
- 'I' - wm-class/app-id
- 'i' - wm-class/app-id trimmed, remove "org." if available
- 'n' - desktop entry/file application name, falls back to
field_set_win_state(struct buf *buf, struct view *view, const char *format)
{
/* custom type conversion-specifier: s */
- if (view->maximized) {
- buf_add(buf, "M");
- } else if (view->minimized) {
+ if (view->minimized) {
buf_add(buf, "m");
+ } else if (view->shaded) {
+ buf_add(buf, "s");
+ } else if (view->maximized) {
+ buf_add(buf, "M");
} else if (view->fullscreen) {
buf_add(buf, "F");
} else {
{
/* custom type conversion-specifier: S */
buf_add(buf, view->minimized ? "m" : " ");
+ buf_add(buf, view->shaded ? "s" : " ");
buf_add(buf, view->maximized ? "M" : " ");
buf_add(buf, view->fullscreen ? "F" : " ");
/* TODO: add always-on-top and omnipresent ? */