Debugging window-placement interactions

Geoff Kuenning <[email protected]> Thu, 18 Jun 2020 16:58:10 -0700
Newsgroups gmane.comp.window-managers.sawfish
Message-ID <[email protected]>
I'm using a program (pdfpc) that creates two full-screen windows 
on different monitors (xinerama mode).  Unfortunately its approach 
to window placement doesn't seem to mesh correctly with Sawfish.

My current solution is to use window-matching rules like the 
following:

   (((WM_NAME . "^pdfpc - presentation"))
    (ignore-program-position . #t)
    (position 1920 . 0))
   (((WM_NAME . "^pdfpc - presenter"))
    (ignore-program-position . #t)
    (position 3840 . 0))

which works, but is clumsy since I have to edit the rules whenever 
I switch to a different display layout.

From digging into the pdfpc source, it appears that it first 
creates each window and then moves them to their final locations. 
(I'm not 100% certain of that; it's a Gtk application and there 
are a lot of layers.)

I tried sniffing the X11 connection with Wireshark but didn't 
learn much.

Is there a good way to figure out what requests are being made to 
Sawfish and why it's not placing things where the application 
asks?  (FWIW, I tried modifying the above rules to set 
ignore-program-position to #f, without luck.)
-- 
    Geoff Kuenning   [email protected] 
    http://www.cs.hmc.edu/~geoff/

It's is not, it isn't ain't, and it's it's, not its, if you mean 
it
is.  If you don't, it's its.  Then too, it's hers.  It isn't 
her's.  It
isn't our's either.  It's ours, and likewise yours and theirs.
                -- Oxford University Press, Edpress News

-- 
Sawfish ML