| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Which does the equality checking for us.
|
|
|
|
| |
It's only used by the X11 codepath.
|
| |
|
|
|
|
|
|
| |
We're still not properly going through the request system. This
will require a dense investigation of the code, but it will happen
soon...
|
|
|
|
|
|
| |
This reverts commit 857561baedacba10c68004429cdf41092e52e86e.
This broke the build, and was pushed prematurely.
|
|
|
|
|
| |
Open the device from weston-launch, and pass it to Cogl/Clutter.
This is a preliminary cleanup for our login1 integration.
|
| |
|
|
|
|
| |
This will be used on startup to switch to the newly activated session.
|
| |
|
|
|
|
| |
This will be used to implement activate_session.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
We need to initialize the main loops before our callback is called, so
this makes it make a slight bit of more sense.
|
| |
|
|
|
|
|
| |
This is an explicit option to launch mutter as a display server,
rather than relying on weston-launch.
|
| |
|
|
|
|
| |
It's unused outside of us.
|
|
|
|
|
| |
The resource is not embedded in the source, it's separate. We need
to get the user data here to not crash.
|
|
|
|
| |
And fix a leak.
|
| |
|
|
|
|
|
| |
We need to have the seat here. This makes weston-dnd not crash when
clicking on an item.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
This fixes an assert fail when redecorating an X11 client.
|
|
|
|
|
| |
We already reset the double-buffered state when we commit it, so this
is just superfluous.
|
|
|
|
| |
This was causing memory corruption and a bad crasher with simple-egl.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Since we never pass any Clutter events to Wayland, it's not needed.
|
| |
|
|
|
|
| |
To make way for smooth scrolling
|
| |
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
Needed for the call to gdk_x11_device_manager_lookup() introduced in
abd2abcde67cddacdda03323138f9fb130e4eb15 .
|
| |
|
|
|
|
|
| |
We must call gdk_device_get_pointer() unconditionally, because
that sets the GdkScreen argument we use to obtain the root window.
|
|
|
|
| |
Update NEWS.
|
|
|
|
|
|
| |
_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.
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|