profile/ivi/weston.git
12 years agoConvert notify_axis to wl_fixed_t
Daniel Stone [Wed, 30 May 2012 15:31:57 +0000 (16:31 +0100)]
Convert notify_axis to wl_fixed_t

In preparation for the rest of the axis code changing.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
12 years agoshell: Reset focus for all seats on activation
Daniel Stone [Wed, 30 May 2012 15:31:56 +0000 (16:31 +0100)]
shell: Reset focus for all seats on activation

Rather than using a single hardcoded seat to activate new windows within
a compositor, reset the focus for all seats.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
12 years agotablet-shell: Use seat_list rather than primary seat
Daniel Stone [Wed, 30 May 2012 15:31:55 +0000 (16:31 +0100)]
tablet-shell: Use seat_list rather than primary seat

Activate surfaces for all seats when showing the grid, not just the
primary seat.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
12 years agotablet-shell: Remove 'seat' member
Daniel Stone [Wed, 30 May 2012 15:31:54 +0000 (16:31 +0100)]
tablet-shell: Remove 'seat' member

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
12 years agoUse compositor->seat_list instead of a singular seat
Daniel Stone [Wed, 30 May 2012 15:31:53 +0000 (16:31 +0100)]
Use compositor->seat_list instead of a singular seat

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
12 years agoUse enum wl_keyboard_key_state instead of integer
Daniel Stone [Wed, 30 May 2012 15:31:52 +0000 (16:31 +0100)]
Use enum wl_keyboard_key_state instead of integer

