diff options
author | Spencer Janssen <sjanssen@cse.unl.edu> | 2007-11-01 21:10:59 +0100 |
---|---|---|
committer | Spencer Janssen <sjanssen@cse.unl.edu> | 2007-11-01 21:10:59 +0100 |
commit | 4866f2e367dfcf22a9591231ba40948826a1b438 (patch) | |
tree | 7a245caee3f146826b267d773b7eaa80386a818e /WmiiActions.hs | |
parent | 47589e1913fb9530481caedb543978a30d4323ea (diff) | |
download | XMonadContrib-4866f2e367dfcf22a9591231ba40948826a1b438.tar.gz XMonadContrib-4866f2e367dfcf22a9591231ba40948826a1b438.tar.xz XMonadContrib-4866f2e367dfcf22a9591231ba40948826a1b438.zip |
Hierarchify
darcs-hash:20071101201059-a5988-fc1f1262bec1b69e13ba18ae7cefeafc8c4471d4.gz
Diffstat (limited to 'WmiiActions.hs')
-rw-r--r-- | WmiiActions.hs | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/WmiiActions.hs b/WmiiActions.hs deleted file mode 100644 index 2a82791..0000000 --- a/WmiiActions.hs +++ /dev/null @@ -1,102 +0,0 @@ ------------------------------------------------------------------------------ --- | --- Module : XMonadContrib.WmiiActions --- Copyright : (c) Juraj Hercek <juhe_xmonad@hck.sk> --- License : BSD3 --- --- Maintainer : Juraj Hercek <juhe_xmonad@hck.sk> --- Stability : unstable --- Portability : unportable --- --- Provides `actions' as known from Wmii window manager ( --- <http://wmii.suckless.org>). It also provides slightly better interface for --- running dmenu on xinerama screens. If you want to use xinerama functions, --- you have to apply following patch (see Dmenu.hs extension): --- <http://www.jcreigh.com/dmenu/dmenu-3.2-xinerama.patch>. Don't forget to --- recompile dmenu afterwards ;-). ------------------------------------------------------------------------------ - -module XMonadContrib.WmiiActions ( - -- * Usage - -- $usage - wmiiActions - , wmiiActionsXinerama - , executables - , executablesXinerama - ) where - -import XMonad -import XMonadContrib.Dmenu (dmenu, dmenuXinerama) -import XMonadContrib.Run (runProcessWithInput) - -import Control.Monad (filterM, liftM, liftM2) -import System.Directory (getDirectoryContents, doesFileExist, getPermissions, executable) - --- $usage --- --- You can use this module with the following in your Config.hs file: --- --- > import XMonadContrib.WmiiActions --- --- and add following to the list of keyboard bindings: --- --- > ,((modMask, xK_a), wmiiActions "/home/joe/.wmii-3.5/") --- --- or, if you are using xinerama, you can use --- --- > ,((modMask, xK_a), wmiiActionsXinerama "/home/joe/.wmii-3.5/") --- --- however, make sure you have also xinerama build of dmenu (for more --- information see "XMonadContrib.Dmenu" extension). - --- | The 'wmiiActions' function takes the file path as a first argument and --- executes dmenu with all executables found in the provided path. -wmiiActions :: FilePath -> X () -wmiiActions path = - wmiiActionsDmenu path dmenu - --- | The 'wmiiActionsXinerama' does the same as 'wmiiActions', but it shows --- dmenu only on workspace which currently owns focus. -wmiiActionsXinerama :: FilePath -> X () -wmiiActionsXinerama path = - wmiiActionsDmenu path dmenuXinerama - -wmiiActionsDmenu :: FilePath -> ([String] -> X String) -> X () -wmiiActionsDmenu path dmenuBrand = - let path' = path ++ "/" in - getExecutableFileList path' >>= dmenuBrand >>= spawn . (path' ++) - -getExecutableFileList :: FilePath -> X [String] -getExecutableFileList path = - io $ getDirectoryContents path >>= - filterM (\x -> let x' = path ++ x in - liftM2 (&&) - (doesFileExist x') - (liftM executable (getPermissions x'))) - -{- -getExecutableFileList :: FilePath -> X [String] -getExecutableFileList path = - io $ getDirectoryContents path >>= - filterM (doesFileExist . (path ++)) >>= - filterM (liftM executable . getPermissions . (path ++)) --} - --- | The 'executables' function runs dmenu_path script providing list of --- executable files accessible from $PATH variable. -executables :: X () -executables = executablesDmenu dmenu - --- | The 'executablesXinerama' function does the same as 'executables' function --- but on workspace which currently owns focus. -executablesXinerama :: X () -executablesXinerama = executablesDmenu dmenuXinerama - -executablesDmenu :: ([String] -> X String) -> X () -executablesDmenu dmenuBrand = - getExecutablesList >>= dmenuBrand >>= spawn - -getExecutablesList :: X [String] -getExecutablesList = - io $ liftM lines $ runProcessWithInput "dmenu_path" [] "" - |