GTK theming: oxygen-gtk support broken

Michael Meeks michael.meeks at suse.com
Thu Nov 22 04:19:50 PST 2012


On Wed, 2012-11-21 at 19:46 +0400, Ruslan Kabatsayev wrote:
> This doesn't seem to be a very easy thing. Oxygen-gtk gets application
> name via g_get_prgname() and also from PID reading /proc/$PID/cmdline.
> Not very extensible for versions.

	Right :-)

> Yeah, g_object_set_data with LibO version on widget passed to theme
> would be just fine.

	Drat - I added it to each gtk top-level; but now I recall that the
widgets prolly behave somewhat oddly wrt. their parenting.

> Something like this:
> g_object_set_data(G_OBJECT(widget),"LibreOfficeVersion",(gpointer)0xMAJVMINV).
> At least this will work for gtk2, not for gtk3 since no widgets are
> passed there. Though I don't think we really want to explicitely
> support LibO in oxygen-gtk3.

	I have:

        m_pWindow = gtk_widget_new( GTK_TYPE_WINDOW, "type", eWinType,
                                    "visible", FALSE, NULL );
    g_object_set_data( G_OBJECT( m_pWindow ), "SalFrame", this );

    static char pVersion[16] = "";
    if( pVersion[0] == '\0' )
        g_sprintf( pVersion, "%d", SUPD );
    g_object_set_data( G_OBJECT( m_pWindow ), "libo-version", pVersion );

	If that helps; if not - a patch to
vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx would be appreciated :-) [ I
guess adding a helper and calling it in all those NWFooBaaEnsure methods
would do it - they look like they could use some re-factoring love
anyway ].

	Thanks !

		Michael.

-- 
michael.meeks at suse.com  <><, Pseudo Engineer, itinerant idiot



More information about the LibreOffice mailing list