[Xcb] [ANNOUNCE] xcb-util 0.3.8

Arnaud Fontaine arnaud at andesi.org
Tue May 24 20:16:42 PDT 2011


Hi,

    > I didn't see mention of this  in the announce list, so I wanted to
    > point out  to other packagers  that this release of  xcb-util-* is
    > *NOT* binary  compatible with  0.3.6.  That really  should've been
    > mentioned at the top of the release notes.

I agree that I should  have provided more information about that release
in the announce email (sorry about that), especially for packagers as it
might be very confusing. So here it is:

Previously, there  was only one  git repository, namely  xcb/util (still
available there[0]), containing the following libraries:

  * libxcb-atom (atom directory)
  * libxcb-property (property directory)
  * libxcb-aux (aux directory)
  * libxcb-event (event directory)
  * libxcb-icccm (icccm directory)
  * libxcb-image (image directory)
  * libxcb-keysyms (keysyms directory)
  * libxcb-render-util (renderutil directory)

Following  the  split up  of  xcb-util  git  repository, here  are  more
information  to update  an existing  application/library to  0.3.8 (note
that  ones   depending  only  on   libxcb-image,  libxcb-render-util  or
libxcb-keysyms should have nothing to do at all):

* xcb/util (where  event, aux  and atom directories  were merged  into a
  single directory,  namely src/ directory):

  + 4010e92: Remove xcb_atom_get_fast*(), meaningless without predefined
    atoms,   and   xcb_atom_get_name(),   use  xcb_get_atom_name()   (or
    xcb_get_atom_name_unchecked())     and     xcb_get_atom_name_reply()
    instead.

  +    00a192d:    Remove    xcb_atom_get(),    xcb_intern_atom()    (or
    xcb_intern_atom_unchecked())  and xcb_intern_atom_reply()  should be
    used instead.

  + 2f0334b: Remove atoms previously  declared in xcb_atom.h as they are
    available as part of xcb-proto since 1.6.

  + 118a3c8:  Create a single shared  library and header  file and reset
    SONAME.

    - Merge  libxcb-atom,  libxcb-aux  and  libxcb-event into  a  single
      library, namely libxcb-util.

      The  pkgconfig  files  and  header  files  for  atom  (xcb-atom.pc
      xcb_atom.h),   aux  (xcb-aux.pc   and  xcb_aux.h)   and  xcb-event
      (xcb-event.pc  and  xcb_event.h)   have  been  kept  for  backward
      compatibility.

      xcb_util.h  is only  a convenient  header  to include  all of  the
      others.

  +  81c62e7: Delete  callback-based  APIs for  events, properties,  and
    replies (bad API that should not be used).

    - Remove libxcb-property library.
    - Remove xcb_event_handlers_init().
    - Remove xcb_event_get_xcb_connection().
    - Remove xcb_event_wait_for_event_loop().
    - Remove xcb_event_poll_for_event_loop().
    - Remove xcb_event_handle().
    - Remove xcb_event_set_handler().
    - Remove xcb_event_set_error_handler().
    - Remove xcb_event_set_EVENT_handler() functions.

  +  16dd0d5:   Delete  redundant  core-protocol   error  codes  (namely
    XCB_EVENT_* macros  for error  codes), the following  sed expression
    should correct any existing code:
       
      s/\<XCB_EVENT_ERROR_SUCCESS\>/0/g
      s/\<XCB_EVENT_ERROR_BAD_COLOR\>/XCB_COLORMAP/g
      s/\<XCB_EVENT_ERROR_BAD_GC\>/XCB_G_CONTEXT/g
      s/\<XCB_EVENT_ERROR_BAD_/XCB_/g

  +  9139e56: Rename  XCB_EVENT_ERROR_SUCESS  to XCB_EVENT_ERROR_SUCCESS
    (was a typo).

* xcb/util-wm:

  + 0e78799:  Prefix all public  icccm functions by  xcb_icccm following
    the naming scheme of other libraries.

  +  a371b9d: Delete  callback-based  APIs for  events, properties,  and
    replies (bad API that should not be used).

    - Remove xcb_watch_*().

  +  857235f: xcb_set_wm_protocols()  and xcb_set_wm_protocols_checked()
    window parameter was inverted with wm_protocols parameter.

  + ad5cac4: Add API for WM_COLORMAP_WINDOWS.

  + 896ab26: Add extra 'format' parameter for xcb_set_wm_name*().

  + 3eeeb19: Add setters for WM_CLASS and WM_TRANSIENT.


You can also find examples of updating applications there[1][2][3]. Hope
that helps.

Cheers,
--
Arnaud Fontaine

[0] http://cgit.freedesktop.org/xcb/util-old/
[1] http://cgit.freedesktop.org/xorg/app/xlsclients/commit/?id=223851b68fedad730747652bc6560e40ca695ea7
[2] http://git.naquadah.org/?p=awesome.git;a=commitdiff;h=be7fda45d818ebe6d1029b4813e5fed3e81c19db
[3] http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=5;filename=pulseaudio-xcb-util-0.3.8-debian.patch;att=1;bug=624847
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg/attachments/20110525/4072538e/attachment.pgp>


More information about the xorg mailing list