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@codemadnessorg> wrote:
>
> Please use the wiki (sites repository) for patches else it becomes confusing.
>
> Mailinglists:
> @hackers is for upstream patches.
> @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 <[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);
> >  }
> > --
> >
>
> --
> Kind regards,
> Hiltjo
>

Reply via email to