Kristian Høgsberg
9b154fa82b
compositor: Insert dnd icon surface below device sprite surface
2012-02-29 12:52:32 -05:00
Kristian Høgsberg
9bc7095a78
compositor: Set an empty input region for the fade surface
...
Otherwise we don't set the cursor until the fade is done.
2012-02-29 12:52:32 -05:00
Kristian Høgsberg
f10df85cd7
window: Set opaque region after child widget adjusts size
2012-02-29 12:43:05 -05:00
Rodney Lorrimar
99ff01b816
weston: Change path for default terminal launcher to ${prefix}/bin
...
If you don't have anything at ~/.config/weston-desktop-shell.ini and
have weston installed somewhere other than /usr, then this patch will
help.
Cheers,
Signed-off-by: Rodney Lorrimar <rodney@rodney.id.au>
2012-02-29 12:43:05 -05:00
Kristian Høgsberg
fcfc83f6ae
clients: Use wl_display_disconnect()
2012-02-28 14:34:54 -05:00
Ander Conselvan de Oliveira
90fbbd74cc
compositor: make the input region of drag surfaces empty
...
With the input region changes, drag surfaces were being picked and
receiving events which led to problems on the client side.
2012-02-28 14:34:53 -05:00
Kristian Høgsberg
cacb7cd0f6
shell: Mark geometry dirty when we change surface alpha
...
We need to recompute the opaque region when the alpha changes.
2012-02-28 09:23:23 -05:00
Kristian Høgsberg
3b4af20100
compositor: Dont set the opaque region if we have an overall surface alpha
2012-02-28 09:23:23 -05:00
Kristian Høgsberg
9dd1ed24db
terminal: Don't queue a resize after setting fullscreen
...
We end up doing an attach at the non-fullscreen size before resizing to
fullscreen, causing the terminal to jump to the center for a frame before we
render the fullscreen image.
2012-02-28 09:23:23 -05:00
Alex Wu
8811bf9e8d
compositor: Export functions and add weston_suface::force_configure for fullscreen
...
This will facilitate the implementation of fullscreen.
Signed-off-by: Alex Wu <zhiwen.wu@linux.intel.com>
2012-02-28 09:00:10 -05:00
Scott Moreau
c6d7f60b19
Restructure output zoom key handling.
...
This effectively eats the keybinding events, as we don't want them sent
to clients.
2012-02-26 13:43:11 -05:00
Kristian Høgsberg
4d7c862278
drm: Remove redundant cursor region math
...
We already check this in weston_output_set_cursor().
2012-02-24 11:07:43 -05:00
Kristian Høgsberg
ca14ef049d
drm: Remove redundant weston_surface_update_transform() call
2012-02-23 23:07:45 -05:00
Kristian Høgsberg
d15fbe334a
compositor: Remove surface overlapped attribute
...
We need to compute this as we assign surfaces to overlays, so that
if we assign a surface to an overlay, it isn't considered overlapping.
2012-02-23 23:06:13 -05:00
Kristian Høgsberg
d8bf90c150
Move weston_output_set_cursor into compositor-drm.c
...
First step towards moving hw cursor handling into compositor-drm.c a its
general overlay handling.
2012-02-23 23:03:14 -05:00
Kristian Høgsberg
85fd327f71
compositor-drm: Destroy sprites on shutdown, turn off on vt switch
2012-02-23 21:45:32 -05:00
Kristian Høgsberg
66617bb19d
compositor: Remove unused compositor vfunc create_cursor_image
2012-02-23 21:29:55 -05:00
Jesse Barnes
58ef379be6
compositor-drm: Add sprite support
...
Add support for assigning surfaces to overlay sprites using the new
assign_planes hook.
2012-02-23 20:12:31 -05:00
Jesse Barnes
5308a5e09b
compositor: add an assign_planes hook to the output
...
This allows each output back end to optimize drawing using overlay planes
and cursors (yet to be integrated). If a surface is assigned to a
plane, the back end should clear its damage field so that the later
repaint code won't look at it.
2012-02-23 17:55:10 -05:00
Scott Moreau
2493be40a3
Fix pointer position clipping.
2012-02-23 17:45:56 -05:00
Scott Moreau
ccbf29dcb4
Introduce output zoom.
...
Ideally, we would want to use <modifier>+Scroll binding but that will have
to wait for axis events. For now we just use keybindings. Zoom in/out with
Super+Up/Down.
2012-02-23 17:45:49 -05:00
Kristian Høgsberg
4889154f5b
compositor: Initialize destroy_listener_list for internal surfaces too
...
We use this to look up user data on the surface, so make sure the list is
always valid.
2012-02-23 17:38:33 -05:00
Kristian Høgsberg
010f98b083
window: Track and report input and opaque regions
...
We just set the input region to the bounding box of the window frame
and set the opaque region to be the opaque rectangle inside the window
if the child widget is opaque.
2012-02-23 17:30:54 -05:00
Kristian Høgsberg
dd631c1c36
simple-touch: Update to enter/leave changes
2012-02-23 16:20:38 -05:00
Kristian Høgsberg
5e7e6f2a22
compositor: Implement opqaue and input regions
2012-02-23 16:14:27 -05:00
Ander Conselvan de Oliveira
a2f1129d13
compositor: assign output to drag surfaces
...
Otherwise we endup with a surface that is mapped but with outtup nil.
2012-02-23 16:12:30 -05:00
Ander Conselvan de Oliveira
ba727bd1d9
shell: don't assign output for surface of type none
...
If map is called with a surface of type none it will call
weston_surface_assign_output, even though the surface will
not be mapped.
2012-02-23 16:06:06 -05:00
Kristian Høgsberg
06d58b74af
Update to enter/leave events for pointer and keyboard
2012-02-23 09:59:05 -05:00
Alex Wu
88277d1422
shell: Fix never map fullscreen/transient surface.
...
If client send set_fullscreen/set_transient request before the first attach,
compositor has no chance to map the surface due to "if (es->output == NULL)".
You can pull it from git://gitorious.org/wayland-for-krh/weston.git map-bug
2012-02-22 12:33:43 -05:00
Kristian Høgsberg
31f9d0e8de
compositor: Remove redundant weston_surface_damage_below() calls
...
In the attach case we always end up calling weston_surface_damage_below()
through weston_surface_update_transform() if and only if we need it.
2012-02-19 22:46:13 -05:00
Kristian Høgsberg
d0e2ef7779
compositor: Surface is unmapped when surface->output is NULL
...
surface->buffer can be NULL, which happens when a client destroys the
attached buffer. Fixes list corruption on resize.
2012-02-19 22:15:21 -05:00
Kristian Høgsberg
0704539ec4
shell: Revive super-tab application switcher
...
We can do this right, now that we have keyboard grabs.
2012-02-19 21:04:08 -05:00
Kristian Høgsberg
afa264c6b6
compositor: Don't run keybindings if we have a key grab
2012-02-19 18:57:35 -05:00
Scott Moreau
ec286eb8e8
compositor: Setup for keyboard grabs.
2012-02-19 18:57:34 -05:00
Scott Moreau
447013d718
Track server changes.
2012-02-18 11:55:51 -05:00
Kristian Høgsberg
1cbf3262dd
compositor: Move fullscreen_output to shell_surface
2012-02-17 23:49:07 -05:00
Kristian Høgsberg
323ee04505
compositor: Make weston_surface_damage_below_noupdate() the default
...
We never want to update the transform and then damage below. Damage
below is always used to trigger a repaint where the surface used to be
so we need to record the damage before updating the transform.
2012-02-17 12:45:43 -05:00
Kristian Høgsberg
3b5ea3bc6f
compositor: Move unmap logic to new function weston_surface_unmap()
2012-02-17 12:43:56 -05:00
Kristian Høgsberg
12bbf81456
compositor: Only delete surface texture if we have one
2012-02-17 12:15:27 -05:00
Kristian Høgsberg
101cb6560c
compositor: Get rid of surface->visual
2012-02-17 10:45:16 -05:00
Kristian Høgsberg
6a8b553119
shell: Set geometry directly in configure
...
We already set half of it directly, and overwrite it in other cases, so
just skip weston_surface_configure().
2012-02-16 23:43:59 -05:00
Kristian Høgsberg
d5ae9f4f85
shell: Restore basic fullscreen functionality
...
This just fixes the default case.
2012-02-16 23:38:14 -05:00
Kristian Høgsberg
2675dc1c8d
window: Don't draw decorations in fullscreen mode
2012-02-16 23:19:41 -05:00
Kristian Høgsberg
1517defe13
window: Set window type as it changes, not on every attach
...
It was always a bit sloppy, and the new fullscreen request doesn't work
that way.
2012-02-16 23:19:41 -05:00
Kristian Høgsberg
66c0880c58
view: Don't schedule resize after setting fullscreen
...
window_set_fullscreen will schedule a resize or wait for the configure
event as needed.
2012-02-16 23:19:41 -05:00
Daniel Stone
0d5a509ae5
window: Use constant keycode offset of 8
...
The X11 compositor currently posts its key presses as keycode - 8; this
is due to X11 having a historical minimum keycode of 8, whereas evdev is
numbered starting from 1. So while the KEY_* constants begin with
KEY_ESC at 1, the corresponding keycode in both X11 and the XKB keymaps
is 9.
window, on the other hand, was relying on xkb->min_key_code being 8 to
translate its keycodes back to useful values in the XKB 'evdev' keycode
map. min_key_code may not always be 8, for restricted subsets of the
keycode map.
Perhaps not the best solution, but at least consistent.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2012-02-16 23:19:41 -05:00
Daniel Stone
9d4f030c0b
window: Use new xkbcommon include path
...
xkbcommon in current git has moved its include files.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2012-02-16 23:19:40 -05:00
Pekka Paalanen
b29f412eb8
protocol: remove absolute coordinates from pointer
...
This change depens on the Wayland core commit:
"protocol: remove absolute coordinates from pointer".
Remove the absolute coordinates from pointer motion and pointer_focus
events.
Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
2012-02-16 23:19:40 -05:00
Pekka Paalanen
dfb93a9e71
window: do not store absolute coordinates
...
These were not used for anything, anyway.
Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
2012-02-16 23:19:40 -05:00
Ander Conselvan de Oliveira
e47c3a342b
clients/dnd: adapt to new data_device icon protocol
...
Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
2012-02-16 23:19:40 -05:00