diff options
Diffstat (limited to 'src/Rahm/Desktop/DMenu.hs')
| -rw-r--r-- | src/Rahm/Desktop/DMenu.hs | 60 |
1 files changed, 37 insertions, 23 deletions
diff --git a/src/Rahm/Desktop/DMenu.hs b/src/Rahm/Desktop/DMenu.hs index d20d001..eeb0d5f 100644 --- a/src/Rahm/Desktop/DMenu.hs +++ b/src/Rahm/Desktop/DMenu.hs @@ -1,19 +1,20 @@ module Rahm.Desktop.DMenu where -import XMonad.Util.Dmenu -import XMonad import Control.Monad +import Data.List (intercalate) import Data.Map (Map) import qualified Data.Map as Map -import XMonad.Util.Run -import Data.List (intercalate) import Text.Printf (printf) +import XMonad +import XMonad.Util.Dmenu +import XMonad.Util.Run -data Colors = - Colors { - fg :: String, - bg :: String - } | DefaultColors +data Colors + = Colors + { fg :: String, + bg :: String + } + | DefaultColors menuCommand :: [String] menuCommand = ["rofi", "-monitor", "-4", "-i", "-dmenu", "-sort", "-levenshtein-sort"] @@ -22,24 +23,37 @@ menuCommandString :: String menuCommandString = unwords menuCommand runDMenu :: X () -runDMenu = void $ - safeSpawn - "rofi" - ["-monitor", "-4", "-display-run", "Execute", "-show", "run"] +runDMenu = + void $ + safeSpawn + "rofi" + ["-monitor", "-4", "-display-run", "Execute", "-show", "run"] runDMenuPrompt :: String -> Maybe String -> [String] -> X String runDMenuPrompt prompt color select = let realColor = maybe [] (\c -> ["-sb", c, "-nf", c]) color - in - runProcessWithInput "/home/rahm/.local/bin/dmenu_debug.sh" ([ - "-p", prompt, - "-l", "12", - "-dim", "0.4" ] ++ realColor) (intercalate "\n" select) - + in runProcessWithInput + "/home/rahm/.local/bin/dmenu_debug.sh" + ( [ "-p", + prompt, + "-l", + "12", + "-dim", + "0.4" + ] + ++ realColor + ) + (intercalate "\n" select) runDMenuPromptWithMap :: String -> Maybe String -> Map String a -> X (Maybe a) runDMenuPromptWithMap prompt color map = do - let realColor = maybe [] ( - \c -> ["-theme-str", printf "* {theme-color: %s;}" c]) color - menuMapArgs (head menuCommand) - (tail menuCommand ++ ["-p", prompt] ++ realColor) map + let realColor = + maybe + [] + ( \c -> ["-theme-str", printf "* {theme-color: %s;}" c] + ) + color + menuMapArgs + (head menuCommand) + (tail menuCommand ++ ["-p", prompt] ++ realColor) + map |