5
main :: IO()
main = runCurses $ do
setEcho False
w <- defaultWindow
canvas <- newWindow 19 19 0 0
panel <- newPanel canvas
updateWindow canvas $ do
drawString "Hello world!"
render
waitFor w (\ev -> ev == EventCharacter 'q' || ev == EventCharacter 'Q')
waitFor :: Window -> (Event -> Bool) -> Curses()
waitFor w p = loop where
loop = do
ev <- getEvent w Nothing
case ev of
Nothing -> loop
Just ev' -> unless (p ev') loop
Hallo. Es ist ein bisschen modifiziertes Beispiel für das Paket ncurses. Problem ist, dass nichts angezeigt wird. In C-API, wie ich mich erinnere, muss ich jedes Fenster unabhängig aktualisieren. Aber Haskell bietet nur render
an. Wo ich falsch liege? Ich möchte ein bewegliches Widget haben.Haskell ncurses
Woher kommt diese Funktion? Ich sehe kein einziges Wort darüber in UI.NCurses Bibliothek und GHCi '' i' Option weiß auch nichts darüber ... – Sventimir
Ich denke, das OP bedeutete 'refreshPanels' in UI.NCurses.Panel. http://hackage.haskell.org/package/ncurses-0.1.0.2/docs/UI-NCurses-Panel.html – joom
@Joom, wenn Sie denken, dass die Antwort falsch ist (aus welchem Grund auch immer, sei es Tippfehler oder etwas anderes)) - lehne diesen ab und poste einen richtigen. – vaxquis