-
Notifications
You must be signed in to change notification settings - Fork 23
Functionality
Bakkeby edited this page Aug 24, 2024
·
31 revisions
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 |
SnapToGaps | Allows a floating window to snap to the outer gaps of the workspace when moved | 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.
Concepts | Configuration | Features | Flags | Functionality | Functions