This is the help page for SimplyWM.

The configuration file can be found at ~/Library/Application\ Support/simplywm.yml.

Changes to the file are applied immediately. There are no defaults for if the file/section is empty.

Same Configuration File

This is a sample configuration file:

layouts:
- tall
- fullScreen
keyboardShortcuts:
  previousLayout: ''
  nextLayout: F8
  moveToPreviousScreen: ctrl+shift+leftArrow
  moveToNextScreen: ctrl+shift+rightArrow
  swapWindowWithMain: ctrl+shift+return
unmanagedWindows:
- id: com.apple.iphonesimulator
- id: com.google.Chrome
  title: MetaMask*

Sections

The sections are:

  • layouts
  • keyboardShortcuts
  • unmanagedWindows

Layouts

List the layouts enabled with a list under layouts:

layouts:
- tall
- fullScreen

The choice of layouts are very limited at the moment.

Keyboard Shortcuts

Configure keyboard shortcuts with keyboardShortcuts:

keyboardShortcuts:
  previousLayout: ''
  nextLayout: F8
  moveToPreviousScreen: ctrl+shift+leftArrow
  moveToNextScreen: ctrl+shift+rightArrow
  swapWindowWithMain: ctrl+shift+return

These are the modifiers available:

  • shift
  • control / ctrl
  • option / opt
  • command / cmd

These are the keys available:

  • return / enter
  • delete
  • deleteforward
  • end
  • escape
  • help
  • home
  • space
  • tab
  • pageup
  • pagedown
  • uparrow / up
  • rightarrow / right
  • downarrow / down
  • leftarrow / left
  • f1
  • f2
  • f3
  • f4
  • f5
  • f6
  • f7
  • f8
  • f9
  • f10
  • f11
  • f12
  • f13
  • f14
  • f15
  • f16
  • f17
  • f18
  • f19
  • f20
  • keypad0
  • keypad1
  • keypad2
  • keypad3
  • keypad4
  • keypad5
  • keypad6
  • keypad7
  • keypad8
  • keypad9
  • keypadclear
  • keypaddecimal
  • keypaddivide
  • keypadenter
  • keypadequals
  • keypadminus
  • keypadmultiply
  • keypadplus

The right-hand side of the keyboard shortcuts are case-insensitive. i.e. f8 and F8 are the same. Ditto for pageup and PageUp.

Unmanaged Windows

List exceptions for windows that you want to keep as unmanaged by SimplyWM with unmanagedWindows. Each of them can be any of these:

  • bundle identifier
  • title
  • bundle identifier and title
unmanagedWindows:
- id: com.apple.iphonesimulator
- id: com.google.Chrome
  title: MetaMask*