aosd 0.1.1 → 0.1.2
raw patch · 3 files changed
+26/−8 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Graphics.Aosd: instance Show ScreenSize
Files
- Graphics/Aosd.hs +20/−6
- aosd.cabal +5/−1
- test/test.hs +1/−1
Graphics/Aosd.hs view
@@ -35,7 +35,7 @@ import Graphics.Rendering.Cairo.Internal(runRender) import Data.Functor import Graphics.Rendering.Pango.Enums-import Graphics.X11.Xlib(openDisplay,displayHeight,displayWidth,defaultScreen)+import Graphics.X11.Xlib(openDisplay,closeDisplay,displayHeight,displayWidth,defaultScreen) class AosdRenderer a where toGeneralRenderer :: a -> IO GeneralRenderer@@ -154,7 +154,25 @@ ) +data ScreenSize = ScreenSize { screenWidth, screenHeight :: Int }+ deriving(Show) +++getScreenSize :: IO ScreenSize+getScreenSize = do+ display <- openDisplay ""++ let go = do+ -- Work around unsafe FFI declarations in the X11 bindings...+ screen <- evaluate $ defaultScreen display+ screenWidth <- evaluate . fromIntegral $ displayWidth display screen+ screenHeight <- evaluate . fromIntegral $ displayHeight display screen++ return ScreenSize{..}++ go `finally` closeDisplay display+ reconfigure0 :: AosdRenderer a => AosdOptions -> a -> Ptr C'Aosd -> IO () reconfigure0 AosdOptions{..} renderer a = do GeneralRenderer{..} <- toGeneralRenderer renderer @@ -162,11 +180,7 @@ maybeDo (c'aosd_set_transparency a . toAosdTransparency) transparency - display <- openDisplay ""- let screen = defaultScreen display- screenWidth = fromIntegral $ displayWidth display screen- screenHeight = fromIntegral $ displayHeight display screen-+ ScreenSize{..} <- getScreenSize let -- l=Left, t=Top, w=Width, h=Height
aosd.cabal view
@@ -2,7 +2,7 @@ -- see -- http://www.haskell.org/cabal/release/cabal-latest/doc/users-guide/authors.html#pkg-descr. Name: aosd-Version: 0.1.1+Version: 0.1.2 Synopsis: Bindings to libaosd, a library for Cairo-based on-screen displays Description: <http://www.atheme.org/project/libaosd>@@ -38,6 +38,10 @@ Build-type: Simple Extra-source-files: test/test.hs Cabal-version: >=1.10++source-repository head+ type: hg+ location: https://dschuessler@bitbucket.org/dschuessler/haskell-aosd Library Default-Extensions: ForeignFunctionInterface
test/test.hs view
@@ -38,7 +38,7 @@ alignmentsTest = do- sequence_ [ goText 2000 (\x -> x { width = Just width, + sequence_ [ goText 1000 (\x -> x { width = Just width, wrapMode = wrap, alignment = Just al, colour = magenta })