Il 02/10/2012 16:43, Hans-Christoph Steiner ha scritto:
The problem is caused by how Tk and X11 measures window frames: it measures it including all of the chrome around the window (the button/title bar on the top, any framing on the bottom, etc.) The window framing/chrome varies a lot depending on which window manager, etc. you are using.
Pd-extended places windows based on how things measure using a standard GNOME install, since GNOME is the default on most distros.
So what you need to do is write a plugin that sets custom values for your window manager. I think these are the variables you need, but look in pd/tcl/pdtk_canvas.tcl for more info:
set ::windowframex 5 (play with the numbers to get it right) set ::windowframey 5
Once you get it working, post it to the puredata.info/downloads page so others can download it if they're using the same window manager.
There are lots of other things you can customize too, so you could make a plugin that makes Pd feel as native as possible..hc
Thanks for the help. I made some experiments with ::windowframex and ::windowframey and I found out the following things: With ::windowframex = 1 and ::windowframey = 49, a loaded patch is displayed correctly in the position previously saved. That's beacause 49 is the sum of the heights of the wm's title bar and the pd's menu bar, and 1 is the width of the wm frame. But with those settings the "new file" create a window outside the screen (x = -1, y = -49). To fix that, I have to set ::windowframex and ::windowframey to 0, but that makes the loading of a saved patch incorrect again (49 pixels below and 1 pixel to the left of the saved position).
Is there different procedures to menage the "new file" and "open file"?
Thanks