Disable mon faster

Since focusmon() now never focuses disabled monitors, there's no need to
focus the disabled monitor first
This commit is contained in:
Stivvo 2020-10-31 13:00:54 +01:00
parent 25671d7905
commit 9f3f15b467
1 changed files with 3 additions and 7 deletions

10
dwl.c
View File

@ -1463,22 +1463,18 @@ outputmgrapplyortest(struct wlr_output_configuration_v1 *config, bool test)
wl_list_for_each(config_head, &config->heads, link) { wl_list_for_each(config_head, &config->heads, link) {
struct wlr_output *wlr_output = config_head->state.output; struct wlr_output *wlr_output = config_head->state.output;
Monitor *m, *newmon; Monitor *m;
wlr_output_enable(wlr_output, config_head->state.enabled);
if (!config_head->state.enabled) { if (!config_head->state.enabled) {
wl_list_for_each(m, &mons, link) { wl_list_for_each(m, &mons, link) {
if (m->wlr_output->name == wlr_output->name) { if (m->wlr_output->name == wlr_output->name) {
// make sure that the monitor to clean is focused
selmon = m;
focusclient(selclient(), focustop(selmon), 1);
// focus the left monitor (relative to the current focus) // focus the left monitor (relative to the current focus)
focusmon(&ar); focusmon(&ar);
closemon(m, wl_container_of(&selmon->link, newmon, link)); closemon(m, selmon);
} }
} }
} }
wlr_output_enable(wlr_output, config_head->state.enabled);
if (config_head->state.enabled) { if (config_head->state.enabled) {
if (config_head->state.mode) if (config_head->state.mode)