6 <entry size="medium" status="70%" target="1.4">
7 <title>Add backing store support</title>
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
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
29 <url>http://www.gtk.org/~otaylor/gtk/1.4/gdk-drawing.html</url>
30 <contact>Owen Taylor <otaylor@redhat.com></contact>
33 <entry size="medium" status="70%" target="1.4">
34 <title>32 Bit Coordinates</title>
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.
44 <url>http://www.gtk.org/~otaylor/gtk/1.4/gdk-drawing.html</url>
45 <contact>Owen Taylor <otaylor@redhat.com></contact>
48 <entry size="small" status="0%" target="1.4">
49 <title>Customizable double-click timeout</title>
52 The current fixed double-click timeout in GTK+
53 is too small for some users. This needs to be
57 <contact>gtk-devel-list@redhat.com</contact>
63 <title>Internationalization</title>
65 <entry size="big" status="0%" target="1.4">
66 <title>Integrate Pango</title>
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
74 <url>http://www.pango.org</url>
75 <contact>gtk-i18n-list@redhat.com</contact>
78 <entry size="medium" status="20%" target="1.4">
79 <title>Switch to using UTF-8</title>
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.
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.
97 <contact>gtk-i18n-list@redhat.com</contact>
100 <entry size="big" status="0%" target="1.4">
101 <title>Rewrite Input Method Support</title>
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.
114 While adding the above support, it may be desirable to
115 generalize the input-method support to the point where
118 <contact>gtk-i18n-list@redhat.com</contact>
123 <title>GTK+ Core</title>
125 <entry size="big" status="25%" target="1.4">
126 <title>Split GtkObject out</title>
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
135 <contact>Tim Janik <timj@gtk.org></contact>
138 <entry size="big" status="0%" target="1.4">
139 <title>Allow argument customization</title>
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.
148 There needs to be a mechanism for themes to be able to
149 control these arguments from the RC file.
154 <entry size="medium" status="0%" target="1.4">
155 <title>Allow global customization</title>
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.
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.
173 <title>GTK+ Widgets</title>
175 <entry size="small" status="0%" target="1.4">
176 <title>Make GtkFrame use a label</title>
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
187 <contact>gtk-devel-list@redhat.com</contact>
190 <entry size="big" status="50%" target="1.4">
191 <title>Replace GtkText Widget</title>
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.
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.
208 <contact>gtk-devel-list@redhat.com</contact>
211 <entry size="big" status="0%" target="> 1.4">
212 <title>Add unified set of List/Tree/Grid widgets</title>
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.
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.
233 <contact>gtk-devel-list@redhat.com</contact>