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
Jasper St. Pierre
10ac86b950
backend: Clean up slightly
2014-04-23 12:15:11 -04:00
Jasper St. Pierre
def097359c
cursor-renderer: Remove bogus assert
2014-04-23 10:24:26 -04:00
Jasper St. Pierre
6c743dad88
xrandr: Rewrite to be based on the X11 display connection
2014-04-23 10:24:26 -04:00
Jasper St. Pierre
274047c3f8
backend-native: Make sure to chain up to the parent post_init
2014-04-23 10:24:26 -04:00
Jason Ekstrand
e04e9aac39
Fix an uninitialized variable warning
2014-04-22 21:09:06 -04:00
Jasper St. Pierre
59fc9d832b
wayland: Clean up surface creation
2014-04-22 18:27:44 -04:00
Jasper St. Pierre
0bf5c831d5
wayland: Remove unused list of surfaces
2014-04-22 18:27:44 -04:00
Jasper St. Pierre
777a6d4570
surface: Merge version logic inline
2014-04-22 18:27:43 -04:00
Jasper St. Pierre
003ff3d255
wayland: Fix header file style
2014-04-22 18:27:43 -04:00
Jasper St. Pierre
88040d6b8a
wayland: Have a consistent _init pattern for subcomponents
2014-04-22 18:27:43 -04:00
Jasper St. Pierre
eaf85ddec9
wayland: Split outputs to another file
2014-04-22 18:25:34 -04:00