Instead of using a uint32_t for state everywhere (except on the wire,
where that's still the call signature), use the new
wl_keyboard_key_state enum, and explicit comparisons.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
12 years agoUse enum wl_pointer_button_state instead of integer
Daniel Stone [Wed, 30 May 2012 15:31:51 +0000 (16:31 +0100)]
Use enum wl_pointer_button_state instead of integer

Instead of using a uint32_t for state everywhere (except on the wire,
where that's still the call signature), use the new
wl_pointer_button_state enum, and explicit comparisons.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
12 years agotest-client.c: Replace hard-coded magic value
Daniel Stone [Wed, 30 May 2012 15:31:50 +0000 (16:31 +0100)]
test-client.c: Replace hard-coded magic value

Took me a second to work out that the 272 was actually BTN_LEFT, as keys
and buttons share a namespace in evdev.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
12 years agoevdev: Add LED update hook
Daniel Stone [Wed, 30 May 2012 15:31:49 +0000 (16:31 +0100)]
evdev: Add LED update hook

Simply pushes the updated LEDs through to all keyboard attached to the
seat.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
12 years agoevdev: Add device capabilities
Daniel Stone [Wed, 30 May 2012 15:31:48 +0000 (16:31 +0100)]
evdev: Add device capabilities

Does what it says on the box: lists whether or not the device supports
key, absolute, relative or touch classes.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
12 years agoRename evdev_input_device::type to pending_events
Daniel Stone [Wed, 30 May 2012 15:31:47 +0000 (16:31 +0100)]
Rename evdev_input_device::type to pending_events

Since that's what it actually is, rather than a description of the
device as such.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
12 years agoevdev: Convert device type to an enum
Daniel Stone [Wed, 30 May 2012 15:31:46 +0000 (16:31 +0100)]
evdev: Convert device type to an enum

Rather than using #defines.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
12 years agoAdd core LED handling
Daniel Stone [Wed, 30 May 2012 15:31:45 +0000 (16:31 +0100)]
Add core LED handling

Similar to how we deal with modifiers, also add LED handling to the core
input code, with a callout into the backends to update them when they
change.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
12 years agoDo binding modifier lookup on XKB state, not physical keys
Daniel Stone [Wed, 30 May 2012 15:31:44 +0000 (16:31 +0100)]
Do binding modifier lookup on XKB state, not physical keys

When we update the modifier_state used for Weston bindings, derive this
from the XKB modifier state, rather than a hardcoded mapping of physical
keys to modifier state.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
12 years agoMove xkb_state object to weston_seat
Daniel Stone [Wed, 30 May 2012 15:31:43 +0000 (16:31 +0100)]
Move xkb_state object to weston_seat

As we need to keep a separate state for every seat (i.e. keyboard
interface) rather than a compositor-global state.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
12 years agoConvert Weston modifier #defines to an enum
Daniel Stone [Wed, 30 May 2012 15:31:42 +0000 (16:31 +0100)]
Convert Weston modifier #defines to an enum

To avoid any possible collision between the disparate XKB and Weston
modifier namespaces.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
12 years agoSupport wl_keyboard::modifiers event
Daniel Stone [Thu, 31 May 2012 19:27:47 +0000 (15:27 -0400)]
Support wl_keyboard::modifiers event

This event lets the compositor inform clients of the canonical keyboard
modifier/group state.  Make sure we send it at appropriate moments from
the compositor, and listen for it in clients as well.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
12 years agoUpdate XKB state in update_modifier_state
Daniel Stone [Wed, 30 May 2012 15:31:40 +0000 (16:31 +0100)]
Update XKB state in update_modifier_state

As well as just updating Weston's internal modifier_state, also update
our xkb_state object, in preparation for serialising modifier values to
clients.  This also makes update_modifier_state return 1 if the
modifier/group state has changed, or 0 if not.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
12 years agoUpdate pointer and keyboard focus on new listeners
Daniel Stone [Wed, 30 May 2012 15:31:39 +0000 (16:31 +0100)]
Update pointer and keyboard focus on new listeners

If we get a new wl_pointer or wl_keyboard listener from the client
currently owning the focus resource, issue another
wl_{pointer,keyboard}_set_focus so the focus_resource can be updated and
the client can receive an enter event.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
12 years agoAdd Android backend
Pekka Paalanen [Wed, 30 May 2012 12:53:45 +0000 (15:53 +0300)]
Add Android backend

The Android backend provides basic EGL/GLES2 graphics, where everything
is always composited. Overlays are not used. Input is stubbed, therefore
there is no input yet.

This adds the first C++ source file into Weston compositor. The Android
gralloc and fb HAL glue code to the Android EGL library is in C++, and
there is no way to access it from plain C. We have a simple wrapper to
the required C++ class API. Android forces the C++ file name extension
to .cpp.

The android backend is compiled by default. However, all Android
specific calls are protected with #ifdef ANDROID, so it will build also
without Android headers. The binary produced without the Android build
system is useless, but allows build-testing generic Weston changes.
Therefore the android backend is not installed.

Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
12 years agotests, wcap: update ignores
Pekka Paalanen [Wed, 30 May 2012 12:53:44 +0000 (15:53 +0300)]
tests, wcap: update ignores

Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
12 years agowindow: add wrapper for EPOLL_CLOEXEC
Pekka Paalanen [Wed, 30 May 2012 12:53:43 +0000 (15:53 +0300)]
window: add wrapper for EPOLL_CLOEXEC

Android does not have EPOLL_CLOEXEC, so add a fallback.

Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
12 years agocompositor: check for execinfo.h
Pekka Paalanen [Wed, 30 May 2012 12:53:42 +0000 (15:53 +0300)]
compositor: check for execinfo.h

Some systems may not have execinfo.h. Add a configure test for it, and
if it is not found, make the backtrace() call a no-operation.

Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
12 years agocompositor: work around missing SOCK_CLOEXEC
Pekka Paalanen [Wed, 30 May 2012 12:53:41 +0000 (15:53 +0300)]
compositor: work around missing SOCK_CLOEXEC

Android does not have SOCK_CLOEXEC, so implement a wrapper that falls
back.

Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
12 years agoImplement text cursor position protocol.
Scott Moreau [Sun, 27 May 2012 20:25:02 +0000 (14:25 -0600)]
Implement text cursor position protocol.

Here we create a new client/compositor interface in weston to allow
clients to report their x/y cursor position to the compositor. These
values are then used to center the zoom area on this point. This
is useful for everyone, especially people who are visually impaired.

12 years agoxwm: Just ignore the synthetic unmap_notify
Kristian Høgsberg [Thu, 31 May 2012 14:33:43 +0000 (10:33 -0400)]
xwm: Just ignore the synthetic unmap_notify

As per ICCCM 4.1.4 we're supposed to withdraw the window when we see
the real unmap or the synthetic unmap, whichever comes first.  The
synthetic unmap may come after the window has been destroyed, so let's
just only handle the real unmap.

12 years agowcap: Convert argb to yv12 using integer math instead
Kristian Høgsberg [Wed, 30 May 2012 19:01:03 +0000 (15:01 -0400)]
wcap: Convert argb to yv12 using integer math instead

Drop from 8% in the profile to 1.8%.

12 years agowcap: Fix README typo
Kristian Høgsberg [Wed, 30 May 2012 17:00:54 +0000 (13:00 -0400)]
wcap: Fix README typo

Thanks to Jonas Kulla <nyocurio@googlemail.com> for spotting it.

12 years agoxwm: Set WM_STATE window property
Kristian Høgsberg [Wed, 30 May 2012 16:15:44 +0000 (12:15 -0400)]
xwm: Set WM_STATE window property

xprop and gtk+ dnd is now working.

12 years agoxwm: Bring back synthetic events and handle synthetic unmap notify as per ICCCM
Kristian Høgsberg [Wed, 30 May 2012 15:46:29 +0000 (11:46 -0400)]
xwm: Bring back synthetic events and handle synthetic unmap notify as per ICCCM

12 years agoxwm: Don't try to read deleted properties
Kristian Høgsberg [Wed, 30 May 2012 15:34:35 +0000 (11:34 -0400)]
xwm: Don't try to read deleted properties

12 years agoxwm: Handle reparenting windows
Kristian Høgsberg [Wed, 30 May 2012 15:28:24 +0000 (11:28 -0400)]
xwm: Handle reparenting windows

12 years agoxwm: Don't select for XCB_EXPOSE
Kristian Høgsberg [Wed, 30 May 2012 14:09:21 +0000 (10:09 -0400)]
xwm: Don't select for XCB_EXPOSE

We don't need expose events.  All windows are redirected and we know
exactly when we need to repaint them.

12 years agoxwm: Don't dispatch for events coming from XSendEvent
Kristian Høgsberg [Wed, 30 May 2012 14:06:59 +0000 (10:06 -0400)]
xwm: Don't dispatch for events coming from XSendEvent

GTK+ sends an unmap_notify to the root window when a toplevel GTK+ window
gets unmapped.  That may be a GTK+ bug, but we should just ignore events
from XSendEvent.

12 years agoxwm: Destroy frame resources and reparent back to root in unmap_notify
Kristian Høgsberg [Wed, 30 May 2012 14:05:41 +0000 (10:05 -0400)]
xwm: Destroy frame resources and reparent back to root in unmap_notify

The frame window and the wayland surface needs to go away when then
X window is unmapped, not when it's destroyed.

12 years agoxwm: Remove pointless change set request
Kristian Høgsberg [Wed, 30 May 2012 14:04:15 +0000 (10:04 -0400)]
xwm: Remove pointless change set request

12 years agoxwm: Don't select for STRUCTURE_NOTIFY or RESIZE_REDIRECT
Kristian Høgsberg [Wed, 30 May 2012 14:02:58 +0000 (10:02 -0400)]
xwm: Don't select for STRUCTURE_NOTIFY or RESIZE_REDIRECT

We get all that information through SUBSTRUCTURE_NOTIFY on the parent
windows.

12 years agoxwm: Ignore map request for already mapped window
Kristian Høgsberg [Wed, 30 May 2012 13:59:56 +0000 (09:59 -0400)]
xwm: Ignore map request for already mapped window

If a client sends another map request before the server has seen our
reply to the first map request event, we might get a map request for an
already mapped window.  Just ignore that.

12 years agoxwm: Reduce window property debug output
Kristian Høgsberg [Wed, 30 May 2012 13:58:02 +0000 (09:58 -0400)]
xwm: Reduce window property debug output

We just print properties when they change now instead of dumping all
properties whenever we re-read them.  Also, make the property output a
little more concise.

12 years agocompositor: Only fini region if it's not the undef region
Kristian Høgsberg [Tue, 29 May 2012 20:49:45 +0000 (16:49 -0400)]
compositor: Only fini region if it's not the undef region

12 years agoxwm: Reset wm->focus_window when the focused window is destroyed
Kristian Høgsberg [Tue, 29 May 2012 19:35:29 +0000 (15:35 -0400)]
xwm: Reset wm->focus_window when the focused window is destroyed

12 years agowcap: Compute per-component deltas
Kristian Høgsberg [Tue, 29 May 2012 16:15:47 +0000 (12:15 -0400)]
wcap: Compute per-component deltas

12 years agowcap: Add wcap README, with a bit of documentation
Kristian Høgsberg [Tue, 29 May 2012 15:36:27 +0000 (11:36 -0400)]
wcap: Add wcap README, with a bit of documentation

12 years agowcap-decode: Fix setting framerate
Kristian Høgsberg [Tue, 29 May 2012 14:51:55 +0000 (10:51 -0400)]
wcap-decode: Fix setting framerate

Default to 30fps instead of crashing if we don't get a framerate on the
command line.

12 years agowcap-decode: Fix timestamp overflow
Kristian Høgsberg [Tue, 29 May 2012 14:51:21 +0000 (10:51 -0400)]
wcap-decode: Fix timestamp overflow

12 years agodnd: implement option for not offering data to other clients
Ander Conselvan de Oliveira [Tue, 29 May 2012 07:58:27 +0000 (10:58 +0300)]
dnd: implement option for not offering data to other clients

Add option --self-only to dnd client. If this options is passed, the
drag will be started with no data source so that no drag and drop
events are sent to other clients.

12 years agoterminal: add glyphs to character list
David Herrmann [Tue, 29 May 2012 07:37:02 +0000 (09:37 +0200)]
terminal: add glyphs to character list

This adds the actual glyphs/utf-8 characters to the comments of CS_SPECIAL
(DEC special graphics set). They all work on my system with "Monospace" or
"Bitstream" font. But keep the mnemonics so if the UTF8 characters are not
displayed correctly, the comments are still readable.

I don't know if gcc actually reads data as UTF-8 or if C code actually
allows all UTF8 characters. However, unless it reads as "*/" in ASCII, it
shouldn't matter inside of comments.

Anyway, it compiles fine with gcc-4.7.0/amd64 here.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
12 years agoterminal: fix up horizontal scan-line characters
David Herrmann [Tue, 29 May 2012 07:37:01 +0000 (09:37 +0200)]
terminal: fix up horizontal scan-line characters

The DEC special graphics set defines entries 0x6f to 0x73 to be:
  Horizontal Scan Line 1
  Horizontal Scan Line 3
  Horizontal Scan Line 5
  Horizontal Scan Line 7
  Horizontal Scan Line 9
However, the first Unicode drafts included only Scan-Line 5. Since
Unicode-3.2 the other Scan-Lines were added and are available in most
Unicode fonts now.

The codes are listed here:
  http://www.fileformat.info/info/unicode/block/miscellaneous_technical/images.htm?start=9089
Or more precisely:
  Scan 1: http://www.fileformat.info/info/unicode/char/23ba/index.htm
  Scan 3: http://www.fileformat.info/info/unicode/char/23bb/index.htm
  Scan 7: http://www.fileformat.info/info/unicode/char/23bc/index.htm
  Scan 9: http://www.fileformat.info/info/unicode/char/23bd/index.htm
Scan 5 is kept the same as before as it wasn't added separately and was
already correct before.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
12 years agoWeston: Free allocated cursors array when destroying
Yan Wang [Mon, 28 May 2012 06:07:25 +0000 (14:07 +0800)]
Weston: Free allocated cursors array when destroying

This array is allocated in create_cursors(). It should be freed in
destroy_cursors().

12 years agoshell: Add keybinding to force-close (SIGKILL) inactive clients
Kristian Høgsberg [Sat, 26 May 2012 17:41:06 +0000 (13:41 -0400)]
shell: Add keybinding to force-close (SIGKILL) inactive clients

12 years agowcap: Add option to disable building wcap tools
Kristian Høgsberg [Sat, 26 May 2012 17:19:22 +0000 (13:19 -0400)]
wcap: Add option to disable building wcap tools

12 years agodnd: work around cairo-gl brokenness
Ander Conselvan de Oliveira [Fri, 25 May 2012 13:03:06 +0000 (16:03 +0300)]
dnd: work around cairo-gl brokenness

If cairo-gl is used, display_create_surface() will create an
wl_egl_window for each surface and this will result in errors if this
surface is used as a source. Also, one can't get a wl_buffer for such
a surface wich led to crashes when trying to do so for the drag icon.

This patch works around both problems by forcing the item and drag icon
surfaces to use shm.

12 years agowindow: rename enum pointer_type to cursor_type
Ander Conselvan de Oliveira [Fri, 25 May 2012 13:01:41 +0000 (16:01 +0300)]
window: rename enum pointer_type to cursor_type

This avoids confusion with the pointer devices (struct wl_pointer).

12 years agowindow: track changes in libwayland-cursor api
Ander Conselvan de Oliveira [Fri, 25 May 2012 06:30:02 +0000 (09:30 +0300)]
window: track changes in libwayland-cursor api

libwayland-cursor does not provide enum wl_cursor_type anymore so this
brings back enum pointer_type.

This partially revers commit 1042dc15e0ca69a4d8d4d23b862f1e3d3c8e054f.

12 years agocompositor: Fix buggy snprintf that sets module path
Chad Versace [Thu, 24 May 2012 06:42:15 +0000 (23:42 -0700)]
compositor: Fix buggy snprintf that sets module path

If the MODULEDIR string contains '%', then
    snprintf(path, sizeof(path), MODULEDIR "/%s", name);
does not do what you want.

Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
12 years agoxwayland: change library name
Tiago Vignatti [Wed, 23 May 2012 20:04:14 +0000 (23:04 +0300)]
xwayland: change library name

Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>
12 years agoclients: desktop-shell: show tooltip for panel items
Tiago Vignatti [Wed, 23 May 2012 19:06:28 +0000 (22:06 +0300)]
clients: desktop-shell: show tooltip for panel items

Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>
12 years agowindow: add simple text tooltip handlers
Tiago Vignatti [Wed, 23 May 2012 19:06:27 +0000 (22:06 +0300)]
window: add simple text tooltip handlers

Using set_transient.

Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>
12 years agoshell: use transient flags for activate or not new surfaces
Tiago Vignatti [Wed, 23 May 2012 19:06:26 +0000 (22:06 +0300)]
shell: use transient flags for activate or not new surfaces

Inactive surfaces doesn't set keyboard focus, so it can be used for tooltips,
toolbars and some other type of windows.

This requires protocol side changes.

Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>
12 years agowcap: Space out frames according to timestamps
Kristian Høgsberg [Sat, 26 May 2012 02:33:35 +0000 (22:33 -0400)]
wcap: Space out frames according to timestamps

12 years agowcap: Support the other pixel format we may write
Kristian Høgsberg [Sat, 26 May 2012 01:51:25 +0000 (21:51 -0400)]
wcap: Support the other pixel format we may write

12 years agowcap: Commit Makefile.am
Kristian Høgsberg [Sat, 26 May 2012 01:32:58 +0000 (21:32 -0400)]
wcap: Commit Makefile.am

12 years agowcap: Move old wcap-encode to wcap/ as wcap-snapshot
Kristian Høgsberg [Fri, 25 May 2012 22:08:29 +0000 (18:08 -0400)]
wcap: Move old wcap-encode to wcap/ as wcap-snapshot

12 years agowcap: Rename wcap-encode to just wcap
Kristian Høgsberg [Fri, 25 May 2012 22:03:52 +0000 (18:03 -0400)]
wcap: Rename wcap-encode to just wcap

12 years agowcap: Add COPYING for vpxenc derived wcap-decode tool
Kristian Høgsberg [Fri, 25 May 2012 22:00:49 +0000 (18:00 -0400)]
wcap: Add COPYING for vpxenc derived wcap-decode tool

12 years agowcap: Add wcap support to webm encoder
Kristian Høgsberg [Fri, 25 May 2012 21:58:12 +0000 (17:58 -0400)]
wcap: Add wcap support to webm encoder

12 years agowcap: Move wcap structs and constants to a shader header
Kristian Høgsberg [Fri, 25 May 2012 21:55:20 +0000 (17:55 -0400)]
wcap: Move wcap structs and constants to a shader header

12 years agowcap: Discard first frame since it doesn't have a full frame of damage
Kristian Høgsberg [Fri, 25 May 2012 21:50:42 +0000 (17:50 -0400)]
wcap: Discard first frame since it doesn't have a full frame of damage

12 years agowcap: Add a file format magic number and add the pixel format to the header
Kristian Høgsberg [Fri, 25 May 2012 21:45:39 +0000 (17:45 -0400)]
wcap: Add a file format magic number and add the pixel format to the header

12 years agoMake it compile
Kristian Høgsberg [Fri, 25 May 2012 16:04:43 +0000 (12:04 -0400)]
Make it compile

12 years agoImport vpxenc from libvpx as a starting point
Kristian Høgsberg [Fri, 25 May 2012 15:59:53 +0000 (11:59 -0400)]
Import vpxenc from libvpx as a starting point

12 years agoAdd screen recorder tool
Kristian Høgsberg [Thu, 24 May 2012 16:29:46 +0000 (12:29 -0400)]
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.

12 years agoxwm: Handle resize cases of _NET_WM_MOVERESIZE
Kristian Høgsberg [Tue, 22 May 2012 21:09:40 +0000 (17:09 -0400)]
xwm: Handle resize cases of _NET_WM_MOVERESIZE

12 years agoxwm: Implement resizing by frame borders
Kristian Høgsberg [Tue, 22 May 2012 20:56:23 +0000 (16:56 -0400)]
xwm: Implement resizing by frame borders

12 years agoShare code to to classify pointer location in frame
Kristian Høgsberg [Tue, 22 May 2012 20:38:53 +0000 (16:38 -0400)]
Share code to to classify pointer location in frame

12 years agoxwm: Add window resize support
Kristian Høgsberg [Tue, 22 May 2012 20:05:52 +0000 (16:05 -0400)]
xwm: Add window resize support

12 years agocompositor: Address blending for XRGB surfaces with alpha < 1.0.
Scott Moreau [Tue, 22 May 2012 16:18:50 +0000 (10:18 -0600)]
compositor: Address blending for XRGB surfaces with alpha < 1.0.

12 years agoshell: Add back mod+pageup/down keybindings for zoom
Kristian Høgsberg [Tue, 22 May 2012 16:55:18 +0000 (12:55 -0400)]
shell: Add back mod+pageup/down keybindings for zoom

This way we can use zoom without a scrollwheel/touchpad.

12 years agoRestructure output zoom.
Scott Moreau [Mon, 21 May 2012 21:21:25 +0000 (15:21 -0600)]
Restructure output zoom.

A quick clean-up of zoom to prepare for the other patches in this series.

12 years agoxwm: Fold weston_wm_activate into weston_wm_window_activate
Scott Moreau [Mon, 21 May 2012 21:49:14 +0000 (15:49 -0600)]
xwm: Fold weston_wm_activate into weston_wm_window_activate

12 years agoxwayland/window-manager.c: Use container_of to get the wm pointer since window may...
Scott Moreau [Mon, 21 May 2012 21:49:13 +0000 (15:49 -0600)]
xwayland/window-manager.c: Use container_of to get the wm pointer since window may be NULL.

12 years agoshell: Update relevant bits to work with recent alpha value changes.
Scott Moreau [Tue, 22 May 2012 07:54:10 +0000 (01:54 -0600)]
shell: Update relevant bits to work with recent alpha value changes.

12 years agowindow: use libwayland-cursor instead of libXcursor
Ander Conselvan de Oliveira [Tue, 22 May 2012 12:39:42 +0000 (15:39 +0300)]
window: use libwayland-cursor instead of libXcursor

12 years agoxwm: Use SUBSTRUCTURE_REDIRECT on frame window too
Kristian Høgsberg [Tue, 22 May 2012 14:04:20 +0000 (10:04 -0400)]
xwm: Use SUBSTRUCTURE_REDIRECT on frame window too

This lets us intercept and handle client attempts to resize their window
within the frame window.

12 years agoxwayland: Add window-manager.c
Kristian Høgsberg [Mon, 21 May 2012 21:12:41 +0000 (17:12 -0400)]
xwayland: Add window-manager.c

Used mv instead of git mv to rename file...

12 years agoxwayland: Rename xserver-launcher.c to window-manager.c
Kristian Høgsberg [Mon, 21 May 2012 20:57:37 +0000 (16:57 -0400)]
xwayland: Rename xserver-launcher.c to window-manager.c

It's what it is now.

12 years agoxwayland: Move socket and launcher code to it's own file
Kristian Høgsberg [Mon, 21 May 2012 20:48:05 +0000 (16:48 -0400)]
xwayland: Move socket and launcher code to it's own file

12 years agoxwayland: Split selection code into its own file
Kristian Høgsberg [Mon, 21 May 2012 19:52:02 +0000 (15:52 -0400)]
xwayland: Split selection code into its own file

12 years agoMove xwayland integration into xwayland subdirectory
Kristian Høgsberg [Mon, 21 May 2012 19:03:32 +0000 (15:03 -0400)]
Move xwayland integration into xwayland subdirectory

12 years agoshell: Fix broken indentation in shell_get_shell_surface()
Kristian Høgsberg [Mon, 21 May 2012 18:28:57 +0000 (14:28 -0400)]
shell: Fix broken indentation in shell_get_shell_surface()

12 years agoshell: Make create_shell_surface() just return the shsurf
Kristian Høgsberg [Mon, 21 May 2012 18:27:33 +0000 (14:27 -0400)]
shell: Make create_shell_surface() just return the shsurf

12 years agoxwm: Add ewmh window type atoms
Kristian Høgsberg [Mon, 21 May 2012 18:23:36 +0000 (14:23 -0400)]
xwm: Add ewmh window type atoms

12 years agoxwm: Don't leak render format reply
Kristian Høgsberg [Mon, 21 May 2012 18:08:23 +0000 (14:08 -0400)]
xwm: Don't leak render format reply

Spotted by psychon on irc.

12 years agoxwm: Switch alpha, brightness and saturation to GLfloat
Kristian Høgsberg [Mon, 21 May 2012 18:06:52 +0000 (14:06 -0400)]
xwm: Switch alpha, brightness and saturation to GLfloat

12 years agoshell: Remove fading animation from animation list when surface destroyed
Rob Bradford [Mon, 21 May 2012 17:04:15 +0000 (18:04 +0100)]
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)

12 years agoxwm: Account for shadow and frame size when positioning transient windows
Kristian Høgsberg [Mon, 21 May 2012 17:55:19 +0000 (13:55 -0400)]
xwm: Account for shadow and frame size when positioning transient windows

12 years agoxwm: Improve debug logging a bit
Kristian Høgsberg [Mon, 21 May 2012 17:55:01 +0000 (13:55 -0400)]
xwm: Improve debug logging a bit

12 years agoxserver: map transient windows into shell surface
Tiago Vignatti [Mon, 21 May 2012 13:47:49 +0000 (16:47 +0300)]
xserver: map transient windows into shell surface

Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>
12 years agowindow: send transient flags over the wire
Tiago Vignatti [Mon, 21 May 2012 13:47:46 +0000 (16:47 +0300)]
window: send transient flags over the wire

Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>
12 years agoxwm: Dont queue repaints unless we have a frame window
Kristian Høgsberg [Mon, 21 May 2012 16:05:32 +0000 (12:05 -0400)]
xwm: Dont queue repaints unless we have a frame window