From 4866f2e367dfcf22a9591231ba40948826a1b438 Mon Sep 17 00:00:00 2001 From: Spencer Janssen Date: Thu, 1 Nov 2007 21:10:59 +0100 Subject: Hierarchify darcs-hash:20071101201059-a5988-fc1f1262bec1b69e13ba18ae7cefeafc8c4471d4.gz --- WmiiActions.hs | 102 --------------------------------------------------------- 1 file changed, 102 deletions(-) delete mode 100644 WmiiActions.hs (limited to 'WmiiActions.hs') 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 --- License : BSD3 --- --- Maintainer : Juraj Hercek --- Stability : unstable --- Portability : unportable --- --- Provides `actions' as known from Wmii window manager ( --- ). 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): --- . 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" [] "" - -- cgit v1.2.3