From 9c1943ade5d9e6e83870219bd0c05820460d7de4 Mon Sep 17 00:00:00 2001 From: "Devin J. Pohly" Date: Mon, 18 Jan 2021 15:51:32 -0600 Subject: [PATCH] add some explanation of output reconfiguration Hopefully this will help "future us" understand what's going on. --- dwl.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/dwl.c b/dwl.c index 7f8b719..5b5e35e 100644 --- a/dwl.c +++ b/dwl.c @@ -1512,6 +1512,12 @@ outputmgrapply(struct wl_listener *listener, void *data) void outputmgrapplyortest(struct wlr_output_configuration_v1 *config, int test) { + /* + * Called when a client such as wlr-randr requests a change in output + * configuration. This is only one way that the layout can be changed, + * so any Monitor information should be updated by updatemons() after an + * output_layout.change event, not here. + */ struct wlr_output_configuration_head_v1 *config_head; int ok = 1; @@ -2275,6 +2281,13 @@ unmapnotify(struct wl_listener *listener, void *data) void updatemons(struct wl_listener *listener, void *data) { + /* + * Called whenever the output layout changes: adding or removing a + * monitor, changing an output's mode or position, etc. This is where + * the change officially happens and we update geometry, window + * positions, focus, and the stored configuration in wlroots' + * output-manager implementation. + */ struct wlr_output_configuration_v1 *config = wlr_output_configuration_v1_create(); Monitor *m;