GNOME Bugzilla – Bug 706414
Switch to client-side decoration
Last modified: 2016-03-31 13:22:07 UTC
All the other cool kids (gnome3 apps) are doing this so we better follow the trend, being a gnome3 app.
I think I've really messed up the terminology here, and it may be too late to repair the damage, but anyway: client-side decoration != headerbar you can use a headerbar without using fully client-side decorations
(In reply to comment #1) > I think I've really messed up the terminology here, and it may be too late to > repair the damage, but anyway: > > client-side decoration != headerbar > > you can use a headerbar without using fully client-side decorations Yeah I guess we also need to do something like this? https://git.gnome.org/browse/gnome-maps/commit/?id=912c9f104d76e8bc5a7cb309173100150a3bfac6
Created attachment 253517 [details] [review] topbar: Gd.MainToolbar -> Gtk.HeaderBar Lets try to reduce oure dependency on Gd as much as possible and in this particular case we need to do this to allow for client-side decoration that will be introduced in a following patch.
Created attachment 253518 [details] [review] topbar,app: Switch to client-side decoration In preparation for the wayland tech demo in 3.10, all other GNOME 3 apps are switching to client-side window decoration so we should too.
(In reply to comment #4) > Created an attachment (id=253518) [details] [review] > topbar,app: Switch to client-side decoration > > In preparation for the wayland tech demo in 3.10, all other GNOME 3 apps > are switching to client-side window decoration so we should too. Yikes, this patch breaks on unfullscreen display mode. :( I'll look into fixing it..
Created attachment 253549 [details] [review] machine: Remove a redundant call This call should have been deleted as part of commit 33883def2a47fb477d2f0fb4928c8777466f643b (Fix positioning of thumbnail in properties view).
Created attachment 253550 [details] [review] topbar,app: Switch to client-side decoration v2: rebased
Created attachment 253668 [details] [review] topbar: Gd.MainToolbar -> Gtk.HeaderBar Lets try to reduce oure dependency on Gd as much as possible. This also gets rid of the workaround for libgd bug#698289.
Created attachment 253669 [details] [review] display-page: Gd.MainToolbar -> Gtk.HeaderBar Two reqression from this one: * Dragging of titlebar to unfulscreen doesn't work even though i do: - add_events (Gdk.EventMask.POINTER_MOTION_MASK); + add_events (Gdk.EventMask.POINTER_MOTION_MASK | + Gdk.EventMask.BUTTON_PRESS_MASK | + Gdk.EventMask.BUTTON_RELEASE_MASK); + The header bar just won't receive any events. :( I also noticed that this has been only working for OSD toolbar we show when server-side mouse is available but not for the non-OSD toolbar. Keeping this fact in mind and that there still is the unfullscreen button in an obvious place, I don't think this is a very major regression. Having said that, I'll hopefully fix it soon. * The restore button in OSD toolbar looks chopped on the left side. Should be a matter of tuning the theme.
Created attachment 253670 [details] [review] Switch to client-side decoration In preparation for the wayland tech demo in 3.10, all other GNOME 3 apps are switching to client-side window decoration so we should too.
Created attachment 253671 [details] [review] app: Switch to fullscreen after connection is complete Without this change, there is no toolbar visible while connecting to a box after the OCD change.
Created attachment 253849 [details] [review] properties: Gd.MainToolbar -> Gtk.HeaderBar
Created attachment 253850 [details] [review] wizard: Gd.MainToolbar -> Gtk.HeaderBar
Created attachment 253851 [details] [review] configure: Stop building Gd.MainToolbar We don't use it anymore.
Pushing these changes now. Post-push reviews still welcomed. As you can see in comment#9, one of the changes introduces two regressions that we should fix before 3.10 code freeze. Attachment 253549 [details] pushed as e9a51e0 - machine: Remove a redundant call Attachment 253668 [details] pushed as 2530459 - topbar: Gd.MainToolbar -> Gtk.HeaderBar Attachment 253669 [details] pushed as 49307d3 - display-page: Gd.MainToolbar -> Gtk.HeaderBar Attachment 253670 [details] pushed as 3fcf3bd - Switch to client-side decoration Attachment 253671 [details] pushed as 2dff930 - app: Switch to fullscreen after connection is complete Attachment 253849 [details] pushed as 5ec8a24 - properties: Gd.MainToolbar -> Gtk.HeaderBar Attachment 253850 [details] pushed as c6245d2 - wizard: Gd.MainToolbar -> Gtk.HeaderBar Attachment 253851 [details] pushed as 021eb4f - configure: Stop building Gd.MainToolbar