From 1ed5110d554aaf6cb02bfc7a2b69161716c66e86 Mon Sep 17 00:00:00 2001 From: Norman Feske Date: Fri, 31 Mar 2017 08:59:53 +0200 Subject: [PATCH] wm.run: host window-manager components in sub init --- repos/gems/run/wm.run | 74 ++++---------------------- repos/gems/src/server/wm/wm.config | 83 ++++++++++++++++++++++++++++++ 2 files changed, 93 insertions(+), 64 deletions(-) create mode 100644 repos/gems/src/server/wm/wm.config diff --git a/repos/gems/run/wm.run b/repos/gems/run/wm.run index d93377bfaf..894d311121 100644 --- a/repos/gems/run/wm.run +++ b/repos/gems/run/wm.run @@ -120,70 +120,14 @@ append config { - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - </controls> - </config> - <route> - <service name="ROM" label="window_layout"> - <child name="report_rom"/> </service> - <service name="ROM" label="pointer"> - <child name="report_rom"/> </service> - <service name="Report"> <child name="report_rom"/> </service> - <any-service> - <child name="wm"/> <parent/> <any-child/> - </any-service> + <service name="ROM" label="config"> <parent label="wm.config"/> </service> + <service name="Nitpicker"> <child name="nitpicker"/> </service> + <any-service> <parent/> <any-child/> </any-service> </route> </start> <start name="launchpad" priority="-1"> @@ -249,6 +193,8 @@ install_config $config foreach file { genode_logo.png grid.png } { file copy -force [genode_dir]/repos/gems/src/app/backdrop/$file bin/ } +file copy -force [genode_dir]/repos/gems/src/server/wm/wm.config bin/ + # # Boot modules @@ -258,7 +204,7 @@ foreach file { genode_logo.png grid.png } { set boot_modules { core ld.lib.so init timer - wm decorator + wm decorator wm.config floating_window_layouter nitpicker pointer report_rom backdrop diff --git a/repos/gems/src/server/wm/wm.config b/repos/gems/src/server/wm/wm.config new file mode 100644 index 0000000000..d141bb35e6 --- /dev/null +++ b/repos/gems/src/server/wm/wm.config @@ -0,0 +1,83 @@ +<config> + <parent-provides> + <service name="ROM"/> + <service name="RAM"/> + <service name="PD"/> + <service name="CPU"/> + <service name="LOG"/> + <service name="Nitpicker"/> + <service name="Timer"/> + </parent-provides> + <default-route> + <any-service> <parent/> <any-child/> </any-service> + </default-route> + <service name="Nitpicker"> + <default-policy> <child name="wm"/> </default-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="decorator -> window_layout" report="layouter -> window_layout"/> + <policy label="wm -> resize_request" report="layouter -> resize_request"/> + <policy label="decorator -> pointer" report="wm -> pointer"/> + <policy label="layouter -> hover" report="decorator -> hover"/> + <policy label="layouter -> decorator_margins" report="decorator -> decorator_margins"/> + <policy label="wm -> focus" report="layouter -> focus"/> + </config> + </start> + <start name="wm"> + <resource name="RAM" quantum="6M"/> + <provides> + <service name="Nitpicker"/> + </provides> + <config> + <policy label_prefix="decorator" role="decorator"/> + <policy label_prefix="layouter" role="layouter"/> + </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> + <any-service> + <child name="nitpicker"/> <parent/> <any-child/> + </any-service> + </route> + </start> + <start name="layouter"> + <binary name="floating_window_layouter"/> + <resource name="RAM" quantum="4M"/> + <route> + <service name="ROM" label="window_list"> <child name="report_rom"/> </service> + <service name="ROM" label="focus_request"> <child name="report_rom"/> </service> + <service name="ROM" label="hover"> <child name="report_rom"/> </service> + <service name="ROM" label="decorator_margins"> <child name="report_rom"/> </service> + <service name="Report"> <child name="report_rom"/> </service> + <any-service> + <child name="wm"/> <parent/> <any-child/> + </any-service> + </route> + </start> + <start name="decorator"> + <binary name="decorator"/> + <resource name="RAM" quantum="8M"/> + <config> + <controls> <maximizer/> <title/> </controls> + </config> + <route> + <service name="ROM" label="window_layout"> + <child name="report_rom"/> </service> + <service name="ROM" label="pointer"> + <child name="report_rom"/> </service> + <service name="Report"> <child name="report_rom"/> </service> + <any-service> + <child name="wm"/> <parent/> <any-child/> + </any-service> + </route> + </start> +</config>