]> git.sur5r.net Git - i3/i3/commitdiff
Remove unreachable fallback code for tray_output primary.
authorIngo Bürk <ingo.buerk@tngtech.com>
Sun, 21 Feb 2016 13:13:58 +0000 (14:13 +0100)
committerIngo Bürk <ingo.buerk@tngtech.com>
Sun, 21 Feb 2016 13:17:23 +0000 (14:17 +0100)
This commit removes the code for falling back to the first available
output for the system tray if 'tray_output primary' has been specified
but there is no primary output (managed by this bar).

This fallback behavior was broken/unreachable because the tray
will never be initialized in this situation in the first place. Having
this dead code lead to a wrong assumption in #1855 and hence to
commit e2e7b70d002cac2031cb65d6f5f197c9583913d6, which makes the
system tray not show up for many users when first installing i3.

Thanks to @rtlanceroad for reporting this issue.

fixes #2220

i3bar/src/xcb.c

index d2aa28e9cbe1ab8660cfa41dfbc1095e17d88ddc..1c2134f485ef93ea47bb580ae2d0a6a4cb05d1d1 100644 (file)
@@ -769,19 +769,9 @@ static void handle_client_message(xcb_client_message_event_t *event) {
                     break;
             }
 
-            /* Check whether any "tray_output primary" was defined for this bar. */
-            bool contains_primary = false;
-            TAILQ_FOREACH(tray_output, &(config.tray_outputs), tray_outputs) {
-                if (strcasecmp("primary", tray_output->output) == 0) {
-                    contains_primary = true;
-                    break;
-                }
-            }
-
-            /* In case of tray_output == primary and there is no primary output
-             * configured, we fall back to the first available output. We do the
-             * same if no tray_output was specified. */
-            if (output == NULL && (contains_primary || TAILQ_EMPTY(&(config.tray_outputs)))) {
+            /* If no tray_output has been specified, we fall back to the first
+             * available output. */
+            if (output == NULL && TAILQ_EMPTY(&(config.tray_outputs))) {
                 SLIST_FOREACH(walk, outputs, slist) {
                     if (!walk->active)
                         continue;
@@ -790,6 +780,7 @@ static void handle_client_message(xcb_client_message_event_t *event) {
                     break;
                 }
             }
+
             if (output == NULL) {
                 ELOG("No output found\n");
                 return;