Commit Graph

1865 Commits

Author SHA1 Message Date
Kristian Høgsberg e10b124ef5 xwayland: Move socket and launcher code to it's own file 2012-05-21 17:03:17 -04:00
Kristian Høgsberg 102bf0335d xwayland: Split selection code into its own file 2012-05-21 17:03:17 -04:00
Kristian Høgsberg a921901369 Move xwayland integration into xwayland subdirectory 2012-05-21 17:03:16 -04:00
Kristian Høgsberg 9540ea61a0 shell: Fix broken indentation in shell_get_shell_surface() 2012-05-21 17:03:16 -04:00
Kristian Høgsberg 45ba869ff3 shell: Make create_shell_surface() just return the shsurf 2012-05-21 17:03:16 -04:00
Kristian Høgsberg e829a87a88 xwm: Add ewmh window type atoms 2012-05-21 17:03:16 -04:00
Kristian Høgsberg 2459fd6563 xwm: Don't leak render format reply
Spotted by psychon on irc.
2012-05-21 17:03:16 -04:00
Kristian Høgsberg a416fa15d5 xwm: Switch alpha, brightness and saturation to GLfloat 2012-05-21 17:03:06 -04:00
Rob Bradford 579f2934de shell: Remove fading animation from animation list when surface destroyed
Fixes crash with a backtrace like this:

==2418== Invalid read of size 8
==2418==    at 0x8AC5B70: unresponsive_fade_frame (shell.c:374)
==2418==    by 0x409FE0: weston_output_finish_frame (compositor.c:1060)
==2418==    by 0x567043B: wl_event_loop_dispatch (event-loop.c:389)
==2418==    by 0x566E84C: wl_display_run (wayland-server.c:1003)
==2418==    by 0x4055EB: main (compositor.c:2937)
==2418==  Address 0x8aba650 is 80 bytes inside a block of size 656 free'd
==2418==    at 0x4A0662E: free (vg_replace_malloc.c:366)
==2418==    by 0x566D93B: wl_resource_destroy (wayland-server.c:408)
==2418==    by 0x566D30E: destroy_resource (wayland-server.h:166)
==2418==    by 0x566D93B: wl_resource_destroy (wayland-server.c:408)
==2418==    by 0x34ECE05D63: ffi_call_unix64 (unix64.S:75)
==2418==    by 0x34ECE05784: ffi_call (ffi64.c:486)
==2418==    by 0x5671AAE: wl_closure_invoke (connection.c:770)
==2418==    by 0x566DBAA: wl_client_connection_data (wayland-server.c:255)
==2418==    by 0x5670497: wl_event_loop_dispatch (event-loop.c:410)
==2418==    by 0x566E84C: wl_display_run (wayland-server.c:1003)
==2418==    by 0x4055EB: main (compositor.c:2937)a

and

