Hidden - bakkeby/dusk GitHub Wiki

A client that is Hidden is in a special "state" which means that it is not to be displayed along with other client on the same workspace.

This is primarily a flag that is used internally within the window manager, but the flag can also be set via client rules if the intention is that the window should start as hidden.

In terms of dwm the awesomebar patch introduces support for hidden windows and allows users to hide and unhide windows by left clicking on the window title in the bar.

That patch took advantage of the X window state of IconicState to hide windows and this had a few minor side effect such as not being able to actually focus on hidden windows using keyboard shortcuts (e.g. one could get dwm to select the hidden window, but the last terminal that had focus would still have an active cursor).

To work around this and other few nitpicks the implementation within this window manager is different in that hidden windows are simply moved out of view in the same way windows on inactive workspaces are moved out of view. A hidden client is considered as not being visible.

Notable features:

  • a client window can be hidden using the showhideclient function with the default keybinding of Super+z
  • a hidden client that has focus can be unhidden using the same keybinding
  • it is possible to focus on hidden clients by passing +/-2 to the focusstack function (Super+Alt+Shift+j and Super+Alt+Shift+k by default)
  • a client window can be hidden by right-clicking on the window title in the bar using the mouse
  • a hidden client can be shown by right-clicking on the window title in the bar using the mouse
  • a hidden client that receives a _NET_ACTIVE_WINDOW client message will automatically be shown
  • if a client window receives a WM_CHANGE_STATE client message and the new state is IconicState then the window will be hidden
  • if a hidden client receives a WM_CHANGE_STATE client message and the new state is NormalState then the window will be shown
  • a scratchpad client that is hidden is shown if the scratchpad is toggled

The window titles for hidden clients are by default show separately in a secondary bar at the bottom of the screen. If you prefer to show hidden windows in the main bar along other windows then you can set the weight of hidden windows to 1.

static int flexwintitle_hiddenweight = 0;  // hidden window title weight

See flexwintitle for more details.

Back to Features > Flags.

⚠️ **GitHub.com Fallback** ⚠️