]> Pileus Git - ~andy/gtk/blob - TODO.xml
Added XML-structured TODO file. python script to turn TODO.xml into pretty
[~andy/gtk] / TODO.xml
1 <todo>
2
3   <section>
4     <title>GDK</title>
5
6     <entry size="medium" status="70%" target="1.4">
7       <title>Add backing store support</title>
8       <description>
9         <p>
10           GTK+'s drawing model involves clearing to a background, and
11           then drawing widgets on top of this. Without having
12           backing-store support, this results in flickering in various
13           situations. Backing store cannot be added widget-by-widget,
14           because the drawing in a particular window is not confined
15           to a single widget. Instead it needs to be added per GDK
16           window. 
17         </p>
18         <p>
19           The way this is done is by having
20           <tt>gdk_window_begin_paint()</tt>
21           and <tt>gdk_window_end_paint()</tt> functions that
22           redirect all drawing to a particular window to an offscreen
23           pixmap, and then copy that offscreen pixmap back onto the
24           screen when the paint operation is done. The implementation
25           of this is mostly complete in the <tt>gtk-no-flicker</tt> branch of
26           GTK+.
27         </p>
28       </description>
29       <url>http://www.gtk.org/~otaylor/gtk/1.4/gdk-drawing.html</url>
30       <contact>Owen Taylor &lt;otaylor@redhat.com&gt;</contact>
31     </entry>
32
33     <entry size="medium" status="70%" target="1.4">
34       <title>32 Bit Coordinates</title>
35       <description>
36         <p>
37           GTK+-1.2 and earlier share X's limitation on the
38           size of coordinates and restrict all dimensions
39           to 16 bit quantities. By clever use of X it is
40           possible to lift this restriction and present a
41           full 32-bit space to the user.
42         </p>
43       </description>
44       <url>http://www.gtk.org/~otaylor/gtk/1.4/gdk-drawing.html</url>
45       <contact>Owen Taylor &lt;otaylor@redhat.com&gt;</contact>
46     </entry>
47
48     <entry size="small" status="0%" target="1.4">
49       <title>Customizable double-click timeout</title>
50       <description>
51         <p>
52           The current fixed double-click timeout in GTK+
53           is too small for some users. This needs to be
54           customizable
55         </p>
56       </description>
57       <contact>gtk-devel-list@redhat.com</contact>
58       <bugs>#3958</bugs>
59     </entry>
60   </section>
61
62   <section>
63     <title>Internationalization</title>
64     
65     <entry size="big" status="0%" target="1.4">
66       <title>Integrate Pango</title>
67       <description>
68         <p>
69           The purpose of the Pango project is to provide a system for
70           layout and rendering of internationlized text. It handles
71           most of the issues necessary to 
72         </p>
73       </description>
74       <url>http://www.pango.org</url>
75       <contact>gtk-i18n-list@redhat.com</contact>
76     </entry>
77
78     <entry size="medium" status="20%" target="1.4">
79       <title>Switch to using UTF-8</title>
80       <description>
81         <p>
82           This is closely related to Pango integration. Pango deals
83           with all strings in terms of UTF-8; by switching GTK+ over
84           to UTF-8 we make it considerably simpler for developers to
85           support multiple languages properly while still retaining
86           a large degree of compatiblity with existing programs.
87         </p>
88         <p>
89           Some work has already been done on this as part of the Win32
90           port, since the Win32 port is currently using UTF-8 for all
91           strings. In general, this should be an easy job; the hardest
92           parts are places like GtkFileSelection, cut and paste, and
93           input method support where there is interaction between GTK+
94           and the operating system.
95         </p>
96       </description>
97       <contact>gtk-i18n-list@redhat.com</contact>
98     </entry>
99
100     <entry size="big" status="0%" target="1.4">
101       <title>Rewrite Input Method Support</title>
102       <description>
103         <p>
104           Current support for Input Methods is done via XIM, with
105           supported styles being over-the-spot and the root-window
106           styles. However, the over-the-spot style is not going to
107           work well with the Pango integration, since it relies on the
108           text rendering in the program being done in the standard
109           Xlib style, so it will be necessary to also support
110           on-the-spot input. On-the-spot input is done by supplying a
111           set of callbacks that are invoked by the input methods.
112         </p>
113         <p>
114           While adding the above support, it may be desirable to
115           generalize the input-method support to the point where 
116         </p>
117       </description>
118       <contact>gtk-i18n-list@redhat.com</contact>
119     </entry>
120   </section>
121
122   <section>
123     <title>GTK+ Core</title>
124
125     <entry size="big" status="25%" target="1.4">
126       <title>Split GtkObject out</title>
127       <description>
128         <p>
129           The GTK+ object system is already in use in quite a few different
130           non-GUI applications; it would be desirable for these uses
131           to have the object system separated from the GUI portions
132           of GTK+.
133         </p>
134       </description>
135       <contact>Tim Janik &lt;timj@gtk.org&gt;</contact>
136     </entry>
137
138     <entry size="big" status="0%" target="1.4">
139       <title>Allow argument customization</title>
140       <description>
141         <p>
142           Many types of object arguments (expander style in the CList,
143           default padding in button boxes, etc), conceptually go with
144           the theme, or as user preferences; they should not be set by
145           a particular program.
146         </p>
147         <p>
148           There needs to be a mechanism for themes to be able to
149           control these arguments from the RC file. 
150         </p>
151       </description>
152     </entry>
153
154     <entry size="medium" status="0%" target="1.4">
155       <title>Allow global customization</title>
156       <description>
157         <p>
158           There are a number of global parameters in GTK+ and GDK that should be
159           customizable by the user, such as the double-click timeout,
160           or whether widgets should be backing-stored by default. 
161         </p>
162         <p>
163           If we had argument customization from an RC file, it might
164           be possible to do this simply with a global object with
165           arguments for the various global parameters that was
166           customized in the same fashion as object arguments.
167         </p>
168       </description>
169     </entry>
170   </section>
171
172   <section>
173     <title>GTK+ Widgets</title>
174
175     <entry size="small" status="0%" target="1.4">
176       <title>Make GtkFrame use a label</title>
177       <description>
178         <p>
179           The title of a frame should simply be another child widget
180           which, by default, holds a label widget. This will important
181           with Pango where proper text behavior will be more complex to
182           implement, but is also useful for certain user-interface
183           designs. (It can be useful, for example, to put a checkbutton
184           in that slot.)
185         </p>
186       </description>
187       <contact>gtk-devel-list@redhat.com</contact>
188     </entry>
189
190     <entry size="big" status="50%" target="1.4">
191       <title>Replace GtkText Widget</title>
192       <description>
193         <p>
194           The GtkText widget is badly in need of replacement, since it is
195           buggy and insufficiently feature rich. There are a number
196           of possible candidates for a replacement, with the most
197           promising at the current time being Havoc Pennington's
198           (hp@redhat.com) port of the Tk Text widget.
199         </p>
200         <p>
201           As part of this job it will be necessary to add
202           <a href="http://www.pango.org">Pango</a> support to the
203           replacement. The structure of the Tk text widget port seems
204           suited to this as it works paragraph-by-paragraph, and
205           Pango works at a sub-paragraph scale.
206         </p>
207       </description>
208       <contact>gtk-devel-list@redhat.com</contact>
209     </entry>
210
211     <entry size="big" status="0%" target="> 1.4">
212       <title>Add unified set of List/Tree/Grid widgets</title>
213       <description>
214         <p>
215           Currently, GTK+ has a large number of list and tree widgets
216           (GtkList, GtkTree, GtkCList, GtkCTree), non of which are
217           ideal. The GtkList and GtkTree widgets perform badly on large
218           sets. (GtkTree widget is also quite buggy.) GtkCList
219           and GtkCTree mostly solve the size problem, but are quite
220           complex and, despite that, not very flexible. They are limited to
221           displaying pixmaps and text, and neither support arbitrary
222           widgets nor custom drawing functions.
223         </p>
224         <p>
225           In addition to list and tree widgets, a closely related need
226           is a sheet widget that displays a (possibly editable) 2-D grid.
227           It would be desirable to have a complete set of widgets that
228           could be presented as the one-true-solution for these needs.
229           Model/View techniques could be used effectively to increase
230           both the simplicity and power of the interfaces.
231         </p>
232       </description>
233       <contact>gtk-devel-list@redhat.com</contact>
234     </entry>
235   </section>
236 </todo>