Skip to content
Minimal xmonad configuration with panels for Ubuntu 18.04 "Bionic Beaver"
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore Added .gitignore Jan 25, 2019
LICENSE Added license Jan 25, 2019 Fix fullscreen Jul 28, 2019


A minimal xmonad configuration with panels for Ubuntu 18.04 "Bionic Beaver".

By Kilian Evang (

Ubuntu desktop using the xmonad window manager


If you are like me, you want the best of both worlds: an efficient tiling window manager that you control with your keyboard, and the friendly convenient environment of the traditional GNOME desktop with its menus, panels, applets, and indicators.

Recent Ubuntu releases support this requirement almost out of the box, thanks to a dedicated GNOME Flashback session that uses xmonad as the window manager. However, with an empty configuration, you won't have panels. With the default XMonad.Config.Gnome, there are still some unacceptable problems:

  • Many keybindings won't work properly due to conflicts with GNOME keybindings or bugs.
  • Applications going fullscreen (like media players or browsers) is not supported.

So I thought I'd put together a curated minimal xmonad config that fixes these issues but otherwise gives you a clean slate to add your own favorite configuration options.


To install everything you need, run these commands in a terminal:

$ sudo apt install xmonad gnome-panel
$ cd
$ git clone .xmonad

From now on, when logging in, choose the "GNOME Flashback (XMonad)" session. You can then control xmonad with the default keybindings, only your mod key is Win instead of Alt.

On first logging in like this, you will find that the GNOME panels are there, but are for some reason missing a clock and the menu where you access settings, logout, shutdown, etc. To fix this, alt-rightclick on the panel where you want them and choose "Add to Panel...". From the window that opens, add "Clock" and "User menu".

You can’t perform that action at this time.