diff options
| author | Hannes Schulze <haschu0103@outlook.de> | 2025-06-20 17:11:35 +0200 |
|---|---|---|
| committer | Hannes Schulze <haschu0103@outlook.de> | 2025-06-20 17:11:35 +0200 |
| commit | 75b5dde3a4d62acfc4f354b6dc237062cb83b89b (patch) | |
| tree | a39283ff47a1a33a1a713e03a1e60b8efe80e03a /app/Main.hs | |
| parent | 519956797d905c0925b8dd418ceb17c7495ad30a (diff) | |
add resources
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 |
