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
Jasper St. Pierre
fa2e1e4eda
wayland-seat: Clean up includes
2014-04-22 18:25:34 -04:00
Jasper St. Pierre
2769683521
Rename MetaWaylandStage to MetaStage and put in compositor/
2014-04-22 16:56:02 -04:00
Jasper St. Pierre
6072e981a8
wayland: Kill extra includes to meta-wayland-stage.h
...
No idea why these are still included at all...
2014-04-22 16:56:02 -04:00
Jasper St. Pierre
168ede9374
compositor: Create the MetaWaylandStage here
2014-04-22 16:56:01 -04:00
Jasper St. Pierre
a0d608e083
wayland: Remove the stage destroy hook
...
We assert fail / segfault when pressing the "X" button anyway, so
I don't think it does us too much good.
2014-04-22 16:56:01 -04:00
Jasper St. Pierre
326740e00f
Move the cursor renderer to the backend
2014-04-22 16:56:01 -04:00
Jasper St. Pierre
3c0ca1f2af
wayland-stage: Fix a race condition early in init
...
If Xwayland takes too long to start up, Clutter can choose to draw, at
which point we'll crash because the MetaDisplay hasn't initialized yet.
2014-04-22 10:26:03 -04:00
Jasper St. Pierre
9a6f5e115d
Revert "wayland-stage: Use the C setter for cursor-visible"
...
This reverts commit d1a31952de
.
Whoops, I did not mean to push this one.
2014-04-21 21:07:47 -04:00
Jasper St. Pierre
731e1ed74f
wayland-stage: Remove unused variable
2014-04-21 21:07:47 -04:00
Jasper St. Pierre
eba5648c27
wayland-stage: Add missing include
...
Again, had it locally, forgot to amend.
2014-04-21 21:07:47 -04:00
Jasper St. Pierre
d1a31952de
wayland-stage: Use the C setter for cursor-visible
...
This makes meta_wayland_stage_new(); synonymous with g_object_newv(...);
2014-04-21 21:05:23 -04:00
Jasper St. Pierre
13a444482a
wayland-stage: Don't use the Wayland seat to find the cursor tracker
...
Simply look it up on the seat itself.
2014-04-21 21:05:23 -04:00
Jasper St. Pierre
9d780bca7a
wayland-stage: Cut down on dependencies
2014-04-21 21:05:23 -04:00
Jasper St. Pierre
b6a80934d6
backend: Move pointer constrainment code to native backend
2014-04-21 21:05:23 -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
d189ddcc86
Split out the code that renders the code into a MetaCursorRenderer
...
Right now, this is the same exact same mess it's always been, but
it will be fixed up soon with backend-specific renderers.
2014-04-21 20:25:20 -04:00
Jasper St. Pierre
d09116ebce
display: Rename meta_grab_op_is_mouse to is_moving_or_resizing
...
is_mouse actually checks for all combinations of moving/resizing
grab ops, which is quite confusing. Just rename it.
2014-04-20 12:03:24 -04:00
Jasper St. Pierre
e55dd4e3f4
display: Rename META_GRAB_OP_WAYLAND_CLIENT to WAYLAND_POPUP
...
We're going to introduce other grab ops soon.
2014-04-20 12:03:24 -04:00
Jasper St. Pierre
02c31ac069
data-device: Clean up slightly
2014-04-20 12:03:24 -04:00
Jasper St. Pierre
3f375c9426
pointer: Remove get_focus_surface
...
Yeah, I was wrong, it doesn't improve code clarity.
2014-04-20 12:03:24 -04:00
Jasper St. Pierre
258112d6a7
display: Remove COMPOSITOR from mouse/keyboard grab ops
...
Looking at the code paths where is_mouse / is_keyboard are used,
all of them should never be run when dealing with a COMPOSITOR
grab op, since they're filtered out above or the method is just
never run during that time.
It's confusing that COMPOSITOR is in here, and requires us to
be funny with other places in code, so just take it out.
2014-04-20 12:03:24 -04:00
Jasper St. Pierre
ceb0f1005d
pointer: Repick on update, not on handle_event
...
pointer->current needs to always be the surface under the pointer,
even when we have a grab. We do need to make sure we keep the focus
surface the same even when we have a grab, though, so add logic
for that.
2014-04-20 12:03:24 -04:00
Jasper St. Pierre
c9e99ebbbf
pointer: Move update up
...
It seems that I forgot or messed this up in one of my reshufflings.
2014-04-18 18:56:01 -04:00
Jasper St. Pierre
020f209c45
pointer: Split out the code that gets the proper focus surface as well
2014-04-18 18:56:01 -04:00
Jasper St. Pierre
45df3e41c5
pointer: Split out the code that sets the focus surface
2014-04-18 18:56:01 -04:00
Jasper St. Pierre
1a723954fc
pointer: Only the focus_surface should only be influenced by the grab
...
... not the normal current. That should *always* be the surface under
the pointer, regardless of events.
2014-04-18 18:56:01 -04:00
Jasper St. Pierre
3e554efc70
pointer: Clean up repick_for_event a bit
2014-04-18 18:56:01 -04:00
Jasper St. Pierre
d68da0b8cf
pointer: Merge update_current_focus and repick_for_event
...
In order to correctly fix the issue to make sure we only set the
focused surface to NULL during a grab, but not the current surface,
we need to merge update_current_surface back into repick_for_event
so we have more control over the behavior here.
2014-04-18 18:56:01 -04:00
Jasper St. Pierre
de7a644656
pointer: Unset the window cursor when we do a pick
...
... not when we do an update.
We only repick when we handle events, not when we update. Perhaps
this is a mistake.
Since update runs before handle_event, this means that when we
drop a grab, update will notice the NULL surface, since we haven't
repicked after the event, and then we'll repick the correct surface.
The end result is that you see a root cursor after a grab ends,
rather than the correct window cursor.
This doesn't fix it, since the current surface becomes NULL when
we start the grab. But it does make the code here more correct when
we fix that bug.
2014-04-18 18:56:01 -04:00
Jasper St. Pierre
16bcbd1a34
pointer: Reindent
2014-04-18 18:56:01 -04:00
Jasper St. Pierre
29439f8de2
wayland-surface: Fix offset with window dragging
...
The grab_x / grab_y here were converted from fixed integers to
floats, but we forgot to update one place in the code that used
them as fixed integers.
2014-04-18 18:23:27 -04:00
Jasper St. Pierre
97a69cee5a
wayland-surface: Simplify move_double_buffered_state
...
The majority of the data we can simply copy from one to the other.
2014-04-18 18:23:27 -04:00
Jasper St. Pierre
2e2dd247ce
wayland: Rename pending_surface_state => pending
...
This matches what's normally done.
2014-04-18 18:15:41 -04:00
Jasper St. Pierre
de6054d557
wayland: Remove an extraneous variable
2014-04-18 18:15:41 -04:00
Jasper St. Pierre
db56a7cecb
wayland: Rename DoubleBufferedState to PendingState
...
I was talking with other people and they became confused at the
term "double-buffered", since we were also talking about
double-buffering in general, e.g. swapping between two buffers.
Instead, we'll adapt the "pending state" nomenclature that we
already use for the field / variable names.
2014-04-18 18:15:36 -04:00
Jasper St. Pierre
f92c1af24a
wayland-surface: Merge actor_surface_commit back in
...
Since we do it unconditionally now, the code flows better
if it's inline with commit_double_buffered_state.
2014-04-18 15:43:26 -04:00
Jasper St. Pierre
4ab71ec942
wayland: Make subsurfaces reactive
2014-04-18 12:26:31 -04:00
Jasper St. Pierre
2748661f63
pointer: Remove our own position tracking
...
Use the coords inside ClutterInputDevice instead.
2014-04-18 12:26:31 -04:00
Jasper St. Pierre
aee074b11d
pointer: Remove unused field
2014-04-18 12:26:31 -04:00
Jasper St. Pierre
5f29b8c206
pointer/keyboard: Rearrange slightly
2014-04-18 12:26:30 -04:00
Jasper St. Pierre
7c6c4d63c5
seat: Move the keyboard resource creation over to MetaWaylandKeyboard
2014-04-17 19:15:53 -04:00
Jasper St. Pierre
5d43e33032
seat: Don't set the data device key focus on get_keyboard creation
...
It's not necessary, as we don't use anything from the protocol
keyboard at all.
2014-04-17 19:15:53 -04:00
Jasper St. Pierre
45a8a3f490
seat: Move pointer event handling to MetaWaylandPointer as well
...
Now everything that deals with the pointer is inside meta-wayland-pointer.c
2014-04-17 19:15:53 -04:00
Jasper St. Pierre
bdf55bc674
seat: Rewrite event handling in terms of MetaWaylandPointer
2014-04-17 19:15:53 -04:00