Functionality - bakkeby/dusk GitHub Wiki

The term Functionality in the context of the window manager refers to special features that can be configured on and off globally.

One way to think of them are as optional features.

Functionalities can be chosen by uncommenting or commenting out options for the functionality variable in config.h:

/* See util.h for options */
static uint64_t functionality = 0
//	|AutoReduceNmaster // automatically reduce the number of master clients if one is closed
//	|SmartGaps // enables no gaps if there is only one visible window
//	|SmartGapsMonocle // enforces no (outer) gaps in monocle layout
	|Systray // enables systray
	|Swallow // allows terminals to swallow X applications started from the command line
	|SwallowFloating // means swallow floating windows by default
	|CenteredWindowName // center the window titles on the bar
	...

Most, but not all, functionalites can be enabled, disabled or toggled during runtime using the dusk client:

$ duskc run_command enable SmartGaps  # enables functionality
$ duskc run_command toggle SmartGaps  # toggles functionality on or off
$ duskc run_command disable SmartGaps  # disables functionality

Here is the list of options:

Functionality Description Topic
AltWindowTitles Show alternative window titles for clients, if present Bar
AltWorkspaceIcons Show workspace names instead of icons Bar
BarActiveGroupBorderColor Use border color of the active window group for the bar Bar
BarMasterGroupBorderColor Use border color of the master window group for the bar Bar
BarBorder Draw a border around the bar Bar
BarPadding Enables bar padding (adds space between the monitor edge and bar) Bar
CenteredWindowName Center the window name in the bar Bar
ColorEmoji Enables color emoji support (removes Xft workaround) Bar
FlexWinBorders Use the SchemeFlex* color schemes, falls back to SchemeTitle* if disabled Bar
Status2DNoAlpha Option to not use alpha when drawing status2d text Bar
Systray Enables a systray in the bar Bar
WinTitleIcons Enables icons next to window titles in the bar Bar
StackerIcons Adds stacker keyboard shortcut hints next to window titles in the bar Bar
WorkspaceLabels Adds the class of the primary client next to the workspace icon in the bar Bar
WorkspacePreview Enables preview images to be shown when hovering workspace icons in the bar that has clients Bar
DecorationHints Omit drawing the window border if the applications asks not to EWMH
ResizeHints Respect size hints also when windows are tiled EWMH
FocusFollowMouse Focus reverts to window beneath the mouse cursor rather than the most recently focused window Focus
FocusOnClick Disables sloppy focus and requires mouse click to change focus between windows Focus
FocusOnNetActive Allow windows demanding attention to receive focus automatically Focus
RestrictFocusstackToMonitor Option to restrict focusstack to only operate within the monitor Focus
Warp Warp cursor to currently focused window Focus
SmartGaps Enables no or increased gaps when there is only one visible window Gaps
SmartGapsMonocle Enforces no gaps in monocle layout Gaps
AutoReduceNmaster Automatically reduce the number of master clients if one is closed Layout
CenterSizeHintsClients Center tiled clients subject to size hints within their tiled area Layout
SmartLayoutConvertion Automatically adjust layout based on monitor orientation when moving a workspace from one monitor to another Layout
SortScreens Monitors are numbered from left to right Monitor
AutoHideScratchpads Automatically hide open scratchpads when moving to another workspace Scratchpads
RioDrawIncludeBorders Indicates that the area drawn using slop includes the window borders Spawn
RioDrawSpawnAsync Spawn the application alongside rather than after drawing area using slop Spawn
SpawnCwd Spawn applications in the currently selected client's working directory Spawn
Swallow Enables window swallowing Swallow
SwallowFloating Allows floating windows to swallow by default Swallow
AllowNoModifierButtons Allow some window operations, like move and resize, to work without having to hold down a modifier key Window
FocusedOnTop Allows focused window to stay on top of other windows Window
NoBorders Show no window border when only one client is shown Window
SnapToWindows Allows a floating window to snap to other floating windows when moved Window
ViewOnWs Follow a window to the workspace it is being moved to Workspaces
GreedyMonitor Disables swap of workspaces between monitors Workspaces
Xresources Add support for changing colours via Xresources Xresources
BanishMouseCursor Like xban, hides mouse cursor when using the keyboard System
BanishMouseCursorToCorner Like xbanish, hides mouse cursor when using the keyboard System
Debug Enables additional debug output System

Back to Features.

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