<html>
<head>
<base href="https://bugzilla.gnome.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - gdk_wayland_window_set_dbus_properties_libgtk can only be called one time."
href="https://bugzilla.gnome.org/show_bug.cgi?id=784188#c5">Comment # 5</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - gdk_wayland_window_set_dbus_properties_libgtk can only be called one time."
href="https://bugzilla.gnome.org/show_bug.cgi?id=784188">bug 784188</a>
from <span class="vcard"><a href="page.cgi?id=describeuser.html&login=lestcape%40gmail.com" title="Lester Carballo <lestcape@gmail.com>"> <span class="fn">Lester Carballo</span></a>
</span></b>
<pre>I don't want to spam gtk more with more things.
In short, I changed the way of how unity-gtk-module is working to be adapted
of what i think Gtk apparently is waiting for. So, i'm using now:
gtk_application_set_menubar
instead of try to publish by myself the menu over Dbus. This have the
inconvenient of only can be used from a GtkApplicationWindow and not from a
GtkWindow, but well something is better than nothing.
As a result, the menu bar is exported on DBus propertly, but several gnome
application are observing the Gtk.Setting of gtk-shell-shows-menubar and i can
not be able to set it.
I'm trying to set gtk-shell-shows-menubar from
org.gnome.settings-daemon.plugins.xsettings in the overrides value of it. I try
to set Gtk/ShellShowsMenubar to the value 1, but after that, i can not see any
effect when i execute:
g_object_get (settings, "gtk-shell-shows-menubar", &shell_shows_menubar, NULL);
The value of shell_shows_menubar variable is always FALSE, not matter what i
can try.
Also, i try to set it directly in the gtk module, resulting in a Core dump of
the whole app. So, in this code, the last line will ending in a core dump:
gtk_widget_shell_shows_menubar (GtkWidget *widget)
{
g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE);
GtkSettings *settings = gtk_settings_get_default ();
g_return_val_if_fail (GTK_IS_SETTINGS (settings), FALSE);
GParamSpec *pspec = g_object_class_find_property (G_OBJECT_GET_CLASS
(settings), "gtk-shell-shows-menubar");
g_return_val_if_fail (G_IS_PARAM_SPEC (pspec), FALSE);
g_return_val_if_fail (pspec->value_type == G_TYPE_BOOLEAN, FALSE);
g_object_set (settings, "gtk-shell-shows-menubar", TRUE);
}
Also the same if i use:
gtk_widget_get_settings (widget);
instead of:
gtk_settings_get_default ();
So, then how Gtk.Settings this is working on Wayland? Probably relate with:
<a class="bz_bug_link
bz_status_RESOLVED bz_closed"
title="RESOLVED FIXED - Settings in ~/.config/gtk-3.0/settings.ini ignored with GDK_BACKEND=wayland"
href="show_bug.cgi?id=790201">https://bugzilla.gnome.org/show_bug.cgi?id=790201</a>
Apparently the property gtk-shell-shows-menubar exist, but can not be set.
lsb_release -a
LSB Version:
core-9.20160110ubuntu0.2-amd64:core-9.20160110ubuntu0.2-noarch:printing-9.20160110ubuntu0.2-amd64:printing-9.20160110ubuntu0.2-noarch:security-9.20160110ubuntu0.2-amd64:security-9.20160110ubuntu0.2-noarch
Distributor ID: Ubuntu
Description: Ubuntu 16.04.3 LTS
Release: 16.04
Codename: xenial
dpkg -l libgtk2.0-0 libgtk-3-0
ii libgtk-3-0:amd 3.20.8-1ubun amd64 GTK+ graphical user interface lib
ii libgtk2.0-0:am 2.24.30-4ubu amd64 GTK+ graphical user interface lib
Thanks any way.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are on the CC list for the bug.</li>
</ul>
</body>
</html>