Jasper St. Pierre
4b5a503cee
backend-x11: Make sure to not crash during initialization
...
Sometimes we can get a host event without having the display up and
running yet. Just don't pass it to the compositor in that case, since it
won't be possible for it to have any event that matters.
2014-07-27 16:14:46 +02:00
Adel Gadllah
6ee5a1437c
x11: Move event filter to backend connection
2014-07-19 18:51:26 +02:00
Adel Gadllah
029673d0ee
Revert "backend-x11: Take the touch grab on the stage window"
...
This reverts commit 3b85e4b2b9
.
This breaks touch support; reverting would break wayland
(is what this patch tried to fix; we should find a better solution
that works on both).
2014-07-17 17:18:08 +02:00
Jasper St. Pierre
3b85e4b2b9
backend-x11: Take the touch grab on the stage window
...
So we don't get assert fails when touching the screen on mutter nested.
2014-07-14 17:24:31 -04:00
Jasper St. Pierre
55354f5c38
Take the touch grab in MetaBackendX11
...
This means that it won't trigger when we're running as a Wayland
compositor, which will cause a few warnings and possibly more
brokenness.
2014-07-14 09:41:10 -04:00
Jasper St. Pierre
eb952819c2
monitor: Don't use wl_output_transform in our APIs
...
Invent our own API so we can build without Wayland headers.
2014-07-13 11:35:01 -04:00
Carlos Garnacho
704cae1de3
backend: Use the most recent event time on replayed touch events
...
When a touch sequence is passively grabbed and later rejected, events
will be replayed on the next client in propagation order, although those
events (either transformed to pointer events or not) will contain the
original timestamps, this will make grabs fail with InvalidTime if triggered
from the replayed ButtonPress/TouchBegin handler.
In order to work around this, store the most recent event time (presumably
gotten from the XI_TouchEnd caused by the passive grab being rejected), and
use that time on the events being replayed afterwards and grabs, so we don't
possibly fail with InvalidTime if those events result in a compositor grab.
2014-07-08 11:21:29 -04:00
Carlos Garnacho
faf55c4627
backend-x11: Ensure touch event coordinates are translated to the stage's
...
Now that those events are going to be received, coordinates translation
should also happen on those.
2014-07-07 19:17:03 -04:00
Carlos Garnacho
f351c5d304
backend-x11: Remove pointless goto
...
The function is not as complex as needing that, plus it always jumped
anytime bypass_clutter is TRUE, so make all conditional code depend on
that.
2014-07-07 19:15:48 -04:00
Jasper St. Pierre
63bca17ab6
backend-x11: Only spoof the event when we're passing it to Clutter
...
There's no need to do so otherwise.
2014-07-07 19:13:31 -04:00
Jasper St. Pierre
af135c0b0b
monitor-manager: Rename output_id to winsys_id
...
The output_id is more of an opaque identifier for the monitor, based on
its underlying ID from the windowing system. Since we also use the term
"output_id" for the output's index, rename our use of the opaque cookie
"output_id" to "winsys_id".
2014-07-01 13:24:34 -04:00
Jasper St. Pierre
b704659899
backend: Add an XIWarpPointer wrapper
...
This makes Alt+F7 / Alt+F8 work respectively under X11 nested mode.
For the native backend implementation, we'll need a special Clutter
function, so don't implement that for now.
2014-05-27 14:28:35 -04:00
Jasper St. Pierre
47b3336ffa
monitor-manager-xrandr: Make sure to XFlush the XUngrabServer
...
Otherwise, the server may not receive our request, meaning that
we'll hang onto the server grab forever.
2014-05-22 17:39:46 -04:00
Jasper St. Pierre
480a853263
x11: Add simple cursor renderer
2014-05-17 13:27:16 -04:00
Jasper St. Pierre
c8f3820956
backend-x11: Always pass None for the cursor
...
This means we fall back to what's defined on the root window, which
will give us our properly set cursor.
2014-05-13 16:20:03 -04:00
Jasper St. Pierre
25a16c3379
Remove trailing whitespace
2014-05-02 09:34:48 -04:00
Jasper St. Pierre
9607513e62
backend-x11: Fix cursor position under nested
2014-04-28 13:29:45 -04:00
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
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
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
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
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
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
6c743dad88
xrandr: Rewrite to be based on the X11 display connection
2014-04-23 10:24:26 -04:00
Jasper St. Pierre
28666da6a1
backend-x11: Simplify XSync initialization handling a bit
2014-04-22 14:17:08 -04:00
Jasper St. Pierre
3d091e514d
backend: Poll events from the host X11 server ourselves
...
I was accidentally pulling events from the Xwayland server under
nested for the idle monitor, which is wrong. Whoops.
2014-04-22 10:26:03 -04:00
Jasper St. Pierre
c44b1d730d
backends: Move MonitorManager creation to MetaBackend as well
2014-04-21 20:25:21 -04:00
Jasper St. Pierre
48dc544bef
backends: Move most of the code from meta_backend_init into the subclasses
2014-04-21 20:25:21 -04:00
Jasper St. Pierre
31d744195d
backends: Build MetaBackend subclasses for each backend
2014-04-21 20:25:21 -04:00
Jasper St. Pierre
00ea9bf14b
backends: Start on an initial MetaBackend object
...
This isn't great so far -- all we did is put the idle monitors here
instead. We'll soon have separate backend subclasses for the two
backends.
2014-04-21 20:25:21 -04:00
Jasper St. Pierre
f3ee9be4cb
idle-monitor: Use the XSync idle monitor under X11 nested
2014-04-21 20:25:20 -04:00
Bastien Nocera
d53e04f4c8
Name all timeouts and idles
...
Better names can be used once we make more use of them.
https://bugzilla.gnome.org/show_bug.cgi?id=727979
2014-04-10 18:59:46 +02:00
Colin Guthrie
c2b9155979
MonitorXrandr: Mask a BadValue error on VirtualBox.
...
https://bugzilla.gnome.org/show_bug.cgi?id=707563
2014-04-09 12:19:11 -07:00
Robert Ancell
f68d65a5ae
xrandr: Use specified output property name for backlight control
...
Backlight controls are set using the "BACKLIGHT" XRANDR output property.
This should be "Backlight" according to the XRANDR spec [1].
Some drivers (Intel) export both properties and some only the specified property (nvidia).
Users of drivers that only export the specified property cannot change their backlight using XRANDR.
[1] http://cgit.freedesktop.org/xorg/proto/randrproto/tree/randrproto.txt section 9.1
https://bugzilla.gnome.org/show_bug.cgi?id=723606
2014-04-09 12:17:58 -07:00
Jasper St. Pierre
bce1d5117b
Start creating different subdirectories for each backend
2014-03-31 23:44:47 -04:00