[xmonad] Is there a way to reparent a window manually?

Brandon Allbery allbery.b at gmail.com
Fri Jul 23 23:39:12 UTC 2021


Yeh, I can't reproduce that locally. ("Vindictive ways" is probably
dependence on EWMH, which most programs do these days.) But it almost looks
like you're using something like DwmStyle as your layout, with that little
tab up top including the program icon.

I'm using MATE as my DE, for what it's worth. (Unity Editor is not best
pleased with it, but I assume that has more to do with being run on a 4GB
laptop with low-end video.)

_NET_WORKAREA matters because some programs (notably anything using Qt/KDE)
use it to place their menus.

On Fri, Jul 23, 2021 at 2:28 PM Platon Pronko <platon7pronko at gmail.com>
wrote:

> Hi!
>
> > I'm trying to reproduce your issues with my config, but I have no idea
> what I'm doing. Can you upload a sample I can try to work with?
>
> I've attached the simplest config that still reproduces the problem
> (actually, the problem can be reproduced even with using `def` instead of
> `xfceConfig`, but then the system breaks in a vindictive ways). Also I'm
> attaching a screenshot that showcases the problem - see several "menus"
> being visible simultaneously.
>
> > For what it's worth, I have the packages window open and, whether placed
> away from the window (via PlaceHook) or over it, I see no problems with
> menus in either window.
>
> Maybe my problem is due to xmonad-xfce interactions? What DE are you
> running (if any)?
>
> > (1) Your config does not have `ewmh` configured (this seems unlikely); or
>
> Checked - I do have `ewmh` configured since I use `xfceConfig` (which
> builds upon `desktopConfig` which in turn applies `ewmh`).
>
> > (2) you're having `_NET_WORKAREA` issues.
>
> I'm not sure how to test this. Moreover, why _NET_WORKAREA should be
> related to sub-window repainting?
>
> Best regards,
> Platon Pronko
>
> On 2021-07-20 18:50, Brandon Allbery wrote:
> > I'm trying to reproduce your issues with my config, but I have no idea
> what I'm doing. Can you upload a sample I can try to work with?
> >
> > Someone who plays Mono-based games reports they work fine with xmonad,k
> so that may not be the problem. Two others I'm aware of are:
> >
> > (1) Your config does not have `ewmh` configured (this seems unlikely); or
> > (2) you're having `_NET_WORKAREA` issues.
> >
> > If it's EWMH, simply configuring the `ewmh` combinator should fix it.
> But quite a lot of stuff required EWMH these days, so I can't imagine you
> haven't run into this before.
> >
> > `_NET_WORKAREA` is complex. I'm told by other people that they have no
> problem with it (more correctly, without it), but I find I need to set it
> for some things (notably, KDE menus) to work properly. The difference may
> be that I have a status bar at the top of my screen.
> >
> > On Fri, Apr 23, 2021 at 11:05 AM Platon Pronko <platon7pronko at gmail.com
> <mailto:platon7pronko at gmail.com>> wrote:
> >
> >     Hi!
> >
> >     Tried adding all the event masks, no effect. Even more, even if I
> remove all events from the mask except X.ExposureMask then mouse movement
> and keyboard buttons still work.
> >
> >     Best regards,
> >     Platon Pronko
> >
> >     On 2021-04-23 01:07, Brandon Allbery wrote:
> >      > On Thu, Apr 22, 2021 at 3:28 AM Platon Pronko <
> platon7pronko at gmail.com <mailto:platon7pronko at gmail.com> <mailto:
> platon7pronko at gmail.com <mailto:platon7pronko at gmail.com>>> wrote:
> >      >
> >      >     It seems that this could be happening due to XMonad being
> non-reparenting (I ran the same app under XFCE, and it seems to work okay).
> >      >
> >      >
> >      > This would not surprise me; it looks like they use Mono on
> Linux/Mac, and as yet there is no way to tell Mono that the window manager
> is non-reparenting so canvas widgets get messed up (they can't find
> themselves, since X11 uses window-relative addressing instead of
> screen-relative like Windows/.NET).
> >      >
> >      >     Any idea about what am I missing? Maybe my event masks are
> wrong?
> >      >
> >      >
> >      > You probably want all of the button-related events (see
> https://tronche.com/gui/x/xlib/events/mask.html <
> https://tronche.com/gui/x/xlib/events/mask.html> <
> https://tronche.com/gui/x/xlib/events/mask.html <
> https://tronche.com/gui/x/xlib/events/mask.html>>) so they'll be passed
> on to the child window.
> >      >
> >      > --
> >      > brandon s allbery kf8nh
> >      > allbery.b at gmail.com <mailto:allbery.b at gmail.com> <mailto:
> allbery.b at gmail.com <mailto:allbery.b at gmail.com>>
> >
> >
> >
> > --
> > brandon s allbery kf8nh
> > allbery.b at gmail.com <mailto:allbery.b at gmail.com>
>


-- 
brandon s allbery kf8nh
allbery.b at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/xmonad/attachments/20210723/a9e2bdb4/attachment.html>


More information about the xmonad mailing list