# FrankenWM

From ArchWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Related articles

- Window manager

FrankenWM is a dynamic tiling window manager, comparable to dwm or awesome. This means there are a number of predefined layouts that are used to tile the windows. The source code is based on monsterwm-xcb, but includes a lot of bugfixes and additonal features like extensive runtime configuration, a scratchpad window, window minimizing, floating control via keyboard and currently 13 different tiling layouts.

## Installation

You can get FrankenWM by installing the frankenwm-gitAUR package or directly from GitHub. Any configuration has to be done at compile time, so you might want to have a look at the section below.

### AUR

When using the AUR-version, you can supply you own `config.h` which will be used instead of the default config.

### Git

Note: Compiling manually requires you to get the dependencies needed yourself, which are `libxcb xcb-util xcb-util-wm xcb-util-keysyms` (as well as `make` and `gcc`).

When using the Git-version, you will need to copy `config.def.h` to `config.h` and make the modifications you need before compiling FrankenWM. Then you can run `make` and `sudo make install` to install the binaries and manpage.

## Starting

### From tty

Run `frankenwm` with xinit

## Configuration

Configuration is done at compile time by edititing `config.h`. There are lots of comments in the default config (`config.def.h`) which explain what the settings are doing.

## Usage

The basic usage includes opening a terminal (`Meta+Enter`), opening dmenu (`Meta+r`) and closing windows (`Meta+c`). There is a complete, sorted list of the default keybinds and explanations of the tiling layouts in the manpage, which you can view with `man ./frankenwm.1` before install, or `man frankenwm` after install.

## Panels

FrankenWM does not come with a panel included, but gives you the possibility to leave space either at the top or bottom for one, like conky or dzen. There are a couple of settings in the config to configure this space.

If you want to use FrankenWM's status in your bar, you can pipe FrankenWM to a shell script to parse the output and pipe it to a bar. Sample scripts to accomplish this with a few different bar are located here.

## Troubleshooting

### I do not see anything

This is normal behaviour, as FrankenWM does not come with a bar included or a desktop background, so after running `frankenwm` without anything else, you will probably see a black screen. See Panels above for information on how to add a panel to your desktop. Wallpapers can be set by using software like xsetroot, feh or hsetroot.

### I cannot open a terminal/menu

Have a look at the `config.h` used to build your currently running version of FrankenWM, which is located in the build directory. Make sure that both the shortcut to run the `termcmd`/`menucmd` command and the `termcmd`/`menucmd` itself are set properly to start an installed terminal/menu.

Category:

- Dynamic WMs