genode-ehmry/repos/gems/recipes/raw/wm/wm.config
Norman Feske c6fd0055b1 sculpt: split window manager into multiple pkgs
This commit moves the window layouter and window decorator into
dedicated packages that can now be combined with the "wm" server at
runtime and restarted/reconfigured/swapped-out independently.

To use the window manager, one must start the 'wm', 'window_layouter',
and one of the 'motif_decorator' or 'themed_decorator' subsystems.

Fixes #3024
2018-11-27 11:36:35 +01:00

89 lines
3.5 KiB
Plaintext

<config>
<parent-provides>
<service name="ROM"/>
<service name="PD"/>
<service name="CPU"/>
<service name="LOG"/>
<service name="Nitpicker"/>
<service name="Timer"/>
</parent-provides>
<default-route>
<any-service> <parent/> <any-child/> </any-service>
</default-route>
<default caps="100"/>
<service name="Nitpicker">
<default-policy> <child name="wm"/> </default-policy>
</service>
<service name="ROM">
<policy label_suffix="layouter -> window_list">
<child name="report_rom" label="layouter -> window_list"/> </policy>
<policy label_suffix="layouter -> focus_request">
<child name="report_rom" label="layouter -> focus_request"/> </policy>
<policy label_suffix="layouter -> hover">
<child name="report_rom" label="layouter -> hover"/> </policy>
<policy label_suffix="layouter -> decorator_margins">
<child name="report_rom" label="layouter -> decorator_margins"/> </policy>
<policy label_suffix="layouter -> rules">
<child name="report_rom" label="layouter -> rules"/> </policy>
<policy label_suffix="decorator -> window_layout">
<child name="report_rom" label="decorator -> window_layout"/> </policy>
<policy label_suffix="decorator -> pointer">
<child name="report_rom" label="decorator -> pointer"/> </policy>
</service>
<service name="Report">
<policy label_suffix="layouter -> window_layout">
<child name="report_rom" label="layouter -> window_layout"/> </policy>
<policy label_suffix="layouter -> resize_request">
<child name="report_rom" label="layouter -> resize_request"/> </policy>
<policy label_suffix="layouter -> focus">
<child name="report_rom" label="layouter -> focus"/> </policy>
<policy label_suffix="layouter -> rules">
<child name="report_rom" label="layouter -> rules"/> </policy>
<policy label_suffix="decorator -> hover">
<child name="report_rom" label="decorator -> hover"/> </policy>
<policy label_suffix="decorator -> decorator_margins">
<child name="report_rom" label="decorator -> decorator_margins"/> </policy>
</service>
<start name="report_rom">
<resource name="RAM" quantum="4M"/>
<provides>
<service name="Report"/>
<service name="ROM"/>
</provides>
<config>
<policy label="layouter -> window_list" report="wm -> window_list"/>
<policy label="layouter -> focus_request" report="wm -> focus_request"/>
<policy label="layouter -> hover" report="decorator -> hover"/>
<policy label="layouter -> decorator_margins" report="decorator -> decorator_margins"/>
<policy label="layouter -> rules" report="layouter -> rules"/>
<policy label="decorator -> window_layout" report="layouter -> window_layout"/>
<policy label="decorator -> pointer" report="wm -> pointer"/>
<policy label="wm -> resize_request" report="layouter -> resize_request"/>
<policy label="wm -> focus" report="layouter -> focus"/>
</config>
</start>
<start name="wm" caps="250">
<resource name="RAM" quantum="8M"/>
<provides>
<service name="Nitpicker"/>
</provides>
<config>
<policy label_suffix="decorator -> " role="decorator"/>
<policy label_suffix="layouter -> " role="layouter"/>
</config>
<route>
<service name="ROM" label="resize_request"> <child name="report_rom"/> </service>
<service name="ROM" label="focus"> <child name="report_rom"/> </service>
<service name="Report"> <child name="report_rom"/> </service>
<any-service> <parent/> </any-service>
</route>
</start>
</config>