==2418== Invalid read of size 8
==2418==    at 0x34F1E180E1: pixman_region32_union (pixman-region.c:1405)
==2418==    by 0x407F66: weston_surface_damage (compositor.c:551)
==2418==    by 0x409FE0: weston_output_finish_frame (compositor.c:1060)
==2418==    by 0x567043B: wl_event_loop_dispatch (event-loop.c:389)
==2418==    by 0x566E84C: wl_display_run (wayland-server.c:1003)
==2418==    by 0x4055EB: main (compositor.c:2937)
==2418==  Address 0x851dfe8 is 136 bytes inside a block of size 680 free'd
==2418==    at 0x4A0662E: free (vg_replace_malloc.c:366)
==2418==    by 0x566D93B: wl_resource_destroy (wayland-server.c:408)
==2418==    by 0x34ECE05D63: ffi_call_unix64 (unix64.S:75)
==2418==    by 0x34ECE05784: ffi_call (ffi64.c:486)
==2418==    by 0x5671AAE: wl_closure_invoke (connection.c:770)
==2418==    by 0x566DBAA: wl_client_connection_data (wayland-server.c:255)
==2418==    by 0x5670497: wl_event_loop_dispatch (event-loop.c:410)
==2418==    by 0x566E84C: wl_display_run (wayland-server.c:1003)
==2418==    by 0x4055EB: main (compositor.c:2937)
2012-05-21 13:59:00 -04:00
Kristian Høgsberg 168288b177 xwm: Account for shadow and frame size when positioning transient windows 2012-05-21 13:55:19 -04:00
Kristian Høgsberg b4ad4cbdb2 xwm: Improve debug logging a bit 2012-05-21 13:55:01 -04:00
Tiago Vignatti 1ad4c42a52 xserver: map transient windows into shell surface
Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>
2012-05-21 12:50:56 -04:00
Tiago Vignatti dec76580c4 window: send transient flags over the wire
Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>
2012-05-21 12:30:50 -04:00
Kristian Høgsberg de7d66f36b xwm: Dont queue repaints unless we have a frame window 2012-05-21 12:15:50 -04:00
Kristian Høgsberg 21a68913b9 xwm: Keep cairo surface around and just resize it 2012-05-21 12:03:31 -04:00
Kristian Høgsberg 5ea11b69a2 xwm: Look up render format up front 2012-05-21 11:58:52 -04:00
Tiago Vignatti 491bac19c7 shell: Expose set_transient in shell interface 2012-05-18 16:37:43 -04:00
Tiago Vignatti 5cbb9c8a6b xserver: don't activate window always when mapping
set_window_id is the one responsible for mapping the window and the shell will
decide whether a surface needs to be activated or not. But not always at
MapNotify. That was causing ugly behavior on non-toplevel windows.

Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>
2012-05-18 16:15:47 -04:00
Kristian Høgsberg fabcf8fb86 xwm: Set border width to zero in handle_map_request 2012-05-18 15:58:30 -04:00
Kristian Høgsberg da86af7a15 xwm: Handle _NET_WM_MOVERESIZE_MOVE client message 2012-05-18 14:31:30 -04:00
Kristian Høgsberg 3701f6807f xwm: Move window on frame button click 2012-05-18 13:47:43 -04:00
Kristian Høgsberg 938b8fa3c2 shell: Expose surface move functionality in shell interface 2012-05-18 13:47:15 -04:00
Kristian Høgsberg 00c57749b1 xwm: Fall back to WM_NAME if we don't have _NET_WM_NAME 2012-05-18 12:18:01 -04:00
Kristian Høgsberg b4e4c0af5a xwm: Initialize window->properties_dirty 2012-05-18 12:14:16 -04:00
Kristian Høgsberg 4b98b6f09e xwm: Read motif wm hints
For now, just support the "no decorations" combination.
2012-05-18 12:12:36 -04:00
Rob Bradford 8667e77b77 compositor: Silence compiler warning by initializing resource to NULL
Although resource will be valid when it is used since the entered and left
masks are subsets of the different mask it would be nice not to have a
spurious compiler warning.
2012-05-18 09:49:31 -04:00
Kristian Høgsberg 693d832a3d xserver: Set input region for xwm surfaces 2012-05-17 15:45:31 -04:00
Jonas Ådahl 1df17af2c0 evdev: Improve touchpad support and add motion filters
Touchpad related code has been rewritten and moved to its own file
accessed by evdev via the dispatch interface.

The various functionality implemented are anti-jitter (don't jumping
around), smoother motions, touch detection, pointer acceleration and
some more.

Pointer acceleration is implemented as one generic part, and one touch
specific part (a profile).

