packages feed

msu (empty) → 0.0.1

raw patch · 3 files changed

+60/−0 lines, 3 filesdep +basedep +directorydep +filepathsetup-changed

Dependencies added: base, directory, filepath, mtl, parsec, process, xdg-basedir

Files

+ Setup.hs view
@@ -0,0 +1,2 @@+import Distribution.Simple+main = defaultMain
+ main.hs view
@@ -0,0 +1,34 @@+module Main where++import Data.List (partition)+import MSU.Display+import MSU.Hooks+import MSU.Xrandr.Command+import MSU.Xrandr.Parse+import System.IO (hPrint, stderr)+import System.Process (readProcess, runCommand, waitForProcess)++main :: IO ()+main = do+    xrandrOutput <- readProcess "xrandr" ["--query"] ""++    case parseXrandr xrandrOutput of+        Left err -> hPrint stderr err+        Right displays -> do+            runCmd $ defaultCommand displays+            runHook runCmd "after-setup"++defaultCommand :: [Display] -> String+defaultCommand displays = buildCommand $ do+    let (connected, disconnected) = partition isConnected displays++    allOff disconnected+    firstOn connected+    extendRight connected++runCmd :: String -> IO ()+runCmd cmd = do+    putStrLn cmd+    _ <- waitForProcess =<< runCommand cmd++    return ()
+ msu.cabal view
@@ -0,0 +1,24 @@+name:          msu+version:       0.0.1+synopsis:      Monitor Setup Utility+description:   Convenient wrapper over xrandr for setting up monitors+homepage:      http://github.com/pbrisbin/msu+license:       MIT+copyright:     (c) 2013 Pat Brisbin+author:        Pat Brisbin <pbrisbin@gmail.com>+maintainer:    Pat Brisbin <pbrisbin@gmail.com>+build-type:    Simple+cabal-version: >= 1.8++executable msu+  main-is: main.hs++  ghc-options: -Wall++  build-depends: base == 4.*+               , directory+               , filepath+               , mtl+               , parsec+               , process+               , xdg-basedir