Jasper St. Pierre
025ab35af7
surface-actor: Add setters for set_input_region / set_opaque_region
...
Subsurfaces won't have a MetaWindow or MetaWindowActor to fetch these from,
so they need to be tied directly to the MetaSurfaceActor.
2013-11-25 17:25:47 -05:00
Jasper St. Pierre
a27744503b
shaped-texture: Make Cullable
...
Make MetaWindowActor chain up to the generic default MetaCullable
implementation, and remove the helper methods for MetaSurfaceActor
and MetaShapedTexture.
2013-11-25 17:25:47 -05:00
Jasper St. Pierre
1011331caf
cullable: Use relative actor coordinates for culling
...
This ensures that nested cullables work fine.
2013-11-25 17:25:47 -05:00
Jasper St. Pierre
0ccef81789
wayland-surface: Rework flow control for wl_surface_commit
2013-11-25 17:25:46 -05:00
Jasper St. Pierre
4780f74a40
wayland-surface: Properly allow setting the cursor to a NULL buffer
2013-11-25 17:18:22 -05:00
Jasper St. Pierre
57866fb267
wayland-surface: Don't rewrite input/opaque regions if the client doesn't attach any
2013-11-25 17:18:22 -05:00
Jasper St. Pierre
d3bc7570d0
window-actor: Update the shape region when the surface actor changes size
2013-11-25 17:18:22 -05:00
Jasper St. Pierre
74e43a4702
cullable: Turn cull_out / reset_culling into a separate interface
...
Instead of hardcoded knowledge of certain classes in MetaWindowGroup,
create a generic interface that all actors can implement to get parts of
their regions culled out during redraw, without needing any special
knowledge of how to handle a specific actor.
The names now are a bit suspect. MetaBackgroundGroup is a simple
MetaCullable that knows how to cull children, and MetaWindowGroup is the
"toplevel" cullable that computes the initial two regions. A future
cleanup here could be to merge MetaWindowGroup / MetaBackgroundGroup so
that we only have a generic MetaSimpleCullable, and move the "toplevel"
cullability to be a MetaCullableToplevel.
https://bugzilla.gnome.org/show_bug.cgi?id=714706
2013-11-25 15:21:36 -05:00
Jasper St. Pierre
0764b2058a
window-actor: Move the operations we need to do when we cull out here
...
Soon, we'll move this into a generic MetaCullable interface, but for
now, just put hardcoded knowledge in MetaWindowGroup.
https://bugzilla.gnome.org/show_bug.cgi?id=714706
2013-11-25 15:19:08 -05:00
Jasper St. Pierre
7a787d7946
window-group: Decompose culling operations into two methods
...
This also fixes a bug in the translation of clip_region.
We will add an interface for this soon, so we can recursively cull like this...
https://bugzilla.gnome.org/show_bug.cgi?id=714706
2013-11-25 15:18:09 -05:00
Jasper St. Pierre
eec0f5df47
display: Fix logic for determining whether our focus was successful
...
In some cases, we can focus the frame window instead of the client
window, so make sure that our checks include that as well.
https://bugzilla.gnome.org/show_bug.cgi?id=715030
2013-11-25 15:14:18 -05:00
Rui Matos
ba3968a822
keybindings: Fix typo in port to Clutter events
...
We always want to trigger on key press.
2013-11-25 14:15:28 +01:00
Rui Matos
762fa0e116
compositor: Also redirect windows in wayland compositor mode
...
XWayland was doing this for us but now it isn't anymore.
2013-11-25 12:00:55 +01:00
Jasper St. Pierre
0be57b621b
window-actor: Fix a copy/paste typo
2013-11-21 17:35:52 -05:00
Jasper St. Pierre
7d88b3593b
surface-actor: Remove unused field
2013-11-21 17:29:41 -05:00
Jasper St. Pierre
858db7081a
background-group: Fix cast warning
2013-11-21 15:14:40 -05:00
Jasper St. Pierre
5af7f619c8
background-group: Use the Clutter iteration APIs
2013-11-21 14:24:32 -05:00
Jasper St. Pierre
e5e35e5a7f
background-group: Remove some unnecessary cruft
2013-11-21 14:24:32 -05:00
Jasper St. Pierre
6d639ac528
window: Support pinging Wayland surfaces as well
2013-11-21 14:24:04 -05:00
Jasper St. Pierre
aa3643cdde
Move window pings to MetaWindow
...
This will make it possible to use on Wayland as well...
2013-11-21 14:24:04 -05:00
Rui Matos
8a3501ffe1
xwayland: Fix a couple of small leaks
...
https://bugzilla.gnome.org/show_bug.cgi?id=712833
2013-11-21 19:22:26 +01:00
Rui Matos
5ea443eb4b
idle-monitor: Fix a GSList leak
...
https://bugzilla.gnome.org/show_bug.cgi?id=712833
2013-11-21 19:22:25 +01:00
Jasper St. Pierre
a37a8c6497
wayland-surface: Fix transient_for
...
It takes a wl_surface resource, not an xdg_shell_surface resource,
and the argument is allowed to be NULL.
2013-11-21 13:09:21 -05:00
Jasper St. Pierre
ebf6862a10
wayland-surface: Don't mark popup windows as override-redirect
2013-11-21 13:09:21 -05:00
Jasper St. Pierre
6c0e16c482
keybindings: Properly interpret keybindings
...
We need to compare against the keysym, not the keycode.
2013-11-21 13:09:21 -05:00
Jasper St. Pierre
40b1e7312d
Update xdg-shell.xml
2013-11-21 13:09:21 -05:00
Jasper St. Pierre
1c0e6f26e2
mutter-launch: Don't test the argument name to validate launching things
...
Somebody could do:
$ mv my-evil-program mutter-wayland
$ PATH=.:$PATH mutter-launch mutter-wayland
It's not secure, and it's hard to test with, so just drop it for now
We'll be relying on logind to hand us permissions in the future.
2013-11-20 17:07:03 -05:00
Jasper St. Pierre
f4fc498e65
wayland-surface: Properly destroy extension resources on the destroy request
...
Otherwise, the resource IDs will linger around and be destroyed again
on client close...
2013-11-19 23:34:03 -05:00
Jasper St. Pierre
a8632c2546
Revert "wayland-surface: Allow extension resources to be double-destroyed"
...
This reverts commit 2ebecc5370
.
2013-11-19 23:34:03 -05:00
Jasper St. Pierre
600a0f836f
keyboard: Don't send leave events to dying surfaces
2013-11-19 20:26:28 -05:00
Jasper St. Pierre
0ac142d39e
keyboard: Remove focus listener
2013-11-19 20:26:28 -05:00
Jasper St. Pierre
abd368be00
pointer: Don't send leave events to dying surfaces
...
It's invalid and will crash the client.
2013-11-19 20:26:03 -05:00
Jasper St. Pierre
a8ac2cc275
pointer: Remove focus listener
...
It's added too late to matter -- by the time we've destroyed the
resource, we've already repicked and re-set the focus.
2013-11-19 20:26:03 -05:00
Jasper St. Pierre
2f14b5cc3f
wayland: Set a log handler
...
To see error messages and such
2013-11-19 20:26:02 -05:00
Jasper St. Pierre
2930612e64
pointer: Remove dead and incorrect code
...
Now that we can never pick a destroying actor, we can remove these
bad asserts.
2013-11-19 19:35:34 -05:00
Jasper St. Pierre
2952d3671d
window-actor: Set as unreactive when hiding
...
This means that we should never pick the actor when it's being destroyed.
2013-11-19 19:35:34 -05:00
Jasper St. Pierre
1b5ace8256
window-actor: Don't set ourselves as reactive twice
2013-11-19 19:35:34 -05:00
Jasper St. Pierre
2ebecc5370
wayland-surface: Allow extension resources to be double-destroyed
...
As they will be on shutdown... I'm not sure if this is a wayland-server
bug or not, but we should guard against it anyway.
2013-11-19 19:35:34 -05:00
Jasper St. Pierre
02144d17e9
wayland-surface: Fill in the maximized/fullscreen hints to the configure event
2013-11-19 19:35:34 -05:00
Jasper St. Pierre
71496c8909
Update xdg-shell.xml
2013-11-19 19:01:16 -05:00
Jasper St. Pierre
594b15abf1
pointer: Fix crash when we have the pointer over nothing during a popup grab
2013-11-19 18:51:30 -05:00
Jasper St. Pierre
bbe3641844
wayland-surface: Add support for xdg_popup
2013-11-19 18:44:21 -05:00
Jasper St. Pierre
0cc5cf940b
wayland-surface: Remove some properties from the double-buffered state
...
Now that we can always set them on the MetaWindow...
2013-11-19 18:44:21 -05:00
Jasper St. Pierre
153d8efcf5
window: Create a backing MetaWindow for unmapped Wayland surfaces
...
We require a MetaWindow to properly implement some of the requests
for xdg_surface, so add a way to have an unmapped MetaWindow that
we can store properties on, that we later map when the client
attaches a buffer...
2013-11-19 17:48:19 -05:00
Jasper St. Pierre
be744775c1
wayland-surface: Support xdg_surface.destroy
...
Cool.
2013-11-19 17:48:19 -05:00
Jasper St. Pierre
5959457c73
wayland-surface: Embed MetaWaylandSurfaceExtension in MetaWaylandSurface
...
This makes it easier to support xdg_surface.destroy, which we're
going to add support for next commit...
2013-11-19 17:48:19 -05:00
Jasper St. Pierre
0824eb7c96
cursor-tracker: Make sure to sync after we change the cursor
...
So the cursor changes immediately...
2013-11-19 15:43:46 -05:00
Jasper St. Pierre
d945501be6
window: Remove width/height from meta_window_new_for_wayland
2013-11-19 15:37:33 -05:00
Jasper St. Pierre
ca342c4573
window: Remove unused parameter from meta_window_new_shared()
2013-11-19 15:37:33 -05:00
Jasper St. Pierre
4326d0bf3a
compositor: Make sure to construct plugin_mgr in Wayland as well...
2013-11-19 15:37:31 -05:00