Jasper St. Pierre
826751429b
wayland: Treat the size in the configure event as frame rect coordinates
2014-07-17 16:45:37 -04:00
Jasper St. Pierre
b5f46c9171
wayland: Calculate the window geometry based on all subsurfaces
...
Not just the main surface.
2014-07-17 16:20:19 -04:00
Jasper St. Pierre
166b8c042c
wayland: Don't fizzle out attaches
2014-07-17 16:18:01 -04:00
Jasper St. Pierre
90d7737fc1
wayland: Don't require a new buffer to move windows with dx/dy
...
This doesn't match what Weston does. I don't know of any apps that this
fixes (we don't have any apps that even use non-zero dx/dy, I don't
think), but this is part of a cleanup for window geometry.
2014-07-17 14:51:23 -04:00
Jasper St. Pierre
567ca15610
xdg-shell: Update to latest
2014-07-17 14:51:12 -04:00
Jasper St. Pierre
7159d3bc35
window: Remove the concept of surface_mapped
...
The implementation was just wrong. We now consider it an error to attach
a NULL buffer to an xdg_surface. Users should destroy the surface properly.
2014-07-14 14:49:58 -04:00
Jasper St. Pierre
12d0c98fb5
wayland: Remove an unused field from MetaWaylandFrameCallback
2014-07-10 13:30:05 -04:00
Jasper St. Pierre
66eb4bc34c
wayland-surface: Make sure to apply the margin before moving the window
2014-07-03 10:31:26 -04:00
Jasper St. Pierre
e33c58297d
wayland-surface: Subsurfaces start out in synchronous mode
2014-06-11 12:34:44 -04:00
Jasper St. Pierre
5350120db4
wayland-surface: Fix whitespace
2014-06-11 12:34:17 -04:00
Jasper St. Pierre
626516d12e
window: Remove meta_window_move as well
...
Move to meta_window_move_frame everywhere...
2014-05-27 15:44:33 -04:00
Florian Müllner
31db32e826
Actually implement opening the app menu
...
The last commit added support for the "appmenu" button in decorations,
but didn't actually implement it. Add a new MetaWindowMenuType parameter
to the show_window_menu () functions and use it to ask the compositor
to display the app menu when the new button is activated.
https://bugzilla.gnome.org/show_bug.cgi?id=730752
2014-05-27 19:40:06 +02:00
Jasper St. Pierre
efcd7d86e7
wayland: Add support for show_window_menu
2014-05-24 15:56:04 -04:00
Jasper St. Pierre
6408e59c7c
wayland: Move checks for grabbing into a central location
...
This means that we won't have as much work to do to introduce similar
checks for touch.
2014-05-22 10:58:07 -04:00
Jasper St. Pierre
e2b7b26f28
wayland: Use meta_window_move to position xdg_popup windows
...
This makes sure we set the user rect as well, which is necessary to
have things not "snap back" to weird locations.
2014-05-14 12:01:11 -04:00
Jasper St. Pierre
7732447abc
wayland: Update to latest xdg-shell protocol
2014-05-12 18:25:23 -04:00
Jasper St. Pierre
bca210db45
Revert "Update to latest xdg-shell protocol"
...
This reverts commit fd5c14550a
.
Again, pushed by accident, whoops.
2014-05-05 19:09:07 -04:00
Jasper St. Pierre
fd5c14550a
Update to latest xdg-shell protocol
2014-05-05 14:15:03 -04:00
Jasper St. Pierre
afaab8aef2
wayland-surface: Fix warnings
2014-05-04 15:33:38 -04:00
Adel Gadllah
fa29a1a99e
Fix last commit
...
Actually do the changes from the review ... pushed old version of the
patch :/
2014-05-03 12:00:27 +02:00
Adel Gadllah
f9bffae9fd
wayland: Scale native surfaces for hidpi
...
Scale surfaces based on output scale and the buffer scale set by them.
We pick the scale factor of the monitor there are mostly on.
We only handle native i.e non xwayland / legacy clients yet.
https://bugzilla.gnome.org/show_bug.cgi?id=728902
2014-05-03 10:11:55 +02:00
Adel Gadllah
31c925c602
wayland: Add basic hidpi support
...
Advertise the scale factor on the output and transform pointer and damage
events as well as input and opaque regions for clients
that scale up by themselves i.e use set_buffer_scale.
We do not scale any 'legacy' apps yet.
https://bugzilla.gnome.org/show_bug.cgi?id=728902
2014-05-03 10:11:51 +02:00
Jasper St. Pierre
8461b2c910
window: Move move_resize_wayland to window-wayland.c
...
The move/resize logic is still busted for top/left resizes... sigh.
2014-04-28 18:22:55 -04:00
Adel Gadllah
c8d0a66921
wayland-surface: Ignore bufferless damage
...
Instead of letting a buggy client kill us.
2014-04-27 16:18:09 +02:00
Adel Gadllah
dd4d6af185
wayland-surface: Only call process_damage when we have any damage
...
This fixes a crash when a client commits a surface
without attaching a buffer.
2014-04-27 16:12:02 +02:00
Adel Gadllah
c95c501a5b
meta-wayland-surface: Clip damage to buffer dimensions
...
A client can send us damage that exceeds the buffer size, protect against that
by clipping the damage to the buffer's region.
2014-04-23 22:32:17 +02:00
Jasper St. Pierre
2435d132ac
Revert "Update to latest xdg-shell protocol"
...
This reverts commit eed03d38b0
.
This was pushed by accident.
2014-04-23 16:01:02 -04:00
Jasper St. Pierre
eed03d38b0
Update to latest xdg-shell protocol
2014-04-23 14:23:13 -04:00
Jasper St. Pierre
59fc9d832b
wayland: Clean up surface creation
2014-04-22 18:27:44 -04:00
Jasper St. Pierre
0bf5c831d5
wayland: Remove unused list of surfaces
2014-04-22 18:27:44 -04:00
Jasper St. Pierre
777a6d4570
surface: Merge version logic inline
2014-04-22 18:27:43 -04:00
Jasper St. Pierre
88040d6b8a
wayland: Have a consistent _init pattern for subcomponents
2014-04-22 18:27:43 -04:00
Jasper St. Pierre
6072e981a8
wayland: Kill extra includes to meta-wayland-stage.h
...
No idea why these are still included at all...
2014-04-22 16:56:02 -04:00
Jasper St. Pierre
29439f8de2
wayland-surface: Fix offset with window dragging
...
The grab_x / grab_y here were converted from fixed integers to
floats, but we forgot to update one place in the code that used
them as fixed integers.
2014-04-18 18:23:27 -04:00
Jasper St. Pierre
97a69cee5a
wayland-surface: Simplify move_double_buffered_state
...
The majority of the data we can simply copy from one to the other.
2014-04-18 18:23:27 -04:00
Jasper St. Pierre
2e2dd247ce
wayland: Rename pending_surface_state => pending
...
This matches what's normally done.
2014-04-18 18:15:41 -04:00
Jasper St. Pierre
de6054d557
wayland: Remove an extraneous variable
2014-04-18 18:15:41 -04:00
Jasper St. Pierre
db56a7cecb
wayland: Rename DoubleBufferedState to PendingState
...
I was talking with other people and they became confused at the
term "double-buffered", since we were also talking about
double-buffering in general, e.g. swapping between two buffers.
Instead, we'll adapt the "pending state" nomenclature that we
already use for the field / variable names.
2014-04-18 18:15:36 -04:00
Jasper St. Pierre
f92c1af24a
wayland-surface: Merge actor_surface_commit back in
...
Since we do it unconditionally now, the code flows better
if it's inline with commit_double_buffered_state.
2014-04-18 15:43:26 -04:00
Jasper St. Pierre
4ab71ec942
wayland: Make subsurfaces reactive
2014-04-18 12:26:31 -04:00
Jasper St. Pierre
ae0853ed86
seat: Move cursor storage to MetaWaylandPointer
2014-04-17 19:15:52 -04:00
Jasper St. Pierre
62e5faeb0c
wayland: Remove the explicit surface commit for Xwayland
...
It's not needed anymore; we always keep the actor up-to-date.
2014-04-11 23:55:37 -07:00
Jasper St. Pierre
03cfe602d9
wayland: Always keep the MetaSurfaceActorWayland up-to-date
...
The MetaSurfaceActorWayland should always accurately reflect
the state of the MetaWaylandSurface, even if it's a cursor
surface.
2014-04-11 23:55:37 -07:00
Jasper St. Pierre
e1b0c9c756
wayland: Make synchronous subsurface a very special case in commit
...
Really, it is a special case. When the subsurface is synchronous,
commit changes meaning from being applied immediately to being
queued up for replay later. Handle this explicit special case
with an explicit special case in the code.
This means that in all other paths, we can unconditionally
apply the actor immediately.
2014-04-11 23:55:37 -07:00
Jasper St. Pierre
dbe4fc0e45
wayland: Always set the new buffer on the surface on commit
...
Even when it doesn't have a role.
This fixes cursors not quite working right, as they're a "detached"
surface without a role since nobody called set_cursor on them yet.
2014-04-11 23:55:37 -07:00
Jasper St. Pierre
f0bf9c7fc3
wayland: Check for newly_attached everywhere
...
Instead of using commit_attached_buffer / actor_surface_commit.
We want to kill the return values of these methods because we
really should always be calling them, even if the surface doesn't
have a role.
2014-04-11 23:55:37 -07:00
Jasper St. Pierre
d0f0be8b03
wayland: Only set newly_attached if the buffer changes
...
This cleans up the check to determine if the buffer changed,
meaning we shouldn't have to pass it around like we needed
to do before.
2014-04-11 23:55:37 -07:00
Jasper St. Pierre
f5e77d7f63
wayland: Remove some extraneous code
...
This is already handled by the double_buffered_state_reset at the end.
2014-04-11 23:55:37 -07:00
Jasper St. Pierre
277879c11b
wayland: Small code style fix-up
2014-04-11 23:55:36 -07:00
Jasper St. Pierre
1a4c16659f
wayland: Remove an old comment
...
wl_buffer_release semantics are centrally managed, and the comment
is above something completely unrelated.
2014-04-11 23:55:36 -07:00