Improved window management

Norman Feske norman.feske at ...1...
Sun May 10 19:15:16 CEST 2015


Hi Ben,

On 05/09/2015 05:53 AM, Nobody III wrote:
> Genode's window manager is very simple and lacks the following
> functionality:
> minimize/maximize/restore
> close window
> force kill

are you referring to the window management of the default demo scenario
or the window manager that is hosted in repos/gems? In the latter case,
adding minimize/maximize/restore/close would not require any change of
the nitpicker interface. Instead, these functions could be implemented
in the so-called "layouter", which is a separate component. You can find
more information about the architecture here:

  http://genode.org/documentation/release-notes/14.08#New_GUI_architecture

> It seems like the nitpicker service should be modified to support
> whichever of these functions it doesn't already. I'm unsure of how
> exactly force kill could be implemented--especially since not all users
> can be considered trustworthy. How do we fit users into the Genode
> security model? Users need to be given reasonable authority--complete
> authority in some cases. Any ideas?

Nitpicker is equipped with an emergency feature called "kill mode". It
can be activated by the user by pressing a configurable key. In the
default demo scenario, this key is F11. When activated, nitpicker tints
the screen in red color, marks all screen regions with the labels of the
corresponding clients, and allows the user to pick a view to remove.
Nitpicker will then lock out the selected client from the user
interface. Technically, it is not killing the program but merely
suppressing its output.

In practice, the kill mode is not that important, especially since we
introduced layered domains to nitpicker in the release 14.08 (see the
link above). Using layers, a trusted application such as a panel can be
guaranteed to always appear in front of all others. This application
would be a natural place to implement application-management
functionality. The launcher as featured in the gems repository is a
representative of such an application. You may give it a try with the
repos/gems/run/launcher.run script. After starting a subsystem, you can
press the corresponding button again, but a bit longer. This activates a
context menu, where you can kill or hide the subsystem.

Cheers
Norman

-- 
Dr.-Ing. Norman Feske
Genode Labs

http://www.genode-labs.com · http://genode.org

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth




More information about the users mailing list