Skip to content

Instantly share code, notes, and snippets.

@palesz
Created November 3, 2016 22:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save palesz/37de404de43175ab30e2c1dee4801c18 to your computer and use it in GitHub Desktop.
Save palesz/37de404de43175ab30e2c1dee4801c18 to your computer and use it in GitHub Desktop.
Kwm configuration for Mac OS
/*
This is a sample config for Kwm
The following statements can be used to set Kwms internal directory structure.
This is the root folder for Kwms files, the only thing this actually
specifies is the location of the 'init' script which Kwm runs upon startup.
Defaults to $HOME/.kwm
kwm_home /path/to/.kwm
This is the root folder in which all files included using 'include' must reside.
Defaults to $HOME/.kwm
kwm_include /path/to/.kwm/include
This is the folder in which all bsp-layouts managed by 'tree load' and 'tree save'
is loaded from / saved to. Defaults to $HOME/.kwm/layouts
kwm_layouts /path/to/.kwm/layouts
Commands prefixed with 'kwmc' will call
local functions corresponding to the
kwmc syntax.
To run an external program or command,
use the prefix 'exec' followed by command.
e.g 'exec mvim' would open macvim
Read file and execute commands as
if they were written inside kwmrc.
include filename
e.g: window-rules in a separate file called 'rules'
include rules
*/
# Set default values for screen padding
kwmc config padding 40 20 20 20
# Set default values for container gaps
kwmc config gap 15 15
# Default tiling mode for Kwm (bsp | monocle | float)
kwmc config tiling bsp
# Automatically float windows that fail to resize
kwmc config float-non-resizable off
# Automatically resize the window to its container
kwmc config lock-to-container on
# Set focus-follows-mouse-mode to autoraise
kwmc config focus-follows-mouse off
/*
Focus-follows-mouse is temporarily disabled when
a floating window has focus
*/
kwmc config standby-on-float off
# Center window when made floating
kwmc config center-on-float off
/*
The mouse will automatically move to the center
of the focused window
*/
kwmc config mouse-follows-focus on
/*
Allows a window to be moved by dragging,
when a modifier key and left-click is held down.
Allows a window to be resized by dragging
when a modifier key and right-click is held down.
*/
kwmc config mouse-drag on
# The modifier keys to be held down to initiate mouse-drag
kwmc config mouse-drag mod shift+ctrl
# Allow window focus to wrap-around
kwmc config cycle-focus on
/*
Override default settings for space 1 on screen 0
kwmc config space 0 1 mode monocle
kwmc config space 0 1 padding 100 100 100 100
kwmc config space 0 1 gap 40 40
*/
/*
Override default settings for screen 1
kwmc config display 1 mode bsp
kwmc config display 1 padding 100 100 100 100
kwmc config display 1 gap 40 40
*/
# Set default container split-ratio
kwmc config split-ratio 0.5
# New splits become the left leaf-node
kwmc config spawn left
/*
Add custom tiling rules for applications that
does not get tiled by Kwm by default.
This is because some applications do not have the
AXWindowRole and AXStandardWindowSubRole
*/
kwmc rule owner="iTerm2" properties={role="AXDialog"}
kwmc rule owner="Emacs" properties={role="AXStandardWindow"}
/*
The following commands create rules that
blacklists an application from Kwms tiling
kwmc rule owner="Steam" properties={float="true"}
kwmc rule owner="Photoshop" properties={float="true"}
*/
/*
The following command creates a rule that
captures an application to the given screen,
if the screen exists.
kwmc rule owner="iTunes" properties={display="1"}
*/
# Enable border for focused window
kwmc config border focused on
kwmc config border focused size 2
kwmc config border focused color 0xFFBDD322
kwmc config border focused radius 6
# Enable border for marked window
kwmc config border marked on
kwmc config border marked size 2
kwmc config border marked color 0xFFCC5577
kwmc config border marked radius 6
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment