gtk-sni-tray 0.1.5.0 → 0.1.6.0
raw patch · 3 files changed
+19/−23 lines, 3 filesdep +gi-cairo-connectordep +gi-cairo-renderdep −cairodep ~status-notifier-item
Dependencies added: gi-cairo-connector, gi-cairo-render
Dependencies removed: cairo
Dependency ranges changed: status-notifier-item
Files
- gtk-sni-tray.cabal +9/−7
- src/StatusNotifier/TransparentWindow.hs +4/−13
- src/StatusNotifier/Tray.hs +6/−3
gtk-sni-tray.cabal view
@@ -1,11 +1,13 @@--- This file has been generated from package.yaml by hpack version 0.28.2.+cabal-version: 1.12++-- This file has been generated from package.yaml by hpack version 0.31.1. -- -- see: https://github.com/sol/hpack ----- hash: 067fc5601dbe657896605cceec402ebd1bd4bc70ddaf12463634b8149c9487a7+-- hash: 9ae75bcf04140e891f7319a5d4f55a83c2a0aa11aee489abb939acfb3853eb0d name: gtk-sni-tray-version: 0.1.5.0+version: 0.1.6.0 synopsis: A standalone StatusNotifierItem/AppIndicator tray description: Please see the README on Github at <https://github.com/IvanMalison/gtk-sni-tray#readme> category: System@@ -17,10 +19,9 @@ license: BSD3 license-file: LICENSE build-type: Simple-cabal-version: >= 1.10 extra-source-files:- ChangeLog.md README.md+ ChangeLog.md source-repository head type: git@@ -37,13 +38,14 @@ build-depends: base >=4.7 && <5 , bytestring- , cairo , containers , dbus >=1.0.0 && <2.0.0 , directory , enclosed-exceptions >=1.0.0.1 , filepath , gi-cairo+ , gi-cairo-connector+ , gi-cairo-render , gi-dbusmenugtk3 , gi-gdk , gi-gdkpixbuf >=2.0.16@@ -53,7 +55,7 @@ , haskell-gi >=0.21.2 , haskell-gi-base >=0.21.1 , hslogger- , status-notifier-item >=0.3.0.0 && <0.4.0.0+ , status-notifier-item >=0.3.0.1 && <0.4.0.0 , text , transformers , transformers-base >=0.4
src/StatusNotifier/TransparentWindow.hs view
@@ -20,21 +20,12 @@ import Control.Monad.Trans.Reader import Data.GI.Base import Foreign.Ptr (castPtr)-import qualified GI.Cairo+import GI.Cairo hiding (OperatorOver, OperatorSource)+import GI.Cairo.Render+import GI.Cairo.Render.Connector import qualified GI.Gdk as Gdk import qualified GI.Gtk as Gtk-import Graphics.Rendering.Cairo-import Graphics.Rendering.Cairo.Internal (Render(runRender))-import Graphics.Rendering.Cairo.Types (Cairo(Cairo)) --- | This function bridges gi-cairo with the hand-written cairo package. It--- takes a `GI.Cairo.Context` (as it appears in gi-cairo), and a `Render` action--- (as in the cairo lib), and renders the `Render` action into the given--- context.-renderWithContext :: GI.Cairo.Context -> Render () -> IO ()-renderWithContext ct r =- withManagedPtr ct $ \p -> runReaderT (runRender r) (Cairo (castPtr p))- makeWindowTransparent :: MonadIO m => Gtk.Window -> m () makeWindowTransparent window = do screen <- Gtk.widgetGetScreen window@@ -52,7 +43,7 @@ Gdk.setRGBARed rGBA 1.0 Gdk.setRGBAGreen rGBA 1.0 Gdk.cairoSetSourceRgba context rGBA- renderWithContext context $ do+ flip renderWithContext context $ do setOperator OperatorSource paint setOperator OperatorOver
src/StatusNotifier/Tray.hs view
@@ -99,7 +99,9 @@ getIconPixbufByName :: Int32 -> T.Text -> Maybe String -> IO (Maybe Pixbuf) getIconPixbufByName size name themePath = do trayLogger DEBUG $ printf "Getting Pixbuf from name for %s" name- themeForIcon <- maybe iconThemeGetDefault getThemeWithDefaultFallbacks themePath+ let nonEmptyThemePath = themePath >>= (\x -> if x == "" then Nothing else Just x)+ themeForIcon <-+ maybe iconThemeGetDefault getThemeWithDefaultFallbacks nonEmptyThemePath let panelName = T.pack $ printf "%s-panel" name hasPanelIcon <- iconThemeHasIcon themeForIcon panelName@@ -338,8 +340,9 @@ maybeAddOverlayToPixbuf size info pixbuf = do runMaybeT $ do let overlayHeight = floor (fromIntegral size * overlayScale)- overlayPixbuf <- MaybeT $ getOverlayPixBufFromInfo overlayHeight info >>=- traverse (scalePixbufToSize overlayHeight Gtk.OrientationHorizontal)+ overlayPixbuf <-+ MaybeT $ getOverlayPixBufFromInfo overlayHeight info >>=+ traverse (scalePixbufToSize overlayHeight Gtk.OrientationHorizontal) lift $ do actualOHeight <- getPixbufHeight overlayPixbuf actualOWidth <- getPixbufWidth overlayPixbuf