Future plans and thoughts: (I'd be happy if you let me know your opinion.) * text-wrap is necessary? If I can stop this, some codes become much simpler. Currently, text and line numbers are shown on the same (text)widget. This causes a performance issue. If I can stop text-wrap, line numbers can be shown on another (text)widget. It might be faster. * Gtkdiff is highly dependent on GtkText widget. Is it better to create an own widget? (I will think about this issue, after GTK+-1.4 release and looked at a new text widget. I have to check it...) * More GNOME supports. Currently, gtkdiff uses only GNOME's GUI features. I hope to use GNOME's Object model features, too. * patch(1) integration? Todo: * Directory diff3. I need to implement directory traversal code. * I need to update overview widget, after I change text widget's contents. You can easily notice this odd behavior, when you use merge view. * merge operation undo. * (a minor bug)after you do something like "Sync lines" on merge-view, menubar shows "Two-pane" view. * Change the background color of whole line (now, only text part). I think I need to create a new text widget for this feature. Any easier way? * How to show it, if blank line is in a different part? (This could be resolved by the feature above). * multiple windows (I like GNOME MDI, like ghex) * reload rc(?) * Drag & Drop (from a file manager)? * More message translation. (If you can help me, let me know.) * In two-pane view, I want to scroll both texts with keyboard. * To select fonts via property dialog box. Now, I don't do this, because the current GTK+ font dialog can't handle fontset. * Try another text widget. * Bug: search in second file in one-pane mode doesn't work. this is a design issue. * Minor bug: while you enable highlight, you enable to show line numbers, then the current selected lines's line numbers have wrong color. I'm too lazy to take care of it. Please press ctrl-l, if you care. * Show diff per characters. Incompletely done: * column size of directory view, to make file name columns as wider as possible. * RCS(CVS) support. In my opinion, the other program should take care of RCS, and it should call gtkdiff. If you're implementing such a program or a plan, let me know, please. Personally, I don't need the following features, but you are welcome to do: * Inputbox for line number to go(optional). Internal issues: * There are many exceptional code related to line number "zero". Is it possible to avoid this by a proper design? * style.c is still necessary? * I want to eliminate the dependencies on FIRST_FILE and SECOND_FILE, in order to support diff3(1). * Gtkdiff is very sensitive to ViewType value in ~/.gnome/gtkdiff. If you write a wrong value in it, you can easily crash gtkdiff. I want to avoid this. * merge_action_menu is defined both in menu.c and in merge-menu.c. I want to make them into one definition. * I made act_ routines in actions.c, and let menubar and right-click menu internally call these act_ routines. I thought it was a good design, but now I'm not sure. It might be better that menubar and right-click menu routines are merged, and divided by functionality, such as menu for directory-view, and menu for merge-view.