### 1.6 Init File ¶

Like other window managers, StumpWM’s configuration and startup state can be controlled by an initialization file. Unlike other window managers, StumpWM’s init is not limited to changing settings and keybindings. The init file is itself a Common Lisp program running in a Common Lisp environment, so you can write your own hacks and make them a part of your StumpWM experience.

On launch, StumpWM searches for an init file of different names and locations on your system, and will use the first one found in this order:

- ‘~/.stumpwmrc’ is the classic UNIX-style configuration name;
- ‘~/.stumpwm.d/init.lisp’ is an Emacs-style location and name;
- ‘~/.config/stumpwm/config’ is the XDG standard;
- ‘/etc/stumpwmrc’ is a system-wide file giving all users a standardized environment.

StumpWM includes a basic ‘sample-stumpwmrc.lisp’ in its source directory. You can use this as a template when you’re starting out: copy it to the above name and location you prefer and edit it to suit your preferences.

It is possible to split your initialization among multiple files, if you call the additional files from within an init file matching the names and locations listed above.

Variable: *processing-existing-windows* ¶

  True when processing pre-existing windows at startup.