summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Add Xfixes headerbaserock/james/gnomeJames Thomas2014-10-132-2/+2
| | | | Don't treat warnings as errors
* window-x11: Update the input region after setting the client rectJasper St. Pierre2014-10-121-2/+3
| | | | | | | | | | | We clip the input region to the client rect, so the client rect should be up to date before we fetch the input region. This fixes popup windows not working in GTK+2 under Wayland. We should also update the shape / input regions when the window is reconfigured for a complete fix, so that making an O-R window bigger doesn't confuse mutter, but let's leave that to a future commit.
* backend: Fix minor commentJasper St. Pierre2014-10-121-1/+1
|
* workspace: fix crash when creating a new workspace with sticky windows that ↵Tom Beckmann2014-10-121-7/+7
| | | | | | | | | | | have struts The constructor would collect windows that are sticky before initializing its state which would lead to a crash in the case of windows with struts which trigger a work area recalculation where mutter would assume, due to uninitialized state, that an existing work area has to be freed. https://bugzilla.gnome.org/show_bug.cgi?id=738384
* meta-surface-actor-x11: Fix unredirect heuristicAdel Gadllah2014-10-121-2/+2
| | | | | | | | Damage coordinates are relative to the drawable not to the screen. So we have to check whether x and y are 0 and not window_rect.x/y otherwise the herustic will never trigger for windows on monitors whos x and y are not 0. https://bugzilla.gnome.org/show_bug.cgi?id=738271
* wayland-keyboard: Send modifiers after the key eventRui Matos2014-10-102-9/+10
| | | | | | | | | | | | The key event should be interpreted by clients with the modifier state as it was before the event itself just as in X11 input events. Achieving this in wayland is a matter of sending the key event first and the modifiers after (if needed). This isn't really specified in the wayland protocol but it matches weston's behavior and should avoid corner cases in clients. https://bugzilla.gnome.org/show_bug.cgi?id=738238
* build: Require clutter-egl-1.0 for native backend onlyRico Tzschichholz2014-10-091-2/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=738225
* events: Fix build without waylandRico Tzschichholz2014-10-091-1/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=738225
* meta-surface-actor-x11: Detatch the pixmap in window_decorated_notifyAdel Gadllah2014-10-081-0/+1
| | | | | | | | The window can change its decoration without changing its size. https://bugzilla.gnome.org/show_bug.cgi?id=738146 Found by Jasper St. Pierre <jstpierre@mecheye.net>
* Revert "wayland-pointer: Just use the pointer actor instead of doing a full ↵Jasper St. Pierre2014-10-081-3/+16
| | | | | | | | | | | | | repick" This reverts commit 33acb5fea07c83236f254456d11d34e2c7671719. The issue here is that the pointer actor does not actually get reset when the actor's reactivity changes, so we end up with stale picks after actors are destroyed. I have a local patch to Clutter for this, but I don't have time to submit it upstream, so let's just use the ugly code for now.
* Revert "pointer: Repick after the focused surface is destroyed"Jasper St. Pierre2014-10-081-1/+1
| | | | | | | | This reverts commit e496ed50d6b127a57cfc189bad19a32564fde46b. This was incorrect. wl_surface_destructor actually does the full repick -- doing it here is dangerous, because the destroy listeners actually run *before* the destructor, not after, so the surface is still alive.
* MetaBackgroundActor: queue a redraw when the background changesOwen W. Taylor2014-10-081-0/+1
| | | | When the MetaBackground changes, queue the actor for redraw.
* wayland-keyboard: Don't send pressed keys on enterRui Matos2014-10-082-42/+20
| | | | | | | | | | | | | | | | | | | | We never want to send pressed keys to wayland clients on enter. The protocol says that we should send them, presumably so that clients can trigger their own key repeat routine in case they are given focus and a key is physically pressed. Unfortunately this causes some clients, in particular Xwayland, to register key events that they really shouldn't handle, e.g. on an Alt+Tab keybinding, where Alt is released before Tab, clients would see Tab being pressed on enter followed by a key release event for Tab, meaning that Tab would be processed by the client when it really shouldn't. Since the use case for the pressed keys array on enter seems weak to us, we'll just fake that there are no pressed keys instead which should be spec compliant even if it might not be true. https://bugzilla.gnome.org/show_bug.cgi?id=727178
* wayland-pointer: Just use the pointer actor instead of doing a full repickJasper St. Pierre2014-10-071-16/+3
| | | | The full repick is unnecessary -- Clutter already does it for us.
* wayland: Clump the globals code togetherJasper St. Pierre2014-10-071-6/+6
|
* wayland: Remove old commentsJasper St. Pierre2014-10-071-16/+1
|
* wayland: Remove unused variableJasper St. Pierre2014-10-071-1/+0
|
* wayland: Make WaylandEventSource privateJasper St. Pierre2014-10-072-7/+7
|
* wayland: Make the MetaWaylandRegion type opaqueJasper St. Pierre2014-10-074-8/+19
|
* wayland: Move MetaWaylandRegion into a new file as wellJasper St. Pierre2014-10-076-64/+144
|
* wayland: Clean up a bit moreJasper St. Pierre2014-10-071-28/+27
|
* wayland: Clean up more includesJasper St. Pierre2014-10-072-18/+5
|
* wayland-surface: Clean up includesJasper St. Pierre2014-10-071-14/+3
|
* wayland: Move some buffer manipulation functions to meta-wayland-bufferJasper St. Pierre2014-10-073-38/+68
|
* wayland: Put the MetaWaylandBuffer implementation in a new fileJasper St. Pierre2014-10-079-70/+133
|
* default: Adjust the default backgroundJasper St. Pierre2014-10-071-1/+1
| | | | Getting a bit tired of green...
* wayland-surface: Fix a build coming from a bad rebaseJasper St. Pierre2014-10-071-1/+1
|
* wayland-surface: Remove MetaWaylandSurfaceExtensionJasper St. Pierre2014-10-073-51/+46
| | | | | | It only contained a pointer to a wl_resource, which isn't much of value. Just replace it with the wl_resource instead. Any future private data should be handled by our future role system.
* wayland-surface: Remove create_surface_extension and friendsJasper St. Pierre2014-10-071-57/+25
| | | | | This function has a lot of parameters, and doesn't do much in the way of boilerplate. It's a lot simpler to hand-code.
* wayland-surface: Rename the subsurface extension to wl_subsurfaceJasper St. Pierre2014-10-072-7/+7
| | | | To match the interface name.
* wayland-surface: Group MetaWaylandSurface members logicallyJasper St. Pierre2014-10-071-15/+16
| | | | And add comments so that we know what's what. This cleans up the struct.
* wayland-surface: Move wl_surface.frame above role-specific stuffJasper St. Pierre2014-10-071-4/+4
| | | | | The role-specific stuff will soon be part of a set_role callback set on the surface itself.
* wayland-surface: Apply the surface scale only if neededJasper St. Pierre2014-10-071-4/+4
| | | | There's no need to call scale_texture on every commit.
* display: Do not include unmanaging windows in list_windows()Florian Müllner2014-10-071-2/+2
| | | | | | | | | | | There's a small window before a window that is being unmanaged is unregistered with the display. The MetaScreen::window-left-monitor and MetaWorkspace::window-removed emissions fall right into that window, so code that runs in that time may well be out of our control; we can make sure that the method it can use to get an updated list of windows no longer contains the destroyed window though, which is a much better option than expecting everyone to filter the list themselves.
* Updated Latvian translationRūdolfs Mazurs2014-10-071-3/+3
|
* Updated Latvian translationRūdolfs Mazurs2014-10-071-690/+601
|
* wayland: Ensure drag surface offset changes update the DnD actorCarlos Garnacho2014-10-063-0/+39
|
* wayland: Use a MetaDnDActor for the DnD icon surfaceCarlos Garnacho2014-10-061-3/+45
| | | | | | The actor is updated on DnD grab motion events, properly notified when dragging finishes, and destroyed if the client/surface disappear below its feet.
* compositor: Add MetaDnDActorCarlos Garnacho2014-10-063-0/+297
| | | | | | This actor is a subclass of MetaFeedbackActor that additionally implements the "drag failed" animation, snapping back to the drag origin position in a surface.
* compositor: Add MetaFeedbackActorCarlos Garnacho2014-10-063-0/+325
| | | | | | | This actor is a non-reactive container that autoembeds itself into the feedback window group in the compositor. The API is meant to help on creating things attached to pointer/touchpoints, with an X/Y attachment offset, and following the position of certain events.
* compositor: Add a "feedback" window groupCarlos Garnacho2014-10-063-1/+17
| | | | | | | | | | Although not strictly a window group... This ClutterActor is meant to stay always on top, and only show non-reactive actors created by Mutter itself. Two possible usecases for this layer are DnD surfaces, and touch spots. We might also want to move cursors out of an overlay in MetaStage into here at some point.
* wayland: Store whether the wl_data_source has a target selectedCarlos Garnacho2014-10-061-2/+9
| | | | It will be useful to check whether DnD is going to fail or not.
* wayland: Keep track of the origin surface and drag point on DnDCarlos Garnacho2014-10-061-4/+44
| | | | | | Keeping track of the surface will be necessary in case it is destroyed during DnD, and the coordinates will be useful when figuring out the snap back coordinates.
* data-device: Store the current drag grabCarlos Garnacho2014-10-062-4/+10
| | | | And bail out if any further start_drag() is attempted.
* wayland: Record the offset positionJasper St. Pierre2014-10-062-0/+5
| | | | | This is needed for DND surfaces. We should probably test to see if it's used for cursor surfaces at all.
* window: Remove duplicate case valueJasper St. Pierre2014-10-061-1/+0
|
* window: Mark all override-redirect window types as appears-focusedJasper St. Pierre2014-10-061-0/+8
|
* wayland: Immediately give keyboard focus to Wayland popupsJasper St. Pierre2014-10-061-1/+3
|
* window: Ensure that popup window types propagate their focus appearanceJasper St. Pierre2014-10-061-1/+20
| | | | | | | | | In Wayland, popup window types are not override-redirect, and thus can steal window focus away from their parent window when clicked on. This means that we need to make sure their appearance is properly propagated to the parent windows so the parent windows don't lose their focus while they're propagated.
* pointer: Repick after the focused surface is destroyedJasper St. Pierre2014-10-061-1/+1
| | | | | Having a null focus is incorrect -- we want to pick the surface that's under the new pointer position.