diff --git a/TODO b/TODO index e69de29..0103dac 100644 --- a/TODO +++ b/TODO @@ -0,0 +1,16 @@ +- think about the statusbar/multithreading. + Three shared TVars: + windowTitle :: TVar String + workspace :: TVar Int + statusText :: TVar String + Three threads: + Main thread, handles all of the events that it handles now. When + necessary, it writes to workspace or windowTitle + + Status IO thread, the algorithm is something like this: + forever $ do + s <- getLine + atomic (writeTVar statusText s) + + Statusbar drawing thread, waits for changes in all three TVars, and + redraws whenever it finds a change.