i3bar: add support for nonprimary output

Added a new output option `nonprimary` that causes the bar to be
displayed on all outputs except the primary one.

Fixes #4083
This commit is contained in:
Maxim Schuwalow
2020-10-22 19:37:09 +02:00
committed by Orestis Floros
parent 3cd1c45eba
commit 90e7a156a2
3 changed files with 13 additions and 4 deletions

View File

@ -192,11 +192,12 @@ static int outputs_end_map_cb(void *params_) {
/* See if we actually handle that output */
if (config.num_outputs > 0) {
const bool is_primary = params->outputs_walk->primary;
bool handle_output = false;
for (int c = 0; c < config.num_outputs; c++) {
if (strcasecmp(params->outputs_walk->name, config.outputs[c]) == 0 ||
(strcasecmp(config.outputs[c], "primary") == 0 &&
params->outputs_walk->primary)) {
if ((strcasecmp(params->outputs_walk->name, config.outputs[c]) == 0) ||
(strcasecmp(config.outputs[c], "primary") == 0 && is_primary) ||
(strcasecmp(config.outputs[c], "nonprimary") == 0 && !is_primary)) {
handle_output = true;
break;
}