summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* iconswip/iconsJasper St. Pierre2014-03-1811-137/+7
|
* Revert "hack autogen to allow automake 1.13"Ryan Lortie2014-03-141-1/+1
| | | | | | | This reverts commit f0c503b5a9700c47d3be4fc36612ea7f333f5512. 01:08 < Jasper> desrt, can you revert that mutter-wayland commit for me? My laptop with git on it is out of commission.
* window: Replace meta_window_type_changed with meta_window_set_typeJasper St. Pierre2014-03-134-31/+38
| | | | Which does the equality checking for us.
* window: Move recalc_type to window-x11.cJasper St. Pierre2014-03-135-121/+122
| | | | It's only used by the X11 codepath.
* meta-weston-launch: Adapt to Clutter's new evdev open callbackJasper St. Pierre2014-03-131-1/+10
|
* xdg-shell: Update for new state change mechanismJasper St. Pierre2014-03-124-158/+174
| | | | | | We're still not properly going through the request system. This will require a dense investigation of the code, but it will happen soon...
* Revert "weston-launch: Pass the DRM device to Cogl"Matthias Clasen2014-03-125-36/+116
| | | | | | This reverts commit 857561baedacba10c68004429cdf41092e52e86e. This broke the build, and was pushed prematurely.
* weston-launch: Pass the DRM device to CoglJasper St. Pierre2014-03-115-116/+36
| | | | | Open the device from weston-launch, and pass it to Cogl/Clutter. This is a preliminary cleanup for our login1 integration.
* wayland: Fix buildJasper St. Pierre2014-03-111-0/+2
|
* Add meta_activate_sessionJasper St. Pierre2014-03-116-2/+46
| | | | This will be used on startup to switch to the newly activated session.
* meta-weston-launch: Redraw and update the cursor when switching backJasper St. Pierre2014-03-113-0/+23
|
* weston-launch: Allow activating our own VT by passing a negative valueJasper St. Pierre2014-03-112-5/+12
| | | | This will be used to implement activate_session.
* weston-launch: Always use sd_session_get_vtJasper St. Pierre2014-03-112-42/+7
|
* weston-launch: Stat the path before opening itJasper St. Pierre2014-03-111-9/+7
|
* weston-launch: Remove unused prototypesJasper St. Pierre2014-03-112-12/+4
|
* weston-launch: Rearrange code slightlyJasper St. Pierre2014-03-111-2/+2
| | | | | We need to initialize the main loops before our callback is called, so this makes it make a slight bit of more sense.
* wayland: Add a few comments, rename some stringsJasper St. Pierre2014-03-111-1/+3
|
* main: Add a --display-server optionJasper St. Pierre2014-03-112-3/+8
| | | | | This is an explicit option to launch mutter as a display server, rather than relying on weston-launch.
* wayland: Remove needless indirectionJasper St. Pierre2014-03-112-36/+5
|
* wayland: Make set_selection privateJasper St. Pierre2014-03-112-7/+1
| | | | It's unused outside of us.
* wayland: Fix destroying data sourcesJasper St. Pierre2014-03-111-1/+1
| | | | | The resource is not embedded in the source, it's separate. We need to get the user data here to not crash.
* wayland: Use g_slice_new0Jasper St. Pierre2014-03-111-14/+6
| | | | And fix a leak.
* wayland: Pull in a fix for a FIXME from WestonJasper St. Pierre2014-03-111-2/+6
|
* wayland: Fix drag grabsJasper St. Pierre2014-03-111-0/+1
| | | | | We need to have the seat here. This makes weston-dnd not crash when clicking on an item.
* Fix identification of CSD windows when checking whether to force fullscreenOwen W. Taylor2014-03-113-1/+32
| | | | | | | | | | | | | | | | | We try to exempt CSD windows from being forced fullscreen if they are undecorated and the size of the screen; however, we also catch almost all windows that *do* need to be forced fullscreen in this check, since they also have decorations turned off. Identify actual CSD windows by checking whether _GTK_FRAME_EXTENTS is set - GTK+ will always set this on CSD windows even if they have no invisible borders or shadows at the current time. We explicitly turn off the legacy-fullscreen check for native wayland windows so we don't start legacy-fullscreening them if the new meta_window_is_client_decorated() is later made more accurate. https://bugzilla.gnome.org/show_bug.cgi?id=723029
* Fix meta_window_titlebar_is_onscreen() for titlebar-less windowsOwen W. Taylor2014-03-111-1/+1
| | | | | | | Make the code correspond to the comment - the titlebar can't be offscreen if there's no titlebar. https://bugzilla.gnome.org/show_bug.cgi?id=723580
* window: Always save the user_rect when resizing Wayland windowsJasper St. Pierre2014-03-111-0/+1
| | | | | | | | The user_rect represents the unconstrainted window size, and lots of code in mutter assumes it can resize to the user_rect at any time. If we wait for an attach to ACK and save the user rect, we'll see lots of flickering as code is resizing to the old user_rect at any time.
* display: Rework event spewingJasper St. Pierre2014-03-111-36/+14
| | | | | | | Make it a compile-time flag rather than a run-time flag, because practically any time you're going to be debugging event spewing, you're going to have to recompile anyway. Remove the WITH_VERBOSE_MODE checks, too.
* xwayland: Make sure to clear an existing surface if we have oneJasper St. Pierre2014-03-111-0/+7
| | | | This fixes an assert fail when redecorating an X11 client.
* wayland: Remove an extra resetJasper St. Pierre2014-03-111-2/+0
| | | | | We already reset the double-buffered state when we commit it, so this is just superfluous.
* wayland: Fix bad copy-paste error in unset_fullscreenJasper St. Pierre2014-03-101-2/+1
| | | | This was causing memory corruption and a bad crasher with simple-egl.
* Add META_GRAB_OP_WAYLAND_CLIENTJasper St. Pierre2014-03-103-5/+46
| | | | | | | | | | Which is used for Wayland popup grabs. The issue here is that we don't want the code that raises or focuses windows based on mouse ops to run while a client has a grab. We still keep the "old" grab infrastructure in place for now, but ideally we'd replace it eventually with a better grab-op infrastructure.
* wayland: Remove special code for modal grabsJasper St. Pierre2014-03-105-240/+9
| | | | Since we never pass any Clutter events to Wayland, it's not needed.
* seat: Add support for smooth scrollingJasper St. Pierre2014-03-101-0/+12
|
* seat: Redo scroll handlingJasper St. Pierre2014-03-101-14/+11
| | | | To make way for smooth scrolling
* seat: Reduce indentationJasper St. Pierre2014-03-101-5/+7
|
* wayland-keyboard: Remove unused modifier indexesRui Matos2014-03-072-22/+0
| | | | | | | | This was copied from weston where they're used for compositor keybindings. Mutter has its own keybindings code which doesn't need this. https://bugzilla.gnome.org/show_bug.cgi?id=722847
* meta-cursor-tracker: Initialize our position from MetaWaylandPointer'sRui Matos2014-03-071-0/+3
| | | | | | | | | | Clutter's input device initial position defaults to (-1, -1) on most backends but for the evdev backend we changed it to be inside the stage to prevent the pointer from wandering outside the stage until it first enters, after which our constraining callback won't let it go out. This makes us be in sync with the real position from the start.
* keybindings: Plug a GSettings instance leakRui Matos2014-03-061-0/+1
|
* cursor-tracker: Include gdk/gdkx.hRui Matos2014-03-061-0/+1
| | | | | Needed for the call to gdk_x11_device_manager_lookup() introduced in abd2abcde67cddacdda03323138f9fb130e4eb15 .
* cursor-tracker: Avoid unnecessary round tripAdel Gadllah2014-03-061-1/+1
|
* MetaCursorTracker: fix uninitialized screen variableGiovanni Campagna2014-03-061-2/+1
| | | | | We must call gdk_device_get_pointer() unconditionally, because that sets the GdkScreen argument we use to obtain the root window.
* Bump version to 3.11.913.11.91-waylandFlorian Müllner2014-03-052-1/+15
| | | | Update NEWS.
* build: Use non-deprecated feature test macrosFlorian Müllner2014-03-052-2/+2
| | | | | | _SVID_SOURCE has been deprecated in newer versions of glibc breaking -WError; the recommended replacement of _DEFAULT_SOURCE is fairly new, so switch to _XOPEN_SOURCE instead.
* Fix positioning error for manually positioned windowsOwen W. Taylor2014-03-051-1/+6
| | | | | | | | | | The "original coordinates" passed into meta_window_place() were the coordinates of the client rectangle not the frame rectangle. When meta_window_place() didn't place because the window was manually positioned (e.g., 'xterm -geometry +x+y') that resulted in a window being offset by the frame dimensions. https://bugzilla.gnome.org/show_bug.cgi?id=724049
* Fix handling of dynamic updates to colors/font/etc.Owen W. Taylor2014-03-052-27/+23
| | | | | | | | | | | | | | | | | | Since the introduction of frame sync in GTK+, updates to titlebar font and colors haven't been working because GTK+ counts on the frame clock to do style updates, and the frame clock doesn't run for an unmapped GdkWindow. (It's possible that GtkStyleContext changes subsequent to the introduction of the frame clock were also needed to fully break things.) We actually need to map the MetaFrames GdkWindow and let the compositor code send out the frame sync messages in order to pick up style changes. Hopefully no bad side effects will occur from this - we make the window override-redirect, 1x1, and outside the bounds of the screen. https://bugzilla.gnome.org/show_bug.cgi?id=725751
* Use MetaCursorTracker to query the pointer positionGiovanni Campagna2014-03-054-95/+37
| | | | | | | | Functionally equivalent in the X11 case, but also correct for Wayland (where the X server doesn't have the updated pointer position). https://bugzilla.gnome.org/show_bug.cgi?id=725525
* keybindings: Fix ungrabs possibly failing after switching keymapsRui Matos2014-03-041-1/+3
| | | | | | We need to resolve the keycode from the keysym again since the keycode might have changed if there was a keymap switch between the grab and the ungrab.
* keybindings: Fix external grabs not being ungrabbedRui Matos2014-03-041-3/+4
| | | | | | Before starting to use display_get_keybinding() we could compare MetaKeyBinding.modifiers with MetaKeyCombo.modifiers directly. Now, we need to resolve the virtual modifiers to match with the mask.
* keybindings: Keep keybindings in an hash table instead of an arrayRui Matos2014-03-042-179/+169
| | | | | | | | | | | | | | | | | | | | This allows us to look for a match with an O(1) search instead of O(n) which is nice, particularly when running as a wayland compositor in which case we have to do this search for every key press event (as opposed to only when our passive grab triggers in the X compositor case). We actually need two hash tables. On one we keep all the keybindings themselves which allows us to add external grabs without constantly re-allocating the array we were using previously. The other hash table is an index of the keybindings in the first table by their keycodes and mask which is how we actually match the key press events. This second table thus needs to be rebuilt when the keymap changes since keycodes have to be resolved then but since we're only keeping pointers to the first table it's a fast operation. https://bugzilla.gnome.org/show_bug.cgi?id=725588