diff --git a/packages/genodelabs/depot-targets.nix b/packages/genodelabs/depot-targets.nix index 28499dd..ab26814 100644 --- a/packages/genodelabs/depot-targets.nix +++ b/packages/genodelabs/depot-targets.nix @@ -161,7 +161,7 @@ in { nic_loopback = { }; nic_router = { }; nit_focus = { }; - nitpicker = { }; + nitpicker.patches = [ ./patches/nitpicker.patch ]; nvme_drv = { }; openjpeg = { }; part_block.patches = [ ./patches/config-update.patch ]; diff --git a/packages/genodelabs/patches/nitpicker.patch b/packages/genodelabs/patches/nitpicker.patch new file mode 100644 index 0000000..088a440 --- /dev/null +++ b/packages/genodelabs/patches/nitpicker.patch @@ -0,0 +1,44 @@ +From 23aba2631d51e921c2f5cf880274648eae2a1616 Mon Sep 17 00:00:00 2001 +From: Emery Hemingway +Date: Wed, 14 Apr 2021 14:35:13 +0200 +Subject: [PATCH] nitpicker: make backdrop magic explicit in policy + +Activate the undocumented backdrop handling with a boolen attribute +"backdrop" on a matched session policy, regardless of what the +session label is. +--- + repos/os/src/server/nitpicker/main.cc | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +diff --git a/repos/os/src/server/nitpicker/main.cc b/repos/os/src/server/nitpicker/main.cc +index 2aa78cfdb1..357cc8ebc5 100644 +--- a/repos/os/src/server/nitpicker/main.cc ++++ b/repos/os/src/server/nitpicker/main.cc +@@ -88,9 +88,11 @@ class Nitpicker::Gui_root : public Root_component, + + Gui_session *_create_session(const char *args) override + { ++ auto config = _config.xml(); + Session_label const label = label_from_args(args); ++ Session_policy policy(label, config); + +- bool const provides_default_bg = (label == "backdrop"); ++ bool provides_default_bg = policy.attribute_value("backdrop", false); + + Gui_session *session = new (md_alloc()) + Gui_session(_env, +@@ -100,9 +102,9 @@ class Nitpicker::Gui_root : public Root_component, + _builtin_background, provides_default_bg, + _focus_reporter, *this); + +- session->apply_session_policy(_config.xml(), _domain_registry); ++ session->apply_session_policy(config, _domain_registry); + _session_list.insert(session); +- _global_keys.apply_config(_config.xml(), _session_list); ++ _global_keys.apply_config(config, _session_list); + _focus_updater.update_focus(); + _hover_updater.update_hover(); + +-- +2.31.0 +