TODO revision 1.1 1 1.1 christos Top priority would be the mouse. We need to get cut&paste working.
2 1.1 christos (Including extend beyond the visible screen. I believe I'm sending
3 1.1 christos the correct mouse events for that, but I haven't tested it.)
4 1.1 christos
5 1.1 christos =-=-=-=
6 1.1 christos Find a tool to convert the reference doc to html, and just point a
7 1.1 christos browser at it for the help screen. Have "novice", "fast lookup"
8 1.1 christos and an "everything" version.
9 1.1 christos
10 1.1 christos =-=-=-=
11 1.1 christos Disassociate scrollbar actions from the cursor, i.e. when you
12 1.1 christos scroll the screen moves but the cursor doesn't.
13 1.1 christos
14 1.1 christos >> However, it seems to me that the cursor should disappear from
15 1.1 christos >> the screen as soon as it's no longer positioned on a line that's
16 1.1 christos >> on the screen. Does that make sense? And, if so, how do we
17 1.1 christos >> make that happen?
18 1.1 christos >
19 1.1 christos > I'd add a message:
20 1.1 christos > IPO_DISPLAY_CARET( boolean )
21 1.1 christos > since the caret is also used for the current drawing position, we
22 1.1 christos > really can't move it 'off the screen'.
23 1.1 christos
24 1.1 christos =-=-=-=
25 1.1 christos >> BTW, this may be a bug, I can't seem to erase characters in the
26 1.1 christos >> colon command line.
27 1.1 christos >
28 1.1 christos > It's a bug that I reported earlier. Core is not (correctly) reading the
29 1.1 christos > tty options for the terminal. Since we have not bound magic
30 1.1 christos > characters (VI_BACKSPACE) to BackSpace and Delete keys, the
31 1.1 christos > editing here is counter-intuitive. I'd guess that you use
32 1.1 christos > Delete for Tty Erase. Try ^H in the colon line and see what happens.
33 1.1 christos
34 1.1 christos =-=-=-=
35 1.1 christos Implement a "word search" button for the search dialog -- it's not
36 1.1 christos trivial, the ex/ex_subst.c/re_compile() routine is going to have to
37 1.1 christos allocate memory for the pattern which isn't going to make it happy.
38 1.1 christos
39 1.1 christos =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
40 1.1 christos /* TODO List:
41 1.1 christos * scrollbars Need protocol messages that tell us what to display
42 1.1 christos * in the scrollbars. Suggestion:
43 1.1 christos * scrollbar( bottom, lines, home )
44 1.1 christos * bottom is $
45 1.1 christos * lines is lines shown in the window
46 1.1 christos * (takes wrap into account)
47 1.1 christos * home is the line number ot the top visible line
48 1.1 christos *
49 1.1 christos * On the way back send scroll( top )
50 1.1 christos *
51 1.1 christos * User should be able to enable/disable bar display
52 1.1 christos *
53 1.1 christos * <yuch!> horizontal scrollbar
54 1.1 christos *
55 1.1 christos * expose_func
56 1.1 christos * insert/delete When we have a partially obscured window, we only
57 1.1 christos * refresh a single line after scrolling. I believe this
58 1.1 christos * is due to the exposure events all showing up after
59 1.1 christos * the scrolling is completed (pipe_input_func does all
60 1.1 christos * of the scrolling and then we get back to XtMainLoop)
61 1.1 christos *
62 1.1 christos * split Ought to be able to put a title on each pane
63 1.1 christos * Need protocol messages to shift focus
64 1.1 christos *
65 1.1 christos * bell user settable visible bell
66 1.1 christos *
67 1.1 christos * busy don't understand the protocol
68 1.1 christos *
69 1.1 christos * mouse need to send IPO_MOVE_CARET( row, column )
70 1.1 christos * (note that screen code does not know about tabs or
71 1.1 christos * line wraps)
72 1.1 christos * Connect to window manager cut buffer
73 1.1 christos * need to send IPO_EXTEND_SELECT( r1, c1, r2, c1 )
74 1.1 christos * otherwise core and screen duplicate selection logic
75 1.1 christos * Need to determine correct screen for event. Not
76 1.1 christos * needed until split is implemented.
77 1.1 christos *
78 1.1 christos * arrow keys need to define a protocol. I can easily send
79 1.1 christos * the vt100 sequences (and currently do).
80 1.1 christos * In general, we need to define what special keys
81 1.1 christos * do (for example PageUp) and what happens when we
82 1.1 christos * are in Insert mode.
83 1.1 christos *
84 1.1 christos * Suggestion: IPO_COMMAND( string ). vi core can
85 1.1 christos * take it as a command even when in insert mode.
86 1.1 christos *
87 1.1 christos * icon Is currently B&W. To get a color icon, would
88 1.1 christos * require a lot of work or that bostic pick up
89 1.1 christos * the xpm library.
90 1.1 christos */
91