#18 move to event-driven main loop
[fanfix.git] / docs / TODO.md
index 3f4df474c38e07da1879910d21be702139b08008..9b90b45808fc726f9d30aa986db61de84cf47032 100644 (file)
@@ -5,79 +5,88 @@ Jexer TODO List
 Roadmap
 -------
 
-BUG: TTreeView.reflow() doesn't keep the vertical dot within the
-     scrollbar.
+0.0.6
 
-0.0.5
+#18 Rework TApplication run loop:
+    - Reduce thread spinlocks
+    - Eliminate unnecessary screen redraws
+    - No activity means no CPU usage
 
-- TApplication
-  - getAllWindows()
-  - Expose menu management functions (addMenu, getMenu, getAllMenus,
-    removeMenu, ...)
+- TSpinner
+- TComboBox
+- TCalendar
 
 - TEditor
+  - Horizontal scrollbar integration
+  - True tokenization and syntax highlighting: Java, C, Clojure, XML
+  - Carat notation for control characters
+  - Tab character support
+  - Cut/copy/paste
+  - Performance: behave smoothly on 100MB text files
 
-  - Swich Line from String to ArrayList<Cell>
-    - StringUtils.justify functions for ArrayList<Cell>
-  - TEditorWindow extends TScrollableWindow
-  - TEditor widget with keystroke functions:
-    - cursorRight/Left/...
-    - insertChar
-    - deleteForwardChar
-    - deleteBackwardChar
-    - deleteBackwardWord
-    - wordCount
-    - ...
-
-- Eliminate all Eclipse warnings
+0.0.7
 
-0.0.6
+- Finish up multiscreen support:
+  - cmAbort to cmScreenDisconnected
+  - cmScreenConnected
+  - Handle screen resizes
 
-- TSpinner
-- TComboBox
-- TCalendar
+- TEditor
+  - Word wrap
+  - Performance: behave smoothly on 1GB text files
 
-0.0.7
+- Additional main color themes:
+  - Dark / L33t
+  - Green / NoReallyElite
+  - Red/brown
+  - Monochrome
+  - OMGPonies
 
-- Refactor SwingBackend to be embeddable
-  - jexer.Swing.blockMousePointer: false = do not invert cell, true
-    (default) is current behavior
-  - Make Demo5 with two separate Swing demos in a single JFrame.
-  - Make Demo6 mixing Swing and Jexer components
+0.0.8
 
 - THelpWindow
-  - TText + clickable links
+  - TEditor + clickable links
   - Index
 
-0.0.8
+- TEditor
+  - Expose API:
+    - Cursor movement
+    - Movement within document
+    - Cut/copy/paste
+
+0.0.9
 
-- Undo / Redo support
+- TEditor:
+  - Undo / Redo support
 
 0.1.0: BETA RELEASE and BUG HUNT
 
 - Verify vttest in multiple tterminals.
 
+0.2.0:
+
+- Drag and drop
+  - TEditor
+  - TField
+  - TText
+  - TTerminal
+  - TComboBox
+
 1.0.0
 
-- Maven artifact.
+- Publish to the whole wide world
 
 
 1.1.0 Wishlist
 --------------
 
 - TTerminal
-  - Handle resize events (pass to child process)
+  - Handle resize events (pass to child process).  Will need to switch
+    to forkpty(), or ship a C wrapper process.
 
 - Screen
   - Allow complex characters in putCharXY() and detect them in putStringXY().
 
-- Drag and drop
-  - TEditor
-  - TField
-  - TText
-  - TTerminal
-  - TComboBox
-
 
 
 Regression Checklist
@@ -99,8 +108,6 @@ Fix all marked TODOs in code
 
 Eliminate DEBUG, System.err prints
 
-Version in:
-
 Update written by date to current year:
     All code headers
     VERSION
@@ -109,6 +116,7 @@ Tag github
 
 Upload to SF
 
+Upload to sonatype
 
 
 Brainstorm Wishlist