--- weston-1.5.0.orig/autogen.sh +++ weston-1.5.0/autogen.sh @@ -0,0 +1,9 @@ +#! /bin/sh + +test -n "$srcdir" || srcdir=`dirname "$0"` +test -n "$srcdir" || srcdir=. +( + cd "$srcdir" && + autoreconf --force -v --install +) || exit +test -n "$NOCONFIGURE" || "$srcdir/configure" "$@" --- weston-1.5.0.orig/data/COPYING +++ weston-1.5.0/data/COPYING @@ -0,0 +1,11 @@ +For the DMZ cursors: + +(c) 2007-2010 Novell, Inc. + +This work is licenced under the Creative Commons Attribution-Share Alike 3.0 +United States License. To view a copy of this licence, visit +http://creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative +Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA. + +The terminal icon is taken from the gnome-icon-theme collection which +is also distributed under the Creative Commons BY-SA 3.0 license. \ No newline at end of file --- weston-1.5.0.orig/debian/README.Debian +++ weston-1.5.0/debian/README.Debian @@ -0,0 +1,9 @@ +README for weston: +------------------ + +If you want to run weston under KMS (from a console, rather than from within X) +as non-root, you should start it via the weston-launch wrapper. For that to +work, you either need to have logind running and have a local session +registered, or your user needs to be member of the weston-launch group. + + -- Laurent Bigonville , Sun, 11 Aug 2013 17:29:28 +0200 --- weston-1.5.0.orig/debian/README.source +++ weston-1.5.0/debian/README.source @@ -0,0 +1,58 @@ +This package uses quilt to manage all modifications to the upstream +source. Changes are stored in the source package as diffs in +debian/patches and applied during the build. + +To configure quilt to use debian/patches instead of patches, you want +either to export QUILT_PATCHES=debian/patches in your environment +or use this snippet in your ~/.quiltrc: + + for where in ./ ../ ../../ ../../../ ../../../../ ../../../../../; do + if [ -e ${where}debian/rules -a -d ${where}debian/patches ]; then + export QUILT_PATCHES=debian/patches + break + fi + done + +To get the fully patched source after unpacking the source package, cd to +the root level of the source package and run: + + quilt push -a + +The last patch listed in debian/patches/series will become the current +patch. + +To add a new set of changes, first run quilt push -a, and then run: + + quilt new + +where is a descriptive name for the patch, used as the filename in +debian/patches. Then, for every file that will be modified by this patch, +run: + + quilt add + +before editing those files. You must tell quilt with quilt add what files +will be part of the patch before making changes or quilt will not work +properly. After editing the files, run: + + quilt refresh + +to save the results as a patch. + +Alternately, if you already have an external patch and you just want to +add it to the build system, run quilt push -a and then: + + quilt import -P /path/to/patch + quilt push -a + +(add -p 0 to quilt import if needed). as above is the filename to +use in debian/patches. The last quilt push -a will apply the patch to +make sure it works properly. + +To remove an existing patch from the list of patches that will be applied, +run: + + quilt delete + +You may need to run quilt pop -a to unapply patches first before running +this command. --- weston-1.5.0.orig/debian/changelog +++ weston-1.5.0/debian/changelog @@ -0,0 +1,173 @@ +weston (1.5.0-2ubuntu1) utopic; urgency=low + + * Merge with Debian unstable, remaining chage: + + rules, weston.install: Build using --with-cairo=image, since our cairo + disabled the gl backend. Don't try to install the screensaver or gears. + + -- Iain Lane Tue, 10 Jun 2014 11:54:49 +0100 + +weston (1.5.0-2) unstable; urgency=medium + + * debian/control, + debian/rules: + + Enable libinput backend. + + -- Emilio Pozuelo Monfort Sun, 01 Jun 2014 17:25:06 +0200 + +weston (1.5.0-1) unstable; urgency=medium + + * Add myself to Uploaders. + * New upstream release. + * Switch back to source format 1.0 for now. + * debian/control: + + Drop librsvg2-bin build dependency, no longer needed. + * debian/clean: + + Dropped, no longer needed. + * debian/weston.install: + + Fix path for demo clients. + + Install the fullscreen shell. + * debian/patches/0001-animation-fix-move-scale-animation.patch: + + Patch from Jonny Lamb, taken from wayland-devel@, that fixes + move animations, as triggered e.g. by exposay. + * d/p/0001-exposay-fix-crash-when-navigating-with-the-keyboard.patch: + + New patch, fix a crash in exposay. + + -- Emilio Pozuelo Monfort Sat, 24 May 2014 02:53:44 +0200 + +weston (1.4.0-1) unstable; urgency=medium + + * New upstream release 1.4.0: + - Window buttons for xwayland windows and proper decorations for the + nested compositor (wayland backend) + - Make the gl-renderer a loadable module and make it possible to + switch from pixman to gl renderer at runtime. This lets the + compositor start up faster, since we can load the gl-renderer and + initialize EGL+GLES2 later in the startup + - Support framebuffer formats other than XRGB8888 (gbm-format config + value under [core] section). + - Use logind for privileged access. logind can now do the this that + weston-launch used to do: drm drop/set master and opening input + devices. With this, weston can run on KMS without the + weston-launch setuid helper. + - struct weston_surface split into struct weston_surface and struct + weston_view. This is a weston-internal feature, that makes it + possible to display a surface in multiple places in the compositor. + - Better output unplug handling. We used to crash and in general not + handle output (monitor) unplug at all. We now clean up properly + and move windows back into the visible region when their output is + unplugged. + - Keyboard focus animation and exposay (exposé-like window picker) + - More touch screen support, including touch-to-move and + touch-to-activate for surfaces, touch screen drag-and-drop + - Started work on xdg-shell protocol. The xdg-shell is a more format + attempt at developing a protocol for the interaction between + applications and a desktop environmet. The wl_shell protocol + currently in wayland was always only a place-holder to help + boot-strap toolkit support. Now that GNOME Shell is moving to + Wayland, we have a full-featured desktop to drive the work and we + can start the effort in earnest + - Nested compositor buffer pass-through. We specified a new EGL + extension to allow a nested compositor to pass buffers through to + the underlying compositor. This lets the nested compositor skip + rendering and instead present the contents using a subsurface or + such in the underlying compositor + - Crop and scale protocol. This protocol, which we're initially + staging in weston, lets a client specify that a only sub-rectangle + of it's surface should be presented, and potentially scaled up. + - weston-terminal gained scrollback history, use Ctrl+Shift UP/DOWN + to scroll. Added a context menu for easy access to copy/paste/new + terminal (which have always been available as Ctrl-Shift-C/V/N) + * d/control: update + + bump standards version + + build depend on librsvg2-bin for PNG file generation. + + add build dependency against libxcb-composite0-dev for build + + add build-dependency against libxcb-xkb-dev (Closes: #733229) + + add build-dependency against libpango1.0-dev for the editor + * d/weston.install: update + + drop weston-tablet-shell + + add gl-renderer + + add clients + + -- Hector Oron Thu, 30 Jan 2014 23:06:00 +0100 + +weston (1.3.0-1ubuntu1) trusty; urgency=low + + * rules, weston.install: Build using --with-cairo=image, since our cairo + disabled the gl backend. Don't try to install the screensaver. + + -- Timo Aaltonen Thu, 07 Nov 2013 18:10:33 +0200 + +weston (1.3.0-1) unstable; urgency=low + + [ Sven Joachim ] + * Bump libwayland-dev build-depends to (>= 1.2.0). + + [ Laurent Bigonville ] + * debian/rules: + - Install weston-launch with setuid bit set (LP: #1102597) + - Set libexec path to /usr/lib/weston + * debian/weston.lintian-overrides: Add override for the mode of weston-launch + executable + * debian/weston.examples: Install weston.ini as an example file + * debian/weston.postinst: Create weston-launch group on installation + (LP: #1203017) + * debian/control, debian/weston.install: Enable colord support + * debian/README.Debian: Fix directions on how to run weston under KMS + (Closes: #714379) + * debian/control: Add a dependency against adduser + * debian/control: Use canonical URL's for Vcs field + + [ Timo Aaltonen ] + * rules: Explicitly enable cairo-gl so that weston-screensaver gets + built. + + [ Hector Oron ] + * New upstream release (1.3.0) (Closes: #719144). + * Add myself to Uploaders. + * Switch Debian source format to 3.0 quilt + + -- Hector Oron Fri, 11 Oct 2013 13:03:04 +0200 + +weston (1.1.1-1) experimental; urgency=low + + [ Timo Aaltonen ] + * New upstream release (Closes: #675138, #699045). + * Add a watch file. + * control: Add missing build-depends: libmtdev-dev, libxcursor-dev, + libpam0g-dev, libvpx-dev. + * Use source format 1.0. + * control: Bump the build-depends on libxkbcommon-dev to (>= 0.1.0~2). + * rules: Make the test run failure non-fatal, since it doesn't work + properly in headless-mode. + * weston.install: Add new files. + * control: Bump build-depends on mesa derived components to 9.0~. + * control, compat: Switch to debhelper 9. + * control: Bump policy to 3.9.4, no changes. + * control: Added homepage (Closes: #687571). + * Add README.source. + * patches/series: Add a placeholder file. + + [ Sven Joachim ] + * Configure with --disable-libunwind until libunwind starts shipping + pkg-config files (see #711854). + * Add build-dependencies on libsystemd-login-dev and libglu1-mesa-dev. + + [ Mike Gabriel ] + * control: add libgl1-mesa-dri to Recommends: field. (Closes: #714351). + * control: add myself to Uploaders: field. + + -- Mike Gabriel Fri, 28 Jun 2013 14:31:18 +0200 + +weston (0.85.0-1) experimental; urgency=low + + * Initial release (Closes: #630809). + * Build without setuid for weston; it's very young and experimental, so + let's be cautious. + * Document weston's setuid bit (or lack thereof) in README.Debian. + * Tiny/toy clients will be shipped in a later upload. + * Restrict to linux-any since wayland isn't as portable as X. + * Make sure the following packages are at least at 8.0-2 in the + generated dependencies: libegl1-mesa, libegl1-mesa-drivers, and + libgles2-mesa. + + -- Cyril Brulebois Tue, 21 Feb 2012 23:58:19 +0100 --- weston-1.5.0.orig/debian/compat +++ weston-1.5.0/debian/compat @@ -0,0 +1 @@ +9 --- weston-1.5.0.orig/debian/control +++ weston-1.5.0/debian/control @@ -0,0 +1,65 @@ +Source: weston +Section: x11 +Priority: optional +Maintainer: Ubuntu X-SWAT +XSBC-Original-Maintainer: Debian X Strike Force +Uploaders: + Cyril Brulebois , + Mike Gabriel , + Héctor Orón Martínez , + Emilio Pozuelo Monfort , +Build-Depends: + debhelper (>= 9), + quilt, + dh-autoreconf, + pkg-config, + libpixman-1-dev, + libpng-dev, + libjpeg-dev, + libcolord-dev (>= 0.1.27), + mesa-common-dev, + libglu1-mesa-dev, + libegl1-mesa-dev (>= 9.0~), + libegl1-mesa-drivers (>= 9.0~), + libgles2-mesa-dev (>= 9.0~), + libwayland-dev (>= 1.2.0), + libxcb1-dev, + libxcb-composite0-dev, + libxcb-xfixes0-dev, + libxcb-xkb-dev, + libx11-xcb-dev, + libx11-dev, + libudev-dev, + libgbm-dev, + libxkbcommon-dev (>= 0.1.0~2), + libcairo2-dev, + libpango1.0-dev, + libgdk-pixbuf2.0-dev, + libxcursor-dev, + libmtdev-dev, + libpam0g-dev, + libvpx-dev, + libsystemd-login-dev, + libinput-dev, +Standards-Version: 3.9.5 +Homepage: http://wayland.freedesktop.org/ +Vcs-Git: git://anonscm.debian.org/pkg-xorg/wayland/weston +Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-xorg/wayland/weston.git + +Package: weston +Architecture: linux-any +Depends: + adduser, + libegl1-mesa (>= 8.0-2), + libegl1-mesa-drivers (>= 8.0-2), + libgles2-mesa (>= 8.0-2), + ${shlibs:Depends}, + ${misc:Depends}, +Recommends: + libgl1-mesa-dri, +Description: reference implementation of a wayland compositor + Part of the Wayland project is also the Weston reference implementation + of a Wayland compositor. Weston can run as an X client or under Linux + KMS and ships with a few demo clients. The Weston compositor is a minimal + and fast compositor and is suitable for many embedded and mobile use + cases. --- weston-1.5.0.orig/debian/copyright +++ weston-1.5.0/debian/copyright @@ -0,0 +1,495 @@ +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Source: http://wayland.freedesktop.org/ + +Files: clients/* +Copyright: © 2008-2011 Kristian Høgsberg + © 2009 Chris Wilson + © 2010-2012 Intel Corporation + © 2011 Benjamin Franzke + © 2011 Collabora, Ltd. + © 2011 Tim Wiederhake +License: + Permission to use, copy, modify, distribute, and sell this software and its + documentation for any purpose is hereby granted without fee, provided that + the above copyright notice appear in all copies and that both that copyright + notice and this permission notice appear in supporting documentation, and + that the name of the copyright holders not be used in advertising or + publicity pertaining to distribution of the software without specific, + written prior permission. The copyright holders make no representations + about the suitability of this software for any purpose. It is provided "as + is" without express or implied warranty. + . + THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR + CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE + OF THIS SOFTWARE. + +Files: clients/glmatrix.c +Copyright: © 2003, 2004 Jamie Zawinski +License: + Permission to use, copy, modify, distribute, and sell this software and its + documentation for any purpose is hereby granted without fee, provided that + the above copyright notice appear in all copies and that both that + copyright notice and this permission notice appear in supporting + documentation. No representations are made about the suitability of this + software for any purpose. It is provided "as is" without express or + implied warranty. + +Files: data/* +Copyright: © 2007-2010 Novell, Inc. +License: CC-BY-SA-3.0 + +Files: data/terminal.png +Copyright: @ 2002-2008 GNOME Project +License: CC-BY-SA-3.0 + +Files: shared/* +Copyright: © 2011 Intel Corporation + © 2008 Kristian Høgsberg +License: + Permission to use, copy, modify, distribute, and sell this software and its + documentation for any purpose is hereby granted without fee, provided that + the above copyright notice appear in all copies and that both that copyright + notice and this permission notice appear in supporting documentation, and + that the name of the copyright holders not be used in advertising or + publicity pertaining to distribution of the software without specific, + written prior permission. The copyright holders make no representations + about the suitability of this software for any purpose. It is provided "as + is" without express or implied warranty. + . + THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR + CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE + OF THIS SOFTWARE. + +Files: src/* +Copyright:© 2008-2011 Kristian Høgsberg + © 2009-2011 Intel Corporation + © 2010-2011 Benjamin Franzke + © 2011 Collabora, Ltd. +License: + Permission to use, copy, modify, distribute, and sell this software and + its documentation for any purpose is hereby granted without fee, provided + that the above copyright notice appear in all copies and that both that + copyright notice and this permission notice appear in supporting + documentation, and that the name of the copyright holders not be used in + advertising or publicity pertaining to distribution of the software + without specific, written prior permission. The copyright holders make + no representations about the suitability of this software for any + purpose. It is provided "as is" without express or implied warranty. + . + THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS + SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND + FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY + SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER + RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF + CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +Files: src/hash.* +Copyright: © 2009 Intel Corporation + © 1988-2004 Keith Packard and Bart Massey. +License: + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + . + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + IN THE SOFTWARE. + . + Except as contained in this notice, the names of the authors + or their institutions shall not be used in advertising or + otherwise to promote the sale, use or other dealings in this + Software without prior written authorization from the + authors. + . + Authors: + Eric Anholt + Keith Packard + + + +License: CC-BY-SA-3.0 + THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS + CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS + PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE + WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS + PROHIBITED. + . + BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND + AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS + LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU + THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH + TERMS AND CONDITIONS. + . + . + 1. Definitions + . + "Adaptation" means a work based upon the Work, or upon the Work and + other pre-existing works, such as a translation, adaptation, + derivative work, arrangement of music or other alterations of a + literary or artistic work, or phonogram or performance and includes + cinematographic adaptations or any other form in which the Work may be + recast, transformed, or adapted including in any form recognizably + derived from the original, except that a work that constitutes a + Collection will not be considered an Adaptation for the purpose of + this License. For the avoidance of doubt, where the Work is a musical + work, performance or phonogram, the synchronization of the Work in + timed-relation with a moving image ("synching") will be considered an + Adaptation for the purpose of this License. + . + "Collection" means a collection of literary or artistic works, such as + encyclopedias and anthologies, or performances, phonograms or + broadcasts, or other works or subject matter other than works listed + in Section 1(f) below, which, by reason of the selection and + arrangement of their contents, constitute intellectual creations, in + which the Work is included in its entirety in unmodified form along + with one or more other contributions, each constituting separate and + independent works in themselves, which together are assembled into a + collective whole. A work that constitutes a Collection will not be + considered an Adaptation (as defined below) for the purposes of this + License. + . + "Creative Commons Compatible License" means a license that is listed + at http://creativecommons.org/compatiblelicenses that has been + approved by Creative Commons as being essentially equivalent to this + License, including, at a minimum, because that license: (i) contains + terms that have the same purpose, meaning and effect as the License + Elements of this License; and, (ii) explicitly permits the relicensing + of adaptations of works made available under that license under this + License or a Creative Commons jurisdiction license with the same + License Elements as this License. + . + "Distribute" means to make available to the public the original and + copies of the Work or Adaptation, as appropriate, through sale or + other transfer of ownership. + . + "License Elements" means the following high-level license attributes + as selected by Licensor and indicated in the title of this License: + Attribution, ShareAlike. + . + "Licensor" means the individual, individuals, entity or entities that + offer(s) the Work under the terms of this License. + . + "Original Author" means, in the case of a literary or artistic work, + the individual, individuals, entity or entities who created the Work + or if no individual or entity can be identified, the publisher; and in + addition (i) in the case of a performance the actors, singers, + musicians, dancers, and other persons who act, sing, deliver, declaim, + play in, interpret or otherwise perform literary or artistic works or + expressions of folklore; (ii) in the case of a phonogram the producer + being the person or legal entity who first fixes the sounds of a + performance or other sounds; and, (iii) in the case of broadcasts, the + organization that transmits the broadcast. + . + "Work" means the literary and/or artistic work offered under the terms + of this License including without limitation any production in the + literary, scientific and artistic domain, whatever may be the mode or + form of its expression including digital form, such as a book, + pamphlet and other writing; a lecture, address, sermon or other work + of the same nature; a dramatic or dramatico-musical work; a + choreographic work or entertainment in dumb show; a musical + composition with or without words; a cinematographic work to which are + assimilated works expressed by a process analogous to cinematography; + a work of drawing, painting, architecture, sculpture, engraving or + lithography; a photographic work to which are assimilated works + expressed by a process analogous to photography; a work of applied + art; an illustration, map, plan, sketch or three-dimensional work + relative to geography, topography, architecture or science; a + performance; a broadcast; a phonogram; a compilation of data to the + extent it is protected as a copyrightable work; or a work performed by + a variety or circus performer to the extent it is not otherwise + considered a literary or artistic work. + . + "You" means an individual or entity exercising rights under this + License who has not previously violated the terms of this License with + respect to the Work, or who has received express permission from the + Licensor to exercise rights under this License despite a previous + violation. + . + "Publicly Perform" means to perform public recitations of the Work and + to communicate to the public those public recitations, by any means or + process, including by wire or wireless means or public digital + performances; to make available to the public Works in such a way that + members of the public may access these Works from a place and at a + place individually chosen by them; to perform the Work to the public + by any means or process and the communication to the public of the + performances of the Work, including by public digital performance; to + broadcast and rebroadcast the Work by any means including signs, + sounds or images. + . + "Reproduce" means to make copies of the Work by any means including + without limitation by sound or visual recordings and the right of + fixation and reproducing fixations of the Work, including storage of a + protected performance or phonogram in digital form or other electronic + medium. + . + . + 2. Fair Dealing Rights. Nothing in this License is intended to reduce, + limit, or restrict any uses free from copyright or rights arising from + limitations or exceptions that are provided for in connection with the + copyright protection under copyright law or other applicable laws. + . + . + 3. License Grant. Subject to the terms and conditions of this License, + Licensor hereby grants You a worldwide, royalty-free, non-exclusive, + perpetual (for the duration of the applicable copyright) license to + exercise the rights in the Work as stated below: + . + - to Reproduce the Work, to incorporate the Work into one or more + Collections, and to Reproduce the Work as incorporated in the + Collections; + . + - to create and Reproduce Adaptations provided that any such + Adaptation, including any translation in any medium, takes + reasonable steps to clearly label, demarcate or otherwise identify + that changes were made to the original Work. For example, a + translation could be marked "The original work was translated from + English to Spanish," or a modification could indicate "The original + work has been modified."; + . + - to Distribute and Publicly Perform the Work including as + incorporated in Collections; and, + . + - to Distribute and Publicly Perform Adaptations. + . + - For the avoidance of doubt: + - Non-waivable Compulsory License Schemes. In those jurisdictions + in which the right to collect royalties through any statutory or + compulsory licensing scheme cannot be waived, the Licensor + reserves the exclusive right to collect such royalties for any + exercise by You of the rights granted under this License; + - Waivable Compulsory License Schemes. In those jurisdictions in + which the right to collect royalties through any statutory or + compulsory licensing scheme can be waived, the Licensor waives + the exclusive right to collect such royalties for any exercise + by You of the rights granted under this License; and, + - Voluntary License Schemes. The Licensor waives the right to + collect royalties, whether individually or, in the event that + the Licensor is a member of a collecting society that + administers voluntary licensing schemes, via that society, from + any exercise by You of the rights granted under this License. + . + The above rights may be exercised in all media and formats whether now + known or hereafter devised. The above rights include the right to make + such modifications as are technically necessary to exercise the rights + in other media and formats. Subject to Section 8(f), all rights not + expressly granted by Licensor are hereby reserved. + . + . + 4. Restrictions. The license granted in Section 3 above is expressly + made subject to and limited by the following restrictions: + . + - You may Distribute or Publicly Perform the Work only under the + terms of this License. You must include a copy of, or the Uniform + Resource Identifier (URI) for, this License with every copy of the + Work You Distribute or Publicly Perform. You may not offer or + impose any terms on the Work that restrict the terms of this + License or the ability of the recipient of the Work to exercise the + rights granted to that recipient under the terms of the + License. You may not sublicense the Work. You must keep intact all + notices that refer to this License and to the disclaimer of + warranties with every copy of the Work You Distribute or Publicly + Perform. When You Distribute or Publicly Perform the Work, You may + not impose any effective technological measures on the Work that + restrict the ability of a recipient of the Work from You to + exercise the rights granted to that recipient under the terms of + the License. This Section 4(a) applies to the Work as incorporated + in a Collection, but this does not require the Collection apart + from the Work itself to be made subject to the terms of this + License. If You create a Collection, upon notice from any Licensor + You must, to the extent practicable, remove from the Collection any + credit as required by Section 4(c), as requested. If You create an + Adaptation, upon notice from any Licensor You must, to the extent + practicable, remove from the Adaptation any credit as required by + Section 4(c), as requested. + . + - You may Distribute or Publicly Perform an Adaptation only under the + terms of: (i) this License; (ii) a later version of this License + with the same License Elements as this License; (iii) a Creative + Commons jurisdiction license (either this or a later license + version) that contains the same License Elements as this License + (e.g., Attribution-ShareAlike 3.0 US)); (iv) a Creative Commons + Compatible License. If you license the Adaptation under one of the + licenses mentioned in (iv), you must comply with the terms of that + license. If you license the Adaptation under the terms of any of + the licenses mentioned in (i), (ii) or (iii) (the "Applicable + License"), you must comply with the terms of the Applicable License + generally and the following provisions: (I) You must include a copy + of, or the URI for, the Applicable License with every copy of each + Adaptation You Distribute or Publicly Perform; (II) You may not + offer or impose any terms on the Adaptation that restrict the terms + of the Applicable License or the ability of the recipient of the + Adaptation to exercise the rights granted to that recipient under + the terms of the Applicable License; (III) You must keep intact all + notices that refer to the Applicable License and to the disclaimer + of warranties with every copy of the Work as included in the + Adaptation You Distribute or Publicly Perform; (IV) when You + Distribute or Publicly Perform the Adaptation, You may not impose + any effective technological measures on the Adaptation that + restrict the ability of a recipient of the Adaptation from You to + exercise the rights granted to that recipient under the terms of + the Applicable License. This Section 4(b) applies to the Adaptation + as incorporated in a Collection, but this does not require the + Collection apart from the Adaptation itself to be made subject to + the terms of the Applicable License. + . + - If You Distribute, or Publicly Perform the Work or any Adaptations + or Collections, You must, unless a request has been made pursuant + to Section 4(a), keep intact all copyright notices for the Work and + provide, reasonable to the medium or means You are utilizing: (i) + the name of the Original Author (or pseudonym, if applicable) if + supplied, and/or if the Original Author and/or Licensor designate + another party or parties (e.g., a sponsor institute, publishing + entity, journal) for attribution ("Attribution Parties") in + Licensor's copyright notice, terms of service or by other + reasonable means, the name of such party or parties; (ii) the title + of the Work if supplied; (iii) to the extent reasonably + practicable, the URI, if any, that Licensor specifies to be + associated with the Work, unless such URI does not refer to the + copyright notice or licensing information for the Work; and (iv) , + consistent with Ssection 3(b), in the case of an Adaptation, a + credit identifying the use of the Work in the Adaptation (e.g., + "French translation of the Work by Original Author," or "Screenplay + based on original Work by Original Author"). The credit required by + this Section 4(c) may be implemented in any reasonable manner; + provided, however, that in the case of a Adaptation or Collection, + at a minimum such credit will appear, if a credit for all + contributing authors of the Adaptation or Collection appears, then + as part of these credits and in a manner at least as prominent as + the credits for the other contributing authors. For the avoidance + of doubt, You may only use the credit required by this Section for + the purpose of attribution in the manner set out above and, by + exercising Your rights under this License, You may not implicitly + or explicitly assert or imply any connection with, sponsorship or + endorsement by the Original Author, Licensor and/or Attribution + Parties, as appropriate, of You or Your use of the Work, without + the separate, express prior written permission of the Original + Author, Licensor and/or Attribution Parties. + . + - Except as otherwise agreed in writing by the Licensor or as may be + otherwise permitted by applicable law, if You Reproduce, Distribute + or Publicly Perform the Work either by itself or as part of any + Adaptations or Collections, You must not distort, mutilate, modify + or take other derogatory action in relation to the Work which would + be prejudicial to the Original Author's honor or + reputation. Licensor agrees that in those jurisdictions + (e.g. Japan), in which any exercise of the right granted in Section + 3(b) of this License (the right to make Adaptations) would be + deemed to be a distortion, mutilation, modification or other + derogatory action prejudicial to the Original Author's honor and + reputation, the Licensor will waive or not assert, as appropriate, + this Section, to the fullest extent permitted by the applicable + national law, to enable You to reasonably exercise Your right under + Section 3(b) of this License (right to make Adaptations) but not + otherwise. + . + . + 5. Representations, Warranties and Disclaimer + . + UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, + LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR + WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, + STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF + TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, + NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, + OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT + DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED + WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. + . + . + 6. Limitation on Liability. + . + EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL + LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, + INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT + OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN + ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + . + . + 7. Termination + . + - This License and the rights granted hereunder will terminate + automatically upon any breach by You of the terms of this + License. Individuals or entities who have received Adaptations or + Collections from You under this License, however, will not have + their licenses terminated provided such individuals or entities + remain in full compliance with those licenses. Sections 1, 2, 5, 6, + 7, and 8 will survive any termination of this License. + . + - Subject to the above terms and conditions, the license granted here + is perpetual (for the duration of the applicable copyright in the + Work). Notwithstanding the above, Licensor reserves the right to + release the Work under different license terms or to stop + distributing the Work at any time; provided, however that any such + election will not serve to withdraw this License (or any other + license that has been, or is required to be, granted under the + terms of this License), and this License will continue in full + force and effect unless terminated as stated above. + . + . + 8. Miscellaneous + . + - Each time You Distribute or Publicly Perform the Work or a + Collection, the Licensor offers to the recipient a license to the + Work on the same terms and conditions as the license granted to You + under this License. + . + - Each time You Distribute or Publicly Perform an Adaptation, + Licensor offers to the recipient a license to the original Work on + the same terms and conditions as the license granted to You under + this License. + . + - If any provision of this License is invalid or unenforceable under + applicable law, it shall not affect the validity or enforceability + of the remainder of the terms of this License, and without further + action by the parties to this agreement, such provision shall be + reformed to the minimum extent necessary to make such provision + valid and enforceable. + . + - No term or provision of this License shall be deemed waived and no + breach consented to unless such waiver or consent shall be in + writing and signed by the party to be charged with such waiver or + consent. + . + - This License constitutes the entire agreement between the parties + with respect to the Work licensed here. There are no + understandings, agreements or representations with respect to the + Work not specified here. Licensor shall not be bound by any + additional provisions that may appear in any communication from + You. This License may not be modified without the mutual written + agreement of the Licensor and You. + . + - The rights granted under, and the subject matter referenced, in + this License were drafted utilizing the terminology of the Berne + Convention for the Protection of Literary and Artistic Works (as + amended on September 28, 1979), the Rome Convention of 1961, the + WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms + Treaty of 1996 and the Universal Copyright Convention (as revised + on July 24, 1971). These rights and subject matter take effect in + the relevant jurisdiction in which the License terms are sought to + be enforced according to the corresponding provisions of the + implementation of those treaty provisions in the applicable + national law. If the standard suite of rights granted under + applicable copyright law includes additional rights not granted + under this License, such additional rights are deemed to be + included in the License; this License is not intended to restrict + the license of any rights under applicable law. --- weston-1.5.0.orig/debian/patches/0001-animation-fix-move-scale-animation.patch +++ weston-1.5.0/debian/patches/0001-animation-fix-move-scale-animation.patch @@ -0,0 +1,107 @@ +X-Account-Key: account4 +X-UIDL: GmailId14625b19ac69bf2a +X-Mozilla-Status: 0001 +X-Mozilla-Status2: 00000000 +X-Mozilla-Keys: +Delivered-To: pochu27@gmail.com +Received: by 10.60.170.229 with SMTP id ap5csp204557oec; + Thu, 22 May 2014 13:48:55 -0700 (PDT) +X-Received: by 10.66.121.197 with SMTP id lm5mr241537pab.118.1400791735070; + Thu, 22 May 2014 13:48:55 -0700 (PDT) +Return-Path: +Received: from gabe.freedesktop.org (gabe.freedesktop.org. [131.252.210.177]) + by mx.google.com with ESMTP id db3si1084263pbb.85.2014.05.22.13.48.54 + for ; + Thu, 22 May 2014 13:48:55 -0700 (PDT) +Received-SPF: none (google.com: wayland-devel-bounces@lists.freedesktop.org does not designate permitted sender hosts) client-ip=131.252.210.177; +Authentication-Results: mx.google.com; + spf=neutral (google.com: wayland-devel-bounces@lists.freedesktop.org does not designate permitted sender hosts) smtp.mail=wayland-devel-bounces@lists.freedesktop.org; + dkim=neutral (body hash did not verify) header.i=@ +Received: from gabe.freedesktop.org (localhost [127.0.0.1]) + by gabe.freedesktop.org (Postfix) with ESMTP id 316386ECFF; + Thu, 22 May 2014 13:48:51 -0700 (PDT) +X-Original-To: wayland-devel@lists.freedesktop.org +Delivered-To: wayland-devel@lists.freedesktop.org +Received: from out3-smtp.messagingengine.com (out3-smtp.messagingengine.com + [66.111.4.27]) + by gabe.freedesktop.org (Postfix) with ESMTP id 2BA236E4A3 + for ; + Thu, 22 May 2014 13:48:49 -0700 (PDT) +Received: from compute2.internal (compute2.nyi.mail.srv.osa [10.202.2.42]) + by gateway1.nyi.mail.srv.osa (Postfix) with ESMTP id 64F902146D; + Thu, 22 May 2014 16:41:48 -0400 (EDT) +Received: from frontend2 ([10.202.2.161]) + by compute2.internal (MEProxy); Thu, 22 May 2014 16:41:48 -0400 +DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= + messagingengine.com; h=from:to:cc:subject:date:message-id + :in-reply-to:references; s=smtpout; bh=xZJ7s9hNabCm1ID+8F4d8krGs + TY=; b=drH3dbtPBvoT4yYkFzVo4TiQuEuQBc8bydv20xxsLDlg0fkFtMaz269TV + xsaAMu6uGPwCKup2xwOtKVUFtPwv/hqoLrgqmQ+Qas6qSVl/LMma5fOzN+BDbzjX + v00ES7HaFZ+nsM1X4ZUPf9Ls9daw3aYqtULp7QbZ657x7QeVQY= +X-Sasl-enc: B8P/k2jTwz7A//gn0Vb9pYsonoiwfFBl9LPBBjIF7NSy 1400791307 +Received: from localhost.localdomain (unknown [151.27.142.237]) + by mail.messagingengine.com (Postfix) with ESMTPA id B00B1680118; + Thu, 22 May 2014 16:41:47 -0400 (EDT) +From: Jonny Lamb +To: wayland-devel@lists.freedesktop.org +Subject: [PATCH weston 1/5] animation: fix move scale animation +Date: Thu, 22 May 2014 22:41:30 +0200 +Message-Id: <1400791294-31869-2-git-send-email-jonny.lamb@collabora.co.uk> +X-Mailer: git-send-email 2.0.0.rc2 +In-Reply-To: <1400791294-31869-1-git-send-email-jonny.lamb@collabora.co.uk> +References: <1400791294-31869-1-git-send-email-jonny.lamb@collabora.co.uk> +Cc: Jonny Lamb +X-BeenThere: wayland-devel@lists.freedesktop.org +X-Mailman-Version: 2.1.15 +Precedence: list +List-Id: Discussion about the wayland display server + +List-Unsubscribe: , + +List-Archive: +List-Post: +List-Help: +List-Subscribe: , + +MIME-Version: 1.0 +Content-Type: text/plain; charset="us-ascii" +Content-Transfer-Encoding: 7bit +Errors-To: wayland-devel-bounces@lists.freedesktop.org +Sender: "wayland-devel" + +Both weston_move_scale_run() and weston_slide_run() were broken in +commit 3a869019. Commit a4a6f161 fixed and explained the problem for +weston_slide_run() but weston_move_scale_run() remained broken. + +To fix weston_move_scale_run(), weston_view_animation_run() is also +required. It was removed when _run() was split into two functions +_create() and _run() in commit f5cc2b56, but _run() was not added in +this commit. +--- + src/animation.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/animation.c b/src/animation.c +index a29b34a..392e32d 100644 +--- a/src/animation.c ++++ b/src/animation.c +@@ -458,8 +458,10 @@ weston_move_scale_run(struct weston_view *view, int dx, int dy, + if (animation == NULL) + return NULL; + +- weston_spring_init(&animation->spring, 400.0, start, end); ++ weston_spring_init(&animation->spring, 400.0, 0.0, 1.0); + animation->spring.friction = 1150; + ++ weston_view_animation_run(animation); ++ + return animation; + } +-- +2.0.0.rc2 + +_______________________________________________ +wayland-devel mailing list +wayland-devel@lists.freedesktop.org +http://lists.freedesktop.org/mailman/listinfo/wayland-devel + --- weston-1.5.0.orig/debian/patches/0001-exposay-fix-crash-when-navigating-with-the-keyboard.patch +++ weston-1.5.0/debian/patches/0001-exposay-fix-crash-when-navigating-with-the-keyboard.patch @@ -0,0 +1,34 @@ +From e608cd67218fdaa0405df306f84883ed114f86db Mon Sep 17 00:00:00 2001 +From: Emilio Pozuelo Monfort +Date: Sat, 24 May 2014 02:38:56 +0200 +Subject: [PATCH weston] exposay: fix crash when navigating with the keyboard + +Commit a7592019 introduced an optimization that caused some +exposay struct members to not be properly initialized, particularly +cur_output, leading to crashes in some circumstances (e.g. pressing +the down arrow key after going to exposay). + +Signed-off-by: Emilio Pozuelo Monfort +--- + desktop-shell/exposay.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/desktop-shell/exposay.c b/desktop-shell/exposay.c +index 1d8b40e..104b9d9 100644 +--- a/desktop-shell/exposay.c ++++ b/desktop-shell/exposay.c +@@ -323,8 +323,10 @@ exposay_layout(struct desktop_shell *shell, struct shell_output *shell_output) + i++; + } + +- if (highlight) ++ if (highlight) { ++ shell->exposay.focus_current = NULL; + exposay_highlight_surface(shell, highlight); ++ } + + weston_compositor_schedule_repaint(shell->compositor); + +-- +2.0.0.rc2 + --- weston-1.5.0.orig/debian/patches/series +++ weston-1.5.0/debian/patches/series @@ -0,0 +1,2 @@ +0001-animation-fix-move-scale-animation.patch +0001-exposay-fix-crash-when-navigating-with-the-keyboard.patch --- weston-1.5.0.orig/debian/rules +++ weston-1.5.0/debian/rules @@ -0,0 +1,30 @@ +#!/usr/bin/make -f + +override_dh_auto_configure: + dh_auto_configure -- --disable-libunwind --libexec=/usr/lib/weston \ + --with-cairo=image --enable-libinput-backend + +override_dh_auto_test: + # the test suite does not 100% pass in headless mode + dh_auto_test || true + +override_dh_auto_install: + dh_auto_install --destdir=debian/tmp + +override_dh_install: + dh_install --fail-missing -X.la + +override_dh_makeshlibs: + # No-op: libraries are private, not shared. + +override_dh_fixperms: + dh_fixperms -Xusr/bin/weston-launch + +%: + dh $@ --with quilt,autoreconf + +# For maintainer use only, generate a tarball: +gentarball: SOURCE=$(shell dpkg-parsechangelog|awk '/^Source:/ {print $$2}') +gentarball: UV=$(shell dpkg-parsechangelog|awk '/^Version:/ {print $$2}'|sed 's/-.*$$//') +gentarball: + git archive --format=tar upstream-unstable --prefix=$(SOURCE)-$(UV)/ | gzip -9 > ../$(SOURCE)_$(UV).orig.tar.gz --- weston-1.5.0.orig/debian/watch +++ weston-1.5.0/debian/watch @@ -0,0 +1,3 @@ +#git=git://anongit.freedesktop.org/wayland/weston +version=3 +http://wayland.freedesktop.org/releases/weston-(.*)\.tar\.xz --- weston-1.5.0.orig/debian/weston.examples +++ weston-1.5.0/debian/weston.examples @@ -0,0 +1 @@ +weston.ini --- weston-1.5.0.orig/debian/weston.install +++ weston-1.5.0/debian/weston.install @@ -0,0 +1,52 @@ +usr/bin/wcap-decode +usr/bin/weston +usr/bin/weston-info +usr/bin/weston-launch +usr/bin/weston-terminal +usr/include/weston +usr/lib/weston/weston-desktop-shell +usr/lib/weston/weston-keyboard +usr/lib/weston/weston-screenshooter +usr/lib/weston/weston-simple-im +usr/lib/*/pkgconfig/weston.pc +usr/lib/*/weston/cms-colord.so +usr/lib/*/weston/cms-static.so +usr/lib/*/weston/desktop-shell.so +usr/lib/*/weston/drm-backend.so +usr/lib/*/weston/fbdev-backend.so +usr/lib/*/weston/fullscreen-shell.so +usr/lib/*/weston/gl-renderer.so +usr/lib/*/weston/headless-backend.so +usr/lib/*/weston/wayland-backend.so +usr/lib/*/weston/x11-backend.so +usr/lib/*/weston/xwayland.so +usr/share/man/man1/weston.1 +usr/share/man/man5/weston.ini.5 +usr/share/man/man7/weston-drm.7 +usr/share/weston + +# Clients +weston-calibrator usr/lib/weston/ +weston-clickdot usr/lib/weston/ +weston-cliptest usr/lib/weston/ +weston-desktop-shell usr/lib/weston/ +weston-dnd usr/lib/weston/ +weston-editor usr/lib/weston/ +weston-eventdemo usr/lib/weston/ +weston-flower usr/lib/weston/ +weston-fullscreen usr/lib/weston/ +weston-image usr/lib/weston/ +weston-info usr/lib/weston/ +weston-keyboard usr/lib/weston/ +weston-multi-resource usr/lib/weston/ +weston-resizor usr/lib/weston/ +weston-scaler usr/lib/weston/ +weston-screenshooter usr/lib/weston/ +weston-simple-egl usr/lib/weston/ +weston-simple-im usr/lib/weston/ +weston-simple-shm usr/lib/weston/ +weston-simple-touch usr/lib/weston/ +weston-smoke usr/lib/weston/ +weston-stacking usr/lib/weston/ +weston-terminal usr/lib/weston/ +weston-transformed usr/lib/weston/ --- weston-1.5.0.orig/debian/weston.lintian-overrides +++ weston-1.5.0/debian/weston.lintian-overrides @@ -0,0 +1 @@ +weston: setuid-binary usr/bin/weston-launch 4755 root/root --- weston-1.5.0.orig/debian/weston.postinst +++ weston-1.5.0/debian/weston.postinst @@ -0,0 +1,42 @@ +#!/bin/sh +# postinst script for weston +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-remove' +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + configure) + if ! getent group weston-launch >/dev/null; then + addgroup --quiet --system weston-launch + fi + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 --- weston-1.5.0.orig/notes.txt +++ weston-1.5.0/notes.txt @@ -0,0 +1,77 @@ +This file is a collection of informal notes, with references to where +they were originally written. Each note should have a source and date +mentioned. Let's keep these in date order, newest first. + + + +----------------------------------------------------------------------- +2012-10-23; Pekka Paalanen +http://lists.freedesktop.org/archives/wayland-devel/2012-October/005969.html + +For anyone wanting to port or write their own window manager to Wayland: + +Most likely you have a desktop window manager. A quick way to get +started, is to fork Weston's desktop-shell plugin and start hacking it. +Qt could be another good choice, but I am not familiar with it. + +You also need to understand some concepts. I'm repeating things I wrote +to the wayland-devel list earlier, a little rephrased. + +We need to distinguish three different things here (towards Wayland +clients): + +- compositors (servers) + All Wayland compositors are indistinguishable by definition, + since they are Wayland compositors. They only differ in the + global interfaces they advertise, and for general purpose + compositors, we should aim to support the same minimum set of + globals everywhere. For instance, all desktop compositors + should implement wl_shell. In X, this component corresponds to + the X server with a built-in compositing manager. + +- shells + This is a new concept compared to an X stack. A shell defines + how a user and applications interact. The most familiar is a + desktop (environment). If KDE, Gnome, and XFCE are desktop + environments, they all fall under the *same* shell: the desktop + shell. You can have applications in windows, several visible at + the same time, you have keyboards and mice, etc. + + An example of something that is not a desktop shell + could be a TV user interface. TV is profoundly different: + usually no mouse, no keyboard, but you have a remote control + with some buttons. Freely floating windows probably do not make + sense. You may have picture-in-picture, but usually not several + applications showing at once. Most importantly, trying to run + desktop applications here does not work due to the + incompatible application and user interface paradigms. + + On protocol level, a shell is the public shell interface(s), + currently for desktop it is the wl_shell. + +- "window managers" + The X Window Managers correspond to different wl_shell + implementations, not different shells, since they pratically + all deal with a desktop environment. You also want all desktop + applications to work with all window managers, so you need to + implement wl_shell anyway. + +I understand there could be special purpose X Window Managers, that +would better correspond to their own shells. These window managers +might not implement e.g. EWMH by the spec. + +When you implement your own window manager, you want to keep the public +desktop shell interface (wl_shell). You can offer new public +interfaces, too, but keep in mind, that someone needs to make +applications use them. + +In Weston, a shell implementation has two parts: a weston plugin, and a +special client. For desktop shell (wl_shell) these are src/shell.c and +clients/desktop-shell.c. The is also a private protocol extension that +these two can explicitly communicate with. + +The plugin does window management, and the client does most of user +interaction: draw backgrounds, panels, buttons, lock screen dialog, +basically everything that is on screen. + +----------------------------------------------------------------------- --- weston-1.5.0.orig/wcap/README +++ weston-1.5.0/wcap/README @@ -0,0 +1,99 @@ +WCAP Tools + +WCAP is the video capture format used by Weston (Weston CAPture). +It's a simple, lossless format, that encodes the difference between +frames as run-length encoded rectangles. It's a variable framerate +format, that only records new frames along with a timestamp when +something actually changes. + +Recording in Weston is started by pressing MOD+R and stopped by +pressing MOD+R again. Currently this leaves a capture.wcap file in +the cwd of the weston process. The file format is documented below +and Weston comes with the wcap-decode tool to convert the wcap file +into something more usable: + + - Extract single or all frames as individual png files. This will + produce a lossless screenshot, which is useful if you're trying to + screenshot a brief glitch or something like that that's hard to + capture with the screenshot tool. + + wcap-decode takes a number of options and a wcap file as its + arguments. Without anything else, it will show the screen size and + number of frames in the file. Pass --frame= to extract a + single frame or pass --all to extract all frames as png files: + + [krh@minato weston]$ wcap-snapshot capture.wcap + wcap file: size 1024x640, 176 frames + [krh@minato weston]$ wcap-snapshot capture.wcap 20 + wrote wcap-frame-20.png + wcap file: size 1024x640, 176 frames + + - Decode and the wcap file and dump it as a YUV4MPEG2 stream on + stdout. This format is compatible with most video encoders and can + be piped directly into a command line encoder such as vpxenc (part + of libvpx, encodes to a webm file) or theora_encode (part of + libtheora, encodes to a ogg theora file). + + Using vpxenc to encode a webm file would look something like this: + + [krh@minato weston]$ wcap-decode --yuv4mpeg2 ../capture.wcap | + vpxenc --target-bitrate=1024 --best -t 4 -o foo.webm - + + where we select target bitrate, pass -t 4 to let vpxenc use + multiple threads. To encode to Ogg Theora a command line like this + works: + + [krh@minato weston]$ wcap-decode ../capture.wcap --yuv4mpeg2 | + theora_encode - -o cap.ogv + + +WCAP File format + +The file format has a small header and then just consists of the +indivial frames. The header is + + uint32_t magic + uint32_t format + uint32_t width + uint32_t height + +all CPU endian 32 bit words. The magic number is + + #define WCAP_HEADER_MAGIC 0x57434150 + +and makes it easy to recognize a wcap file and verify that it's the +right endian. There are four supported pixel formats: + + #define WCAP_FORMAT_XRGB8888 0x34325258 + #define WCAP_FORMAT_XBGR8888 0x34324258 + #define WCAP_FORMAT_RGBX8888 0x34325852 + #define WCAP_FORMAT_BGRX8888 0x34325842 + +Each frame has a header: + + uint32_t msecs + uint32_t nrects + +which specifies a timestamp in ms and the number of rectangles that +changed since previous frame. The timestamps are typically just a raw +system timestamp and the first frame doesn't start from 0ms. + +A frame consists of a list of rectangles, each of which represents the +component-wise difference between the previous frame and the current +using a run-length encoding. The initial frame is decoded against a +previous frame of all 0x00000000 pixels. Each rectangle starts out +with + + int32_t x1 + int32_t y1 + int32_t x2 + int32_t y2 + +followed by (x2 - x1) * (y2 - y1) pixels, run-length encoded. The +run-length encoding uses the 'X' channel in the pixel format to encode +the length of the run. That is for WCAP_FORMAT_XRGB8888, for example, +the length of the run is in the upper 8 bits. For X values 0-0xdf, +the length is X + 1, for X above or equal to 0xe0, the run length is 1 +<< (X - 0xe0 + 7). That is, a pixel value of 0xe3000100, means that +the next 1024 pixels differ by RGB(0x00, 0x01, 0x00) from the previous +pixels.