Jasper St. Pierre
622c7a021b
window-actor: Update shape at construction time
...
When we attach an existing surface actor, the allocation may not
change, so we need to ensure that the shape region and geometry is
valid...
2013-12-04 10:26:06 -05:00
Lionel Landwerlin
4d2d2f285b
core: window: enable create effect for new wayland windows
...
https://bugzilla.gnome.org/show_bug.cgi?id=719833
2013-12-04 11:14:30 +00:00
Jasper St. Pierre
0924c7d61b
wayland: Use a stage paint callback instead of a signal handler on "paint"
...
This is much more appropriate...
2013-12-03 14:49:40 -05:00
Jasper St. Pierre
2746608eb2
background-actor: Remove custom get_paint_volume
...
The paint volume should be based on what we paint, not what the content
wants to be painted as. Thus, it should be the allocation.
2013-12-03 14:36:29 -05:00
Jasper St. Pierre
fe26cb5989
wayland-surface: Unmanage the window when destroying xdg_surface/xdg_popup
...
Also, unparent the actor when destroying a subsurface, as well, and
don't free the surface when we destroy the MetaWindow.
2013-12-03 11:45:50 -05:00
Jasper St. Pierre
602307e694
Revert "pointer: Remove focus listener"
...
This reverts commit a8ac2cc275
.
2013-12-03 11:45:50 -05:00
Jasper St. Pierre
b2c18c4a78
Revert "keyboard: Remove focus listener"
...
This reverts commit 0ac142d39e
.
2013-12-03 11:45:50 -05:00
Jasper St. Pierre
1e211722c7
wayland-surface: Set popups transient to their parents
2013-12-03 11:45:50 -05:00
Rui Matos
461f74ef18
wayland: Fix setting keyboard/pointer focus for new clients
...
When we have a new client, we potentially set the focus on one of its
surfaces when we map it but the client might not have called
wl_seat.get_keyboard/pointer yet. When it finally calls
get_keyboard/pointer we must then register its resource as the
focus_resource which means that we can only return early if
focus_resource is already set.
https://bugzilla.gnome.org/show_bug.cgi?id=719725
2013-12-03 15:56:15 +01:00
Rui Matos
3f022ca963
window: Possibly set the pointer focus on newly mapped wayland windows
...
Windows showing up under the pointer must get the pointer focus.
https://bugzilla.gnome.org/show_bug.cgi?id=719725
2013-12-03 15:56:15 +01:00
Rui Matos
20e92c5a72
wayland: Set the clutter stage focus when we focus a window
...
Otherwise clutter events don't have their source actor properly set
and we aren't able to determine the MetaWindow to which a given
keybinding applies.
https://bugzilla.gnome.org/show_bug.cgi?id=719724
2013-12-03 13:58:27 +01:00
Jasper St. Pierre
0850da44d7
shaped-texture: Prevent a critical when setting a NULL cogl texture
2013-12-02 21:34:23 -05:00
Lionel Landwerlin
37ba264190
compositor: meta-surface-actor: upload texture changes at the correct position
...
https://bugzilla.gnome.org/show_bug.cgi?id=719695
2013-12-02 16:41:29 +00:00
Colin Walters
6c12c928df
compositor: Update to latest cogl API
...
See https://git.gnome.org/browse/cogl/commit/?id=c76c1d136d2cac7f3d1331a4d1dc0dd0f06e812c
https://bugzilla.gnome.org/show_bug.cgi?id=719557
2013-11-29 11:08:51 -05:00
Rico Tzschichholz
9c5733caf0
prefs: Properly add new META_KEYBINDING_ACTION_* value
...
In addition to 4373916d9d
(cherry picked from commit 3b2506851c
)
2013-11-29 16:33:42 +01:00
Rico Tzschichholz
21d8b8310a
window: Proper argument naming for meta_window_client_rect_to_frame_rect
...
(cherry picked from commit 9b88059e55
)
2013-11-29 16:33:37 +01:00
Rico Tzschichholz
c46af91d54
window: Fix deprecated version of get_outer_rect
...
(cherry picked from commit 59168b2c64
)
2013-11-29 16:32:15 +01:00
Jasper St. Pierre
d44574f738
wayland-surface: Process damage even if the buffer didn't change
2013-11-26 12:32:41 -05:00
Jasper St. Pierre
a9424255a5
wayland-surface: Add support for subsurfaces
...
The state for a subsurface isn't double-buffered yet, though...
2013-11-25 18:33:03 -05:00
Jasper St. Pierre
5089a63d76
wayland-surface: Create the surface actor ourselves
...
Otherwise, we can't rely on a surface_actor being around to add
ourselves to...
2013-11-25 18:29:58 -05:00
Jasper St. Pierre
f9a2c64460
wayland-surface: Don't require a MetaWindow to process damage...
...
and ClutterActor will clip to the actor bounds, anyway...
2013-11-25 18:15:20 -05:00
Jasper St. Pierre
7841042a85
wayland-surface: Restructure code flow in wl_surface_attach a bit more...
2013-11-25 18:15:20 -05:00
Jasper St. Pierre
ea1b8cdc22
wayland-surface: Fix copy/paste typo
2013-11-25 18:15:19 -05:00
Jasper St. Pierre
52b48cfbef
wayland-surface: Return after posting errors back to the client
2013-11-25 18:15:03 -05:00
Jasper St. Pierre
644f3e1275
window: Make setters for shape/input/opaque regions private again
...
Wayland now pushes these to the surface actor rather than the toplevel
MetaWindow...
2013-11-25 17:25:56 -05:00
Jasper St. Pierre
304005e04f
wayland-surface: Replace MetaWindowActor with MetaSurfaceActor
...
Since subsurfaces won't have toplevel MetaWindowActors, we need to
use MetaSurfaceActor instead. These are embedded in the MetaWindowActor,
just like MetaShapedTexture was (in fact, MetaSurfaceActor now contains
a MetaShapedTexture)
2013-11-25 17:25:55 -05:00
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