Jasper St. Pierre
18730f2a5e
backend-x11: Take grabs on the stage window
...
This means that grabs will be reported with respect to the
stage window, and that our event coordinates will be more
correct under nested.
2014-04-28 13:29:31 -04:00
Adel Gadllah
4e584c2cf0
display: Don't call x11 backend code when running native
...
https://bugzilla.gnome.org/show_bug.cgi?id=729044
2014-04-27 20:24:15 +02:00
Jasper St. Pierre
d1619e4f53
wayland-pointer: Remove the conditional around the surface actor too
...
The actor should always exist.
2014-04-27 10:39:19 -04:00
Adel Gadllah
c8d0a66921
wayland-surface: Ignore bufferless damage
...
Instead of letting a buggy client kill us.
2014-04-27 16:18:09 +02:00
Adel Gadllah
dd4d6af185
wayland-surface: Only call process_damage when we have any damage
...
This fixes a crash when a client commits a surface
without attaching a buffer.
2014-04-27 16:12:02 +02:00
Yosef Or Boczko
1016e2555a
Updated Hebrew translation
2014-04-27 03:52:38 +03:00
Adel Gadllah
657318d4d3
meta-wayland-pointer: Remove the surface->window conditional
2014-04-25 20:38:24 +02:00
Adel Gadllah
f051e05b0a
meta-wayland-pointer: Transform coordinates relative to the surface_actor
...
Not the window_actor ..
2014-04-25 20:36:46 +02:00
Rico Tzschichholz
ca75513880
prefs: Add center-new-windows setting
2014-04-25 15:26:24 +02:00
Jasper St. Pierre
63f1a10e33
compositor: Don't select for weird events on the COW/stage
...
Talking it over with Owen, we weren't sure why this was here.
At one point, we were creating a foreign stage window, so potentially
Clutter didn't select for its own events, but now we're using a standard
stage window, so this seems weird.
Why we did it on the COW, nobody knows. Maybe copy/paste bugginess?
2014-04-24 16:26:21 -04:00
Jasper St. Pierre
14f839c53c
window: Only grab/ungrab buttons/keys on X11 windows
2014-04-24 16:26:21 -04:00
Jasper St. Pierre
ebb6847bd1
ui: Don't use grab ops for grab negotation
...
Grab operations are now always taken on the backend connection, and
this breaks GTK+'s event handling.
Instead of taking a grab op, just do the handling ourselves. The
GTK+ connection will get an implicit grab, which means pointer /
keyboard events won't be sent to the rest of mutter, which is good.
2014-04-24 13:36:40 -04:00
Jasper St. Pierre
c5d4f4a245
backend-x11: Split out event translation to another method
...
Keep the indentation from getting too hairy.
2014-04-24 12:12:54 -04:00
Jasper St. Pierre
a027937ccc
backend-x11: Set the proper coordinates on the spoofed device event
...
When we click on a window with a passive grab, then the event_x
and event_y will be relative to that window, instead of relative to
the stage, which means that picking will be wrong.
Forcibly using root_x / root_y breaks nested mode. Nested mode is
a testing mode that should be replaced by a DRI3-enabled Xephyr,
though. It's getting too hairy to support properly.
2014-04-24 12:12:54 -04:00
Jasper St. Pierre
925075ddaf
compositor: Don't select for stage events on the UI X11 connection
2014-04-24 12:12:53 -04:00
Jasper St. Pierre
41de208f31
compositor: Also ungrab the VCP when beginning a modal
...
XXX: This should not be needed. We need to figure out why
there's a grab on the UI connection.
2014-04-24 11:26:12 -04:00
Jasper St. Pierre
c8e3b52160
keybindings: Simplify
2014-04-24 11:26:11 -04:00
Jasper St. Pierre
2c53919462
keybindings: Remove two extra error traps
2014-04-24 11:26:11 -04:00
Jasper St. Pierre
a6f3534ff0
display: Set the cursor theme on the backend display as well
2014-04-24 11:26:11 -04:00
Jasper St. Pierre
490f1a6249
display: Simplify cursor theme handling
2014-04-24 11:26:10 -04:00
Jasper St. Pierre
5b83bfb1db
display: Make sure to ungrab the pointer before starting a grab op
...
Now that we grab devices on the X11 connection, we can run into
cross-connection issues. Since GTK+ frames are on the UI connection,
they'll get the passive grab when we click on them. Forcibly ungrab
on GTK+'s connection before attempting to take a grab on the backend
connection ourselves.
2014-04-24 11:26:10 -04:00
Jasper St. Pierre
1ef06207a4
keybindings: Add two extra checks for key grab binding
2014-04-24 11:26:10 -04:00
Dirgita
0a6fa202a8
Updated Indonesian translation
2014-04-24 06:18:44 +00:00
Jasper St. Pierre
18d609ad6d
window: Don't use clutter_stage_get_default
...
It doesn't work, for the same reasons.
2014-04-23 17:01:51 -04:00
Adel Gadllah
c95c501a5b
meta-wayland-surface: Clip damage to buffer dimensions
...
A client can send us damage that exceeds the buffer size, protect against that
by clipping the damage to the buffer's region.
2014-04-23 22:32:17 +02:00
Jasper St. Pierre
8c5da24401
keybindings: Fix keybindings
...
Attach them to the backend's X11 connection.
This breaks the overlay key state machine for native right now.
We'll fix it back up soon.
2014-04-23 16:29:34 -04:00
Jasper St. Pierre
01a773ed5a
backend-x11: Don't use clutter_stage_get_default
...
It turns out Clutter doesn't actually set the stage as the default
when creating a new one, so this creates a new stage that then dies.
2014-04-23 16:01:02 -04:00
Jasper St. Pierre
2435d132ac
Revert "Update to latest xdg-shell protocol"
...
This reverts commit eed03d38b0
.
This was pushed by accident.
2014-04-23 16:01:02 -04:00
Jasper St. Pierre
72c65cbff0
display: Take passive grabs on the backend connection
2014-04-23 15:43:34 -04:00
Jasper St. Pierre
97074ccdad
backend-x11: Fix leak of the event data
2014-04-23 15:43:34 -04:00
Jasper St. Pierre
6111bb9dec
backend-x11: Adapt a consistent naming scheme for the event struct
2014-04-23 15:43:34 -04:00
Jasper St. Pierre
eed03d38b0
Update to latest xdg-shell protocol
2014-04-23 14:23:13 -04:00
Jasper St. Pierre
e9eb3c32a9
compositor: Move event spoofing code to MetaBackendX11
...
This is now where we handle device events.
2014-04-23 14:23:13 -04:00
Jasper St. Pierre
61b714c666
compositor: Remove "exclusive is exclusive" codepath
...
We now handle input events in the backend.
2014-04-23 14:23:13 -04:00
Jasper St. Pierre
e9263d25b9
compositor: Take modal grabs through the backend as well
2014-04-23 14:23:12 -04:00
Jasper St. Pierre
d590626017
compositor: Select for input on the output window the right display
2014-04-23 14:23:12 -04:00
Jasper St. Pierre
fdd43fc2d9
backend-x11: Add KeyPress / KeyRelease to mask
2014-04-23 14:23:12 -04:00
Jasper St. Pierre
4cbf420b4b
idle-monitor-xsync: Clean up includes
...
Conflicts:
src/backends/x11/meta-idle-monitor-xsync.c
2014-04-23 13:27:11 -04:00
Jasper St. Pierre
fd373948d2
idle-monitor-xsync: Retrieve your xdisplay from the backend
2014-04-23 13:27:11 -04:00
Jasper St. Pierre
1dc8a7eca3
monitor: Remove handle_xevent as a generic method
2014-04-23 12:15:12 -04:00
Jasper St. Pierre
861cfc23df
x11: Make sure to handle RANDR events from the right connection
2014-04-23 12:15:12 -04:00
Jasper St. Pierre
86368e7e07
backend: Add grab_device / ungrab_device
...
This makes sure that we take active grabs on the correct connection.
Passive grabs are still broken.
2014-04-23 12:15:12 -04:00
Jasper St. Pierre
f42184ded8
display: Pull the grab cursor from the cursor tracker
...
This might look silly, but just wait...
2014-04-23 12:15:12 -04:00
Jasper St. Pierre
af515732b0
display: Clean up set_grab_op_cursor
2014-04-23 12:15:12 -04:00
Jasper St. Pierre
98a1573bee
cursor: Save the original MetaCursor a cursor came from
...
So we can recreate it as a server-side cursor
2014-04-23 12:15:12 -04:00
Jasper St. Pierre
1762436775
display: Remove the screen from set_grab_op_cursor
2014-04-23 12:15:12 -04:00
Jasper St. Pierre
4fd017d23d
display: Always grab the root window
...
This grab needs to move to the backend, where we won't be able to
discriminate between different windows
2014-04-23 12:15:12 -04:00
Jasper St. Pierre
2f6ce4783b
display: Remove grab_xwindow from the public API
2014-04-23 12:15:12 -04:00
Jasper St. Pierre
c6296aa17f
cursor: Make load_cursor_on_server public
2014-04-23 12:15:12 -04:00
Jasper St. Pierre
b501ca5a24
cursor: Remove cursor tracker from API
2014-04-23 12:15:11 -04:00