Understood, thank you for the clarification.
I submitted it here because I consider this a functional bug in
vanilla dwm (internal state becoming inconsistent with physical
geometry during tagmon), rather than a new feature or customization.
Regards,
On Mon, Mar 9, 2026 at 10:41 AM Hiltjo Posthuma <hiltjo_AT_codemadness.org> wrote:
>
> Please use the wiki (sites repository) for patches else it becomes confusing.
>
> Mailinglists:
> _AT_hackers is for upstream patches.
> _AT_dev is for more general development discussion, ideas and non-upstream patches etc.
> See: https://suckless.org/community/
>
> Thank you,
>
> On Mon, Mar 09, 2026 at 02:31:23AM +0200, Ruben Gonzalez wrote:
> > 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 <gonzaru_AT_sdf.org>
> > 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
> > _AT_@ -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);
> > }
> > --
> >
>
> --
> Kind regards,
> Hiltjo
>
Received on Mon Mar 09 2026 - 10:11:17 CET