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
Florian Müllner
a6ebc70170
Bump version to 3.11.2
...
Update NEWS.
2013-11-19 20:15:13 +01:00
Florian Müllner
3025cb7c48
display: Remove unused variables
2013-11-19 20:12:51 +01:00
Florian Müllner
17f48baf3a
display: Tweak code to work around a compiler warning
...
The compiler is not quite smart enough to figure out that the condition
for setting the "compositor" variable matches a later condition for
accessing it, so express this in a way the compiler will understand.
2013-11-19 20:08:46 +01:00
Florian Müllner
333661a9d8
stack: Drop unused code
...
Since commit 2b2b2d3191
the code is unused and triggers a
compiler error with -Werror=unused-but-set-variable.
2013-11-19 20:08:46 +01:00
Owen W. Taylor
b9da43b753
Rename meta_window_get_outer_rect() to meta_window_get_frame_rect()
...
For clarity, rename meta_window_get_outer_rect() to match terminology
we use elsewhere. The old function is left as a deprecated
compatibility wrapper.
2013-11-19 14:04:16 -05:00
Owen W. Taylor
097ee776c7
Stop passing around MetaFrameBorders
...
Instead of passing around MetaFrameBorders, compute it when we need it.
This also allows us to know that we are using MetaFrameBorders only for windows
with frames (where it is meaningful) and not for frameless windows, which
can have custom borders which we need to interpret differently.
https://bugzilla.gnome.org/show_bug.cgi?id=707194
2013-11-19 14:04:16 -05:00
Owen W. Taylor
a4a8f1f863
MetaFrame: Cache borders
...
Cache the computed border size so we can fetch the border size at
any time without worrying that we'll be spending too much time in
the theme code (in some cases we might allocate a PangoFontDescription
or do other significant work.)
The main effort here is clearing the cache when various bits of window
state change that could potentially affect the computed borders.
https://bugzilla.gnome.org/show_bug.cgi?id=707194
2013-11-19 14:04:16 -05:00