Re: [PATCH weston 1/2] compositor: add weston_surface_set_description()
Just a quick comment below, I haven't looked at it carefully yet. -- Giulio 2014-11-27 9:07 GMT+02:00 Pekka Paalanen ppaala...@gmail.com: From: Pekka Paalanen p...@iki.fi When printing out logs from Weston's actions, mainly for debugging, it can be very difficult to identify the different surfaces. Inspecting the configure function pointer is not useful, as the configure functions may live in modules. Add vfunc get_description to weston_surface, which will produce a short, human-readable description of the surface, which allows identifying it better, rather than just looking at the surface size, for instance. Set the description from most parts of Weston, to identify cursors and drag icons, and panels, backgrounds, screensavers and lock surfaces, and the desktop shell's application surfaces. Signed-off-by: Pekka Paalanen pekka.paala...@collabora.co.uk --- desktop-shell/input-panel.c | 9 desktop-shell/shell.c | 101 src/compositor.c| 17 src/compositor.h| 7 +++ src/data-device.c | 19 + src/input.c | 10 + 6 files changed, 163 insertions(+) diff --git a/desktop-shell/input-panel.c b/desktop-shell/input-panel.c index 0b42c2f..d699c47 100644 --- a/desktop-shell/input-panel.c +++ b/desktop-shell/input-panel.c @@ -150,6 +150,13 @@ update_input_panels(struct wl_listener *listener, void *data) memcpy(shell-text_input.cursor_rectangle, data, sizeof(pixman_box32_t)); } +static int +input_panel_get_description(struct weston_surface *surface, + char *buf, size_t len) +{ + return snprintf(buf, len, input panel); +} + static void input_panel_configure(struct weston_surface *surface, int32_t sx, int32_t sy) { @@ -187,6 +194,7 @@ destroy_input_panel_surface(struct input_panel_surface *input_panel_surface) wl_list_remove(input_panel_surface-link); input_panel_surface-surface-configure = NULL; + weston_surface_set_description(input_panel_surface-surface, NULL); weston_view_destroy(input_panel_surface-view); free(input_panel_surface); @@ -228,6 +236,7 @@ create_input_panel_surface(struct desktop_shell *shell, surface-configure = input_panel_configure; surface-configure_private = input_panel_surface; + weston_surface_set_description(surface, input_panel_get_description); input_panel_surface-shell = shell; diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c index 9e8d45a..22e1b25 100644 --- a/desktop-shell/shell.c +++ b/desktop-shell/shell.c @@ -274,6 +274,32 @@ static void shell_surface_set_parent(struct shell_surface *shsurf, struct weston_surface *parent); +static int +shell_surface_get_description(struct weston_surface *surface, + char *buf, size_t len) +{ + struct shell_surface *shsurf; + const char *typestr[] = { + [SHELL_SURFACE_NONE] = unidentified, + [SHELL_SURFACE_TOPLEVEL] = top-level, + [SHELL_SURFACE_POPUP] = popup, + [SHELL_SURFACE_XWAYLAND] = Xwayland, + }; + const char *t, *c; + + shsurf = get_shell_surface(surface); + if (!shsurf) + return snprintf(buf, len, unidentified window); + + t = shsurf-title; + c = shsurf-class; + + return snprintf(buf, len, %s window%s%s%s%s%s, + typestr[shsurf-type], + t ? ' : , t ?: , t ? ' : , + c ? of : , c ?: ); +} + static bool shell_surface_is_top_fullscreen(struct shell_surface *shsurf) { @@ -634,6 +660,13 @@ get_default_output(struct weston_compositor *compositor) struct weston_output, link); } +static int +focus_surface_get_description(struct weston_surface *surface, + char *buf, size_t len) +{ + return snprintf(buf, len, focus highlight effect for output %s, + surface-output-name); +} /* no-op func for checking focus surface */ static void @@ -683,6 +716,7 @@ create_focus_surface(struct weston_compositor *ec, surface-configure = focus_surface_configure; surface-output = output; surface-configure_private = fsurf; + weston_surface_set_description(surface, focus_surface_get_description); fsurf-view = weston_view_create(surface); if (fsurf-view == NULL) { @@ -2741,6 +2775,34 @@ shell_surface_get_shell(struct shell_surface *shsurf) return shsurf-shell; } +static int +black_surface_get_description(struct weston_surface *surface, + char *buf, size_t len) +{ + struct weston_surface *fs_surface = surface-configure_private; + int n; + int rem; + int ret; + + n =
Re: [PATCH weston 1/2] compositor: add weston_surface_set_description()
On Thu, 27 Nov 2014 10:17:21 +0200 Giulio Camuffo giuliocamu...@gmail.com wrote: Just a quick comment below, I haven't looked at it carefully yet. -- Giulio 2014-11-27 9:07 GMT+02:00 Pekka Paalanen ppaala...@gmail.com: From: Pekka Paalanen p...@iki.fi When printing out logs from Weston's actions, mainly for debugging, it can be very difficult to identify the different surfaces. Inspecting the configure function pointer is not useful, as the configure functions may live in modules. Add vfunc get_description to weston_surface, which will produce a short, human-readable description of the surface, which allows identifying it better, rather than just looking at the surface size, for instance. Set the description from most parts of Weston, to identify cursors and drag icons, and panels, backgrounds, screensavers and lock surfaces, and the desktop shell's application surfaces. Signed-off-by: Pekka Paalanen pekka.paala...@collabora.co.uk --- desktop-shell/input-panel.c | 9 desktop-shell/shell.c | 101 src/compositor.c| 17 src/compositor.h| 7 +++ src/data-device.c | 19 + src/input.c | 10 + 6 files changed, 163 insertions(+) ... diff --git a/src/compositor.c b/src/compositor.c index 17e930c..ea5cc14 100644 --- a/src/compositor.c +++ b/src/compositor.c @@ -2736,6 +2736,13 @@ weston_subsurface_parent_commit(struct weston_subsurface *sub, weston_subsurface_synchronized_commit(sub); } +static int +subsurface_get_description(struct weston_surface *surface, + char *buf, size_t len) +{ + return snprintf(buf, len, sub-surface); +} + static void subsurface_configure(struct weston_surface *surface, int32_t dx, int32_t dy) { @@ -2819,6 +2826,14 @@ weston_surface_set_role(struct weston_surface *surface, return -1; } +WL_EXPORT void +weston_surface_set_description(struct weston_surface *surface, I find the naming a bit confusing, I'd expect this to set the description of the surface, that is a char*. The get_description vfunc on the other hand doesn't return the function passed here, but the char*. I'd call it something like weston_surface_set_description_func(), or maybe weston_surface_set_descriptor(). Yes, weston_surface_set_get_description_func() it would be indeed, but it was getting a bit long, especially when the argument is usually a fairly long word too. Descriptor smells a bit like an fd thing, though. weston_surface_set_... eh... umm What if I did s/description/label/g? So we'd have e.g.: weston_surface_set_label_func(surface, shell_surface_get_label) and weston_surface::get_label field. How's that? Thanks, pq + int (*desc)(struct weston_surface *, + char *, size_t)) +{ + surface-get_description = desc; +} + ___ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel
Re: [PATCH 3/9] doc: preserve links produced by Doxygen
On Wed, 26 Nov 2014 11:24:28 -0800 Jon A. Cruz j...@osg.samsung.com wrote: On 11/26/2014 10:22 AM, Bill Spitzak wrote: On 11/25/2014 11:52 PM, Pekka Paalanen wrote: Or are duplicates perhaps due to us having, say, struct wl_display a different thing on server vs. client? The duplicates are due mostly to wl_list (and similar things) being documented twice. But I think doxygen does generate some identical tags for the server and client documentation. The solution may be to edit one of these and add an extra letter to all the tags so there are no conflicts. Telling doxygen to document both in one pass caused it to mix all the calls together, probably a bad idea. I definitely think this sounds like an issue I should look into. One of the projects I worked on was to figure out how to create design documents from doxygen, and to coordinate design docs from multiple teams working on multiple projects/features. One key to getting overall documentation to work was to coordinate identifiers to either end up with different ones or unified ones on a case by case basis. The *ideal* would be to get a single unified Doxygen pass working. However, it does warrant investigation as to how close to that a pragmatic solution appropriate to Wayland would get us. Two passes is not that bad. Once I start to get details and options figured out it definitely looks like Bill will be able to give feedback and guidance. Please do. If you need it, it is perfectly ok to have server and client side passes separate. I'd like them to be separate HTML pages, too. It doesn't hurt, if we happen to get duplicate documentation for things like wl_list, one for server and one for client. The important thing is to never mix up server stuff with client stuff. Btw. libwayland-cursor is client side stuff and a separate library. For example: struct wl_display is very different between server and client. Struct wl_buffer has three completely different meanings: - client side public API: it is a syntactic type without an actual definition: the real struct behind it is wl_proxy. - server side public API: it is a deprecated real type with public members. - libwayland internal API: a ring byte buffer, completely contained in src/connection.c, used by both server and client side internal code. Luckily connection.c probably should not be included in the generated docs, so we can overlook the third meaning. Thanks, pq ___ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel
Re: [PATCH 2/6] Attach input profiles and build corresponding LUTs
Hi, first a general question, since I'm at loss here on the big picture: How does all this relate to the cms-static and cms-colord modules already in Weston? Are those modules only about configuring the output's color space? And then this work simply leverages that to have some output color spaces to work with? Hmm, cms-static/colord set the gamma ramps..? So the hardware LUT? On Mon, 27 Oct 2014 18:54:06 +0100 Niels Ole Salscheider niels_...@salscheider-online.de wrote: On Wednesday 15 October 2014, 21:54:37, Bryce Harrington wrote: On Mon, Oct 13, 2014 at 07:40:47PM +0200, Niels Ole Salscheider wrote: This implements the functionality to attach a profile to a surface in weston. An LUT is built from the profile that can be used to transform colors from the input color space to the blending color space. An sRGB color space is assumed for all newly created outputs This patch uses the sRGB color space as blending space because it uses 8 bit LUTs for now and I want to avoid additional banding. In the long term we should use a linear blending space though to get correct results. Signed-off-by: Niels Ole Salscheider niels_...@salscheider-online.de --- Makefile.am | 3 + configure.ac | 2 +- src/compositor.c | 411 ++- src/compositor.h | 41 ++ 4 files changed, 453 insertions(+), 4 deletions(-) diff --git a/Makefile.am b/Makefile.am index 3af3b46..1ecab56 100644 --- a/Makefile.am +++ b/Makefile.am @@ -45,6 +45,9 @@ weston_CPPFLAGS = $(AM_CPPFLAGS) -DIN_WESTON weston_CFLAGS = $(GCC_CFLAGS) $(COMPOSITOR_CFLAGS) $(LIBUNWIND_CFLAGS) weston_LDADD = $(COMPOSITOR_LIBS) $(LIBUNWIND_LIBS) \ $(DLOPEN_LIBS) -lm libshared.la +if HAVE_LCMS +weston_LDADD += $(LCMS_LIBS) +endif weston_SOURCES = \ src/git-version.h \ diff --git a/configure.ac b/configure.ac index 1c133bd..00b7cca 100644 --- a/configure.ac +++ b/configure.ac @@ -59,7 +59,7 @@ AC_CHECK_HEADERS([execinfo.h]) AC_CHECK_FUNCS([mkostemp strchrnul initgroups posix_fallocate]) -COMPOSITOR_MODULES=wayland-server = 1.5.91 pixman-1 = 0.25.2 +COMPOSITOR_MODULES=wayland-server = 1.5.91 pixman-1 = 0.25.2 glib-2.0 Depending on glib seems a pretty big step. I see it's needed for GHashTable, anything else? Wayland has a wl_map data structure; could that be used instead of GHashTable, in order to avoid the glib dependency? Yeah, we can't have an unconditional dependency to glib. Yes, it is only needed for GHashTable. cms-colord.c already uses GHashTable and therefore I used it in my code, too. But the use in cms-colord.c only adds a dependency to glib if weston is build with colord support, so this might be more acceptable. I could use another map implementation, e. g. the one from wayland - but then we would have to move it from wayland-private.h to some header that gets installed. wl_map from wayland-private.h is not going to happen either. libwayland doesn't need a wl_map in its public API, so it has no place to export it either, even if it was generic. I think you need to copy in a hash table implementation, if it is needed regardless of... of... where is the switch to disable color management support? Or well, just do what Jasper said. AC_ARG_ENABLE(egl, [ --disable-egl],, enable_egl=yes) diff --git a/src/compositor.c b/src/compositor.c index 29731c7..4f959a4 100644 --- a/src/compositor.c +++ b/src/compositor.c @@ -56,6 +56,7 @@ #include compositor.h #include scaler-server-protocol.h #include presentation_timing-server-protocol.h +#include cms-server-protocol.h #include ../shared/os-compatibility.h #include git-version.h #include version.h @@ -518,7 +519,8 @@ surface_state_handle_buffer_destroy(struct wl_listener *listener, void *data) } static void -weston_surface_state_init(struct weston_surface_state *state) +weston_surface_state_init(struct weston_surface_state *state, + struct weston_compositor *compositor) { state-newly_attached = 0; state-buffer = NULL; @@ -539,6 +541,8 @@ weston_surface_state_init(struct weston_surface_state *state) state-buffer_viewport.buffer.src_width = wl_fixed_from_int(-1); state-buffer_viewport.surface.width = -1; state-buffer_viewport.changed = 0; + + state-colorspace = compositor-srgb_colorspace; } static void @@ -576,6 +580,163 @@ weston_surface_state_set_buffer(struct weston_surface_state *state, state-buffer_destroy_listener); } +#if HAVE_LCMS Instead of all the #ifdeffery, I'd really prefer to put most of this stuff into a
Re: [PATCH weston v2] input: Use slightly less obscure logic in evdev_notify_keyboard_focus()
On Wed, 19 Nov 2014 11:04:12 -0600 Derek Foreman der...@osg.samsung.com wrote: While the test is actually correct (for non-negative numbers), it's not at all clear and seems to be an accidental order of operations mistake. Also, add an assert() to make sure this number is never negative. Closes bug 86346 - https://bugs.freedeskto.org/show_bug.cgi?id=86346 Signed-off-by: Derek Foreman der...@osg.samsung.com --- This version just moves the assert directly after the decrement... src/input.c | 1 + src/libinput-device.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/input.c b/src/input.c index 5f19875..cd5e10b 100644 --- a/src/input.c +++ b/src/input.c @@ -2203,6 +2203,7 @@ WL_EXPORT void weston_seat_release_keyboard(struct weston_seat *seat) { seat-keyboard_device_count--; + assert(seat-keyboard_device_count = 0); if (seat-keyboard_device_count == 0) { weston_keyboard_set_focus(seat-keyboard, NULL); weston_keyboard_cancel_grab(seat-keyboard); diff --git a/src/libinput-device.c b/src/libinput-device.c index 0e3f46d..8a48905 100644 --- a/src/libinput-device.c +++ b/src/libinput-device.c @@ -470,7 +470,7 @@ evdev_notify_keyboard_focus(struct weston_seat *seat, { struct wl_array keys; - if (!seat-keyboard_device_count 0) + if (seat-keyboard_device_count == 0) return; wl_array_init(keys); Pushed with Marek's R-b. Thanks, pq ___ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel
Re: [PATCH wayland] doc: fixed grammar and a typo
On Mon, 17 Nov 2014 14:59:14 -0600 Derek Foreman der...@osg.samsung.com wrote: Signed-off-by: Derek Foreman der...@osg.samsung.com --- src/wayland-client.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/wayland-client.c b/src/wayland-client.c index 01629e0..4067cfd 100644 --- a/src/wayland-client.c +++ b/src/wayland-client.c @@ -427,8 +427,8 @@ wl_proxy_add_listener(struct wl_proxy *proxy, * Gets the address to the proxy's listener; which is the listener set with * \ref wl_proxy_add_listener. * - * This function is useful in client with multiple listeners on the same - * interface to allow the identification of which code to eexecute. + * This function is useful in clients with multiple listeners on the same + * interface to allow the identification of which code to execute. * * \memberof wl_proxy */ Pushed. Thanks, pq ___ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel
Re: [PATCH 2/6] Attach input profiles and build corresponding LUTs
Hi, first a general question, since I'm at loss here on the big picture: How does all this relate to the cms-static and cms-colord modules already in Weston? Are those modules only about configuring the output's color space? And then this work simply leverages that to have some output color spaces to work with? Hmm, cms-static/colord set the gamma ramps..? So the hardware LUT? Yes, cms-static and cms-colord allow to get a color space for each output. This is done by querying colord or by reading a static configuration from weston.ini. Without my patches, only the hardware LUT is programmed with the gamma ramp from the corresponding profile. My patches reuse the existing modules to get the profile data for each output but then to do full color correction. On Mon, 27 Oct 2014 18:54:06 +0100 Niels Ole Salscheider niels_...@salscheider-online.de wrote: On Wednesday 15 October 2014, 21:54:37, Bryce Harrington wrote: On Mon, Oct 13, 2014 at 07:40:47PM +0200, Niels Ole Salscheider wrote: This implements the functionality to attach a profile to a surface in weston. An LUT is built from the profile that can be used to transform colors from the input color space to the blending color space. An sRGB color space is assumed for all newly created outputs This patch uses the sRGB color space as blending space because it uses 8 bit LUTs for now and I want to avoid additional banding. In the long term we should use a linear blending space though to get correct results. Signed-off-by: Niels Ole Salscheider niels_...@salscheider-online.de --- Makefile.am | 3 + configure.ac | 2 +- src/compositor.c | 411 ++- src/compositor.h | 41 ++ 4 files changed, 453 insertions(+), 4 deletions(-) diff --git a/Makefile.am b/Makefile.am index 3af3b46..1ecab56 100644 --- a/Makefile.am +++ b/Makefile.am @@ -45,6 +45,9 @@ weston_CPPFLAGS = $(AM_CPPFLAGS) -DIN_WESTON weston_CFLAGS = $(GCC_CFLAGS) $(COMPOSITOR_CFLAGS) $(LIBUNWIND_CFLAGS) weston_LDADD = $(COMPOSITOR_LIBS) $(LIBUNWIND_LIBS) \ $(DLOPEN_LIBS) -lm libshared.la +if HAVE_LCMS +weston_LDADD += $(LCMS_LIBS) +endif weston_SOURCES = \ src/git-version.h \ diff --git a/configure.ac b/configure.ac index 1c133bd..00b7cca 100644 --- a/configure.ac +++ b/configure.ac @@ -59,7 +59,7 @@ AC_CHECK_HEADERS([execinfo.h]) AC_CHECK_FUNCS([mkostemp strchrnul initgroups posix_fallocate]) -COMPOSITOR_MODULES=wayland-server = 1.5.91 pixman-1 = 0.25.2 +COMPOSITOR_MODULES=wayland-server = 1.5.91 pixman-1 = 0.25.2 glib-2.0 Depending on glib seems a pretty big step. I see it's needed for GHashTable, anything else? Wayland has a wl_map data structure; could that be used instead of GHashTable, in order to avoid the glib dependency? Yeah, we can't have an unconditional dependency to glib. Yes, it is only needed for GHashTable. cms-colord.c already uses GHashTable and therefore I used it in my code, too. But the use in cms-colord.c only adds a dependency to glib if weston is build with colord support, so this might be more acceptable. I could use another map implementation, e. g. the one from wayland - but then we would have to move it from wayland-private.h to some header that gets installed. wl_map from wayland-private.h is not going to happen either. libwayland doesn't need a wl_map in its public API, so it has no place to export it either, even if it was generic. I think you need to copy in a hash table implementation, if it is needed regardless of... of... where is the switch to disable color management support? It is enabled if weston is compiled with LCMS and disabled otherwise (or do you see any reason why you would want to have LCMS but not full color management?). Or well, just do what Jasper said. Ok, I'll do so. AC_ARG_ENABLE(egl, [ --disable-egl],, enable_egl=yes) diff --git a/src/compositor.c b/src/compositor.c index 29731c7..4f959a4 100644 --- a/src/compositor.c +++ b/src/compositor.c @@ -56,6 +56,7 @@ #include compositor.h #include scaler-server-protocol.h #include presentation_timing-server-protocol.h +#include cms-server-protocol.h #include ../shared/os-compatibility.h #include git-version.h #include version.h @@ -518,7 +519,8 @@ surface_state_handle_buffer_destroy(struct wl_listener *listener, void *data) } static void -weston_surface_state_init(struct weston_surface_state *state) +weston_surface_state_init(struct weston_surface_state *state, +
[PATCH wayland]scanner.c: Use WL_PRINTF instead of __attribute__((format(printf)))
Signed-off-by: Seedo Eldho Paul seedoeldhop...@gmail.com --- src/scanner.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/scanner.c b/src/scanner.c index fa8e0c0..ca03c57 100644 --- a/src/scanner.c +++ b/src/scanner.c @@ -199,7 +199,7 @@ static const char *indent(int n) } static void -desc_dump(char *desc, const char *fmt, ...) __attribute__((format(printf,2,3))); +desc_dump(char *desc, const char *fmt, ...) WL_PRINTF(2, 3); static void desc_dump(char *desc, const char *fmt, ...) -- 1.9.1 ___ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel
Re: [PATCH 2/6] Attach input profiles and build corresponding LUTs
Am 27.11.2014 um 15:58 schrieb Niels Ole Salscheider: #define WL_HIDE_DEPRECATED #include wayland-server.h @@ -40,6 +41,10 @@ extern C { #include config-parser.h #include zalloc.h +#ifdef HAVE_LCMS +#include lcms2.h +#endif + #ifndef MIN #define MIN(x,y) (((x) (y)) ? (x) : (y)) #endif @@ -179,6 +184,24 @@ enum weston_mode_switch_op { WESTON_MODE_SWITCH_RESTORE_NATIVE }; +struct weston_clut { + unsigned points; + char *data; +}; + +struct weston_colorspace { +#ifdef HAVE_LCMS + cmsHPROFILE lcms_handle; +#endif + struct weston_clut clut; + + int destroyable; + int refcount; + int input; + + struct weston_compositor *compositor; +}; Note, that compositor.h is a public, installed header. You cannot use HAVE_LCMS, because any external project using this header would then receive the definition based on its own configuration, not how the Weston that is already installed was configured. Agreed, lcms internals are not nice to get exposed at this level. Generally speaking, lcms provides a great API for a CMM. On the other side, lcms is just one CMM and people in the open source world decided many times to define and implement different API's. E.g. ArgyllCMS (features, speed), SampleICC (spec playground) and Mozilla/Chrome with qcms (secuirity, speed). So it is not wise to stick to especially one CMM, be it lcms or whatever. A CMM module can register its own functions for their handle type. You could either wrap the CMM functions or use initial dummy functions instead for function pointers. The type of the handle is not really needed to get exposed. As long as the CMM registers its API at startup, that procedure is simple. A different approach is to store the data blob of the profile. The lcms expanded profile handle needs certainly more memory, than the plain memory block. And loading the profile on the fly is really fast. You need the CMM profile handle mostly in the weston_build_clut() function and for the header ID computation in other places. So profile memory blob and profile header ID would suffice? Then following might work out for the later approach: +struct weston_colorspace { + + void * profile_data; + int profile_data_size; + unsigned char profile_id[16]; + + struct weston_clut clut; + + int destroyable; + int refcount; + int input; + + struct weston_compositor *compositor; +}; This opens the path to exchange the CMM without much fuzz on start time depending on the system requirements. Thanks Kai-Uwe ___ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel
[PATCH] doc: Removed redundant xslt output elements.
Removed xsl:output elements that were duplicated but with attributes in a different order. Standard tools are required to ignore the order of attributes in an element. Signed-off-by: Jon A. Cruz j...@osg.samsung.com --- doc/publican/protocol-interfaces-to-docbook.xsl | 1 - doc/publican/protocol-to-docbook.xsl| 1 - 2 files changed, 2 deletions(-) diff --git a/doc/publican/protocol-interfaces-to-docbook.xsl b/doc/publican/protocol-interfaces-to-docbook.xsl index ad6bdda..9cf0695 100644 --- a/doc/publican/protocol-interfaces-to-docbook.xsl +++ b/doc/publican/protocol-interfaces-to-docbook.xsl @@ -1,6 +1,5 @@ ?xml version=1.0 ? xsl:stylesheet version=1.0 xmlns:xsl=http://www.w3.org/1999/XSL/Transform; -xsl:output method=xml indent=yes encoding=UTF-8/ xsl:output method=xml encoding=UTF-8 indent=yes / xsl:template match=/ diff --git a/doc/publican/protocol-to-docbook.xsl b/doc/publican/protocol-to-docbook.xsl index 939ba40..443228d 100644 --- a/doc/publican/protocol-to-docbook.xsl +++ b/doc/publican/protocol-to-docbook.xsl @@ -1,6 +1,5 @@ ?xml version=1.0 ? xsl:stylesheet version=1.0 xmlns:xsl=http://www.w3.org/1999/XSL/Transform; -xsl:output method=xml indent=yes encoding=UTF-8/ xsl:output method=xml encoding=UTF-8 indent=yes / xsl:template match=/ -- 1.9.1 ___ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel
Re: [PATCH 6/9] doc: Added \code tags around sample code in doxygen comments
More experiments, this time with Doxygen 1.8.6. Apparently the ~~~ markers (called Markdown support or Fenced code blocks) were introduced in 1.8. Maybe config needs to check for this? Indeed ~~~ produces code samples now. It appears aliases (but not other commands) work inside ~~~. They do not work inside \code. There is a bug that causes asterisks: if a \code is anywhere earlier in the source code (ie it can be in a different comment block) then when a \comment is encountered in ~~~ it puts the asterisks on the start of every remaining line. I would assume this is a Doxygen bug. I think the fix is to remove \code everywhere and use the (nicer-looking imho) ~~~ delimiters. It may also be useful to require the new Doxygen in config. On 11/27/2014 02:53 AM, Pekka Paalanen wrote: On Wed, 26 Nov 2014 10:32:56 -0800 Bill Spitzak spit...@gmail.com wrote: On 11/25/2014 11:51 PM, Pekka Paalanen wrote: What \comment-line command are you looking for? I see you reformatted - * wl_list_insert(foo_list, item1.link); \comment{Pushes item1 at the head} but I assume you mean something else? No I meant that. I thought somebody had made the comment command to produce /* text */. Apparently however this is a holdover from javadoc or something and doxygen does not do it. Sorry? doc/doxygen/wayland.doxygen.in has: ALIASES+= comment{1}=/* \1 *!-- --/ What's wrong with that? I did some web searching, and everybody says the only way to do a comment is to use a different comment style that can be nested. Since C-style comments don't nest you have to use something else if the doxygen comment is C-style. The doxygen code tag appears to make it entirely literal, the only thing it recognizes is \endcode. Not sure if it would be acceptable to use C++ comments in Wayland source, but that would be a solution. It was how I got around this problem before. Another solution is to get Doxygen to produce code-like output but where commands can be interpreted. Using tt and replacing every space with sp/ and every newline with br/ works but is really ugly. FWIW, with the Doxygen version I have, that \comment{foo} did produce /* foo */ in the output, just like one would expect, and it worked nicely where it was used. Our style is to use traditional C comments, not C++. Thanks, pq ___ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel
Re: [PATCH] doc: Removed redundant xslt output elements.
On Thu, Nov 27, 2014 at 12:30:52PM -0800, Jon A. Cruz wrote: Removed xsl:output elements that were duplicated but with attributes in a different order. Standard tools are required to ignore the order of attributes in an element. Signed-off-by: Jon A. Cruz j...@osg.samsung.com Reviewed-by: Peter Hutterer peter.hutte...@who-t.net Cheers, Peter --- doc/publican/protocol-interfaces-to-docbook.xsl | 1 - doc/publican/protocol-to-docbook.xsl| 1 - 2 files changed, 2 deletions(-) diff --git a/doc/publican/protocol-interfaces-to-docbook.xsl b/doc/publican/protocol-interfaces-to-docbook.xsl index ad6bdda..9cf0695 100644 --- a/doc/publican/protocol-interfaces-to-docbook.xsl +++ b/doc/publican/protocol-interfaces-to-docbook.xsl @@ -1,6 +1,5 @@ ?xml version=1.0 ? xsl:stylesheet version=1.0 xmlns:xsl=http://www.w3.org/1999/XSL/Transform; -xsl:output method=xml indent=yes encoding=UTF-8/ xsl:output method=xml encoding=UTF-8 indent=yes / xsl:template match=/ diff --git a/doc/publican/protocol-to-docbook.xsl b/doc/publican/protocol-to-docbook.xsl index 939ba40..443228d 100644 --- a/doc/publican/protocol-to-docbook.xsl +++ b/doc/publican/protocol-to-docbook.xsl @@ -1,6 +1,5 @@ ?xml version=1.0 ? xsl:stylesheet version=1.0 xmlns:xsl=http://www.w3.org/1999/XSL/Transform; -xsl:output method=xml indent=yes encoding=UTF-8/ xsl:output method=xml encoding=UTF-8 indent=yes / xsl:template match=/ -- 1.9.1 ___ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel ___ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel