aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--x11-wm/xmonad-contrib/Manifest2
-rw-r--r--x11-wm/xmonad-contrib/files/xmonad-contrib-0.8-urgency-seconds.patch13
-rw-r--r--x11-wm/xmonad-contrib/xmonad-contrib-9999.ebuild38
-rw-r--r--x11-wm/xmonad/Manifest6
-rw-r--r--x11-wm/xmonad/files/cabal-extensions.patch11
-rw-r--r--x11-wm/xmonad/files/config-extensions.patch249
-rw-r--r--x11-wm/xmonad/files/xmonad-0.6-version.patch13
-rw-r--r--x11-wm/xmonad/files/xmonad-0.9.1-move-to-oldexception.patch52
-rw-r--r--x11-wm/xmonad/files/xmonad.desktop13
-rw-r--r--x11-wm/xmonad/xmonad-9999.ebuild58
10 files changed, 455 insertions, 0 deletions
diff --git a/x11-wm/xmonad-contrib/Manifest b/x11-wm/xmonad-contrib/Manifest
new file mode 100644
index 0000000..19a7876
--- /dev/null
+++ b/x11-wm/xmonad-contrib/Manifest
@@ -0,0 +1,2 @@
+AUX xmonad-contrib-0.8-urgency-seconds.patch 753 RMD160 54b78288ded4735f72ff615fd6d29ded46440b60 SHA1 ba6bd6bf125fa743969a94ca46acf25674b9941e SHA256 4a9baa594989361cdbe6f69e104157fe879bd10ef0515f5c21717f607d0bbab1
+EBUILD xmonad-contrib-9999.ebuild 835 RMD160 619b8f1858016bc789a331163082b4a5d4e087c9 SHA1 bc7bffa18aab75d8369b0e4bf3cdb4f350be3215 SHA256 c0dc7e13e5af425861a8bf521d496d5488fcf14dca93d044ad7e2b9aa36f1be6
diff --git a/x11-wm/xmonad-contrib/files/xmonad-contrib-0.8-urgency-seconds.patch b/x11-wm/xmonad-contrib/files/xmonad-contrib-0.8-urgency-seconds.patch
new file mode 100644
index 0000000..d8cb4d0
--- /dev/null
+++ b/x11-wm/xmonad-contrib/files/xmonad-contrib-0.8-urgency-seconds.patch
@@ -0,0 +1,13 @@
+diff -rN -u old-xmonad-contrib-0.8/XMonad/Hooks/UrgencyHook.hs new-xmonad-contrib-0.8/XMonad/Hooks/UrgencyHook.hs
+--- old-xmonad-contrib-0.8/XMonad/Hooks/UrgencyHook.hs 2008-12-29 18:20:15.000000000 +0100
++++ new-xmonad-contrib-0.8/XMonad/Hooks/UrgencyHook.hs 2008-12-29 18:20:15.000000000 +0100
+@@ -356,7 +356,7 @@
+ -- Defaults to a duration of five seconds, and no extra args to dzen.
+ -- See 'DzenUrgencyHook'.
+ dzenUrgencyHook :: DzenUrgencyHook
+-dzenUrgencyHook = DzenUrgencyHook { duration = (5 `seconds`), args = [] }
++dzenUrgencyHook = DzenUrgencyHook { duration = (seconds 5), args = [] }
+
+ -- | Spawn a commandline thing, appending the window id to the prefix string
+ -- you provide. (Make sure to add a space if you need it.) Do your crazy
+
diff --git a/x11-wm/xmonad-contrib/xmonad-contrib-9999.ebuild b/x11-wm/xmonad-contrib/xmonad-contrib-9999.ebuild
new file mode 100644
index 0000000..57d42f9
--- /dev/null
+++ b/x11-wm/xmonad-contrib/xmonad-contrib-9999.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+CABAL_FEATURES="lib profile haddock hscolour"
+
+inherit haskell-cabal git
+
+DESCRIPTION="Third party extensions for xmonad"
+HOMEPAGE="http://xmonad.org/"
+EGIT_REPO_URI="git://git.animux.de/XMonadContrib"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="xft"
+
+RDEPEND=">=dev-lang/ghc-6.6.1
+ dev-haskell/mtl
+ >=dev-haskell/x11-1.5
+ dev-haskell/utf8-string
+ xft? ( >=dev-haskell/x11-xft-0.2 )
+ ~x11-wm/xmonad-${PV}"
+DEPEND="${RDEPEND}
+ >=dev-haskell/cabal-1.2.1"
+
+src_compile() {
+ CABAL_CONFIGURE_FLAGS="--flags=-testing"
+
+ if use xft; then
+ CABAL_CONFIGURE_FLAGS="${CABAL_CONFIGURE_FLAGS} --flags=use_xft"
+ else
+ CABAL_CONFIGURE_FLAGS="${CABAL_CONFIGURE_FLAGS} --flags=-use_xft"
+ fi
+
+ cabal_src_compile
+}
diff --git a/x11-wm/xmonad/Manifest b/x11-wm/xmonad/Manifest
new file mode 100644
index 0000000..f61bc46
--- /dev/null
+++ b/x11-wm/xmonad/Manifest
@@ -0,0 +1,6 @@
+AUX cabal-extensions.patch 587 RMD160 ba22b1ef014ec88abb60de322d0506c43d83249b SHA1 76dca2b8e5020e2d2adf6997a74f259349960b22 SHA256 4c25076d53fa59e9ee9199535fc2480555b12bb92146dac6825a6e74d4b0f7a3
+AUX config-extensions.patch 10662 RMD160 e8b6b41a9a59d7ca8bbac644ce0839e8d576d13b SHA1 72e43c13aed695c95e829674ea8e360c66959129 SHA256 f593ccfcafc290a5a6963e671f23624e45afa8527a86dd1863be1e50fd48c7db
+AUX xmonad-0.6-version.patch 555 RMD160 d81d896be14f3e3461af61dc7834fb671f72c78f SHA1 545b37270114a8614e72932ec749d2d50d88b51f SHA256 45dbfca9c81d448406f868b59871fd6461edb3cc3b838cce88689c587d3cf218
+AUX xmonad-0.9.1-move-to-oldexception.patch 1849 RMD160 48a7f6b76ad171517f909a1e48651189830f3e3b SHA1 3e225adb8d0ce16ab7dfc1d6b604081200ee8fb5 SHA256 a118c432eb88fa28994c6cbba31368e27787de63a261a950ec9cf2522ae8aa72
+AUX xmonad.desktop 285 RMD160 64cfde0c38eb413e156df3a6814263ac17a62ed4 SHA1 684e20f6c4fc4640a2d1a68e8706069ed51c8a74 SHA256 cca59025f61f4d2aa61bd8410528dab67223696be6bfc3c0eb17ec7e22e4fc1a
+EBUILD xmonad-9999.ebuild 1574 RMD160 ff4eca2120a02c17530cedbe1c55c547f2c86303 SHA1 eb225ab736956cb976c2da9dc3853ea326107254 SHA256 a7758ad42d04e84be5418769aa1c8bd3a9f75fee892ba94bfe842c486079ae93
diff --git a/x11-wm/xmonad/files/cabal-extensions.patch b/x11-wm/xmonad/files/cabal-extensions.patch
new file mode 100644
index 0000000..8ddb31a
--- /dev/null
+++ b/x11-wm/xmonad/files/cabal-extensions.patch
@@ -0,0 +1,11 @@
+--- xmonad.cabal-orig 2007-09-06 04:03:53.000000000 +0000
++++ xmonad.cabal 2007-09-06 03:58:51.000000000 +0000
+@@ -18,7 +18,7 @@
+ license-file: LICENSE
+ author: Spencer Janssen
+ maintainer: sjanssen@cse.unl.edu
+-build-depends: base>=2.0, X11>=1.2.1, X11-extras>=0.3, mtl>=1.0, unix>=1.0
++build-depends: base>=2.0, X11>=1.2.1, X11-extras>=0.3, mtl>=1.0, unix>=1.0, readline>=1.0
+ extra-source-files: README TODO tests/loc.hs tests/Properties.hs man/xmonad.1.in
+ Config.hs-boot util/GenerateManpage.hs man/xmonad.1 man/xmonad.html
+
diff --git a/x11-wm/xmonad/files/config-extensions.patch b/x11-wm/xmonad/files/config-extensions.patch
new file mode 100644
index 0000000..91e8964
--- /dev/null
+++ b/x11-wm/xmonad/files/config-extensions.patch
@@ -0,0 +1,249 @@
+--- Config.hs-orig 2007-09-06 03:40:47.000000000 +0000
++++ Config.hs 2007-09-06 03:51:19.000000000 +0000
+@@ -29,6 +29,88 @@
+ import System.Exit
+ import Graphics.X11.Xlib
+
++-- Extension-provided imports
++-- For extension Accordion:
++--import XMonadContrib.Accordion
++-- For extension Anneal:
++--import XMonadContrib.Anneal
++-- For extension Circle:
++--import XMonadContrib.Circle
++-- For extension Combo:
++--import XMonadContrib.Combo
++--import XMonadContrib.SimpleStacking
++-- For extension Commands:
++--import XMonadContrib.Commands
++-- For extension CopyWindow:
++--import XMonadContrib.CopyWindow
++-- For extension DeManage:
++--import XMonadContrib.DeManage
++-- For extension Dmenu:
++--import XMonadContrib.Dmenu
++-- For extension DragPane:
++--import XMonadContrib.DragPane
++-- For extension DwmPromote:
++--import XMonadContrib.DwmPromote
++-- For extension DynamicLog:
++--import XMonadContrib.DynamicLog
++-- For extension FindEmptyWorkspace:
++--import XMonadContrib.FindEmptyWorkspace
++-- For extension FlexibleManipulate:
++--import qualified XMonadContrib.FlexibleManipulate as Flex
++-- For extension FlexibleResize:
++--import qualified XMonadContrib.FlexibleResize as Flex
++-- For extension FocusNth:
++--import XMonadContrib.FocusNth
++-- For extension HintedTile:
++--import qualified XMonadContrib.HintedTile
++-- For extension LayoutHints:
++--import XMonadContrib.LayoutHints
++-- For extension LayoutScreens:
++--import XMonadContrib.LayoutScreens
++-- For extension MagicFocus:
++--import XMonadContrib.MagicFocus
++-- For extension Magnifier:
++--import XMonadContrib.Magnifier
++-- For extension Mosaic:
++--import XMonadContrib.Mosaic
++-- For extension NoBorders:
++--import XMonadContrib.NoBorders
++-- For extension Roledex:
++--import XMonadContrib.Roledex
++-- For extension RotSlaves:
++--import XMonadContrib.RotSlaves
++-- For extension RotView:
++--import XMonadContrib.RotView
++-- For extension ShellPrompt:
++--import XMonadContrib.XPrompt
++--import XMonadContrib.ShellPrompt
++-- For extension SimpleDate:
++--import XMonadContrib.SimpleDate
++-- For extension SinkAll:
++--import XMonadContrib.SinkAll
++-- For extension Spiral:
++--import XMonadContrib.Spiral
++-- For extension Square:
++--import XMonadContrib.Square
++-- For extension SshPrompt:
++--import XMonadContrib.XPrompt
++--import XMonadContrib.SshPrompt
++-- For extension Submap:
++--import XMonadContrib.Submap
++-- For extension Tabbed:
++--import XMonadContrib.Tabbed
++-- For extension ThreeColumns:
++--import XMonadContrib.ThreeColumns
++-- For extension TwoPane:
++--import XMonadContrib.TwoPane
++-- For extension Warp:
++--import XMonadContrib.Warp
++-- For extension WorkspaceDir:
++--import XMonadContrib.WorkspaceDir
++-- For extension XMonadPrompt:
++--import XMonadContrib.XPrompt
++--import XMonadContrib.XMonadPrompt
++
+ --
+ -- The number of workspaces (virtual screens, or window groups)
+ --
+@@ -91,7 +173,48 @@
+ -- The default set of tiling algorithms
+ --
+ defaultLayouts :: [Layout Window]
+-defaultLayouts = [ tiled , mirror tiled , full ]
++defaultLayouts = [ tiled
++ , mirror tiled
++ , full
++
++ -- Extension-provided layouts
++ -- For extension Accordion:
++ -- , accordion
++ -- For extension Combo:
++ -- , simpleStacking $ combo (twoPane 0.03 0.5) [(full,1),(tabbed shrinkText defaultTConf,1)]
++ -- For extension DragPane:
++ -- , dragPane "" (fromRational delta) (fromRational delta)
++ -- For extension HintedTile:
++ -- , XMonadContrib.HintedTile.tall nmaster delta ratio
++ -- For extension LayoutHints:
++ -- , layoutHints tiled
++ -- , layoutHints $ mirror tiled
++ -- For extension MagicFocus:
++ -- , magicFocus tiled
++ -- , magicFocus $ mirror tiled
++ -- For extension Magnifier:
++ -- , magnifier tiled
++ -- , magnifier $ mirror tiled
++ -- For extension Mosaic:
++ -- , mosaic 0.25 0.5 M.empty
++ -- For extension NoBorders:
++ -- -- prepend noBorders to default layouts above to remove their borders, like so:
++ -- , noBorders full
++ -- For extension Roledex:
++ -- , roledex
++ -- For extension Spiral:
++ -- , spiral (1 % 1)
++ -- For extension Tabbed:
++ -- , tabbed shrinkText defaultTConf
++ -- For extension ThreeColumns:
++ -- , threeCol nmaster delta ratio
++ -- For extension TwoPane:
++ -- , twoPane delta (1%2)
++ -- For extension WorkspaceDir:
++ -- -- prepend 'map (workspaceDir "~")' to defaultLayouts definition above,
++ -- -- just before the list, like the following (don't uncomment next line):
++ -- -- defaultLayouts = map (workspaceDir "~") [ tiled, ... ]
++ ]
+ where
+ -- default tiling algorithm partitions the screen into two panes
+ tiled = tall nmaster delta ratio
+@@ -159,19 +282,83 @@
+ , ((modMask .|. shiftMask, xK_q ), io (exitWith ExitSuccess)) -- @@ Quit xmonad
+ , ((modMask , xK_q ), restart Nothing True) -- @@ Restart xmonad
+
+- ] ++
++ -- Extension-provided key bindings
++ -- For extension Commands:
++ -- , ((modMask .|. controlMask, xK_y), runCommand commands)
++ -- For extension CopyWindow:
++ -- -- comment out default close window binding above if you uncomment this:
++ -- , ((modMask .|. shiftMask, xK_c ), kill1) -- @@ Close the focused window
++ -- For extension DeManage:
++ -- , ((modMask, xK_d ), withFocused demanage)
++ -- For extension DwmPromote:
++ -- , ((modMask, xK_Return), dwmpromote)
++ -- For extension FindEmptyWorkspace:
++ -- , ((modMask, xK_m ), viewEmptyWorkspace)
++ -- , ((modMask .|. shiftMask, xK_m ), tagToEmptyWorkspace)
++ -- For extension LayoutScreens:
++ -- , ((modMask .|. shiftMask, xK_space), layoutScreens 2 (twoPane 0.5 0.5))
++ -- , ((controlMask .|. modMask .|. shiftMask, xK_space), rescreen)
++ -- For extension Mosaic:
++ -- , ((controlMask .|. modMask .|. shiftMask, xK_h), withNamedWindow (sendMessage . tallWindow))
++ -- , ((controlMask .|. modMask .|. shiftMask, xK_l), withNamedWindow (sendMessage . wideWindow))
++ -- , ((modMask .|. shiftMask, xK_h ), withNamedWindow (sendMessage . shrinkWindow))
++ -- , ((modMask .|. shiftMask, xK_l ), withNamedWindow (sendMessage . expandWindow))
++ -- , ((modMask .|. shiftMask, xK_s ), withNamedWindow (sendMessage . squareWindow))
++ -- , ((modMask .|. shiftMask, xK_o ), withNamedWindow (sendMessage . myclearWindow))
++ -- , ((controlMask .|. modMask .|. shiftMask, xK_o ), withNamedWindow (sendMessage . flexibleWindow))
++ -- For extension RotSlaves:
++ -- , ((modMask .|. shiftMask, xK_Tab ), rotSlavesUp)
++ -- For extension RotView:
++ -- , ((modMask .|. shiftMask, xK_Right), rotView True)
++ -- , ((modMask .|. shiftMask, xK_Left), rotView False)
++ -- For extension ShellPrompt:
++ -- , ((modMask .|. controlMask, xK_x), shellPrompt defaultXPConfig)
++ -- For extension SimpleDate:
++ -- , ((modMask, xK_d ), date)
++ -- For extension SinkAll:
++ -- , ((modMask .|. shiftMask, xK_t), sinkAll)
++ -- For extension SshPrompt:
++ -- , ((modMask .|. controlMask, xK_x), xmonadPrompt defaultXPConfig)
++ -- For extension Submap:
++ -- , ((modMask, xK_a), submap . M.fromList $
++ -- [ ((0, xK_n), spawn "mpc next")
++ -- , ((0, xK_p), spawn "mpc prev")
++ -- , ((0, xK_z), spawn "mpc random")
++ -- , ((0, xK_space), spawn "mpc toggle")
++ -- ])
++ -- For extension Warp:
++ -- , ((modMask, xK_z ), warpToWindow (1%2) (1%2)) -- @@ Move pointer to currently focused window
++ -- For extension WorkspaceDir:
++ -- , ((modMask .|. shiftMask, xK_x ), changeDir defaultXPConfig)
++ -- For extension XMonadPrompt:
++ -- , ((modMask .|. controlMask, xK_x), xmonadPrompt defaultXPConfig)
++ ]
++ ++
+ -- mod-[1..9] @@ Switch to workspace N
+ -- mod-shift-[1..9] @@ Move client to workspace N
+ [((m .|. modMask, k), f i)
+ | (i, k) <- zip workspaces [xK_1 ..]
+ , (f, m) <- [(view, 0), (shift, shiftMask)]]
+-
++ ++
+ -- mod-{w,e,r} @@ Switch to physical/Xinerama screens 1, 2, or 3
+ -- mod-shift-{w,e,r} @@ Move client to screen 1, 2, or 3
+- ++
+ [((m .|. modMask, key), screenWorkspace sc >>= flip whenJust f)
+ | (key, sc) <- zip [xK_w, xK_e, xK_r] [0..]
+ , (f, m) <- [(windows . W.view, 0), (shift, shiftMask)]]
++ -- Extension-provided key bindings lists
++ -- For extension CopyWindow:
++ -- ++
++ -- -- mod-[1..9] @@ Switch to workspace N
++ -- -- mod-shift-[1..9] @@ Move client to workspace N
++ -- -- mod-control-shift-[1..9] @@ Copy client to workspace N
++ -- [((m .|. modMask, k), f i)
++ -- | (i, k) <- zip workspaces [xK_1 ..]
++ -- , (f, m) <- [(view, 0), (shift, shiftMask), (copy, shiftMask .|. controlMask)]]
++ -- For extension Warp:
++ -- ++
++ -- -- mod-ctrl-{w,e,r} @@ Move mouse pointer to screen 1, 2, or 3
++ -- [((modMask .|. controlMask, key), warpToScreen sc (1%2) (1%2))
++ -- | (key, sc) <- zip [xK_w, xK_e, xK_r] [0..]]
+
+ -- |
+ -- default actions bound to mouse events
+@@ -183,4 +370,19 @@
+ -- mod-button2 @@ Raise the window to the top of the stack
+ , ((modMask, button2), (\w -> focus w >> swapMaster))
+ -- mod-button3 @@ Set the window to floating mode and resize by dragging
+- , ((modMask, button3), (\w -> focus w >> mouseResizeWindow w)) ]
++ , ((modMask, button3), (\w -> focus w >> mouseResizeWindow w))
++
++ -- Extension-provided mouse bindings
++ -- For extension FlexibleManipulate:
++ -- , ((modMask, button1), (\w -> focus w >> Flex.mouseWindow Flex.linear w))
++ -- For extension FlexibleResize:
++ -- , ((modMask, button3), (\w -> focus w >> Flex.mouseResizeWindow w))
++ ]
++
++-- Extension-provided definitions
++-- For extension Commands:
++-- commands :: [(String, X ())]
++-- commands = defaultCommands
++-- For extension DynamicLog:
++-- -- comment out default logHook definition above if you uncomment this:
++-- logHook = dynamicLog
diff --git a/x11-wm/xmonad/files/xmonad-0.6-version.patch b/x11-wm/xmonad/files/xmonad-0.6-version.patch
new file mode 100644
index 0000000..d9f2c53
--- /dev/null
+++ b/x11-wm/xmonad/files/xmonad-0.6-version.patch
@@ -0,0 +1,13 @@
+diff -rN -u old-xmonad-0.6/Main.hs new-xmonad-0.6/Main.hs
+--- old-xmonad-0.6/Main.hs 2008-02-17 18:31:59.000000000 +0100
++++ new-xmonad-0.6/Main.hs 2008-02-17 18:31:59.000000000 +0100
+@@ -37,7 +37,7 @@
+ ["--resume", _] -> launch
+ ["--recompile"] -> recompile False >> return ()
+ ["--recompile-force"] -> recompile True >> return ()
+- ["--version"] -> putStrLn "xmonad 0.5"
++ ["--version"] -> putStrLn "xmonad 0.6"
+ #ifdef TESTING
+ ("--run-tests":_) -> Properties.main
+ #endif
+
diff --git a/x11-wm/xmonad/files/xmonad-0.9.1-move-to-oldexception.patch b/x11-wm/xmonad/files/xmonad-0.9.1-move-to-oldexception.patch
new file mode 100644
index 0000000..d5b8724
--- /dev/null
+++ b/x11-wm/xmonad/files/xmonad-0.9.1-move-to-oldexception.patch
@@ -0,0 +1,52 @@
+diff --git a/XMonad/Core.hs b/XMonad/Core.hs
+index 1b7b70a..aedf7cc 100644
+--- a/XMonad/Core.hs
++++ b/XMonad/Core.hs
+@@ -33,7 +33,7 @@ module XMonad.Core (
+ import XMonad.StackSet hiding (modify)
+
+ import Prelude hiding ( catch )
+-import Control.Exception (catch, try, bracket, throw, finally, Exception(ExitException))
++import Control.OldException (catch, try, bracket, throw, finally, Exception(ExitException))
+ import Control.Applicative
+ import Control.Monad.State
+ import Control.Monad.Reader
+diff --git a/XMonad/ManageHook.hs b/XMonad/ManageHook.hs
+index be9bc58..c5674c0 100644
+--- a/XMonad/ManageHook.hs
++++ b/XMonad/ManageHook.hs
+@@ -22,7 +22,7 @@ import Prelude hiding (catch)
+ import XMonad.Core
+ import Graphics.X11.Xlib.Extras
+ import Graphics.X11.Xlib (Display, Window, internAtom, wM_NAME)
+-import Control.Exception (bracket, catch)
++import Control.OldException (bracket, catch)
+ import Control.Monad.Reader
+ import Data.Maybe
+ import Data.Monoid
+diff --git a/XMonad/Operations.hs b/XMonad/Operations.hs
+index fe124f3..5c8c898 100644
+--- a/XMonad/Operations.hs
++++ b/XMonad/Operations.hs
+@@ -33,7 +33,7 @@ import qualified Data.Set as S
+ import Control.Applicative
+ import Control.Monad.Reader
+ import Control.Monad.State
+-import qualified Control.Exception as C
++import qualified Control.OldException as C
+
+ import System.IO
+ import System.Posix.Process (executeFile)
+diff --git a/xmonad.cabal b/xmonad.cabal
+index 420050b..a97e187 100644
+--- a/xmonad.cabal
++++ b/xmonad.cabal
+@@ -43,7 +43,7 @@ library
+ XMonad.StackSet
+
+ if flag(small_base)
+- build-depends: base < 4 && >=3, containers, directory, process, filepath
++ build-depends: base < 5 && >=4, containers, directory, process, filepath
+ else
+ build-depends: base < 3
+ build-depends: X11>=1.5.0.0 && < 1.6, mtl, unix
diff --git a/x11-wm/xmonad/files/xmonad.desktop b/x11-wm/xmonad/files/xmonad.desktop
new file mode 100644
index 0000000..9c0bf6e
--- /dev/null
+++ b/x11-wm/xmonad/files/xmonad.desktop
@@ -0,0 +1,13 @@
+[Desktop Entry]
+Type=Application
+Encoding=UTF-8
+Name=xmonad
+Comment=A lightweight window manager
+Exec=/etc/X11/Sessions/xmonad
+TryExec=xmonad
+NoDisplay=true
+Icon=
+X-GNOME-WMName=Xmonad
+X-GNOME-Autostart-Phase=WindowManager
+X-GNOME-Provides=windowmanager
+X-GNOME-Autostart-Notify=false
diff --git a/x11-wm/xmonad/xmonad-9999.ebuild b/x11-wm/xmonad/xmonad-9999.ebuild
new file mode 100644
index 0000000..f997387
--- /dev/null
+++ b/x11-wm/xmonad/xmonad-9999.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+CABAL_FEATURES="bin lib profile haddock hscolour"
+
+inherit haskell-cabal git
+
+DESCRIPTION="A tiling window manager"
+HOMEPAGE="http://xmonad.org"
+EGIT_REPO_URI="git://git.animux.de/xmonad"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=">=dev-lang/ghc-6.10
+ dev-haskell/mtl
+ >=dev-haskell/x11-1.5"
+DEPEND="${RDEPEND}
+ >=dev-haskell/cabal-1.2"
+
+SAMPLE_CONFIG="xmonad.hs"
+SAMPLE_CONFIG_LOC="man"
+
+src_install() {
+ cabal_src_install
+
+ echo -e "#!/bin/sh\n/usr/bin/xmonad" > "${T}/${PN}"
+ exeinto /etc/X11/Sessions
+ doexe "${T}/${PN}"
+
+ insinto /usr/share/xsessions
+ doins "${FILESDIR}/${PN}.desktop"
+
+ doman man/xmonad.1
+
+ dodoc CONFIG README
+}
+
+pkg_postinst() {
+ ghc-package_pkg_postinst
+
+ elog "A sample ${SAMPLE_CONFIG} configuration file can be found here:"
+ elog " /usr/share/${PF}/ghc-$(ghc-version)/${SAMPLE_CONFIG_LOC}/${SAMPLE_CONFIG}"
+ elog "The parameters in this file are the defaults used by xmonad."
+ elog "To customize xmonad, copy this file to:"
+ elog " ~/.xmonad/${SAMPLE_CONFIG}"
+ elog "After editing, use 'mod-q' to dynamically restart xmonad "
+ elog "(where the 'mod' key defaults to 'Alt')."
+ elog ""
+ elog "Read the README or man page for more information, and to see "
+ elog "other possible configurations go to:"
+ elog " http://haskell.org/haskellwiki/Xmonad/Config_archive"
+ elog "Please note that many of these configurations will require the "
+ elog "x11-wm/xmonad-contrib package to be installed."
+}