Skip to content

Functions

Bakkeby edited this page Sep 9, 2024 · 80 revisions

The term Function in the context of the window manager refers to features that can be triggered via keybindings or via external commands.

One way to think of them are as actionable features.

Not all functions have default keybindings, but these can be added in the keys section of the config.h file if need be. Alternatively such functions can be called by external commands.

Not all functions can be called by external commands, but for functions where this is supported they are generally triggered with the run_command subcommand like this:

$ duskc run_command <function> <?arg?>

where the presence of an argument and the value passed depends on the function.

The command will return an error if there is anything wrong with the function name or the argument passed.

If the command returns {"result":"success"} then this means that the function was called, but ultimately this does not in any way suggest that the evaluation of the function had a positive outcome.

The output of the command can be silenced with the --ignore-reply flag.

Topic Function Description
Attach setattachdefault Changes the default attach method for new client windows
Bar focuswin Allows focusing on clients by left-clicking window titles in the bar
Bar hidebar Combines with showbar to hide the bar when a key combination is released
Bar setstatus Used externally to set custom statuses
Bar showbar Combines with hidebar to temporarily show a bar while a key combination is held down
Bar statusclick Handles button clicks for statuses on the bar
Bar togglebar Toggles the display of the bar on and off for the current monitor
Bar togglebarpadding Helper function to toggle the bar padding on and off
Bar togglecompact Helper function to toggle compact view on and off
Flags toggleclientflag Manually toggle client flags for testing purposes
Floating floatpos Used to control the size and position of floating windows
Floating maximize Maximize a window in the window area
Floating maximizevert Maximize a window vertically in the window area
Floating maximizehorz Maximize a window horizontally in the window area
Floating movemouse Move floating windows around using the mouse
Floating moveorplace Move or place the window depending on whether it is floating or not
Floating resizemouse Change the size of floating windows using the mouse
Floating resizeorcfacts Resize the window depending on whether it if floating or not
Floating rioresize Resize the current window using slop
Floating unfloatvisible Makes all floating windows on the current workspace tiled
Floating togglefloating Makes clients switch between tiled and floating mode
Floating togglesticky Toggles the Sticky flag for the selected client
Focus focusdir Directional focus on clients rather than just up and down the stack
Focus focusmaster Change focus to the first tiled client on the active workspace
Focus focusmon Changes which monitor has focus
Focus focushidden Change focus between hidden clients on the current workspace
Focus focusstack Focus on clients up and down the stack across workspaces
Focus focusurgent Focus on the first client marked as being urgent
Focus stackfocus Focus clients at specific positions in the client stack on a workspace
Focus switchcol Changes focus between the master area and the stack area
Fullscreen togglefullscreen Moves the current client into and out of fullscreen mode
Fullscreen togglefakefullscreen Enables or disables fake fullscreen for the current client
Functionality enable Enables optional features
Functionality disable Disables optional features
Functionality toggle Toggles optional features
Gaps defaultgaps Resets the gaps for the current monitor back to the default configuration
Gaps incrgaps Increments or decrements all gaps
Gaps incrigaps Increments or decrements all inner gaps
Gaps incrogaps Increments or decrements all outer gaps
Gaps incrohgaps Increments or decrements outer horizontal gaps
Gaps incrovgaps Increments or decrements outer vertical gaps
Gaps incrihgaps Increments or decrements inner horizontal gaps
Gaps incrivgaps Increments or decrements inner vertical gaps
Gaps togglegaps Enables or disables gaps on the current workspace
Gaps setgapsex External function that allows for all gaps to be specified in one call
Layout cyclelayout Cycles through the predefined layouts
Layout mirrorlayout Creates a reversed view (mirror) of the current layout
Layout rotatelayoutaxis Cycles through the various layout axes in a flextile-deluxe layout
Layout setlayoutaxisex Sets flextile-deluxe layout split or arrangements externally
Layout setlayout Internal function to set the layout via index
Layout layoutconvert Switches between horizontal and vertical orientation of the layout
Marking mark Marks the selected client for group action
Marking markall Marks all clients on the current workspace for group action
Marking markmouse Allows for clients to be marked and unmarked using the mouse
Marking togglemark Toggles the marked status for the current client
Marking unmark Unmarkes the selected client
Marking unmarkall Unmarks all marked clients across all workspaces
Monitor clienttomon Move the selected window to an adjacent monitor
Monitor clientstomon Move all windows on the current workspace to an adjacent monitor
Scratchpads removescratch Removes scratchpad assignment for the selected client
Scratchpads setscratch Adds scratchpad assignment for the selected client
Scratchpads togglescratch Toggles scratchpad clients into or out of view
Swallow swallow Force all marked clients to be swallowed by the selected client
Swallow swallowmouse Allows for one window to swallow another using the mouse
Swallow unswallow Force the selected client to unswallow the most recently swallowed client
System restart Seamlessly restarts the window manager
System quit Exits the window manager
Tiled dragcfact Adjusts the tiled size of a client window compared to other clients within the same area
Tiled dragmfact Adjusts the master area size of the layout compared to the stack area(s)
Tiled incnmaster Increases or decreases the number of clients in the master area
Tiled incnstack Increases or decreases the number of clients in the primary stack area for dual stack layouts
Tiled rotatestack Rotate all clients around to have the desired client become the master window
Tiled inplacerotate Rotates all clients around within their respective area (master or stack)
Tiled placedir Directional movement of clients rather than just up and down the stack
Tiled placemouse Change the tiled position of a window using the mouse
Tiled pushup Push a client up the client stack on a workspace
Tiled pushdown Push a client down the client stack on a workspace
Tiled setcfact Increases or decreases the the size of the client respective to other client windows in the same area
Tiled setmfact Increases or decreases the the size of the master area
Tiled stackpush Push clients to specific positions in the client stack on a workspace
Tiled stackswap Swap clients at specific positions in the client stack on a workspace
Tiled transfer Move a client between master and stack areas while adjusting nmaster
Tiled transferall Swap all clients between master and stack areas while adjusting nmaster
Tiled zoom Moves the currently selected client to become the new master
Window changeopacity Changes the opacity of a window during runtime
Window killclient Kills the selected client on the current workspace
Window killunsel Kills all but the selected client on the current workspace
Window riospawn Draw the area where a window will spawn using a selection tool
Window setborderpx Changes the border size for all clients on the current workspace
Window setclientborderpx Changes the border size on a per client basis
Window settitle Sets an alternative window title for the selected client
Window showhideclient Allows for hiding clients or revealing hidden clients
Window setwintitle Sets an alternative window title for a specified client
Window spawn Used to start new processes like dmenu or a new terminal
Window togglekeybindings Enables or disables dusk keybindings
Window togglenomodbuttons Enables or disables the use of button bindings that have no modifiers
Window unhideall Reveals all hidden clients on the current workspace
Window unhidepop Reveals the most recently hidden client on the current workspace
Workspaces enablews Enables or disables a workspace by right-clicking the workspace icon on the bar
Workspaces enablewsbyindex Enables the nth workspace on the current monitor in addition to the current workspace
Workspaces enablewsbyname Enables the workspace with a given name in addition to the current workspace
Workspaces comboviewwsbyindex Changes the view to one or more workspace with a given index on the current monitor
Workspaces comboviewwsbyname Changes the view to one or more workspaces with a given name
Workspaces movews Move a client window to another workspace by clicking on the workspace icon on the bar
Workspaces movewsdir Move a client to the workspace on the immediate left or right of the active workspace
Workspaces movetowsbyindex Moves the currently active window to the workspace with a given name
Workspaces movetowsbyname Moves the currently active window to the nth workspace on the current monitor
Workspaces sendtowsbyindex Moves the currently active window to the workspace with a given name while inverting ViewOnWs functionality
Workspaces sendtowsbyname Moves the currently active window to the nth workspace on the current monitor while inverting ViewOnWs functionality
Workspaces movealltowsbyindex Moves all windows on the current workspace to the nth workspace on the current monitor
Workspaces movealltowsbyname Moves all windows on the current workspace to a workspace with a given name
Workspaces moveallfromwsbyindex Moves all windows from the nth workspace on the current monitor to the current workspace
Workspaces moveallfromwsbyname Moves all windows from a workspace with a given name to the current workspace
Workspaces swapws Swaps all clients on the current workspace with all clients on another workspace by clicking on the workspace icon on the bar
Workspaces swapwsbyindex Swaps all clients on the current workspace with all clients on the nth workspace on the current monitor
Workspaces swapwsbyname Swaps all clients on the current workspace with all clients on the workspace with a given name
Workspaces togglepinnedws Used to pin or unpin the current workspace to / from the current monitor
Workspaces togglews Toggle to the previously viewed workspace on the current monitor
Workspaces viewallwsonmon View all workspaces assigned to the current monitor
Workspaces viewalloccwsonmon View all workspaces assigned to the current monitor that have clients
Workspaces viewselws Change the view to only show the workspace of the selected client
Workspaces viewws View a workspace by left-clicking on the workspace icon on the bar
Workspaces viewwsbyindex Changes the view to the the nth workspace on the current monitor
Workspaces viewwsbyname Changes the view to the the workspace with a given name
Workspaces viewwsdir View the workspace on the immediate left or right of the active workspace
Xresources xrdb Reload X resources during runtime

Back to Features.

Clone this wiki locally