genode/repos/gems/recipes/raw/wm/wm.config
Norman Feske 1fe9b07c99 wm: forwarding of clipboard ROM/Report sessions
The labels of clipboard ROM and clipboard report sessions of WM clients
must be consistent with the client's nitpicker label. Hence, we must
route those sessions through the window manager, analogously to the
approach taken for shape reports in #3165.

Issue #3437
2019-07-09 08:58:38 +02:00

99 lines
3.9 KiB
Plaintext

<config>
<parent-provides>
<service name="ROM"/>
<service name="PD"/>
<service name="CPU"/>
<service name="LOG"/>
<service name="Nitpicker"/>
<service name="Timer"/>
<service name="Report"/>
</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=" -> window_list">
<child name="report_rom" label="layouter -> window_list"/> </policy>
<policy label_suffix=" -> focus_request">
<child name="report_rom" label="layouter -> focus_request"/> </policy>
<policy label_suffix=" -> hover">
<child name="report_rom" label="layouter -> hover"/> </policy>
<policy label_suffix=" -> decorator_margins">
<child name="report_rom" label="layouter -> decorator_margins"/> </policy>
<policy label_suffix=" -> rules">
<child name="report_rom" label="layouter -> rules"/> </policy>
<policy label_suffix=" -> window_layout">
<child name="report_rom" label="decorator -> window_layout"/> </policy>
<policy label_suffix=" -> pointer">
<child name="report_rom" label="decorator -> pointer"/> </policy>
<policy label_suffix=" -> clipboard">
<child name="wm"/> </policy>
</service>
<service name="Report">
<policy label_suffix=" -> window_layout">
<child name="report_rom" label="layouter -> window_layout"/> </policy>
<policy label_suffix=" -> resize_request">
<child name="report_rom" label="layouter -> resize_request"/> </policy>
<policy label_suffix=" -> focus">
<child name="report_rom" label="layouter -> focus"/> </policy>
<policy label_suffix=" -> rules">
<child name="report_rom" label="layouter -> rules"/> </policy>
<policy label_suffix=" -> hover">
<child name="report_rom" label="decorator -> hover"/> </policy>
<policy label_suffix=" -> decorator_margins">
<child name="report_rom" label="decorator -> decorator_margins"/> </policy>
<policy label_suffix=" -> shape"> <child name="wm"/> </policy>
<policy label_suffix=" -> clipboard"> <child name="wm"/> </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"/> <service name="Report"/> <service name="ROM"/>
</provides>
<config>
<policy label_suffix="decorator -> " role="decorator"/>
<policy label_suffix="layouter -> " role="layouter"/>
<default-policy/>
</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="ROM" label_last="clipboard"> <parent/> </service>
<service name="Report" label_last="clipboard"> <parent/> </service>
<service name="Report" label_last="shape"> <parent/> </service>
<service name="Report"> <child name="report_rom"/> </service>
<service name="Nitpicker" label=""> <parent label="focus"/> </service>
<any-service> <parent/> </any-service>
</route>
</start>
</config>