Skip to content

Latest commit

 

History

History
134 lines (110 loc) · 7.7 KB

File metadata and controls

134 lines (110 loc) · 7.7 KB

Launch Arguments

-v or --version

Displays the current version of sxwm

Configuration

sxwm is configured via a simple text file located at ~/.config/sxwmrc. Changes can be applied instantly by reloading the configuration (MOD + r).

The file uses a key : value format. Lines starting with # are ignored.

General Options

Option Type Default Description
mod_key String super Sets the primary modifier key (alt, super, ctrl).
gaps Integer 10 Pixels between windows and screen edges.
border_width Integer 1 Thickness of window borders in pixels.
focused_border_colour Hex #c0cbff Border color for the currently focused window.
unfocused_border_colour Hex #555555 Border color for unfocused windows.
swap_border_colour Hex #fff4c0 Border color when selecting a window to swap (MOD+Shift+Drag).
master_width Integer 60 Percentage of the screen width for the master window.
motion_throttle Integer 60 Target FPS for mouse drag actions.
resize_master_amount Integer 1 Percent to increase/decrease master width.
resize_stack_amount Integer 20 How many pixels to increase/decrease stack windows by.
snap_distance Integer 5 Distance (px) before a floating window snaps to edge.
move_window_amount Integer 10 Number of pixels to move the window with keyboard.
resize_window_amount Integer 10 Number of pixels to resize the window with keyboard.
start_fullscreen String "st" Starts specified windows that should start fullscreened. Enclosed in quotes and comma-seperated.
new_win_focus Bool true Whether openening new windows should also set focus to them or keep on current window.
warp_cursor Bool true Warp the cursor to the middle of newly focused windows.
floating_on_top Bool true Whether floating windows should always draw over tiled ones
floating_on_top Bool true Whether floating windows should always draw over tiled ones
new_win_master Bool false New windows will open as master window.
should_float String "st" Always-float rule. Multiple entries should be comma-seperated. Optionally, entries can be enclosed in quotes.
exec String Nothing Command to run on startup (e.g., sxbar, picom, "autostart", etc.).
can_swallow String st Windows that can swallow.
can_be_swallowed String mpv Windows that can be swallowed.

Keybindings

Syntax

  • Modifiers: mod, shift, ctrl, alt, super ...
  • Key: Case-insensitive keysym (e.g., Return, q, 1)

To find the key do xev | grep "keysym" and press the key in the box.

  • Action: Either an external command (in quotes) or internal function.
  • move: Move to that worspace
  • swap: Swap window to that workspace
  • n: Workspace / Scratchpad number
  • create: Creates a scratchpad on that slot
  • toggle: toggles the visibility of that scratchpad
  • remove: Removes the scratchpad on that slot
bind : modifier + ... + key : action
scratchpad : modifier + ... + key : create n
scratchpad : modifier + ... + key : toggle n
scratchpad : modifier + ... + key : remove n
workspace : modifier + ... + key : move n
workspace : modifier + ... + key : swap n

Available Functions

Function Name Description
centre_window Centre the focused window.
close_window Closes the focused window.
decrease_gaps Shrinks gaps.
focus_next Moves focus forward in the stack.
focus_prev Moves focus backward in the stack.
focus_next_mon Switches focus to the next monitor.
focus_prev_mon Switches focus to the previous monitor.
fullscreen Fullscreen the focused window.
global_floating Toggles floating state for all windows.
increase_gaps Expands gaps.
master_next Moves focused window down in master/stack order.
master_prev Moves focused window up in master/stack order.
master_increase Expands master width.
master_decrease Shrinks master width.
move_next_mon Moves the focused window to the next monitor.
move_prev_mon Moves the focused window to the previous monitor.
move_win_up Moves the focused window up (keyboard).
move_win_down Moves the focused window down (keyboard).
move_win_left Moves the focused window left (keyboard).
move_win_right Moves the focused window right (keyboard).
quit Exits sxwm.
reload_config Reloads config.
resize_win_up Resizes the focused window up (keyboard).
resize_win_down Resizes the focused window down (keyboard).
resize_win_left Resizes the focused window left (keyboard).
resize_win_right Resizes the focused window right (keyboard).
stack_increase Increase the height of the focused stack window.
stack_decrease Decrease the height of the focused stack window.
switch_previous_workspace Switch to the previous workspace.
toggle_floating Toggles floating state of current window.
toggle_monocle Toggles the monocle layout.

Example Bindings

# Launch terminal
bind : mod + Return : "st"
# Close window
bind : mod + shift + q : close_window

# Scratchpads
scratchpad : mod + ctrl + Return : create 1
scratchpad : mod + shift + b : toggle 2
scratchpad : mod + alt + b : remove 2

# Switch workspace
workspace : mod + 3 : move 3
# Move window to workspace
workspace : mod + shift + 5 : swap 5

Default Keybindings

In default_sxwmrc