module Main where
import Graphics.X11.Xlib
import Graphics.X11.Xft
import System.Exit (exitWith, ExitCode(..))
import Control.Concurrent (threadDelay)
main :: IO ()
main =
do dpy <- openDisplay ""
let dflt = defaultScreen dpy
border = blackPixel dpy dflt
background = whitePixel dpy dflt
rootw <- rootWindow dpy dflt
win <- createSimpleWindow dpy rootw 0 0 100 100 1 border background
setTextProperty dpy win "Hello World" wM_NAME
mapWindow dpy win
let screen = defaultScreenOfDisplay dpy;
colormap = defaultColormapOfScreen screen;
visual = defaultVisualOfScreen screen;
draw <- xftDrawCreate dpy win visual colormap
font <- xftFontOpen dpy screen "Sans-10"
withXftColorName dpy visual colormap "red" (\color -> xftDrawString draw color font 20 20 "ARGARGHÄLLLO")
sync dpy False
threadDelay (10 * 1000000)
xftDrawDestroy draw
exitWith ExitSuccess