diff options
-rw-r--r-- | tv/2configs/xserver/xmonad/Main.hs | 10 | ||||
-rw-r--r-- | tv/2configs/xserver/xmonad/xmonad.cabal | 1 |
2 files changed, 8 insertions, 3 deletions
diff --git a/tv/2configs/xserver/xmonad/Main.hs b/tv/2configs/xserver/xmonad/Main.hs index 186a5e22c..cc958155e 100644 --- a/tv/2configs/xserver/xmonad/Main.hs +++ b/tv/2configs/xserver/xmonad/Main.hs @@ -8,7 +8,8 @@ module Main where import Control.Exception import Text.Read (readEither) import XMonad -import System.Environment (getArgs, getEnv) +import System.Environment (getArgs, getEnv, getEnvironment) +import System.Posix.Process (executeFile) import XMonad.Prompt (defaultXPConfig) import XMonad.Actions.DynamicWorkspaces ( addWorkspacePrompt, renameWorkspace , removeEmptyWorkspace) @@ -100,8 +101,11 @@ displaySomeException = displayException spawnTermAt :: String -> X () --spawnTermAt _ = floatNext True >> spawn myTerm --spawnTermAt "ff" = floatNext True >> spawn myTerm -spawnTermAt _ = spawn myTerm - +--spawnTermAt _ = spawn myTerm +spawnTermAt ws = do + env <- liftIO getEnvironment + let env' = ("XMONAD_SPAWN_WORKSPACE", ws) : env + xfork (executeFile "urxvtc" True [] (Just env')) >> return () myKeys :: XConfig Layout -> Map (KeyMask, KeySym) (X ()) myKeys conf = Map.fromList $ diff --git a/tv/2configs/xserver/xmonad/xmonad.cabal b/tv/2configs/xserver/xmonad/xmonad.cabal index 00acf1704..cc72d3953 100644 --- a/tv/2configs/xserver/xmonad/xmonad.cabal +++ b/tv/2configs/xserver/xmonad/xmonad.cabal @@ -10,6 +10,7 @@ Executable xmonad base, containers, filepath, + unix, X11, X11-xshape, xmonad, |