diff options
author | tv <tv@krebsco.de> | 2017-11-11 23:47:52 +0100 |
---|---|---|
committer | tv <tv@krebsco.de> | 2017-11-11 23:47:52 +0100 |
commit | 5341ae36b74661018e91c5a28843952695748e21 (patch) | |
tree | e1eb00e96eb358a5ea29de9d58d472b1419b18a3 /tv/5pkgs | |
parent | d2297c4902c5f4eded1ad6d3f11e717f02004d30 (diff) |
tv xmonad: make XMONAD_STARTUP_HOOK optional
Diffstat (limited to 'tv/5pkgs')
-rw-r--r-- | tv/5pkgs/simple/xmonad-tv/default.nix | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/tv/5pkgs/simple/xmonad-tv/default.nix b/tv/5pkgs/simple/xmonad-tv/default.nix index f73175b..94554f5 100644 --- a/tv/5pkgs/simple/xmonad-tv/default.nix +++ b/tv/5pkgs/simple/xmonad-tv/default.nix @@ -3,6 +3,7 @@ pkgs.writeHaskell "xmonad-tv" { executables.xmonad = { extra-depends = [ "containers" + "extra" "unix" "X11" "xmonad" @@ -19,11 +20,12 @@ pkgs.writeHaskell "xmonad-tv" { module Main where import Control.Exception +import Control.Monad.Extra (whenJustM) import Graphics.X11.ExtraTypes.XF86 import Text.Read (readEither) import XMonad import System.IO (hPutStrLn, stderr) -import System.Environment (getArgs, withArgs, getEnv, getEnvironment) +import System.Environment (getArgs, withArgs, getEnv, getEnvironment, lookupEnv) import System.Posix.Process (executeFile) import XMonad.Actions.DynamicWorkspaces ( addWorkspacePrompt, renameWorkspace , removeEmptyWorkspace) @@ -84,9 +86,9 @@ mainNoArgs = do -- , handleEventHook = myHandleEventHooks <+> handleTimerEvent --, handleEventHook = handleTimerEvent , manageHook = placeHook (smart (1,0)) <+> floatNextHook - , startupHook = do - path <- liftIO (getEnv "XMONAD_STARTUP_HOOK") - forkFile path [] Nothing + , startupHook = + whenJustM (liftIO (lookupEnv "XMONAD_STARTUP_HOOK")) + (\path -> forkFile path [] Nothing) , normalBorderColor = "#1c1c1c" , focusedBorderColor = "#f000b0" , handleEventHook = handleShutdownEvent |