Commit: 2bb919e6342ae04242e3af6d5921e550d3e0a619
Parent: c3dd6a829b3f5cb9474bcca787a9c8a86932d75d
Author: Ruben Gonzalez
Date: Sun, 8 Mar 2026 11:24:40 +0200
sendmon: resize fullscreen windows to target monitor
When a fullscreen window is moved to another monitor (e.g. via
tagmon), its geometry does not always match the new monitor's
dimensions.
Steps to reproduce:
1. Start dwm with two monitors (A and B).
2. Open a window on Monitor A.
3. Make the window fullscreen (e.g. Firefox with F11).
4. Move the window to Monitor B using the tagmon shortcut (Mod+Shift+>).
5. Go to the other monitor (B), observe that the window is still
visible on Monitor A and its contents, even though the window's title
is seen on Monitor B bar.
6. Go to the monitor A where the window is still in fullscreen, remove
the fullscreen and the window automatically will go to monitor B.
This fix ensures that fullscreen windows are correctly resized to the
new monitor's geometry during the move.
Diffstat:
1 file changed, 2 insertions(+), 0 deletions(-)
diff --git a/dwm.c b/dwm.c
@@ -1429,6 +1429,8 @@ sendmon(Client *c, Monitor *m)
c->tags = m->tagset[m->seltags]; /* assign tags of target monitor */
attach(c);
attachstack(c);
+ if (c->isfullscreen)
+ resizeclient(c, m->mx, m->my, m->mw, m->mh);
focus(NULL);
arrange(NULL);
}