As I noted earlier I am doing an experimental rewrite of Same GNOME. There is still no code publically available on the grounds that it is very incomplete and very experimental. For example, the last weeks work is going to be thrown out.
I had been working on the “flicker problem” where, when resizing the window, the drawing code can’t keep up and the effect is aesthetically displeasing. I had this wonderful plan of decoupling the pixmap rendering code and the configure and expose event handlers and only drawing the basic grid until the pixmaps were ready. Unfortunately there were two problems: Firstly I wrote a nasty threaded implementation with all the pain that implies. Secondly it didn’t work. On a fast machine where the pixmaps are rendered before the next configure event arrives the result is worse flickering.
Plan B involves waiting for the user to stop resizing the window before redrawing the pixmaps. The grid will still be redrawn since that is fast and, like before, the rendering will be outside of (but controlled by) the configure event handler, but it will be inside the main thread and handled by the gtk event loop.
So this is what I mean by experimental. As Fred Brooks said: “Plan to throw one away …”
A couple of features I’ve added to the planned feature list:
- Keyboard control
- Colour-blindness compatible themes (like shapes in Five or More)
Note that these are promises, not actually implemented features. However, they are being designed in rather than hacked on afterwards.