From 8927ac2d579b192a176901602c8e73951d45f963 Mon Sep 17 00:00:00 2001 From: Adam Vogt Date: Sat, 3 Oct 2009 21:38:04 +0200 Subject: Add a GSCONFIG class to overload defaultGSConfig. Ignore-this: 220a13bf1ee145b18f28c66e32c79266 This uses -XOverlappingInstances to provide a fallback instance which uses the focusedBorderColor and normalBorderColor, but that part is optional. User's configs should use -XNoMonomorphismRestriction if they want to avoid writing a type signature for myGSConfig. Also, type variables become ambiguous in expressions like: > myGSConfig darcs-hash:20091003193804-1499c-ae124fc732c4bc956ace090b57681f2463441990.gz --- XMonad/Actions/WindowMenu.hs | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) (limited to 'XMonad/Actions/WindowMenu.hs') diff --git a/XMonad/Actions/WindowMenu.hs b/XMonad/Actions/WindowMenu.hs index 0401424..9d30823 100644 --- a/XMonad/Actions/WindowMenu.hs +++ b/XMonad/Actions/WindowMenu.hs @@ -41,21 +41,14 @@ import XMonad.Util.XUtils (fi) -- -- > , ((modMask x, xK_o ), windowMenu) -simpleColorizer :: (Monad m) => t -> t -> t1 -> Bool -> m (t, [Char]) -simpleColorizer nBC _ _ False = return (nBC, "black") -simpleColorizer _ fBC _ True = return (fBC, "black") - windowMenu :: X () windowMenu = withFocused $ \w -> do - nBC <- asks (normalBorderColor . config) - fBC <- asks (focusedBorderColor . config) tags <- asks (workspaces . config) Rectangle x y wh ht <- getSize w Rectangle sx sy swh sht <- gets $ screenRect . W.screenDetail . W.current . windowset let originFractX = (fi x - fi sx + fi wh / 2) / fi swh originFractY = (fi y - fi sy + fi ht / 2) / fi sht - colorizer = simpleColorizer nBC fBC - gsConfig = (buildDefaultGSConfig colorizer) + gsConfig = defaultGSConfig { gs_originFractX = originFractX , gs_originFractY = originFractY } actions = [ ("Cancel menu", return ()) -- cgit v1.2.3