En X hay un problema con este enfoque que puede que no haya tenido en cuenta. El tamaño de fuente se mide en puntos (un punto es 1/72 de pulgada) y, por lo tanto, varía en tamaño (píxel) con resolución y tamaño de monitor. Las cadenas de texto también varían en longitud según el idioma, por lo que no es posible determinar qué tan grandes deben ser los botones. Los kits de herramientas GUI comunes para X están diseñados con esto en mente. Aparte de eso, sería fácil simplemente escribir su propio motor de temas para GTK que dibuje todos los widgets exactamente como los desee (usando Cairo [1] o GDK [2]) y haga que su aplicación siempre use ese tema. Quizás también sea posible que su aplicación establezca el tamaño de fuente predeterminado (en puntos) basado en el DPI para obtener siempre el mismo tamaño en píxeles (y, por supuesto, no hacer que su aplicación sea traducible).
Hay al menos un par de GUI que utilizan este enfoque perfecto de píxeles basado en SDL [3], por ejemplo, AGAR [4], PicoGUI [5] y Guichan [6]. La mayoría de ellos están escritos en C++ y algunos en C y, por lo que sé, ninguno de ellos tiene enlaces para Python ni para Ruby. Luego, usando SDL, solo puede tener una ventana de nivel superior, lo que significa que su aplicación (o el kit de herramientas GUI que usa) tiene que hacer su propia ventana de administración para varios cuadros de diálogo y tal. Pero supongo que eso era lo que pretendías de todos modos.
[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
¡Guau! Clutter se ve genial! Gracias Dmitry! ¿Hay alguna razón por la que * no debería * usarlo? – splicer