From 546fb205ea093bc6913459bdd61cd3049efec05d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guido=20G=C3=BCnther?= Date: Tue, 19 Aug 2025 20:07:15 +0200 Subject: [PATCH 1/3] treewide: Fix feedack typo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Guido Günther --- data/org.sigxcpu.feedbackd.gschema.xml | 2 +- libfeedback/lfb-event.c | 2 +- src/fbd-feedback-manager.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/data/org.sigxcpu.feedbackd.gschema.xml b/data/org.sigxcpu.feedbackd.gschema.xml index 84615e0..25bc6e3 100644 --- a/data/org.sigxcpu.feedbackd.gschema.xml +++ b/data/org.sigxcpu.feedbackd.gschema.xml @@ -39,7 +39,7 @@ 'sm.puri.OSK0'] List of apps that can override the feedback level - Apps listed here can override the configured feedack level by + Apps listed here can override the configured feedback level by setting the 'important' hint on the submitted event. diff --git a/libfeedback/lfb-event.c b/libfeedback/lfb-event.c index 21eeda3..ffbf9cf 100644 --- a/libfeedback/lfb-event.c +++ b/libfeedback/lfb-event.c @@ -687,7 +687,7 @@ lfb_event_end_feedback_async (LfbEvent *self, * @self: The event * @timeout: The timeout * - * Tells the feedback server to end feedack after #timeout seconds. + * Tells the feedback server to end feedback after #timeout seconds. * The value -1 indicates to not set a timeout and let feedbacks stop * on their own while 0 indicates to loop all feedbacks endlessly. * They must be stopped via [method@LfbEvent.end_feedback] in this case. diff --git a/src/fbd-feedback-manager.c b/src/fbd-feedback-manager.c index 5b1e34c..5293629 100644 --- a/src/fbd-feedback-manager.c +++ b/src/fbd-feedback-manager.c @@ -371,7 +371,7 @@ parse_hints (GVariant *hints, /** * add_event_feedbacks: * - * Add the suitable feedacks to the event. + * Add the suitable feedbacks to the event. * * Returns: `TRUE` if at least on feedback was added. */ From ef1e299047306534d8ef0a28019f4cb065a0e14a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guido=20G=C3=BCnther?= Date: Tue, 19 Aug 2025 18:54:51 +0200 Subject: [PATCH 2/3] feedback-manager: Let app level cap important level MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit As per DBus spec the `important` hint is meant to override the global feedback level not any per app level the user might have configured as otherwise there's no way to override this. Closes: https://gitlab.freedesktop.org/agx/feedbackd/-/issues/93 Signed-off-by: Guido Günther --- src/fbd-feedback-manager.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/fbd-feedback-manager.c b/src/fbd-feedback-manager.c index 5293629..bc12a4e 100644 --- a/src/fbd-feedback-manager.c +++ b/src/fbd-feedback-manager.c @@ -758,10 +758,11 @@ fbd_feedback_manager_get_effective_level (FbdFeedbackManager *self, app_level = app_get_feedback_level (app_id); can_important = app_is_important (self, app_id); - if (important && can_important) - level = want_level; - else + if (important && can_important) { + level = MIN (want_level, app_level); + } else { level = get_max_level (self->level, app_level, want_level); + } return level; } From bd7701220ddcef6bfe672a224c7d884c55d00560 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guido=20G=C3=BCnther?= Date: Tue, 19 Aug 2025 19:02:02 +0200 Subject: [PATCH 3/3] treewide: Clarify that `important` affects the global level MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The DBus spec had it right but the other places weren't clear on that. Signed-off-by: Guido Günther --- data/org.sigxcpu.feedbackd.gschema.xml | 2 +- doc/feedbackd.rst | 4 ++-- libfeedback/lfb-event.c | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/data/org.sigxcpu.feedbackd.gschema.xml b/data/org.sigxcpu.feedbackd.gschema.xml index 25bc6e3..857144d 100644 --- a/data/org.sigxcpu.feedbackd.gschema.xml +++ b/data/org.sigxcpu.feedbackd.gschema.xml @@ -39,7 +39,7 @@ 'sm.puri.OSK0'] List of apps that can override the feedback level - Apps listed here can override the configured feedback level by + Apps listed here can override the configured global feedback level by setting the 'important' hint on the submitted event. diff --git a/doc/feedbackd.rst b/doc/feedbackd.rst index 005a09a..a44f648 100644 --- a/doc/feedbackd.rst +++ b/doc/feedbackd.rst @@ -51,8 +51,8 @@ These gsettings are used by ``feedbackd``: - `profile`: The current overall feedback profile. Valid values are `full`, `quiet` and `silent`. - - `allow-important`: List of apps that can override the feedback level - (useful for e.g. allowing the alarm clock to also emit sound when + - `allow-important`: List of apps that can override the global feedback + level (useful for e.g. allowing the alarm clock to also emit sound when device is in silent mode). - `prefer-flash`: Prefer camera flash over status LED - `theme`: The feedback theme to use. This can be used to override diff --git a/libfeedback/lfb-event.c b/libfeedback/lfb-event.c index ffbf9cf..3057cdb 100644 --- a/libfeedback/lfb-event.c +++ b/libfeedback/lfb-event.c @@ -817,7 +817,7 @@ lfb_event_get_feedback_profile (LfbEvent *self) * * Tells the feedback server that the sender deems this to be an * important event. A feedback server might allow the sender to - * override the current feedback level when this is set. + * override the current global feedback level when this is set. */ void lfb_event_set_important (LfbEvent *self, gboolean important)