Werid wx.Frame positioning

Hello,

I have a frame class:

class MyFrame(wx.Frame):
    def __init__(self,pos):
        wx.Frame.__init__(
            self,id=-1,parent=None,title='',pos=pos,
            style = wx.STAY_ON_TOP | wx.SIMPLE_BORDER | wx.FRAME_NO_TASKBAR
        )

Then I create the frame this way:

pos = widget.ClientToScreen(0,0)
frm = MyFrame(pos)
frm.Show(True)

The problem: under windows, it works perfectly. The MyFrame instance appears in the top left corner of the widget. Under FreeBSD, the frame appears at random locations on the screen. Could it be because of the window manager?

Environment: OS: FreeBSD 5.4, X server: XOrg, Window manager: FluxBox, wxPython: 2.6.1, Python: 2.4.1

   Les

pos = widget.ClientToScreen(0,0)
frm = MyFrame(pos)
frm.Show(True)

The problem: under windows, it works perfectly. The MyFrame instance appears in the top left corner of the widget. Under FreeBSD, the frame appears at random locations on the screen. Could it be because of the window manager?

I went forward. The problem is not with ClientToScreen. This code:

MyFrame((250,250))

will also place my frame at random locations, under FreeBSD. I also figured out that this problem does not occur with the first frame. The first frame of the application (the 'main frame') is always placed correctly. But other parentless frames are messed up.

  Les

The problem: under windows, it works perfectly. The MyFrame instance appears in the top left corner of the widget. Under FreeBSD, the frame appears at random locations on the screen. Could it be because of the window manager?

I still don't know the good solution for this, but I could overcome this problem. I have created a timer that will re-set the frame position with wx.Frame.Move. It tries to re-set the position 100 times over 1 second. It seems to be working on GTK and Windows too, but it is very very ugly. :frowning:

Andrea, I tried your BaloonTips on GTK and it had the same problem. Do you use it on Windows only? You might want to address this problem too.

  Les