nitpicker: patch to make backdrop magic explicit

This commit is contained in:
Emery Hemingway 2021-04-14 16:20:20 +02:00
parent 690d21cbaa
commit 4865ada1ac
2 changed files with 45 additions and 1 deletions

View File

@ -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 ];

View File

@ -0,0 +1,44 @@
From 23aba2631d51e921c2f5cf880274648eae2a1616 Mon Sep 17 00:00:00 2001
From: Emery Hemingway <ehmry@posteo.net>
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>,
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<Gui_session>,
_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