Commit Graph

1880 Commits

Author SHA1 Message Date
Kristian Høgsberg
5fb70bf301 Add screen recorder tool
This commit adds a new, built-in screen recorder tool.  The tool UI is
still very simple, start with mod-r and stop it again with mod-r.
The recording is written to capture.wcap, in a simple run-length encoded
adhoc format.  The wcap-decode tool can be used to extract a single frame
from the capture, for now, but the plan is to hook this up to libvpx and
generate webm output.
2012-05-24 12:29:46 -04:00
Kristian Høgsberg
e68fd10f87 xwm: Handle resize cases of _NET_WM_MOVERESIZE 2012-05-22 17:09:40 -04:00
Kristian Høgsberg
c1693f209a xwm: Implement resizing by frame borders 2012-05-22 16:56:23 -04:00
Kristian Høgsberg
f96e6c00d9 Share code to to classify pointer location in frame 2012-05-22 16:38:53 -04:00
Kristian Høgsberg
a61ca06b49 xwm: Add window resize support 2012-05-22 16:05:52 -04:00
Scott Moreau
9fb9824c17 compositor: Address blending for XRGB surfaces with alpha < 1.0. 2012-05-22 13:06:51 -04:00
Kristian Høgsberg
9b68af0608 shell: Add back mod+pageup/down keybindings for zoom
This way we can use zoom without a scrollwheel/touchpad.
2012-05-22 12:58:47 -04:00
Scott Moreau
850ca42b9b Restructure output zoom.
A quick clean-up of zoom to prepare for the other patches in this series.
2012-05-22 12:58:47 -04:00
Scott Moreau
85ecac0a4e xwm: Fold weston_wm_activate into weston_wm_window_activate 2012-05-22 12:58:41 -04:00
Scott Moreau
1b3984c3cc xwayland/window-manager.c: Use container_of to get the wm pointer since window may be NULL. 2012-05-22 11:34:34 -04:00
Scott Moreau
02709afb51 shell: Update relevant bits to work with recent alpha value changes. 2012-05-22 11:33:36 -04:00
Ander Conselvan de Oliveira
1042dc15e0 window: use libwayland-cursor instead of libXcursor 2012-05-22 10:17:34 -04:00
Kristian Høgsberg
eaee784160 xwm: Use SUBSTRUCTURE_REDIRECT on frame window too
This lets us intercept and handle client attempts to resize their window
within the frame window.
2012-05-22 10:12:22 -04:00
Kristian Høgsberg
380deee3c7 xwayland: Add window-manager.c
Used mv instead of git mv to rename file...
2012-05-21 17:12:41 -04:00
Kristian Høgsberg
4714558e3d xwayland: Rename xserver-launcher.c to window-manager.c
It's what it is now.
2012-05-21 17:05:21 -04:00
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