It allows clients such as wlr-randr to configure the display.
NLOBELMSKHUSKSMPZ2QSDVIOJRGWV7HNXNIKZ55TMUCH7DI73TAAC M3FMZJBDF5GTZ2CTSIYEN3LQS3VH3OXXKRHJPHTMN4VJRFZ7HMKQC IWSIO23DR44ZS2MBV66XNR2MIDID2KUNBRUTCEQRE4P5OMVZHSNAC 7B74AT3BXYB7PVW4F6SGQNPMHOU5TEV5TZ54CG6VSQI46XSEKWXQC DZARK42IRA3GGM2HTCVSMT3IXJATCQCKXPWJKS6CZ23FWRH34YDAC QIIHRSY26Q3QJQUIDTU4M4C5NGAW3NGDOKT5UVZBD25A6UVPQDPQC E7UO6NRGXFDMBU3BSJYRDNOA3Y7VHD7NWPHI5PHCPHQF6ZNOPZLQC XGXZF5T7UFWJQES25XVBJZ4BN53SJ3SXZH3YUB2JUYVPN2PDRPJAC PYRALXEFRJ5O2NSVSR7WFJ56QNW2VMWYTBKKGJMDLZCHEU4JXZKQC D425ND7AT3F7QJ3CCSESMVDOC3J5C5P32M5SJDBHECZJXLHNQ2FAC OYZELWD247C2GT4QAW6YECUCA2GRLG4VI25BMOZKOGNRKERPZ6AQC 6ZKVISYIRGGLYDMIHGXDCHV6N6WYJP2DK3CRJL4AMCZY65OSEYDAC HWS332I73ETH3YIIOCQO7WB7VPQICME6GGXFJ7EUWDH5O3KA27QQC outputmgrapply(struct wl_listener *listener, void *data){struct wlr_output_configuration_v1 *config = data;outputmgrapplyortest(config, false);}// apply_output_configvoidoutputmgrapplyortest(struct wlr_output_configuration_v1 *config, bool test){struct wlr_output_configuration_head_v1 *config_head;bool ok = true;wl_list_for_each(config_head, &config->heads, link) {struct wlr_output *wlr_output = config_head->state.output;wlr_output_enable(wlr_output, config_head->state.enabled);if (config_head->state.enabled) {if (config_head->state.mode)wlr_output_set_mode(wlr_output, config_head->state.mode);elsewlr_output_set_custom_mode(wlr_output,config_head->state.custom_mode.width,config_head->state.custom_mode.height,config_head->state.custom_mode.refresh);wlr_output_layout_move(output_layout, wlr_output,config_head->state.x, config_head->state.y);wlr_output_set_transform(wlr_output, config_head->state.transform);wlr_output_set_scale(wlr_output, config_head->state.scale);}if (test) {ok &= wlr_output_test(wlr_output);wlr_output_rollback(wlr_output);} elseok &= wlr_output_commit(wlr_output);}if (ok) {wlr_output_configuration_v1_send_succeeded(config);if (!test)updatemons();}elsewlr_output_configuration_v1_send_failed(config);wlr_output_configuration_v1_destroy(config);}voidoutputmgrtest(struct wl_listener *listener, void *data){struct wlr_output_configuration_v1 *config = data;outputmgrapplyortest(config, true);}void