In X c'è un problema con questo approccio che potresti non aver preso in considerazione. La dimensione del carattere è misurata in punti (un punto è 1/72 di pollice) e quindi varia in dimensioni (pixel) con risoluzione e dimensioni del monitor. Le stringhe di testo avranno anche una lunghezza variabile a seconda della lingua, quindi non è davvero possibile determinare quanti pulsanti grandi e quali debbano essere. I comuni toolkit GUI per X sono progettati pensando a questo. A parte questo, sarebbe facile scrivere il proprio motore tema per GTK che disegna tutti i widget esattamente come li vuoi (usando Cairo [1] o GDK [2]) e fai in modo che la tua applicazione utilizzi sempre quel tema. Forse sarebbe anche possibile per la tua applicazione impostare la dimensione predefinita del carattere (in punti) basata sul DPI per ottenere sempre la stessa dimensione in pixel (e ovviamente non rendere la tua traduzione traducibile).
Ci sono almeno un paio di GUI che utilizzano questo approccio pixel perfetto basato su SDL [3], ad esempio AGAR [4], PicoGUI [5] e Guichan [6]. Molti di questi sono scritti in C++ e alcuni in C e per quanto ne so nessuno di loro ha legami per Python e Ruby. Quindi usando SDL puoi avere solo una finestra di livello superiore che significa che la tua applicazione (o il toolkit GUI che usi) deve fare la propria finestra per gestire varie finestre di dialogo e così via. Ma immagino che fosse quello che intendevi comunque.
[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
Wow! Clutter sembra fantastico! Grazie Dmitry! C'è qualche ragione per cui * non dovrei * usarlo? – splicer