After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 706414 - Switch to client-side decoration
Switch to client-side decoration
Status: RESOLVED FIXED
Product: gnome-boxes
Classification: Applications
Component: general
3.9.x
Other Linux
: Normal normal
: 3.22
Assigned To: GNOME Boxes maintainer(s)
GNOME Boxes maintainer(s)
Depends on:
Blocks:
 
 
Reported: 2013-08-20 15:36 UTC by Zeeshan Ali
Modified: 2016-03-31 13:22 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
topbar: Gd.MainToolbar -> Gtk.HeaderBar (7.06 KB, patch)
2013-08-29 15:23 UTC, Zeeshan Ali
none Details | Review
topbar,app: Switch to client-side decoration (2.63 KB, patch)
2013-08-29 15:23 UTC, Zeeshan Ali
none Details | Review
machine: Remove a redundant call (1.01 KB, patch)
2013-08-29 20:33 UTC, Zeeshan Ali
committed Details | Review
topbar,app: Switch to client-side decoration (2.63 KB, patch)
2013-08-29 20:34 UTC, Zeeshan Ali
none Details | Review
topbar: Gd.MainToolbar -> Gtk.HeaderBar (7.32 KB, patch)
2013-08-31 03:06 UTC, Zeeshan Ali
committed Details | Review
display-page: Gd.MainToolbar -> Gtk.HeaderBar (4.07 KB, patch)
2013-08-31 03:06 UTC, Zeeshan Ali
committed Details | Review
Switch to client-side decoration (9.28 KB, patch)
2013-08-31 03:07 UTC, Zeeshan Ali
committed Details | Review
app: Switch to fullscreen after connection is complete (1.35 KB, patch)
2013-08-31 03:07 UTC, Zeeshan Ali
committed Details | Review
properties: Gd.MainToolbar -> Gtk.HeaderBar (2.21 KB, patch)
2013-09-02 15:33 UTC, Zeeshan Ali
committed Details | Review
wizard: Gd.MainToolbar -> Gtk.HeaderBar (3.26 KB, patch)
2013-09-02 15:33 UTC, Zeeshan Ali
committed Details | Review
configure: Stop building Gd.MainToolbar (618 bytes, patch)
2013-09-02 15:33 UTC, Zeeshan Ali
committed Details | Review

Description Zeeshan Ali 2013-08-20 15:36:19 UTC
All the other cool kids (gnome3 apps) are doing this so we better follow the trend, being a gnome3 app.
Comment 1 Matthias Clasen 2013-08-20 21:44:58 UTC
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
Comment 2 Zeeshan Ali 2013-08-21 13:15:30 UTC
(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
Comment 3 Zeeshan Ali 2013-08-29 15:23:11 UTC
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.
Comment 4 Zeeshan Ali 2013-08-29 15:23:15 UTC
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.
Comment 5 Zeeshan Ali 2013-08-29 20:30:11 UTC
(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..
Comment 6 Zeeshan Ali 2013-08-29 20:33:41 UTC
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).
Comment 7 Zeeshan Ali 2013-08-29 20:34:38 UTC
Created attachment 253550 [details] [review]
topbar,app: Switch to client-side decoration

v2: rebased
Comment 8 Zeeshan Ali 2013-08-31 03:06:30 UTC
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.
Comment 9 Zeeshan Ali 2013-08-31 03:06:49 UTC
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.
Comment 10 Zeeshan Ali 2013-08-31 03:07:02 UTC
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.
Comment 11 Zeeshan Ali 2013-08-31 03:07:18 UTC
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.
Comment 12 Zeeshan Ali 2013-09-02 15:33:02 UTC
Created attachment 253849 [details] [review]
properties: Gd.MainToolbar -> Gtk.HeaderBar
Comment 13 Zeeshan Ali 2013-09-02 15:33:06 UTC
Created attachment 253850 [details] [review]
wizard: Gd.MainToolbar -> Gtk.HeaderBar
Comment 14 Zeeshan Ali 2013-09-02 15:33:40 UTC
Created attachment 253851 [details] [review]
configure: Stop building Gd.MainToolbar

We don't use it anymore.
Comment 15 Zeeshan Ali 2013-09-02 15:38:39 UTC
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