In X, there is one problem with this approach that you might not have taken into account. The font size is measured in dots (one dot is 1/72 of an inch) and thus changes in (pixel) size with resolution and monitor size. Text strings will also vary in length depending on the language, so it is impossible to determine how large the buttons should be. This is said in the general GUI tools for X. In addition, it would be easy to just write your own GTK theme engine, which will draw all the widgets exactly as you want (using Cairo [1] or GDK [2]) and do The app always uses this theme. It might also be possible for your application to set the default font size (in points) based on DPI so that it always gets the same pixel size (and, of course, doesn't make your application translatable).
There are at least several graphical interfaces that use this ideal pixel approach based on SDL [3], for example, AGAR [4], PicoGUI [5] and Guichan [6]. Most of them are written in C ++ and some in C, and as far as I know, none of them have bindings for Python and Ruby. Then, using the SDL, you can have only one top-level window, which means that your application (or the GUI toolkit you use) must perform its own window management for various dialogs, etc. But I guess that was what you intended anyway.
[1] cairographics.org/
[2] library.gnome.org/devel/gdk/unstable/index.html
[3] www.libsdl.org/
[4] libagar.org/
[5] picogui.org/
[6] guichan.sourceforge.net/wiki/index.php/Main_Page
Grim
source share