Support to get the primary output

This makes `primary` output available for assign or move commands.
Fix the issue #2764(https://github.com/i3/i3/issues/2764).
This commit is contained in:
hwangcc23
2017-05-14 16:05:29 +08:00
parent b56cb84e16
commit f99727b518
2 changed files with 28 additions and 7 deletions

View File

@ -45,10 +45,13 @@ static Output *get_output_by_id(xcb_randr_output_t id) {
*/
Output *get_output_by_name(const char *name) {
Output *output;
TAILQ_FOREACH(output, &outputs, outputs)
if (output->active &&
strcasecmp(output->name, name) == 0)
return output;
bool get_primary = (strcasecmp("primary", name) == 0);
TAILQ_FOREACH(output, &outputs, outputs) {
if ((output->primary && get_primary) ||
(output->active && strcasecmp(output->name, name) == 0)) {
return output;
}
}
return NULL;
}