 | xmonad-contrib-0.9: Third party extensions for xmonad | Contents | Index |
|
XMonad.Util.Replace | Portability | unportable | Stability | unstable | Maintainer | Adam Vogt <vogt.adam@gmail.com> |
|
|
|
|
|
Description |
Implements a --replace behavior outside of core.
|
|
Synopsis |
|
|
|
|
Usage
|
|
You must run the replace action before starting xmonad proper, this
results in xmonad replacing the currently running WM regardless of the
arguments it is run with:
import XMonad
import XMonad.Util.Replace
main = do
replace
xmonad $ defaultConfig { .... }
|
|
replace :: IO () |
replace must be run before xmonad starts to signals to compliant window
managers that they must exit and let xmonad take over.
|
|
Notes
|
|
This doesn't seem to work for replacing WMs that have been started
from within xmonad, such as with restart openbox False, but no other
WMs that implements --replace manage this either. replace works for
replacing metacity when the full gnome-session is started at least.
|
|
Implementing a --replace flag
|
|
You can use System.Environment.getArgs to watch for an explicit
--replace flag:
import XMonad
import XMonad.Util.Replace (replace)
import Control.Monad (when)
import System.Environment (getArgs)
main = do
args <- getArgs
when ("--replace" `elem` args) replace
xmonad $ defaultConfig { .... }
Note that your ~/.xmonad/xmonad-$arch-$os binary is not run with the same
flags as the xmonad binary that calls it. You may be able to work around
this by running your ~/.xmonad/xmonad-$arch-$os binary directly, which is
otherwise not recommended.
|
|
Produced by Haddock version 2.4.2 |