genode/repos/gems/sculpt/leitzentrale/default
Norman Feske 75bfc37b18 sculpt: screensaver infrastructure
This patch enhances Sculpt with the ability to detect user inactivity
for driving a screensaver by combining nitpicker's hover and focus
reports with a timer.

Issue #4950
2023-07-14 12:06:32 +02:00

338 lines
13 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"/>
<resource name="CPU" quantum="20"/>
<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"/>
<resource name="CPU" quantum="20"/>
<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"/>
<resource name="CPU" quantum="20"/>
<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="14M"/>
<resource name="CPU" quantum="40"/>
<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/>
<report clicked="yes"/>
</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="manager -> clicked" report="nitpicker -> clicked"/>
<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 -> system_view -> dialog"
report="manager -> system_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 -> system_view_hover"
report="runtime -> leitzentrale -> system_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="12M"/>
<resource name="CPU" quantum="20"/>
<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="20"/>
<policy label="runtime -> leitzentrale -> settings_view" decoration="no" motion="20"/>
<policy label="runtime -> leitzentrale -> system_view" decoration="no" motion="20"/>
<policy label="runtime -> leitzentrale -> file_browser_view" decoration="no" motion="30"/>
<policy label="runtime -> leitzentrale -> network_view" decoration="no" motion="20"/>
<policy label="runtime -> leitzentrale -> runtime_view" decoration="no" motion="30"/>
<policy label="runtime -> leitzentrale -> menu_view" decoration="no" motion="30"/>
<policy label="runtime -> leitzentrale -> popup_view" decoration="no" motion="20"/>
<policy label="runtime -> leitzentrale -> panel_view" decoration="no" motion="20"/>
<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="400">
<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="system_config">
<child name="config_fs_report" label="managed -> system"/> </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="nitpicker_focus"> <parent/> </service>
<service name="ROM" label="nitpicker_hover"> <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="ROM" label="clicked"> <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>