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. 0001-sendmon-resize-fullscreen-windows-to-target-monitor.patch >From 0bcf8e03402b657a6bb93bb662e72bf299f45bbb Mon Sep 17 00:00:00 2001 From: Ruben Gonzalez <[email protected]> Date: Sun, 8 Mar 2026 11:24:40 +0200 Subject: [dwm][PATCH] sendmon: resize fullscreen windows to target monitor --- dwm.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dwm.c b/dwm.c index 0a67103..6fe226f 100644 --- 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); } --
