-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Hi list,
when switching to another tag, all windows which are not visible on that new tag need to be hidden. This is called "banning" those clients and this mail is how to do it best. There are two possibilities: Unmapping banned windows, no reparenting - ---------------------------------------- This works with all pagers. Problem here is that unmapping those windows generates UnmapNotify events. Those events are also generated when an application wants to hide its window, which means we have to stop managing the window because it was destroyed (from the WM point of view). The problem here is that we cannot tell the difference between UnmapNotify events which are caused by awesome and those which are generated by applications. We currently solve this by ignoring some of those events, but this causes bugs like FS#399. Unmapping banned windows, reparenting - ------------------------------------ This is what fluxbox does. Thanks to the reparenting, the WM can tell the difference between "the frame window is unmapped" (always caused by the WM itself and can be ignored) and "the actual client window is unmapped" (never caused by the WM, this always means we have to unmanage the window). So, if we want to go down this route *and* fix FS#399, we would have to make awesome a reparenting WM. (Perhaps with a frame window as big as the client window which would make it basically invisible?) Moving the window out of the visible screen region - -------------------------------------------------- This is how e.g. dwm does it. When a client needs to be banned, it's just moved offscreen and the user cannot see it anymore. The problem here is that this breaks pagers. A pager that wants to find out where the window is placed sees that it's offscreen and thus does not draw it. The good thing about this is that there are no UnmapNotify events caused by awesome since there are no unmaps. So whenever we receive a UnmapNotify, we have to unmanage the window. The pager problem stays and I think that one is unfixable. :( So, any suggestions how windows should be banned? The only way I can see for fixing this is reparenting, how much would I be killed if I introduced that reparenting? In other news, what's the state of FS#636 "Add reparenting support between wibox and clients"? Could this be used as a fix? Uli - -- - - Buck, when, exactly, did you lose your mind? - - Three months ago. I woke up one morning married to a pineapple. An ugly pineapple... But I loved her! -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) iQEcBAEBCAAGBQJMF9BPAAoJECLkKOvLj8sGT6sIAJYpdrGZ9+9o45B8bKvMYs5M DjBoKf1Gu6+taRgiH7NYzaYvIJ3FJ7J8DMkCWohoKph/8tr1uUH/Jp8c80i/MRTx Q2F+ymlaLLfJ2BVGJNBauqYuMbdxCbQ9CYMxpP9zfMsGlPIOKtgF+IOy1gaHHlX3 wE7hxtTiUG6tyRmJE3B7F+OWweyeG60d58Ro1ds0GOnC+tLhOVatf6P/pTfhQtT9 aF/fIq1AKQxbqdZcPvEc39lqGdKIqMTwmq/F0qQfOPgkcRyG3K4lvZlVzw3V87fe 3gK+ZNMrI7eqj4CyrD5Rsiz/K/XOoVtUFzR3OohPrpfjus50Ww4x66FiGiMRQ8I= =uyfv -----END PGP SIGNATURE----- -- To unsubscribe, send mail to [email protected].
