xmonad-0.18.0: A tiling window manager

Copyright | (c) Spencer Janssen 2007
License | BSD3-style (see LICENSE)
Maintainer | spencerjanssen@gmail.com
Stability | unstable
Portability | not portable, uses mtl, X11, posix
Safe Haskell | None
Language | Haskell2010

XMonad.Main

Description

xmonad, a minimalist, tiling window manager for X11

Synopsis

- xmonad :: forall (l :: Type -> Type). (LayoutClass l Window, Read (l Window)) => XConfig l -> IO ()
- buildLaunch :: Directories -> IO ()
- launch :: forall (l :: Type -> Type). (LayoutClass l Window, Read (l Window)) => XConfig l -> Directories -> IO ()

# Documentation

xmonad :: forall (l :: Type -> Type). (LayoutClass l Window, Read (l Window)) => XConfig l -> IO () #

| The entry point into xmonad. Attempts to compile any custom main for xmonad, and if it doesn't find one, just launches the default.

buildLaunch :: Directories -> IO () #

Build the xmonad configuration file with ghc, then execute it. If there are no errors, this function does not return. An exception is raised in any of these cases:

- ghc missing
- both the configuration file and executable are missing
- xmonad.hs fails to compile
- * wrong ghc in path (fails to compile)
- * type error, syntax error, ..
- Missing XMonad/XMonadContrib modules due to ghc upgrade

launch :: forall (l :: Type -> Type). (LayoutClass l Window, Read (l Window)) => XConfig l -> Directories -> IO () #

Entry point into xmonad for custom builds.

This function isn't meant to be called by the typical xmonad user because it:

- Does not process any command line arguments.
- Therefore doesn't know how to restart a running xmonad.
- Does not compile your configuration file since it assumes it's actually running from within your compiled configuration.

Unless you know what you are doing, you should probably be using the `xmonad` function instead.

However, if you are using a custom build environment (such as stack, cabal, make, etc.) you will likely want to call this function instead of `xmonad`. You probably also want to have a key binding to the `restart` function that restarts your custom binary with the resume flag set to `True`.