mirror of
https://github.com/genodelabs/genode.git
synced 2025-01-13 16:29:54 +00:00
8f1db47c26
This patch adds session-routing options to connect components to the capture/event interfaces of the global nitpicker GUI server or the leitzentrale GUI server. It thereby enables the implementation of screen capturing components, remote management tools, or virtual keyboards. Since those services are very powerful, they are subsumed under the "hardware" category of the component graph as opposed to the GUI category, which guarantees the separation of clients. Fixes #4053
321 lines
12 KiB
Plaintext
321 lines
12 KiB
Plaintext
<config>
|
|
<input name="leitzentrale_enabled" rom="leitzentrale" node="leitzentrale">
|
|
<attribute name="enabled" /> </input>
|
|
|
|
<output node="config">
|
|
<inline>
|
|
<parent-provides>
|
|
<service name="ROM"/>
|
|
<service name="PD"/>
|
|
<service name="RM"/>
|
|
<service name="CPU"/>
|
|
<service name="LOG"/>
|
|
<service name="Report"/>
|
|
<service name="Gui"/>
|
|
<service name="Timer"/>
|
|
<service name="File_system"/>
|
|
</parent-provides>
|
|
|
|
<default-route> <any-service> <parent/> </any-service> </default-route>
|
|
|
|
<default caps="100"/>
|
|
|
|
<service name="Gui">
|
|
<default-policy> <child name="wm"/> </default-policy> </service>
|
|
|
|
<service name="Capture">
|
|
<default-policy> <child name="nitpicker"/> </default-policy> </service>
|
|
|
|
<service name="Event">
|
|
<default-policy> <child name="nitpicker"/> </default-policy> </service>
|
|
|
|
<service name="File_system">
|
|
<default-policy> <child name="fonts_fs"/> </default-policy> </service>
|
|
|
|
<service name="ROM">
|
|
<default-policy> <child name="report_rom"/> </default-policy> </service>
|
|
|
|
<service name="Report">
|
|
<default-policy> <child name="report_rom"/> </default-policy> </service>
|
|
</inline>
|
|
<if>
|
|
<has_value input="leitzentrale_enabled" value="yes" />
|
|
<then>
|
|
<inline>
|
|
<start name="fader">
|
|
<binary name="gui_fader"/>
|
|
<resource name="RAM" quantum="50M"/>
|
|
<provides> <service name="Gui"/> </provides>
|
|
<config initial_fade_in_steps="100" fade_in_steps="20" alpha="210"/>
|
|
<route>
|
|
<service name="Gui"> <child name="manager"/> </service>
|
|
<any-service> <parent/> </any-service>
|
|
</route>
|
|
</start>
|
|
</inline>
|
|
</then>
|
|
<else>
|
|
<inline>
|
|
<start name="fader">
|
|
<binary name="gui_fader"/>
|
|
<resource name="RAM" quantum="50M"/>
|
|
<provides> <service name="Gui"/> </provides>
|
|
<config fade_out_steps="30" alpha="0"/>
|
|
<route>
|
|
<service name="Gui"> <child name="manager"/> </service>
|
|
<any-service> <parent/> </any-service>
|
|
</route>
|
|
</start>
|
|
</inline>
|
|
</else>
|
|
</if>
|
|
<inline>
|
|
<start name="gui_fb">
|
|
<resource name="RAM" quantum="18M"/>
|
|
<provides> <service name="Framebuffer"/> <service name="Input"/> </provides>
|
|
<config/>
|
|
<route>
|
|
<service name="Gui"> <child name="fader"/> </service>
|
|
<any-service> <parent/> </any-service>
|
|
</route>
|
|
</start>
|
|
|
|
<start name="nitpicker" caps="200">
|
|
<resource name="RAM" quantum="8M"/>
|
|
<provides>
|
|
<service name="Gui"/> <service name="Capture"/> <service name="Event"/>
|
|
</provides>
|
|
<config focus="rom" request_input="yes" request_framebuffer="yes">
|
|
<background color="#272f45"/>
|
|
<domain name="default" layer="1" content="client" label="no" hover="always" focus="click"/>
|
|
<default-policy domain="default"/>
|
|
<capture/>
|
|
<event/>
|
|
</config>
|
|
<route>
|
|
<service name="Input"> <child name="gui_fb"/> </service>
|
|
<service name="Framebuffer"> <child name="gui_fb"/> </service>
|
|
<service name="ROM" label="focus"> <child name="report_rom"/> </service>
|
|
<service name="Report"> <child name="report_rom"/> </service>
|
|
<any-service> <parent/> <any-child/> </any-service>
|
|
</route>
|
|
</start>
|
|
|
|
<start name="report_rom" caps="200">
|
|
<resource name="RAM" quantum="4M"/>
|
|
<provides>
|
|
<service name="Report"/>
|
|
<service name="ROM"/>
|
|
</provides>
|
|
<config verbose="no">
|
|
<policy label="decorator -> window_layout" report="manager -> window_layout"/>
|
|
<policy label="wm -> resize_request" report="manager -> window_layout"/>
|
|
<policy label="wm -> focus" report="manager -> wm_focus"/>
|
|
<policy label="decorator -> pointer" report="wm -> pointer"/>
|
|
<policy label="manager -> window_list" report="wm -> window_list"/>
|
|
<policy label="manager -> decorator_margins" report="decorator -> decorator_margins"/>
|
|
<policy label="nitpicker -> focus" report="manager -> focus"/>
|
|
<policy label="runtime -> leitzentrale -> menu_view -> dialog"
|
|
report="manager -> menu_dialog"/>
|
|
<policy label="runtime -> leitzentrale -> network_view -> dialog"
|
|
report="manager -> network_dialog"/>
|
|
<policy label="runtime -> leitzentrale -> settings_view -> dialog"
|
|
report="manager -> settings_dialog"/>
|
|
<policy label="runtime -> leitzentrale -> file_browser_view -> dialog"
|
|
report="manager -> file_browser_dialog"/>
|
|
<policy label="runtime -> leitzentrale -> popup_view -> dialog"
|
|
report="manager -> popup_dialog"/>
|
|
<policy label="runtime -> leitzentrale -> panel_view -> dialog"
|
|
report="manager -> panel_dialog"/>
|
|
<policy label="runtime -> leitzentrale -> runtime_view -> dialog"
|
|
report="manager -> runtime_dialog"/>
|
|
<policy label="manager -> menu_view_hover"
|
|
report="runtime -> leitzentrale -> menu_view -> hover"/>
|
|
<policy label="manager -> network_view_hover"
|
|
report="runtime -> leitzentrale -> network_view -> hover"/>
|
|
<policy label="manager -> settings_view_hover"
|
|
report="runtime -> leitzentrale -> settings_view -> hover"/>
|
|
<policy label="manager -> file_browser_view_hover"
|
|
report="runtime -> leitzentrale -> file_browser_view -> hover"/>
|
|
<policy label="manager -> runtime_view_hover"
|
|
report="runtime -> leitzentrale -> runtime_view -> hover"/>
|
|
<policy label="manager -> panel_view_hover"
|
|
report="runtime -> leitzentrale -> panel_view -> hover"/>
|
|
<policy label="manager -> popup_view_hover"
|
|
report="runtime -> leitzentrale -> popup_view -> hover"/>
|
|
</config>
|
|
</start>
|
|
|
|
<start name="wm" caps="300">
|
|
<resource name="RAM" quantum="4M"/>
|
|
<provides>
|
|
<service name="Gui"/> <service name="Report"/> <service name="ROM"/>
|
|
</provides>
|
|
<config>
|
|
<policy label_prefix="decorator" role="decorator"/>
|
|
<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="Report"> <child name="report_rom"/> </service>
|
|
<service name="Gui"> <child name="nitpicker"/> </service>
|
|
<any-service> <parent/> <any-child/> </any-service>
|
|
</route>
|
|
</start>
|
|
|
|
<start name="decorator" caps="350">
|
|
<binary name="themed_decorator"/>
|
|
<resource name="RAM" quantum="10M"/>
|
|
<config>
|
|
<libc/>
|
|
<vfs>
|
|
<dir name="theme">
|
|
<inline name="metadata">
|
|
<theme>
|
|
<aura top="5" bottom="5" left="5" right="5"/>
|
|
<decor top="6" bottom="6" left="6" right="6"/>
|
|
</theme>
|
|
</inline>
|
|
<rom name="default.png"/>
|
|
</dir>
|
|
<dir name="dev"> <log/> </dir>
|
|
</vfs>
|
|
<policy label="log" decoration="yes" motion="40"/>
|
|
<policy label="runtime -> leitzentrale -> settings_view" decoration="no" motion="40"/>
|
|
<policy label="runtime -> leitzentrale -> file_browser_view" decoration="no" motion="60"/>
|
|
<policy label="runtime -> leitzentrale -> network_view" decoration="no" motion="40"/>
|
|
<policy label="runtime -> leitzentrale -> runtime_view" decoration="no" motion="60"/>
|
|
<policy label="runtime -> leitzentrale -> menu_view" decoration="no" motion="60"/>
|
|
<policy label="runtime -> leitzentrale -> popup_view" decoration="no" motion="40"/>
|
|
<policy label="runtime -> leitzentrale -> panel_view" decoration="no" motion="40"/>
|
|
<policy label_prefix="logo" decoration="no"/>
|
|
<default-policy/>
|
|
</config>
|
|
<route>
|
|
<service name="ROM" label="default.png"> <parent label="drop_shadow.png"/> </service>
|
|
<service name="ROM" label="window_layout"> <child name="report_rom"/> </service>
|
|
<service name="ROM" label="pointer"> <child name="report_rom"/> </service>
|
|
<service name="Report" label="decorator_margins"> <child name="report_rom"/> </service>
|
|
<service name="Report" label="hover"> <child name="report_rom"/> </service>
|
|
<service name="Gui"> <child name="wm"/> </service>
|
|
<any-service> <parent/> </any-service>
|
|
</route>
|
|
</start>
|
|
|
|
<start name="config_fs_report">
|
|
<binary name="fs_report"/>
|
|
<resource name="RAM" quantum="2M"/>
|
|
<provides> <service name="Report"/> </provides>
|
|
<config> <vfs> <fs/> </vfs> </config>
|
|
<route>
|
|
<service name="File_system"> <parent label="config"/> </service>
|
|
<any-service> <parent/> </any-service>
|
|
</route>
|
|
</start>
|
|
|
|
<start name="manager" caps="300">
|
|
<binary name="sculpt_manager"/>
|
|
<resource name="RAM" quantum="3M"/>
|
|
<provides> <service name="Gui"/> </provides>
|
|
<config/>
|
|
<route>
|
|
<service name="Report" label="runtime_config">
|
|
<child name="config_fs_report" label="managed -> runtime"/> </service>
|
|
<service name="Report" label="deploy_config">
|
|
<child name="config_fs_report" label="managed -> deploy"/> </service>
|
|
<service name="Report" label="wifi_config">
|
|
<child name="config_fs_report" label="managed -> wifi"/> </service>
|
|
<service name="Report" label="fonts_config">
|
|
<child name="config_fs_report" label="managed -> fonts"/> </service>
|
|
<service name="Report" label="nic_router_config">
|
|
<child name="config_fs_report" label="managed -> nic_router"/> </service>
|
|
<service name="Report" label="fb_drv_config">
|
|
<child name="config_fs_report" label="managed -> fb_drv"/> </service>
|
|
<service name="Report" label="event_filter_config">
|
|
<child name="config_fs_report" label="managed -> event_filter"/> </service>
|
|
<service name="Report" label="installation_config">
|
|
<child name="config_fs_report" label="managed -> installation"/> </service>
|
|
<service name="Report" label="depot_query">
|
|
<child name="config_fs_report" label="managed -> depot_query"/> </service>
|
|
<service name="Report"> <child name="report_rom"/> </service>
|
|
<service name="ROM" label_prefix="report ->"> <parent/> </service>
|
|
<service name="ROM" label_suffix="_hover"> <child name="report_rom"/> </service>
|
|
<service name="ROM" label="window_list"> <child name="report_rom"/> </service>
|
|
<service name="ROM" label="decorator_margins"> <child name="report_rom"/> </service>
|
|
<service name="Gui"> <parent/> </service>
|
|
<any-service> <parent/> </any-service>
|
|
</route>
|
|
</start>
|
|
|
|
<start name="fonts_fs" caps="100">
|
|
<binary name="vfs"/>
|
|
<resource name="RAM" quantum="4M"/>
|
|
<provides> <service name="File_system"/> </provides>
|
|
<route>
|
|
<service name="ROM" label="config">
|
|
<parent label="config -> managed/fonts"/> </service>
|
|
<any-service> <parent/> </any-service>
|
|
</route>
|
|
</start>
|
|
|
|
<start name="log_terminal">
|
|
<binary name="terminal"/>
|
|
<resource name="RAM" quantum="8M"/>
|
|
<provides> <service name="Terminal"/> </provides>
|
|
<config>
|
|
<initial width="400"/>
|
|
<palette>
|
|
<color index="0" value="#2f3953"/>
|
|
<color index="8" value="#2f3953"/>
|
|
</palette>
|
|
<vfs>
|
|
<rom name="VeraMono.ttf"/>
|
|
<dir name="fonts">
|
|
<dir name="monospace">
|
|
<ttf name="regular" path="/VeraMono.ttf" size_px="10"/>
|
|
</dir>
|
|
</dir>
|
|
</vfs>
|
|
</config>
|
|
<route>
|
|
<service name="Gui"> <child name="wm" label="log"/> </service>
|
|
<any-service> <parent/> </any-service>
|
|
</route>
|
|
</start>
|
|
|
|
<start name="log" caps="100">
|
|
<binary name="stdin2out"/>
|
|
<resource name="RAM" quantum="2M" />
|
|
<config>
|
|
<libc stdin="/report/log" stdout="/dev/terminal"/>
|
|
<vfs>
|
|
<dir name="dev"> <terminal/> </dir>
|
|
<dir name="report"> <fs label="report"/> </dir>
|
|
</vfs>
|
|
</config>
|
|
<route>
|
|
<service name="File_system"> <parent label="report"/> </service>
|
|
<any-service> <child name="log_terminal"/> <parent/> </any-service>
|
|
</route>
|
|
</start>
|
|
|
|
<start name="backdrop" caps="150">
|
|
<resource name="RAM" quantum="4M" />
|
|
<config width="300" height="150">
|
|
<libc/>
|
|
<vfs> <rom name="genode_logo.png"/> </vfs>
|
|
<fill color="#272f45"/>
|
|
<image png="genode_logo.png" anchor="bottom_right" alpha="100"
|
|
xpos="-20" ypos="-20" />
|
|
</config>
|
|
<route>
|
|
<service name="Gui"> <child name="wm" label="logo"/> </service>
|
|
<any-service> <parent/> </any-service>
|
|
</route>
|
|
</start>
|
|
|
|
</inline>
|
|
</output>
|
|
</config>
|