diff --git a/repos/gems/src/app/floating_window_layouter/main.cc b/repos/gems/src/app/floating_window_layouter/main.cc index 6fd1d5163b..0ab5ff8e01 100644 --- a/repos/gems/src/app/floating_window_layouter/main.cc +++ b/repos/gems/src/app/floating_window_layouter/main.cc @@ -66,6 +66,9 @@ struct Floating_window_layouter::Main : Operations Genode::Attached_rom_dataspace config { env, "config" }; + Genode::Signal_handler
config_dispatcher { + env.ep(), *this, &Main::handle_config }; + Genode::Heap heap { env.ram(), env.rm() }; Genode::Tslab window_slab { &heap }; @@ -74,6 +77,11 @@ struct Floating_window_layouter::Main : Operations Focus_history focus_history; + void handle_config() + { + config.update(); + } + Window *lookup_window_by_id(Window_id const id) { for (Window *w = windows.first(); w; w = w->next()) @@ -336,6 +344,9 @@ struct Floating_window_layouter::Main : Operations /* import initial state */ handle_window_list_update(); + + /* attach update handler for config */ + config.sigh(config_dispatcher); } };