Hello,
I'd like to give you a heads-up information about several API changes that entered the master branch today. When updating to the new version, please pay attention to the commit log.
The most significant changes are:
ROM:
The ROM session interface has been enhanced by a new 'update' function that allows a light-weight update of ROM module content without the need for unmapping the ROM dataspace. (see the documentation in rom_session.h)
Framebuffer:
The session interface gained a new facility for synchronizing the client with a periodically working server by the means of receiving sync signals. Currently, nitpicker is the on server that supports this feature.
Nitpicker:
The session interface has been completely revised to support the atomic processing of nitpicker operations. View operations are no longer performed on view capabilities but by invoking the session interface using session-local handles.
The mouse pointer and status bar are no longer parts of nitpicker but realized as separate programs located at os/src/app/pointer and os/src/app/status_bar.
Please refer to the README at os/src/server/nitpicker to learn about nitpicker's new configuration parameters.
I also recommend to have a look at the os/run/demo.run script to see a working example of how those components can be tied together.
Loader:
The loader session has been updated to use the new nitpicker interface.
Window manager:
New components for window management have landed in the gems repository. The components are server/wm, app/decorator, and app/floating_window_layouter. Combined, they supplement Genode's existing GUI infrastructure with window management. All Qt5 run scripts have been updated to use the new window manager.
More details about the enhanced GUI stack will be presented in the release notes of version 14.08.
All programs included in the Genode mainline repository have been updated to use the new interfaces. So you can find plenty of examples of how to use nitpicker's new API (e.g., have a look at testnit).
If you run into any problems with updating to the new version, please report. So we can assist.
Cheers Norman