From: Andreas Politz <politza@hochschule-trier.de>
To: martin rudalics <rudalics@gmx.at>
Cc: 5721@debbugs.gnu.org
Subject: bug#5721: Feature request: Function that returns absolute coordinates
Date: Sun, 29 Sep 2013 22:25:54 +0200 [thread overview]
Message-ID: <87y56fs7cd.fsf@hochschule-trier.de> (raw)
In-Reply-To: <5248759A.9010604@gmx.at> (martin rudalics's message of "Sun, 29 Sep 2013 20:46:50 +0200")
I may be badly confused, but here is how I understand this. We have two
Windows (which may be the same, depending on tool-kit) FRAME_X_WINDOW I
and FRAME_OUTER_WINDOW O . Both display some widget and I is a child of
O. The fn x_real_positions (usually) takes O and traverses the tree up
to the last Window before the root window.
+------
| Root window
+----
| T : The WM TOP window
| +----
| | X: Some other WM window, border, title, whatever
| +------
| | O : FRAME_OUTER_WINDOW
| +--------
| | I : FRAME_X_WINDOW
Then it computes I - T as [xy]_pixels_diff and it doesn't matter what
the WM displays in T or X or if these windows even exist.
I suppose with GTK the Window I represents the innermost text widget,
i.e the Emacs frame-root-window. That would explain, why
[xy]_pixels_diff already seem to contain internal-border-width, the
toolbar (left + top), menu-bar etc.
From this there are two questions: a) Does
T = (frame->top_left, frame->top_pos)
always hold, and b) what does I stand for (e.g. is the menu-bar included
or not etc.) ? If a) is true and b) can be known, as well as the
differences to the edit area (which seem to be zero for GTK), we are
good.
Maybe a different approach would be to receive X11 events for Window I
and go from there ?
martin rudalics <rudalics@gmx.at> writes:
> How to you establish that a value is "correct"?
I display a tool-tip at the position of window-absolute-pixel-edges and
look whether it displays at the right place, while changing the
variables (internal-border-width, etc.).
-ap
next prev parent reply other threads:[~2013-09-29 20:25 UTC|newest]
Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-15 14:33 bug#5721: Feature request: Function that returns absolute coordinates IRIE Shinsuke
2010-03-30 17:50 ` Jan Djärv
2010-05-31 10:28 ` IRIE Shinsuke
2010-06-01 1:16 ` YAMAMOTO Mitsuharu
2010-07-02 2:10 ` YAMAMOTO Mitsuharu
2010-07-02 7:06 ` Jan Djärv
2010-07-02 9:15 ` YAMAMOTO Mitsuharu
2010-07-14 15:22 ` Jan Djärv
2010-07-15 0:17 ` YAMAMOTO Mitsuharu
2010-07-15 6:07 ` Jan Djärv
2010-07-15 6:49 ` YAMAMOTO Mitsuharu
2010-07-15 7:50 ` Jan Djärv
2010-07-15 7:59 ` YAMAMOTO Mitsuharu
2010-07-15 8:06 ` Jan Djärv
2010-07-15 8:18 ` YAMAMOTO Mitsuharu
2010-07-15 8:35 ` Jan Djärv
2010-07-15 8:44 ` YAMAMOTO Mitsuharu
2010-07-15 8:59 ` Jan Djärv
2010-07-15 9:27 ` YAMAMOTO Mitsuharu
2010-07-15 9:35 ` Jan Djärv
2010-07-15 9:38 ` YAMAMOTO Mitsuharu
2010-07-15 10:32 ` Jan Djärv
2010-07-16 0:25 ` YAMAMOTO Mitsuharu
2010-07-16 6:39 ` Jan Djärv
2010-07-16 9:14 ` YAMAMOTO Mitsuharu
2010-07-16 12:20 ` Jan Djärv
2010-07-15 9:57 ` YAMAMOTO Mitsuharu
2010-07-15 10:56 ` Jan Djärv
2010-07-16 0:35 ` YAMAMOTO Mitsuharu
2010-07-16 6:38 ` Jan Djärv
2010-07-16 8:37 ` YAMAMOTO Mitsuharu
2010-07-16 8:49 ` Jan Djärv
2010-07-16 8:58 ` YAMAMOTO Mitsuharu
2010-07-16 12:19 ` Jan Djärv
2010-07-17 0:30 ` YAMAMOTO Mitsuharu
2010-07-17 5:32 ` YAMAMOTO Mitsuharu
2010-07-17 8:37 ` Jan Djärv
2010-07-17 8:42 ` YAMAMOTO Mitsuharu
2010-07-01 12:37 ` Jan Djärv
2010-07-01 16:52 ` bug#5721: Feature request: Function that returnsabsolute coordinates Drew Adams
2010-07-01 17:20 ` Jan Djärv
2010-07-01 17:27 ` Drew Adams
2010-07-01 18:26 ` Jan Djärv
2010-07-01 18:52 ` Drew Adams
2010-07-01 20:08 ` Juanma Barranquero
2010-07-01 22:05 ` Lennart Borgman
[not found] ` <87r5jn148f.wl%irieshinsuke@yahoo.co.jp>
2010-07-01 18:14 ` bug#5721: Feature request: Function that returns absolute coordinates Jan Djärv
2010-07-02 0:33 ` MON KEY
2013-09-28 20:06 ` Andreas Politz
2013-09-29 10:26 ` martin rudalics
2013-09-29 15:41 ` Andreas Politz
2013-09-29 16:02 ` Jan Djärv
2013-09-29 16:05 ` Jan Djärv
2013-09-29 17:21 ` Andreas Politz
2013-09-29 18:09 ` Jan Djärv
2013-09-29 18:47 ` martin rudalics
2013-09-29 18:47 ` martin rudalics
2013-09-29 20:10 ` Jan Djärv
2013-10-03 17:25 ` Andreas Politz
2013-10-03 20:25 ` Eli Zaretskii
2013-10-03 21:09 ` Andreas Politz
2013-10-04 6:47 ` Eli Zaretskii
2013-10-04 8:28 ` Andreas Politz
2013-10-04 8:55 ` Eli Zaretskii
2013-10-04 10:33 ` Andreas Politz
2013-09-29 18:46 ` martin rudalics
2013-09-29 20:25 ` Andreas Politz [this message]
2013-09-29 15:59 ` Jan Djärv
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87y56fs7cd.fsf@hochschule-trier.de \
--to=politza@hochschule-trier.de \
--cc=5721@debbugs.gnu.org \
--cc=rudalics@gmx.at \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).