Transparent log overlay demo
Demonstrate an on-screen log that can be toggled on and off. Fix #69
This commit is contained in:
committed by
Norman Feske
parent
6989903446
commit
67c7406029
294
run/log_fader.run
Normal file
294
run/log_fader.run
Normal file
@@ -0,0 +1,294 @@
|
||||
#
|
||||
# Transparent overlay log demo
|
||||
#
|
||||
# Press F1 and F2 to control the log overlay.
|
||||
#
|
||||
|
||||
#
|
||||
# Build
|
||||
#
|
||||
if {![have_spec linux]} {
|
||||
puts "Runs on Linux only"
|
||||
exit 0
|
||||
}
|
||||
|
||||
set build_components {
|
||||
core init
|
||||
app/launchpad
|
||||
app/pointer
|
||||
app/rom_logger
|
||||
app/xray_trigger
|
||||
drivers/framebuffer
|
||||
drivers/timer
|
||||
server/log_tee
|
||||
server/nit_fader
|
||||
server/nit_fb
|
||||
server/nitpicker
|
||||
server/rom_filter
|
||||
server/terminal
|
||||
server/terminal_log
|
||||
test/nitpicker
|
||||
}
|
||||
|
||||
build $build_components
|
||||
|
||||
create_boot_directory
|
||||
|
||||
#
|
||||
# Generate config
|
||||
#
|
||||
|
||||
append config {
|
||||
<config>
|
||||
<parent-provides>
|
||||
<service name="CPU"/>
|
||||
<service name="IO_MEM"/>
|
||||
<service name="IO_PORT"/>
|
||||
<service name="IRQ"/>
|
||||
<service name="LOG"/>
|
||||
<service name="PD"/>
|
||||
<service name="RAM"/>
|
||||
<service name="ROM"/>
|
||||
</parent-provides>
|
||||
<default-route>
|
||||
<service name="LOG"> <child name="log_tee" /> </service>
|
||||
<service name="ROM" label_suffix="log_fader.config">
|
||||
<child name="log_fader_config"/> </service>
|
||||
<service name="ROM" label_suffix="nitpicker.config">
|
||||
<child name="nitpicker_config"/> </service>
|
||||
<service name="Nitpicker"> <child name="nitpicker" /> </service>
|
||||
<any-service> <parent/> <any-child/> </any-service>
|
||||
</default-route>
|
||||
<start name="fb_sdl">
|
||||
<resource name="RAM" quantum="4M"/>
|
||||
<provides>
|
||||
<service name="Input"/>
|
||||
<service name="Framebuffer"/>
|
||||
</provides>
|
||||
<config width="800" height="600"/>
|
||||
<route> <any-service> <parent/> <any-child/> </any-service> </route>
|
||||
</start>
|
||||
<alias name="fb_drv" child="fb_sdl"/>
|
||||
<alias name="input_drv" child="fb_sdl"/>
|
||||
<start name="timer">
|
||||
<resource name="RAM" quantum="1M"/>
|
||||
<provides><service name="Timer"/></provides>
|
||||
<route> <any-service> <parent/> <any-child/> </any-service> </route>
|
||||
</start>
|
||||
|
||||
<start name="report_rom">
|
||||
<resource name="RAM" quantum="1M"/>
|
||||
<provides> <service name="Report"/> <service name="ROM"/> </provides>
|
||||
<config>
|
||||
<policy label="xray_trigger -> hover" report="nitpicker -> hover"/>
|
||||
<policy label="nitpicker_config -> xray" report="xray_trigger -> xray"/>
|
||||
<policy label="log_fader_config -> xray" report="xray_trigger -> xray"/>
|
||||
</config>
|
||||
<route> <any-service> <parent/> <any-child/> </any-service> </route>
|
||||
</start>
|
||||
|
||||
<start name="nitpicker_config">
|
||||
<binary name="rom_filter"/>
|
||||
<resource name="RAM" quantum="1M"/>
|
||||
<provides><service name="ROM"/></provides>
|
||||
<config>
|
||||
<input name="xray_enabled" rom="xray" node="xray">
|
||||
<attribute name="enabled" /> </input>
|
||||
|
||||
<output node="config">
|
||||
<inline>
|
||||
<report focus="yes" xray="yes" hover="yes" />
|
||||
<domain name="pointer" layer="2" content="client" label="no" origin="pointer" />
|
||||
</inline>
|
||||
<if>
|
||||
<has_value input="xray_enabled" value="no" />
|
||||
<then>
|
||||
<inline>
|
||||
<domain name="default" layer="3" content="client" label="no" focus="click" hover="always" />
|
||||
<domain name="log" layer="4" content="client" label="no" focus="none"/>
|
||||
</inline>
|
||||
</then>
|
||||
<else>
|
||||
<inline>
|
||||
<domain name="log" layer="1" content="client" label="no"/>
|
||||
<domain name="default" layer="3" content="tinted" label="yes"/>
|
||||
</inline>
|
||||
</else>
|
||||
</if>
|
||||
<inline>
|
||||
<policy label_prefix="log_" domain="log"/>
|
||||
<policy label_prefix="pointer" domain="pointer"/>
|
||||
<default-policy domain="default"/>
|
||||
<global-key name="KEY_SCROLLLOCK" label="xray_trigger -> input"/>
|
||||
<global-key name="KEY_F1" label="xray_trigger -> input" />
|
||||
<global-key name="KEY_F2" label="xray_trigger -> input" />
|
||||
</inline>
|
||||
</output>
|
||||
</config>
|
||||
<route>
|
||||
<service name="ROM" label="xray"> <child name="report_rom"/> </service>
|
||||
<any-service> <parent/> </any-service>
|
||||
</route>
|
||||
</start>
|
||||
|
||||
<start name="nitpicker">
|
||||
<resource name="RAM" quantum="4M"/>
|
||||
<provides><service name="Nitpicker"/></provides>
|
||||
<configfile name="nitpicker.config"/>
|
||||
<route>
|
||||
<service name="ROM" label="nitpicker.config">
|
||||
<child name="nitpicker_config"/> </service>
|
||||
<service name="Framebuffer"> <child name="fb_drv" /> </service>
|
||||
<service name="Input"> <child name="input_drv" /> </service>
|
||||
<service name="Report"> <child name="report_rom" /> </service>
|
||||
<any-service> <parent/> <any-child/> </any-service>
|
||||
</route>
|
||||
</start>
|
||||
|
||||
<start name="xray_trigger">
|
||||
<resource name="RAM" quantum="1M"/>
|
||||
<config>
|
||||
<press name="KEY_F1" xray="on"/>
|
||||
<release name="KEY_F1" xray="off"/>
|
||||
<press name="KEY_F2" xray="toggle"/>
|
||||
<hover domain="panel"/>
|
||||
</config>
|
||||
<route>
|
||||
<service name="Nitpicker"> <child name="nitpicker"/> </service>
|
||||
<service name="Report"> <child name="report_rom"/> </service>
|
||||
<service name="ROM" label="hover"> <child name="report_rom"/> </service>
|
||||
<any-service> <parent/> <any-child/> </any-service>
|
||||
</route>
|
||||
</start>
|
||||
|
||||
<start name="pointer">
|
||||
<resource name="RAM" quantum="1M"/>
|
||||
</start>
|
||||
|
||||
<start name="log_fader_config">
|
||||
<binary name="rom_filter"/>
|
||||
<resource name="RAM" quantum="1M"/>
|
||||
<provides><service name="ROM"/></provides>
|
||||
<config>
|
||||
<input name="xray_enabled" rom="xray" node="xray">
|
||||
<attribute name="enabled" /> </input>
|
||||
|
||||
<output node="config">
|
||||
<if>
|
||||
<has_value input="xray_enabled" value="no" />
|
||||
<then>
|
||||
<attribute name="alpha" value="0" />
|
||||
</then>
|
||||
<else>
|
||||
<attribute name="alpha" value="192" />
|
||||
</else>
|
||||
</if>
|
||||
</output>
|
||||
</config>
|
||||
<route>
|
||||
<service name="ROM" label="xray"> <child name="report_rom"/> </service>
|
||||
<any-service> <parent/> </any-service>
|
||||
</route>
|
||||
</start>
|
||||
|
||||
<start name="log_fader">
|
||||
<binary name="nit_fader"/>
|
||||
<resource name="RAM" quantum="5M"/>
|
||||
<provides> <service name="Nitpicker"/> </provides>
|
||||
<configfile name="log_fader.config" />
|
||||
<route>
|
||||
<service name="ROM" label="log_fader.config">
|
||||
<child name="log_fader_config" />
|
||||
</service>
|
||||
<service name="Nitpicker"> <child name="nitpicker" /> </service>
|
||||
<any-service> <parent/> <any-child/> </any-service>
|
||||
</route>
|
||||
</start>
|
||||
<start name="log_fb">
|
||||
<binary name="nit_fb"/>
|
||||
<resource name="RAM" quantum="4M"/>
|
||||
<provides>
|
||||
<service name="Framebuffer"/>
|
||||
<service name="Input"/>
|
||||
</provides>
|
||||
<config/>
|
||||
<route>
|
||||
<service name="Nitpicker"> <child name="log_fader" /> </service>
|
||||
<any-service> <parent/> <any-child/> </any-service>
|
||||
</route>
|
||||
</start>
|
||||
<start name="terminal">
|
||||
<resource name="RAM" quantum="3M"/>
|
||||
<provides><service name="Terminal"/></provides>
|
||||
<config>
|
||||
<font size="8"/>
|
||||
</config>
|
||||
<route>
|
||||
<service name="Input"> <child name="log_fb"/> </service>
|
||||
<service name="Framebuffer"> <child name="log_fb"/> </service>
|
||||
<any-service> <parent/> <any-child/></any-service>
|
||||
</route>
|
||||
</start>
|
||||
<start name="terminal_log">
|
||||
<resource name="RAM" quantum="1M"/>
|
||||
<provides><service name="LOG"/></provides>
|
||||
<route>
|
||||
<service name="Terminal"> <child name="terminal" /> </service>
|
||||
<any-service> <parent/> <any-child/> </any-service>
|
||||
</route>
|
||||
</start>
|
||||
<start name="log_tee">
|
||||
<resource name="RAM" quantum="4M"/>
|
||||
<provides><service name="LOG"/></provides>
|
||||
<route>
|
||||
<service name="LOG" unscoped_label="log_tee">
|
||||
<child name="terminal_log"/> </service>
|
||||
<service name="LOG"> <parent/> </service>
|
||||
<any-service> <parent/> <any-child/> </any-service>
|
||||
</route>
|
||||
</start>
|
||||
|
||||
<start name="launchpad">
|
||||
<resource name="RAM" quantum="32M"/>
|
||||
<config>
|
||||
<launcher name="testnit" ram_quota="768K" />
|
||||
<launcher name="rom_logger" ram_quota="768K">
|
||||
<config rom="nitpicker.config"/>
|
||||
</launcher>
|
||||
<launcher name="rom_logger" ram_quota="768K">
|
||||
<config rom="log_fader.config"/>
|
||||
</launcher>
|
||||
</config>
|
||||
</start>
|
||||
|
||||
</config>}
|
||||
|
||||
install_config $config
|
||||
|
||||
#
|
||||
# Boot modules
|
||||
#
|
||||
|
||||
# generic modules
|
||||
set boot_modules {
|
||||
core ld.lib.so init
|
||||
fb_sdl
|
||||
launchpad
|
||||
log_tee
|
||||
nit_fader
|
||||
nit_fb
|
||||
nitpicker
|
||||
pointer
|
||||
report_rom
|
||||
rom_filter
|
||||
rom_logger
|
||||
terminal
|
||||
terminal_log
|
||||
testnit
|
||||
timer
|
||||
xray_trigger
|
||||
}
|
||||
|
||||
build_boot_image $boot_modules
|
||||
|
||||
run_genode_until forever
|
||||
Reference in New Issue
Block a user