diff options
Diffstat (limited to 'app/Main.hs')
| -rw-r--r-- | app/Main.hs | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/app/Main.hs b/app/Main.hs index 609b53d..25ad7d4 100644 --- a/app/Main.hs +++ b/app/Main.hs @@ -4,13 +4,23 @@ {-# LANGUAGE ImplicitParams #-} import Control.Monad (void) +import Control.Exception (bracket_) +import Data.Maybe (fromJust) import Data.GI.Base + import qualified GI.Gtk as Gtk +import qualified GI.Gdk as Gdk import qualified GI.Gio as Gio import qualified GI.Foobar as FB activate :: Gtk.Application -> IO () activate app = do + provider <- new Gtk.CssProvider [] + provider.loadFromResource "/foobar/styles/default.css" + disp <- Gdk.displayGetDefault + Gtk.styleContextAddProviderForDisplay (fromJust disp) + provider + (fromIntegral Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION) button <- new Gtk.Button [ #label := "Hello, world!" ] window <- new Gtk.ApplicationWindow [ #application := app , #title := "Test" @@ -24,6 +34,9 @@ activate app = do main :: IO () main = do - app <- new Gtk.Application [ #applicationId := "com.github.hannesschulze.foobar-hs" - , On #activate (activate ?self) ] - void $ app.run Nothing + bracket_ + (do FB.stylesRegisterResource; FB.iconsRegisterResource) + (do FB.stylesUnregisterResource; FB.iconsUnregisterResource) $ + do app <- new Gtk.Application [ #applicationId := "com.github.hannesschulze.foobar-hs" + , On #activate (activate ?self) ] + void $ app.run Nothing |
