Jasper St. Pierre
a53e094fcd
window: Move move_resize_internal logic to protocol-specific directories
2014-03-20 11:02:50 -04:00
Jasper St. Pierre
a377a1a110
window: Move client-type-specific managing / unmanaging to a vfunc
2014-03-20 10:51:32 -04:00
Jasper St. Pierre
1c41f71eef
window: Add a type for Wayland windows
2014-03-20 10:50:27 -04:00
Jasper St. Pierre
0eb86de807
Move Wayland protocols into src/wayland
2014-03-18 20:37:35 -04:00
Rui Matos
b3364cad3e
wayland: Update keyboard state unconditionally
...
In particular we need to know about all key events to keep the xkb
state reliable even if the event is then consumed by a global shortcut
or grab and never reaches any wayland client.
We also need to keep track of all pressed keys at all times so that we
can send an updated set or pressed keys to the focused client when a
grab ends.
https://bugzilla.gnome.org/show_bug.cgi?id=722847
2014-03-18 19:15:17 +01:00
Rui Matos
3502cfba34
wayland-keyboard: Split out a function to determine the evdev keycode
...
We will need to use this is in another place on the next commit.
https://bugzilla.gnome.org/show_bug.cgi?id=722847
2014-03-18 19:15:17 +01:00
Rui Matos
5cc6becb63
wayland-keyboard: Make sure we send an updated modifiers event
...
Any given clutter event carries the modifier state as it was before it
occured but, for the wayland modifiers event, we want the state
including the current event.
To fix this, we'll keep our xkb_state instance around instead of the
serialized mods.
https://bugzilla.gnome.org/show_bug.cgi?id=722847
2014-03-18 19:15:17 +01:00
Jasper St. Pierre
ae8f21a3dc
wayland-keyboard: Don't use our own tracking to detect autorepeat
...
Clutter already marks all autorepeat key events it as synthetic
key events. We can simply ignore these instead of relying on custom
key tracking code.
2014-03-18 19:15:17 +01:00
Rui Matos
62e45b6d5e
wayland-pointer: Drop unused arg from focus grab interface method
...
https://bugzilla.gnome.org/show_bug.cgi?id=726123
2014-03-17 11:06:58 +01:00
Jasper St. Pierre
0f85986340
Add a META_MAXIMIZE_BOTH
...
Which has the value of META_MAXIMIZE_VERTICAL |
META_MAXIMIZE_HORIZONTAL.
This is an obvious code cleanup.
2014-03-15 09:49:56 -04:00
Jasper St. Pierre
93ac0329db
weston-launch: Fix a typo causing mutter-launch to not work
2014-03-14 16:04:56 -04:00
Jasper St. Pierre
c539dfe0d7
weston-launch: Pass the DRM device to Cogl
...
Open the device from weston-launch, and pass it to Cogl/Clutter.
This is a preliminary cleanup for our login1 integration.
2014-03-14 14:13:05 -04:00
Jasper St. Pierre
a9d8107c3d
window: Replace meta_window_type_changed with meta_window_set_type
...
Which does the equality checking for us.
2014-03-13 17:14:28 -04:00
Jasper St. Pierre
d1ea17e6a4
meta-weston-launch: Adapt to Clutter's new evdev open callback
2014-03-13 12:47:11 -04:00
Jasper St. Pierre
b37ad66e9d
xdg-shell: Update for new state change mechanism
...
We're still not properly going through the request system. This
will require a dense investigation of the code, but it will happen
soon...
2014-03-12 23:42:55 -04:00
Matthias Clasen
c1f15348a5
Revert "weston-launch: Pass the DRM device to Cogl"
...
This reverts commit 857561baed
.
This broke the build, and was pushed prematurely.
2014-03-12 14:48:46 -04:00
Jasper St. Pierre
857561baed
weston-launch: Pass the DRM device to Cogl
...
Open the device from weston-launch, and pass it to Cogl/Clutter.
This is a preliminary cleanup for our login1 integration.
2014-03-11 18:01:21 -04:00
Jasper St. Pierre
a44cc9ef47
wayland: Fix build
2014-03-11 18:01:17 -04:00
Jasper St. Pierre
d47b7ba038
Add meta_activate_session
...
This will be used on startup to switch to the newly activated session.
2014-03-11 17:25:40 -04:00
Jasper St. Pierre
f21312e2fd
meta-weston-launch: Redraw and update the cursor when switching back
2014-03-11 17:25:40 -04:00
Jasper St. Pierre
394af33607
weston-launch: Allow activating our own VT by passing a negative value
...
This will be used to implement activate_session.
2014-03-11 17:25:40 -04:00
Jasper St. Pierre
7314cdac94
weston-launch: Always use sd_session_get_vt
2014-03-11 17:25:40 -04:00
Jasper St. Pierre
81025e37ea
weston-launch: Stat the path before opening it
2014-03-11 17:25:39 -04:00
Jasper St. Pierre
1bb9f1e333
weston-launch: Remove unused prototypes
2014-03-11 17:25:39 -04:00
Jasper St. Pierre
b11c75c1c9
weston-launch: Rearrange code slightly
...
We need to initialize the main loops before our callback is called, so
this makes it make a slight bit of more sense.
2014-03-11 17:25:39 -04:00
Jasper St. Pierre
757b626aee
wayland: Add a few comments, rename some strings
2014-03-11 17:25:02 -04:00
Jasper St. Pierre
e34792d9f0
wayland: Remove needless indirection
2014-03-11 16:00:43 -04:00
Jasper St. Pierre
f397c32192
wayland: Make set_selection private
...
It's unused outside of us.
2014-03-11 15:42:37 -04:00
Jasper St. Pierre
f79314d7b5
wayland: Fix destroying data sources
...
The resource is not embedded in the source, it's separate. We need
to get the user data here to not crash.
2014-03-11 15:30:17 -04:00
Jasper St. Pierre
55c61259d8
wayland: Use g_slice_new0
...
And fix a leak.
2014-03-11 15:30:17 -04:00
Jasper St. Pierre
5298cf0a3a
wayland: Pull in a fix for a FIXME from Weston
2014-03-11 15:30:17 -04:00
Jasper St. Pierre
f1dc1a0cbc
wayland: Fix drag grabs
...
We need to have the seat here. This makes weston-dnd not crash when
clicking on an item.
2014-03-11 15:30:16 -04:00
Jasper St. Pierre
9df8e831be
xwayland: Make sure to clear an existing surface if we have one
...
This fixes an assert fail when redecorating an X11 client.
2014-03-11 10:24:13 -04:00
Jasper St. Pierre
84c6b2a3fa
wayland: Remove an extra reset
...
We already reset the double-buffered state when we commit it, so this
is just superfluous.
2014-03-11 10:24:13 -04:00
Jasper St. Pierre
06cd669ccb
wayland: Fix bad copy-paste error in unset_fullscreen
...
This was causing memory corruption and a bad crasher with simple-egl.
2014-03-10 16:45:05 -04:00
Jasper St. Pierre
81eb7d9537
Add META_GRAB_OP_WAYLAND_CLIENT
...
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.
2014-03-10 15:11:03 -04:00
Jasper St. Pierre
dd8d8e436d
wayland: Remove special code for modal grabs
...
Since we never pass any Clutter events to Wayland, it's not needed.
2014-03-10 15:10:44 -04:00
Jasper St. Pierre
d6b6b363ad
seat: Add support for smooth scrolling
2014-03-10 11:36:36 -04:00
Jasper St. Pierre
254e2e993c
seat: Redo scroll handling
...
To make way for smooth scrolling
2014-03-10 11:36:36 -04:00
Jasper St. Pierre
c595a9c29f
seat: Reduce indentation
2014-03-10 11:36:36 -04:00
Rui Matos
dfc7f7222b
wayland-keyboard: Remove unused modifier indexes
...
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
2014-03-07 15:00:04 +01:00
Jasper St. Pierre
ddc171220a
wayland: Remove destroy listener
...
Do to a bad mixup, the surface listener was never actually fired.
This was accidentally fixed as part of a refactoring in a27fb19
,
but the surface listener was broken, and we started crashing. To
fix, just remove the surface listener, as we've mostly been testing
without it.
2014-02-28 13:20:42 -05:00
Rui Matos
0313b38dd6
wayland: Don't try to disconnect the listener from the signal handler
...
This is not needed since the instance is being destroyed and in fact
actively harmful when code called from other handlers disconnects us
for other reasons. In that case we might crash because the
disconnection doesn't prevent other handlers from running in the
current signal emission and thus we try to remove ourselves from an
empty list.
2014-02-28 13:20:42 -05:00
Jasper St. Pierre
770b58b367
wayland: Move "public" Wayland API to another header file
2014-02-28 10:24:06 -05:00
Jasper St. Pierre
77838c2ca3
wayland: Do a giant code cleanup
...
This changes the user data of all surface extensions resources to be
the MetaWaylandSurface instead of the MetaWaylandSurfaceExtension,
which means that we no longer need all these pesky wl_container_ofs
in implementations.
2014-02-28 09:07:33 -05:00
Jasper St. Pierre
e56cbfbd0f
wayland: Rearrange create_surface_extension a tiny bit
...
This moves all the "uninteresting" variables we pass to the end.
2014-02-28 09:07:33 -05:00
Jasper St. Pierre
a27fb19473
wayland: Do a small code cleanup
...
Pass the surface rather than the resource / client. This will become
a lot more helpful in the next commit.
2014-02-28 09:07:33 -05:00
Jasper St. Pierre
86c1c30245
wayland: Add back wl_shell support
2014-02-28 08:32:14 -05:00
Jasper St. Pierre
283546b379
wayland: Enable destroy animations for regular windows
...
Don't set the surface actor to a new buffer if it's becoming unmapped.
This is also technically wrong since we'll send out the release event,
but oh well.
We should probably decouple MetaWaylandBuffer from the CoglTexture
at some point, so we can send out releases on-demand.
2014-02-27 23:48:00 -05:00
Giovanni Campagna
45624f2edf
MetaWindowActor: survive having no MetaSurfaceActor
...
We need a MetaWaylandSurface to build a MetaSurfaceActor, but
we don't have one until we get the set_window_xid() call from
XWayland. On the other hand, plugins expect to see the window
actor right from when the window is created, so we need this
empty state.
Based on a patch by Jasper St. Pierre.
2014-02-25 01:22:56 +01:00