emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Debugging window positioning under X11


From: Jan Djärv
Subject: Re: Debugging window positioning under X11
Date: Fri, 21 Jan 2011 07:46:19 +0100
User-agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; sv-SE; rv:1.9.2.13) Gecko/20101207 Thunderbird/3.1.7



Stefan Monnier skrev 2011-01-20 22.45:
Could someone give me some hints where I should try and dig in order to
solve some window-positioning problems I have?

- seems to only appear with the athena/lucid toolkit, not with gtk.
- does not appear with metacity, but does appear with my venerable ctwm.
- appears both with the emacs-23 and the trunk code.  An old Emacs-22
   I have around does not exhibit this problem.

The problem:
- emacs -Q -g 80x40+0-0
   does not show up where I expect it: the frame is a lot lower
   than planned: I barely get to see the top half.  With gtk it's either
   a bit lower or a bit higher than planned, depending on whether
   I activate tool-bar-mode, but it's not nearly as wrong as with athena/lucid.
- with 80x30+0-0 I barely see the top of the frame.
- with 80x29+0-0 (or anything below 30), it gets placed at +0+0,
   probably because ctwm tells itself "wow, it's outside the screen,
   let's ignore the specified geometry".
- looking at the x-dimension position of the frame, it looks like the
   distance between the top and the frame's position is about twice what
   it should be (e.g. when the -0 corresponds to +197 the frame's
   placed at +450, when the -0 corresponds to +347, it ends up at
   +750 instead, and when -0 corresponds to +497 it ends up at +1034).
- after moving my minibuffer frame to where I like it to be, the frame
   params still say (top . 0) (left . 0).
- when I run emacsclient, which opens a new frame, the minibuffer frame
   jumps back to +0+0.

Does this ring a bell for someone?
Any hint where I should start digging?

x_figure_window_size calculates top/left.
x_window converts it to a geometry string and sets XtNgeometry.

As for "params still say (top . 0) (left . 0)", x_real_positions calculates that and shall be called on ConfigureNotify. Either x_real_positions does the wrong thing or ctwm doesn't send ConfigureNotify on move.

        Jan D.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]