xmonad-contrib-0.18.0: Community-maintained extensions for xmonad

Copyright | © 2007 Ivan Tarasov <Ivan.Tarasov@gmail.com>
License | BSD
Maintainer | Ivan.Tarasov@gmail.com
Stability | experimental
Portability | unportable
Safe Haskell | None
Language | Haskell2010

XMonad.Hooks.SetWMName

Description

Sets the WM name to a given string, so that it could be detected using _NET_SUPPORTING_WM_CHECK protocol.

May be useful for making Java GUI programs work, just set WM name to "LG3D" and use Java 1.6u1 (1.6.0_01-ea-b03 works for me) or later.

To your `xmonad.hs` file, add the following line:

    import XMonad.Hooks.SetWMName

Then edit your `startupHook`:

    startupHook = setWMName "LG3D"

For details on the problems with running Java GUI programs in non-reparenting WMs, see http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6429775 and related bugs.

Setting WM name to "compiz" does not solve the problem, because of yet another bug in AWT code (related to insets). For LG3D insets are explicitly set to 0, while for other WMs the insets are "guessed" and the algorithm fails miserably by guessing absolutely bogus values.

For detailed instructions on editing your hooks, see the tutorial and XMonad.Doc.Extending.

Synopsis

- setWMName :: String -> X ()
- getWMName :: X String

# Documentation

setWMName :: String -> X () #

sets WM name

getWMName :: X String #

Get WM name.