From fa0abaf7cfecf1dc433717d53379d6942226c2bb Mon Sep 17 00:00:00 2001 From: Konstantin Pospelov Date: Sat, 8 Jun 2019 18:11:32 +0300 Subject: swaybar: do not retry search for tray icons In case a tray icon cannot be found or does not have a desirable size, swaybar retries the search again and again, which increases load on disk and CPU. This commit solves it by storing target_size for each icon, so that swaybar does not search for an icon of some size if it already tried to. Fixes #3789. --- swaybar/tray/tray.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'swaybar/tray/tray.c') diff --git a/swaybar/tray/tray.c b/swaybar/tray/tray.c index fcf8114f..5fe6f9c3 100644 --- a/swaybar/tray/tray.c +++ b/swaybar/tray/tray.c @@ -124,7 +124,9 @@ uint32_t render_tray(cairo_t *cairo, struct swaybar_output *output, double *x) { struct swaybar_tray *tray = output->bar->tray; for (int i = 0; i < tray->items->length; ++i) { uint32_t h = render_sni(cairo, output, x, tray->items->items[i]); - max_height = h > max_height ? h : max_height; + if (h > max_height) { + max_height = h; + } } return max_height; -- cgit v1.2.3