Jasper St. Pierre
550f1989ff
window: Complete moving enter/leave handling here
2014-05-19 15:03:05 -04:00
Jasper St. Pierre
8640982e68
Convert window menus to a compositor implementation
2014-05-17 15:16:23 -04:00
Jasper St. Pierre
c81a0dede2
keybindings: Don't crash if we don't have any windows to activate
...
Pressing Alt+Tab when we have no windows should not crash your
desktop, especially when it's so easy to hit when trying to test
switching VTs.
2014-05-15 15:50:31 -04:00
Jasper St. Pierre
fc8a2b8a42
keybindings: Rename initial_selection to window
...
Since we removed the tabpopup, this name doesn't make much sense
anymore.
2014-05-15 15:50:31 -04:00
Jasper St. Pierre
71544fbf4e
display: Replace set_grab_op_cursor with update_cursor
...
Now that we don't have to regrab to change the cursor, since it's
simply the cursor on the root window, all we have to do is update
the cursor on the screen.
2014-05-14 09:20:49 -04:00
Jasper St. Pierre
f57b0726a0
cursor-tracker: Remove the grab cursor
...
We expect that meta_screen_set_cursor while grabbed will properly
set the cursor on the root window. Make sure this works by simply
always using the root cursor when we have an active grab.
2014-05-13 16:20:03 -04:00
Jasper St. Pierre
7732447abc
wayland: Update to latest xdg-shell protocol
2014-05-12 18:25:23 -04:00
Jasper St. Pierre
c49c37999c
wayland: Move appears-focused changed handling to window-wayland
2014-05-12 18:25:19 -04:00
Jasper St. Pierre
4334135c52
events: Make sure to reset current_time after handling events
...
Otherwise, we'll have a stale value leftover in current_time that
won't be reset until the next event.
2014-05-09 11:51:28 -04:00
Jasper St. Pierre
03c4de5590
events: Set display->current_time when we start processing the event
...
Otherwise, the time will be refetched during processing.
2014-05-09 11:51:28 -04:00
Jasper St. Pierre
7a109a18af
events: Move window button handling to window.c
...
Look at how clean GCD is now!!!
2014-05-08 15:34:27 -04:00
Jasper St. Pierre
d9b72b0f43
events: Clean up event replay code
2014-05-08 15:30:09 -04:00
Jasper St. Pierre
a7ea54bd7d
events: Swallow all events directly on windows
...
This is how the X11 mode works.
2014-05-08 15:28:06 -04:00
Jasper St. Pierre
df642b96e2
events: Replace a switch statement with a simple if test
2014-05-08 15:28:06 -04:00
Jasper St. Pierre
f56cc1f733
events: Remove extra check for certain grab op
...
We already explicitly test that there's no grab op right below.
2014-05-08 15:28:06 -04:00
Jasper St. Pierre
f5bff4b7f3
events: Move the overlay_key_only_pressed handling to keybindings.c
...
Now the switch statement is entirely about window operations.
2014-05-08 15:28:06 -04:00
Jasper St. Pierre
bbfdf5dd2a
events: Move keybindings event handling out of the giant switch
2014-05-08 15:28:06 -04:00
Jasper St. Pierre
9b95eda42a
events: Remove an unnecessary check
2014-05-08 15:28:06 -04:00
Jasper St. Pierre
2d225a3386
events: Don't check if we have the grab to raise / focus a window
...
It isn't necessary. As an X11 compositor, we'll only see the event
if we have the grab on the window, anyway.
This was causing issues moving windows as a Wayland compositor.
2014-05-08 14:19:22 -04:00
Jasper St. Pierre
7b3cdc8f96
display: Correct check for grab_window_buttons
...
When we're a Wayland compositor, we get all the events, no exceptions,
so we don't need to grab.
This was masking focusing and raising issues under nested that showed
up under native.
2014-05-08 14:19:22 -04:00
Giovanni Campagna
098c8908ed
MetaStackTracker: make sure all stack ops are freed eventually
...
If we apply a prediction immediately instead of queueing, we should
also free the operation immediately.
If we discard the prediction queue because we resync fully, we
need to free each operation too.
https://bugzilla.gnome.org/show_bug.cgi?id=729732
2014-05-07 19:04:54 +02:00
Giovanni Campagna
ab632e36a5
default: free the option context after parsing
...
We don't need it, we should free it.
https://bugzilla.gnome.org/show_bug.cgi?id=729732
2014-05-07 19:04:54 +02:00
Giovanni Campagna
1427d20922
MetaDisplay: free the wayland windows table at close
...
Like we do for the XID table.
https://bugzilla.gnome.org/show_bug.cgi?id=729732
2014-05-07 19:04:54 +02:00
Jasper St. Pierre
324d7d720d
keybindings: Don't mark a replayed keypress event as handled
...
This is needed so it goes to Wayland clients.
2014-05-07 09:30:22 -04:00
Jasper St. Pierre
413e39ecbb
keybindings: Fix <Super> key crash
...
If we exit early as not handled, then the normal process_event
handler will fire, and trigger the overlay-key binding. As that's
a special binding that doesn't have a handler, trying to trigger
that handler will crash mutter.
Instead of returning early, just check for xdisplay every time
we try to drive the X grab state machine. We really need a better
solution for this on the Wayland side.
2014-05-07 09:30:21 -04:00
Jasper St. Pierre
bca210db45
Revert "Update to latest xdg-shell protocol"
...
This reverts commit fd5c14550a
.
Again, pushed by accident, whoops.
2014-05-05 19:09:07 -04:00
Jasper St. Pierre
bc8799d7d7
constraints: Complete fix for size hints constrainment
2014-05-05 19:06:56 -04:00
Jasper St. Pierre
fd5c14550a
Update to latest xdg-shell protocol
2014-05-05 14:15:03 -04:00
Jasper St. Pierre
a5cca5296c
window: Make sure not to eat any events that end grab ops
...
We need to send the button press / button release that ended a grab
op to Wayland clients so their tracking don't get confused.
2014-05-05 14:15:03 -04:00
Jasper St. Pierre
f4ef4b79f9
constraints: Size increments need to be applied to the client rect
...
Not the frame rect.
2014-05-05 13:10:01 -04:00
Jasper St. Pierre
845fdda22c
keybindings: Make sure not to call meta_change_keygrab under Wayland
2014-05-03 12:50:19 -04:00
Jasper St. Pierre
5d310e06ba
display: Remove some more unnecessary NULL checks
...
Instead, replace them with another assert precondition.
2014-05-02 09:37:01 -04:00
Jasper St. Pierre
25a16c3379
Remove trailing whitespace
2014-05-02 09:34:48 -04:00
Florian Müllner
a6601e92aa
display: Don't grab transient's parent unconditionally
...
Since commit 6e8d1d79d
, move operations are always performed for
the (toplevel) parent of all transient, which is just plain silly
if the dialog is not actually attached to its parent (either because
the dialog is not modal or the setting is disabled).
2014-05-02 12:27:39 +02:00
Jasper St. Pierre
f3a2bb7779
window: Clean up old_rect handling a tiny bit
...
We need the old rect for two purposes: to find the x/y in a resize-only
action, and to pass into the constraints code for nefarious purposes.
The constraints code takes a frame rectangle, so we convert the original
client rect into a frame rect, but never convert it back since it's
unused for the rest of the function.
Instead of playing games with the variables, just have two,
separately-scoped variables. One is the client rect, the other is the
frame rect.
2014-05-01 19:50:39 -04:00
Jasper St. Pierre
73e2d7049a
window: Rearrange code a tiny bit
2014-05-01 19:50:38 -04:00
Jasper St. Pierre
a6353944f6
constraints: Remove a lie
...
The orig / new now are about the frame rect, not the inner window
rect.
2014-05-01 19:50:38 -04:00
Jasper St. Pierre
43d6088ebb
window: Change meta_window_move_resize_internal to take a MetaRectangle
...
We construct one anyway, and most callers already pass in a rectangle
the long way around, so why not change the internal API?
2014-05-01 19:13:33 -04:00
Jasper St. Pierre
06ca99c3a3
window: Remove some ugly debug logging
2014-05-01 17:59:50 -04:00
Jasper St. Pierre
4b5593c67f
window: Make the x/y position in the requested_rect more accurate
...
For gravity-based resizing, we need to make sure that the requested
rectangle has the proper x/y position given by the gravity resize,
rather than the bogus root_x_nw / root_y_nw parameter.
Make the test for this more explicit.
2014-05-01 17:59:50 -04:00
Jasper St. Pierre
acb3dc6754
window: Move adjust_for_gravity to window-x11
...
This removes the weirdness about which edge cases are where in the
move_resize_internal API, and we now always pass in client top-left
coordinates.
2014-05-01 17:59:49 -04:00
Jasper St. Pierre
4c21a46452
window: Move the session restoration and post-manage move_resize to window-x11
2014-05-01 17:59:49 -04:00
Jasper St. Pierre
900ae2c1fa
window: Remove the borders parameter from adjust_for_gravity
...
We can simply use the existing cached borders.
2014-05-01 17:59:49 -04:00
Jasper St. Pierre
01b6445708
window: Simplify adjust_for_gravity
2014-05-01 17:59:49 -04:00
Jasper St. Pierre
292d502205
window: Fix typo in comment
2014-05-01 17:59:49 -04:00
Jasper St. Pierre
adf2e44a82
core: Remove a few unused meta_core functions
2014-05-01 17:59:48 -04:00
Jasper St. Pierre
d456e68375
keybindings: Fix another place we unfreeze on the wrong xdisplay
2014-04-30 09:32:51 -04:00
Jasper St. Pierre
03efa3ccbc
keybindings: Make sure to unfreeze the keyboard on the right xdisplay
...
This fixes keybindings getting "stuck" after being activated in
X11 compositor mode.
2014-04-30 09:32:51 -04:00
Jasper St. Pierre
2101c8357b
Move sync_request_* handling mostly to window-x11
2014-04-29 17:58:23 -04:00
Jasper St. Pierre
575963bee7
window: Turn grab_op_begin / grab_op_ended into vfuncs
...
And move the grab_resize_popup management to the X11 window class,
as this is only used under X11.
2014-04-29 17:58:22 -04:00