mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-29 10:08:53 +00:00
d3d6b643f1
This patch simplifies the propagation of pointer shapes from window-manager clients to the pointer. The "shape" report is routed to the wm server, which, in turn, reports it to the pointer. This way, the pointer can easily correlate the label of the application's "shape" report with the label of the application's Nitpicker session. The formerly used manual rewriting of the "shape" label is not needed anymore. Since the wm server provides a "Report" service now, its <provides> declaration must cover "Report" in addition to "Nitpicker" to avoid runtime error messages. Vice versa, the wm is now expected to request "shape" reports, which should be routed to the pointer (using the 'label_last' routing attribute). Fixes #3165
103 lines
3.6 KiB
Tcl
103 lines
3.6 KiB
Tcl
source ${genode_dir}/repos/libports/run/qt5_common.inc
|
|
|
|
import_from_depot [depot_user]/src/dynamic_rom \
|
|
[depot_user]/src/mixer_gui_qt \
|
|
[depot_user]/src/qt5_widgets
|
|
|
|
#
|
|
# Build
|
|
#
|
|
|
|
append build_components [qt5_build_components feature]
|
|
|
|
build $build_components
|
|
|
|
#
|
|
# Generate config
|
|
#
|
|
|
|
append config {
|
|
<config>
|
|
<parent-provides>}
|
|
append config [qt5_parent_provides feature]
|
|
append config {
|
|
</parent-provides>
|
|
<default caps="100"/>
|
|
<default-route>
|
|
<any-service> <parent/> <any-child/> </any-service>
|
|
</default-route>}
|
|
|
|
append config [qt5_start_nodes feature]
|
|
|
|
append config {
|
|
<start name="dynamic_rom">
|
|
<resource name="RAM" quantum="4M"/>
|
|
<provides><service name="ROM"/></provides>
|
|
<config verbose="yes">
|
|
<rom name="channel_list">
|
|
<sleep milliseconds="1000" />
|
|
<inline description="first config update">
|
|
<channel_list>
|
|
<channel type="input" label="test-audio_out0" name="right" number="1" active="1" volume="0" muted="0"/>
|
|
<channel type="input" label="test-audio_out_click" name="left" number="0" active="1" volume="75" muted="0"/>
|
|
<channel type="input" label="fancy_init -> test-audio_out1" name="left" number="0" active="1" volume="75" muted="0"/>
|
|
<channel type="input" label="test-audio_out0" name="left" number="0" active="1" volume="0" muted="0"/>
|
|
<channel type="input" label="test-audio_out_click" name="right" number="1" active="1" volume="75" muted="0"/>
|
|
<channel type="input" label="fancy_init -> test-audio_out1" name="right" number="1" active="1" volume="75" muted="0"/>
|
|
<channel type="output" label="master" name="left" number="0" active="1" volume="100" muted="0"/>
|
|
<channel type="output" label="master" name="right" number="1" active="1" volume="100" muted="0"/>
|
|
</channel_list>
|
|
</inline>
|
|
<sleep milliseconds="1000" />
|
|
<inline description="second config update">
|
|
<channel_list>
|
|
<channel type="input" label="test-audio_out0" name="right" number="1" active="1" volume="100" muted="0"/>
|
|
<channel type="input" label="test-audio_out_click" name="left" number="0" active="1" volume="75" muted="1"/>
|
|
<channel type="input" label="fancy_init -> test-audio_out1" name="left" number="0" active="1" volume="25" muted="0"/>
|
|
<channel type="input" label="test-audio_out0" name="left" number="0" active="1" volume="100" muted="0"/>
|
|
<channel type="input" label="test-audio_out_click" name="right" number="1" active="1" volume="15" muted="1"/>
|
|
<channel type="input" label="fancy_init -> test-audio_out1" name="right" number="1" active="1" volume="25" muted="0"/>
|
|
<channel type="output" label="master" name="left" number="0" active="1" volume="100" muted="0"/>
|
|
<channel type="output" label="master" name="right" number="1" active="1" volume="100" muted="0"/>
|
|
</channel_list>
|
|
</inline>
|
|
</rom>
|
|
</config>
|
|
</start>
|
|
|
|
<start name="mixer_gui_qt" caps="200">
|
|
<resource name="RAM" quantum="32M"/>
|
|
<config>
|
|
<vfs>
|
|
<dir name="dev">
|
|
<log/>
|
|
<inline name="rtc">2018-01-01 00:01</inline>
|
|
</dir>
|
|
<tar name="qt5_dejavusans.tar"/>
|
|
</vfs>
|
|
<libc stdout="/dev/log" stderr="/dev/log" rtc="/dev/rtc"/>
|
|
</config>
|
|
<route>
|
|
<service name="Nitpicker"> <child name="wm"/> </service>
|
|
<service name="Report" label="shape"> <child name="wm"/> </service>
|
|
<service name="ROM" label="channel_list"> <child name="dynamic_rom" /> </service>
|
|
<service name="ROM" label="egl_drv.lib.so"> <parent label="egl_swrast.lib.so" /> </service>
|
|
<any-service> <parent/> <any-child/> </any-service>
|
|
</route>
|
|
</start>
|
|
</config>}
|
|
|
|
install_config $config
|
|
|
|
#
|
|
# Boot modules
|
|
#
|
|
|
|
append boot_modules [qt5_boot_modules feature]
|
|
|
|
build_boot_image $boot_modules
|
|
|
|
run_genode_until forever
|
|
|
|
# vi: set ft=tcl :
|