From: YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
To: "Jan Djärv" <jan.h.d@swipnet.se>
Cc: emacs-devel@gnu.org
Subject: Re: x-display-pixel-width/height inconsistency
Date: Thu, 02 May 2013 13:09:45 +0900 [thread overview]
Message-ID: <wlli7yrpiu.wl%mituharu@math.s.chiba-u.ac.jp> (raw)
In-Reply-To: <02B98FCD-71DB-47EC-B58B-41A2539FF61A@swipnet.se>
>>>>> On Wed, 1 May 2013 11:58:15 +0200, Jan Djärv <jan.h.d@swipnet.se> said:
>> This guess was not right. GDK rejects XRandR in Xquartz and uses
>> Xinerama instead. The distinction is made by comparing the output
>> name with "default".
>>
>> in init_randr13 (gdkscreen-x11.c):
>>
>> XRROutputInfo *output =
>> XRRGetOutputInfo (dpy, resources, resources->outputs[i]);
>>
>> /* Non RandR1.2 X driver have output name "default" */
>> randr12_compat |= !g_strcmp0 (output->name, "default");
> I did not know that. I've made adjustments for this in the patch, tested on XQuartz which indeed does not seem to have a 1.2-compatible driver. Strange that.
> I also added name and source (the latter mostly for debugging) to the Lisp structure returned.
> I also check for XRRGetScreenResourcesCurrent in configure as that is a 1.3 version function.
I tried the patch for Xaw build with XQuartz 2.7.4 on OSX 10.8, and it
hit the following assertion failure:
src/xfns.c:3989: Emacs fatal error: assertion failed: 0 <= (i) && (i) < ASIZE (monitor_frames)
3981 FOR_EACH_FRAME (rest, frame)
3982 {
3983 struct frame *f = XFRAME (frame);
3984
3985 if (FRAME_X_P (f) && FRAME_X_DISPLAY_INFO (f) == dpyinfo
3986 && !EQ (frame, tip_frame))
3987 {
3988 i = x_get_monitor_for_frame (f, monitors, n_monitors);
3989 ASET (monitor_frames, i, Fcons (frame, AREF (monitor_frames, i)));
3990 }
3991 }
This is because XRRGetScreenResourcesCurrent returns the following
bogus value where the `noutput' member is 0.
(gdb) p *resources
$5 = {
timestamp = 1653376136,
configTimestamp = 1653376136,
ncrtc = 0,
crtcs = 0x101457270,
noutput = 0,
outputs = 0x101457270,
nmode = 0,
modes = 0x101457270
}
GDK also uses XRRGetScreenResourcesCurrent. So, in the GDK code, what
actually distinguished XRandR in XQuartz from the other
implementationswas not the comparison of the output name with
"default", but the positiveness of the `noutput' member.
static gboolean
init_randr13 (GdkScreen *screen)
{
:
monitors = g_array_sized_new (FALSE, TRUE, sizeof (GdkX11Monitor),
resources->noutput);
:
x11_screen->n_monitors = monitors->len;
:
return x11_screen->n_monitors > 0;
}
YAMAMOTO Mitsuharu
mituharu@math.s.chiba-u.ac.jp
next prev parent reply other threads:[~2013-05-02 4:09 UTC|newest]
Thread overview: 97+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-21 0:58 x-display-pixel-width/height inconsistency grischka
2013-03-21 1:05 ` YAMAMOTO Mitsuharu
2013-03-21 1:09 ` grischka
2013-03-21 1:44 ` YAMAMOTO Mitsuharu
2013-03-21 23:29 ` YAMAMOTO Mitsuharu
2013-03-22 10:33 ` Eli Zaretskii
2013-03-23 0:32 ` YAMAMOTO Mitsuharu
2013-03-23 6:15 ` Eli Zaretskii
2013-03-23 13:35 ` Jan Djärv
2013-03-23 23:58 ` YAMAMOTO Mitsuharu
2013-03-24 3:53 ` Eli Zaretskii
2013-03-24 4:36 ` YAMAMOTO Mitsuharu
2013-03-24 16:19 ` Eli Zaretskii
2013-04-27 5:13 ` YAMAMOTO Mitsuharu
2013-04-27 8:04 ` Jan Djärv
2013-04-28 1:40 ` YAMAMOTO Mitsuharu
2013-04-28 17:16 ` Jan D.
2013-04-29 2:27 ` YAMAMOTO Mitsuharu
2013-04-29 2:42 ` YAMAMOTO Mitsuharu
2013-05-01 9:58 ` Jan Djärv
2013-05-02 4:09 ` YAMAMOTO Mitsuharu [this message]
2013-05-06 1:04 ` YAMAMOTO Mitsuharu
2013-05-06 1:55 ` Stefan Monnier
2013-05-06 6:15 ` YAMAMOTO Mitsuharu
2013-05-06 13:37 ` Stefan Monnier
2013-05-08 10:46 ` YAMAMOTO Mitsuharu
2013-05-08 11:24 ` YAMAMOTO Mitsuharu
2013-05-08 17:41 ` Eli Zaretskii
2013-05-09 0:09 ` YAMAMOTO Mitsuharu
2013-05-09 1:52 ` Glenn Morris
2013-05-09 3:19 ` YAMAMOTO Mitsuharu
2013-05-09 6:27 ` Glenn Morris
2013-05-09 2:53 ` Eli Zaretskii
2013-05-09 8:14 ` Jan Djärv
2013-05-09 8:43 ` YAMAMOTO Mitsuharu
2013-05-09 15:18 ` Jan Djärv
2013-05-09 20:03 ` Eli Zaretskii
2013-05-09 21:28 ` Stefan Monnier
2013-05-10 6:00 ` YAMAMOTO Mitsuharu
2013-05-10 6:05 ` YAMAMOTO Mitsuharu
2013-05-10 7:06 ` Eli Zaretskii
2013-05-10 7:47 ` YAMAMOTO Mitsuharu
2013-05-10 8:41 ` Eli Zaretskii
2013-05-10 8:55 ` YAMAMOTO Mitsuharu
2013-05-10 9:15 ` Eli Zaretskii
2013-05-10 9:27 ` YAMAMOTO Mitsuharu
2013-05-14 10:39 ` YAMAMOTO Mitsuharu
2013-07-01 6:49 ` martin rudalics
2013-07-02 1:30 ` YAMAMOTO Mitsuharu
2013-07-02 10:38 ` martin rudalics
2013-07-02 10:53 ` Juanma Barranquero
2013-07-02 13:11 ` martin rudalics
2013-07-02 14:05 ` Juanma Barranquero
2013-07-03 9:27 ` martin rudalics
2013-07-03 10:49 ` Juanma Barranquero
2013-07-03 12:44 ` martin rudalics
2013-07-03 13:43 ` Juanma Barranquero
2013-07-04 9:34 ` martin rudalics
[not found] ` <5987E3>
2013-07-04 22:32 ` Juanma Barranquero
2013-07-05 7:44 ` martin rudalics
2013-07-05 9:32 ` Juanma Barranquero
2013-07-05 9:34 ` Jan Djärv
2013-07-05 9:41 ` Juanma Barranquero
2013-07-05 11:25 ` Jan Djärv
2013-07-05 11:56 ` Juanma Barranquero
2013-07-05 12:12 ` Jan Djärv
2013-07-05 12:16 ` Juanma Barranquero
2013-07-05 15:30 ` Drew Adams
2013-07-05 15:53 ` Juanma Barranquero
2013-07-05 16:58 ` Drew Adams
2013-07-06 14:48 ` Juanma Barranquero
2013-07-06 19:25 ` Drew Adams
2013-07-05 15:27 ` Drew Adams
2013-07-04 10:28 ` YAMAMOTO Mitsuharu
2013-05-10 7:44 ` Jan Djärv
2013-04-28 1:48 ` YAMAMOTO Mitsuharu
-- strict thread matches above, loose matches on Subject: below --
2013-03-19 0:39 YAMAMOTO Mitsuharu
2013-03-19 1:34 ` Leo Liu
2013-03-19 4:54 ` Xue Fuqiao
2013-03-19 15:41 ` Drew Adams
2013-03-19 15:51 ` Leo Liu
2013-03-19 15:58 ` Drew Adams
2013-03-20 0:55 ` Leo Liu
2013-03-19 22:25 ` YAMAMOTO Mitsuharu
2013-03-19 23:15 ` Dmitry Gutov
2013-03-19 23:52 ` YAMAMOTO Mitsuharu
2013-03-20 0:12 ` Dmitry Gutov
2013-03-20 0:20 ` YAMAMOTO Mitsuharu
2013-03-20 1:41 ` Dmitry Gutov
2013-03-20 3:58 ` YAMAMOTO Mitsuharu
2013-03-20 14:05 ` Dmitry Gutov
2013-03-20 23:28 ` YAMAMOTO Mitsuharu
2013-03-21 1:27 ` Dmitry Gutov
2013-03-21 1:51 ` YAMAMOTO Mitsuharu
2013-03-21 2:43 ` Dmitry Gutov
2013-03-21 3:47 ` YAMAMOTO Mitsuharu
2013-03-21 4:22 ` YAMAMOTO Mitsuharu
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=wlli7yrpiu.wl%mituharu@math.s.chiba-u.ac.jp \
--to=mituharu@math.s.chiba-u.ac.jp \
--cc=emacs-devel@gnu.org \
--cc=jan.h.d@swipnet.se \
/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).