1. 28 Jun, 2018 1 commit
  2. 14 Jun, 2018 1 commit
  3. 18 Dec, 2017 1 commit
    • Pekka Paalanen's avatar
      doc: start documenting Xwayland · 14761780
      Pekka Paalanen authored
      This is a rough intro to what Xwayland is and does, with just one
      implementation detail so far (Window identification).
      
      I paid no attention to formatting details, those can be polished in
      follow-ups. I just want the prose out.
      
      I also just quickly whacked up the diagram, would be happy to see
      someone replace it with a nicer one. I just didn't have time to learn
      dot for now.
      
      v2:
      - typo fix
      - rephrase "talking to hardware" as "driving the displays"
      - mention circular dependency in intro
      - add section to explain rootless and rootful modes
      - remove paragraph about Xwayland protocol usage
      - move TBD part to the end under a new section header
      
      v3:
      - use "advantage" and "disadvantage" instead of "pro" and "con"
      - slight rewording on rootful mode and rootless mode paragraphs
      - removed the paragraph about the lack of shell and special Wayland
        protocol extensions
      - removed the commented out list of ideas to write
      
      v4:
      - typo fixes pointed out by Yong
      
      Cc: Olivier Fourdan <ofourdan@redhat.com>
      Cc: Jonas Ådahl <jadahl@gmail.com>
      Cc: Daniel Stone <daniel@fooishbar.org>
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      Reviewed-by: Jonas Ådahl's avatarJonas Ådahl <jadahl@gmail.com>
      14761780
  4. 11 Dec, 2017 1 commit
    • Matthew Hoosier's avatar
      client: Allow absolute paths in WAYLAND_DISPLAY · 1b6521e6
      Matthew Hoosier authored
      In order to support system compositor instances, it is necessary to
      allow clients' wl_display_connect() to find the compositor's listening
      socket somewhere outside of XDG_RUNTIME_DIR. For a full account, see
      the discussion beginning here:
      
      https://lists.freedesktop.org/archives/wayland-devel/2017-November/035664.html
      
      This change adjusts the client-side connection logic so that, if
      WAYLAND_DISPLAY is formatted as an absolute pathname, the socket
      connection attempt is made to just $WAYLAND_DISPLAY rather than
      usual user-private location $XDG_RUNTIME_DIR/$WAYLAND_DISPLAY.
      
      This change is based on Davide Bettio's submission of the same concept
      at:
      
      https://lists.freedesktop.org/archives/wayland-devel/2015-August/023838.html.
      
      v4 changes:
      
      * Improved internal comments and some boundary-condition
        error checks in test case.
      * Refer to compositor as "Wayland server" rather than "Wayland
        display" in wl_display_connect() doxygen comments.
      * Remove redundant descriptions of parameter-interpretation
        mechanics from wl_display_connect() manpage. Reworked things
        to make it clear that 'name' and $WAYLAND_DISLAY are each
        capable of encoding absolute server socket paths.
      * Remove callout to reference implementation behavior in protocol
        documented. In its place there is now a simple statement that
        implementations can optionally support absolute socket paths.
      
      v3 changes:
      
      * Added test case.
      * Clarified documentation to note that 'name' parameter to wl_display_connect()
        can also be an absolute path.
      
      v2 changes:
      
      * Added backward incompatibility note to wl_display_connect() manpage.
      * Rephased wl_display_connect() manpage changes to precisely match actual
        changed behavior.
      * Added mention of new absolute path behavior in wl_display_connect()
        doxygen comments.
      * Mentioned new absolute path interpretation of WAYLAND_DISPLAY in
        protocol documentation.
      Signed-off-by: Matt Hoosier's avatarMatt Hoosier <matt.hoosier@gmail.com>
      Acked-by: Jonas Ådahl's avatarJonas Ådahl <jadahl@gmail.com>
      Reviewed-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      1b6521e6
  5. 04 Dec, 2017 1 commit
  6. 25 Aug, 2017 1 commit
  7. 27 Jul, 2017 1 commit
    • Owen Taylor's avatar
      Switch graphviz files to use HTML-style labels · 042e7ead
      Owen Taylor authored
      With recent versions of graphviz, generation of the diagrams in the documentation
      fails with:
      
       /usr/bin/dot -Tpng -oxml/x-architecture.png dot/x-architecture.gv
       Warning: flat edge between adjacent nodes one of which has a record shape - replace records with HTML-like labels
         Edge xserver -> comp
       Error: getsplinepoints: no spline points available for edge (xserver,comp)
       Error: lost xserver comp edge
       Error: lost xserver comp edge
       Error: lost comp xserver edge
       Error: lost comp xserver edge
      
      http://www.graphviz.org/content/i-havent-been-able-render-these-files-graphviz-226 indicates
      that the error message basically means that the authors of graphviz consider record-style
      labels to be deprecated and are no longer fixing errors with them. This patch changes
      the labels to be in the HTML style, which seems to require duplicating style between all
      the nodes, but it's not like these files are often edited.
      
      The result is not exactly the same but is quite similar.
      Reviewed-by: 's avatarArmin Krezović <krezovic.armin@gmail.com>
      Tested-by: 's avatarArmin Krezović <krezovic.armin@gmail.com>
      042e7ead
  8. 07 Apr, 2017 1 commit
  9. 28 Nov, 2016 1 commit
    • Yong Bakos's avatar
      doc: Remove wayland-util.c from file list · deb370cc
      Yong Bakos authored
      Documentation generation via doxygen includes wayland-util.c in its file
      list. Although functions are documented in wayland-util.h, doxygen is
      not automatically using the same documentation for functions in
      wayland-util.c. In addition, everything listed in the doxygen page for
      wayland-util.c is documented in the page for wayland-util.h and the
      pages for corresponding structures. As such, the doxygen page for
      wayland-util.c has no value, and is redundant.
      
      Remove the doxygen page for wayland-util.c.
      Signed-off-by: 's avatarYong Bakos <ybakos@humanoriented.com>
      Acked-by: Peter Hutterer's avatarPeter Hutterer <peter.hutterer@who-t.net>
      deb370cc
  10. 23 Nov, 2016 1 commit
  11. 16 Nov, 2016 1 commit
  12. 05 Sep, 2016 1 commit
  13. 02 Jun, 2016 1 commit
  14. 03 May, 2016 2 commits
  15. 29 Apr, 2016 1 commit
  16. 10 Mar, 2016 1 commit
  17. 07 Mar, 2016 3 commits
    • Bryce Harrington's avatar
    • Peter Hutterer's avatar
      doc: link between client and server doc and to the wayland book · 973a70db
      Peter Hutterer authored
      And insert "client" or "server" into the PROJECT_NAME to know which one we
      have.
      Signed-off-by: Peter Hutterer's avatarPeter Hutterer <peter.hutterer@who-t.net>
      Reviewed-by: 's avatarBryce Harrington <bryce@osg.samsung.com>
      973a70db
    • Peter Hutterer's avatar
      doc: generate doxygen html output from the scanner · 2b5310a3
      Peter Hutterer authored
      This switches the scanner to generate doxygen-compatible tags for the
      generated protocol headers, and hooks up the doxygen build to generate server
      and client-side API documentation. That documentation is now in
      Client/ and Server/, respectively.
      
      GENERATE_HTML is on by default and must be disabled for the xml/man targets to
      avoid messing up the new documentation. We disable all three three targets in
      the doxyfile (xml and man default to NO anyway) to make it obvious that they
      need to be set in the per-target instructions.
      
      Each protocol is a separate doxygen @page, with each interface a @subpage.
      Wayland only has one protocol, wayland-protocols will have these nested.
      Each protocol page has a list of interfaces and the copyright and description
      where available.
      All interfaces are grouped by doxygen @defgroup and @ingroups and appear in
      "Modules" in the generated output. Each interface subpage has the description
      and a link to the actual API doc.
      Function, struct and #defines are documented in doxygen style and associated
      with the matching interface.
      
      Note that pages and groups have fixed HTML file names and are directly
      linkable/bookmark-able.
      
      The @mainpage is a separate file that's included at build time. It doesn't
      contain much other than links to where the interesting bits are. It's a static
      file though that supports markdown, so we can extend it easily in the future.
      
      For doxygen we need the new options EXTRACT_ALL and OPTIMIZE_OUTPUT_FOR_C so
      it scans C code properly. EXTRACT_STATIC is needed since most of the protocol
      hooks are static.
      Signed-off-by: Peter Hutterer's avatarPeter Hutterer <peter.hutterer@who-t.net>
      Reviewed-by: 's avatarBryce Harrington <bryce@osg.samsung.com>
      2b5310a3
  18. 20 Feb, 2016 1 commit
  19. 16 Nov, 2015 1 commit
  20. 04 Nov, 2015 2 commits
  21. 22 Sep, 2015 1 commit
  22. 24 Aug, 2015 1 commit
  23. 14 Aug, 2015 1 commit
    • Dima Ryazanov's avatar
      client: require WAYLAND_DISPLAY to be set · fb7e1302
      Dima Ryazanov authored
      Although defaulting to wayland-0 seems convenient, it has an undesirable
      side effect: clients may unintentionally connect to the wrong compositor.
      Generally, it's safer to fail instead. Here's a real example:
      
      In Fedora 22, Gtk+ prefers Wayland over X11, though the default session is still
      a normal X11 Gnome session. When you launch a Gtk+ app, it will try Wayland,
      fail, then try X11, and succesfully start up. That works fine.
      
      Now suppose you launch Weston while running the Gnome session. Suddenly, all
      of the Gtk+ apps launched from Gnome will show up inside Weston instead.
      That's unexpected. There's also no good way to prevent that from happening
      (other than perhaps setting WAYLAND_DISPLAY to an invalid value when launching
      an app).
      
      Not using wayland-0 as the default will solve that problem: an app launched
      from the X11 Gnome session will use the X11 backend regardless of whether
      there's a wayland compositor running at the same time.
      
      Everything else should work as before. The compositor already sets
      the WAYLAND_DISPLAY when starting the session, so the lack of the default value
      should not make a difference to the user.
      Signed-off-by: Dima Ryazanov's avatarDima Ryazanov <dima@gmail.com>
      Acked-by: Pekka Paalanen's avatarPekka Paalanen <ppaalanen@gmail.com>
      Acked-by: 's avatarGiulio Camuffo <giuliocamuffo@gmail.com>
      Acked-by: Daniel Stone's avatarDaniel Stone <daniel@fooishbar.org>
      Acked-by: Jasper St. Pierre's avatarJasper St. Pierre <jstpierre@mecheye.net>
      Reviewed-by: 's avatarRyo Munakata <ryomnktml@gmail.com>
      
      [Pekka: dropped the wayland-server.c hunk, adjusted summary]
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      fb7e1302
  24. 22 Jun, 2015 1 commit
  25. 18 Jun, 2015 2 commits
  26. 12 Jun, 2015 1 commit
  27. 05 Jun, 2015 1 commit
  28. 30 Apr, 2015 1 commit
    • Giulio Camuffo's avatar
      introduce new headers wayland-client-core.h and wayland-server-core.h · d74a9c07
      Giulio Camuffo authored
      wayland-client.h and wayland-server.h include the protocol headers generated
      at build time. This means that a libwayland user cannot generate and use
      protocol code created from a wayland.xml newer than the installed libwayland,
      because it is not possible to only include the API header.
      
      Another use case is language bindings, which would generate their own protocol
      code and which only need to use the library ABI, not the generated C code.
      
      This commit adds wayland-client-core.h and wayland-server-core.h which do not
      include the protocol headers or any deprecated code.
      Reviewed-by: Jason Ekstrand's avatarJason Ekstrand <jason@jlekstrand.net>
      Reviewed-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      d74a9c07
  29. 19 Mar, 2015 1 commit
    • Bryce Harrington's avatar
      Spelling fixes (cosmetic) · 439b0a38
      Bryce Harrington authored
      A few typos in comments and protocol docs, no code changes.
      
      ./src/wayland-util.h:281: recieved  ==> received
      ./src/wayland-client.c:115: occured  ==> occurred
      ./src/wayland-client.c:156: occured  ==> occurred
      ./tests/test-compositor.c:76: parallely  ==> parallelly
      ./tests/test-compositor.c:474: recieve  ==> receive
      ./protocol/wayland.xml:1767: layed  ==> laid
      ./protocol/wayland.xml:2112: dependant  ==> dependent
      ./doc/publican/sources/Client.xml:25: recieved  ==> received
      Signed-off-by: 's avatarBryce Harrington <bryce@osg.samsung.com>
      Reviewed-by: Bill Spitzak's avatarBill Spitzak <spitzak@gmail.com>
      439b0a38
  30. 05 Feb, 2015 1 commit
  31. 31 Jan, 2015 1 commit
  32. 30 Jan, 2015 1 commit
    • Bill Spitzak's avatar
      doc: Intro text for doxygen output in it's own file · 6be2d9aa
      Bill Spitzak authored
      (This patch has been modified to apply atop current master)
      
      This makes it considerably easier to edit the text and make it different
      for each library.
      
      To address previous concerns with this patch, I wrote some more complete
      introductory text. This is based on my understanding of these libraries, which
      may not be correct, and is pretty rudimentary for libwayland-server!
      
      However this intro text demonstrates how to create links to the
      doxygen-generated text. It looks like you cannot link to methods easily as the
      link name contains a hash number, but links to objects and classes work.
      Reviewed-by: 's avatarJon A. Cruz <jonc@osg.samsung.com>
      Tested-by: 's avatarJon A. Cruz <jonc@osg.samsung.com>
      6be2d9aa
  33. 29 Jan, 2015 3 commits