Some ideas and magic numbers comes from xserver and
xf86-input-synaptics.

Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
2012-05-17 11:33:45 -04:00
Jonas Ådahl 4136d82760 evdev: Add event process dispatching
By setting an 'evdev_dispatch' struct in 'evdev_input_device' during
device configuration the 'process' function in the associated interface
will be called with received input events. If none is set, a fallback
handler will be set instead that handle generic input functionality.

Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
2012-05-17 11:33:41 -04:00
Kristian Høgsberg d6ad122d9a compositor: Disable blending for WL_SHM_FORMAT_XRGB8888 surface
Will it blend?  No.
2012-05-17 11:11:15 -04:00
Kristian Høgsberg c0bc844094 compositor-x11: Check the right variable after creating dummy pbuffer 2012-05-17 09:40:23 -04:00
Kristian Høgsberg 870461997a tests: Rename left-over caps_mask to capability 2012-05-17 09:09:21 -04:00
Kristian Høgsberg b93b6cfa47 compositor: Remove resource from list when we destroy seat devices 2012-05-16 22:32:40 -04:00
Kristian Høgsberg 97460500a8 xwm: Resize frame window if child window changes size 2012-05-16 22:20:46 -04:00
Kristian Høgsberg b84108d72a simple-egl: Fix crash and simplify
pointer_handle_enter() expects the struct display as the user data, so
just move wl_seat and wl_pointer into struct display.
2012-05-16 16:16:19 -04:00
Kristian Høgsberg 0b0c2bb3e9 compositor: Add opaque rect shader feature
This lets us mark a rectangle in a texture and force the alpha to one
inside.  This is useful for textures coming from X windows, where the X
window part is xRGB, that is 32 bit RGB with an undefined alpha channel
and the decorations are rendered with a well-defined alpha channel.
2012-05-16 16:00:41 -04:00
Kristian Høgsberg fb6c6d90f3 xserver: Use frame rendering code from cairo-util 2012-05-16 15:37:06 -04:00
Daniel Stone 37816df646 Convert wl_input_device to wl_seat (and friends)
wl_input_device has been both renamed and split.  wl_seat is now a
virtual object representing a group of logically related input devices
with related focus.

It now only generates one event: to let clients know that it has new
capabilities.  It takes requests which hand back objects for the
wl_pointer, wl_keyboard and wl_touch interfaces it exposes which all
provide the old input interface, just under different names.

This commit tracks these changes in weston and the clients, as well as
similar renames (e.g. weston_input_device -> weston_seat).  Some other
changes were necessary, e.g. renaming the name for the visible mouse
sprite from 'pointer' to 'cursor' so as to not conflict.

For simplicity, every seat is always exposed with all three interfaces,
although this will change as time goes on.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2012-05-16 15:29:06 -04:00
Scott Moreau dc549932b7 Convert wl_fixed_t to int in weston_output_update_zoom().
This way, we don't have to use wl_fixed_to_int() for each
call to weston_output_update_zoom(). It accepts wl_fixed_t
types and converts internally.
2012-05-16 11:04:04 -04:00
Kristian Høgsberg 0b61130bae xwm: memset struct to 0
We rely on focus_window being initialize to NULL.
2012-05-16 10:13:41 -04:00
Kristian Høgsberg 88c1607fb7 shell: Remove lock/unlock listeners on shutdown 2012-05-16 08:04:19 -04:00
Kristian Høgsberg 199fbb8081 xwm: Paint different decoration for active surface 2012-05-15 23:39:17 -04:00
Kristian Høgsberg bc4db77864 src: Don't add COMPOSITOR_CFLAGS to AM_CPPFLAGS
It's a CFLAGS variable, not CPPFLAGS and we don't want to add it to every
target.  In particular we don't want anything leaking into weston-launch.
2012-05-15 22:57:07 -04:00
Kristian Høgsberg c0a7ff5524 configure: Add pixman-1 to the compositor required packages
We used to get it through the IMAGE_LIBS/CFLAGS but we use it directly
in the compositor to add it as a direct dependency.
2012-05-15 22:54:33 -04:00
Kristian Høgsberg 20d0028a56 Rename libconfig-parser to libshared
Still a bad name.
2012-05-15 22:37:26 -04:00
Kristian Høgsberg 5a315bc72d Move cairo-util to shared/ 2012-05-15 22:33:43 -04:00
Kristian Høgsberg 5adb480e60 window: Move frame rendering to cairo-util 2012-05-15 22:25:28 -04:00
Kristian Høgsberg 42abdf5c80 window: Move theme rendering code to cairo-util 2012-05-15 22:14:27 -04:00
Kristian Høgsberg 291c69cf93 window: Move all frame theme related state into new struct theme 2012-05-15 22:12:54 -04:00
Kristian Høgsberg 176b471a8e xwm: Don't repaint after destroying window 2012-05-15 21:58:39 -04:00