{-# LANGUAGE OverloadedStrings, OverloadedLabels #-} module Gui (runWindow) where import qualified GI.Gtk as Gtk import qualified GI.Gio as Gio import qualified GI.WebKit as WebKit import qualified Data.Text as T runWindow :: String -> IO () runWindow htmlContent = do app <- Gtk.applicationNew (Just "com.svitak.reader") [] _ <- Gtk.on app #activate $ do window <- Gtk.applicationWindowNew app Gtk.windowSetTitle window (Just "Svitak") Gtk.windowSetDefaultSize window 800 600 webView <- WebKit.webViewNew WebKit.webViewLoadHtml webView (T.pack htmlContent) (Just "file:///") Gtk.windowSetChild window (Just webView) #present window _ <- Gio.applicationRun app Nothing pure ()