GTK theming: oxygen-gtk support broken
Michael Meeks
michael.meeks at suse.com
Wed Jan 9 04:51:31 PST 2013
Hi Ruslan,
On Sat, 2013-01-05 at 22:59 +0300, Ruslan Kabatsayev wrote:
> What about such a simple change, which will let us set LibO version
> once and for all GTK theme calls:
I guess we could do; we'd want to produce a real version string for a
patch though :-)
The reason why I put it on the top-level windows was so that it can be
avoided for native widgets (eg. the gtk+ file selector) - but if that's
not an issue then fine :-)
> // init gtk/gdk
> gtk_init_check( &nParams, &pCmdLineAry );
> + g_setenv("LibreOffice_Version","4.0.0.0",true);
> gdk_error_trap_push();
> aOrigXIOErrorHandler = XSetIOErrorHandler(XIOErrorHdl);
>
> --------------------------------
> Of course, "4.0.0.0" should be replaced by some variable, name of
> which I currently don't know. But how do you like this idea? It seems
> the easiest and most efficient compared to any g_object_set_data()
> way.
The g_object_set_data stuff is already in:
+ static char pVersion[16] = "";
+ if( pVersion[0] == '\0' )
+ g_sprintf( pVersion, "%d", SUPD );
+ g_object_set_data( G_OBJECT( m_pWindow ), "libo-version", pVersion );
+
should be in 4.0 and master.
I wonder if we get problems from the (un-parented) fake widgets that
are used in the salnativewidgets-gtk pile [ could that be why it doesn't
work for you ? ].
If that's the issue (and most likely it is) - then we'd want to add a
similar chunk of version code to the above to:
static void NWAddWidgetToCacheWindow( GtkWidget* widget, SalX11Screen nScreen )
Where we construct and realize the cache window (I guess).
Using SUPD is reasonably easy - it is a 4.0.0 -> 400 thing: not
terribly robust over big versions, but easy enough to parse I guess.
If you propose a patch, we can get it into 4.0.1rc2 !
Thanks :-)
Michael.
--
michael.meeks at suse.com <><, Pseudo Engineer, itinerant idiot
More information about the LibreOffice
mailing list