unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* display-mm-width return value off on Windows
@ 2006-07-06 17:50 Ralf Angeli
  2006-07-06 21:08 ` Eli Zaretskii
                   ` (2 more replies)
  0 siblings, 3 replies; 78+ messages in thread
From: Ralf Angeli @ 2006-07-06 17:50 UTC (permalink / raw)


[-- Attachment #1: Type: text/plain, Size: 1080 bytes --]

On Windows the return values of `display-mm-width' and
`display-mm-height' don't really reflect the screen width and height
in millimeters.  I attached a patch which yields more realistic
results.

In my case:

                   display-mm-*   display-mm-*
        Real size  without patch  with patch
Width   285mm      370            279
Height  215mm      277            203

For a preview-latex user who originally reported the problem:

                   display-mm-*   display-mm-*
        Real size  without patch  with patch
Width   330mm      320            305
Height  207mm      240            203

The original report described that images generated by preview-latex
(which uses `display-mm-{width,height}' for that matter) are distorted
horizontally (see bug report at
<URL:http://permalink.gmane.org/gmane.emacs.auctex.bugs/673>).  In my
case these images were too small compared to the font size (see bug
report with screenshot at
<URL:http://permalink.gmane.org/gmane.emacs.auctex.bugs/449>).  With
the patch applied both of these problems get better.

-- 
Ralf

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-patch, Size: 1257 bytes --]

Index: w32fns.c
===================================================================
RCS file: /sources/emacs/emacs/src/w32fns.c,v
retrieving revision 1.271
diff -c -r1.271 w32fns.c
--- w32fns.c	30 Jun 2006 13:40:21 -0000	1.271
+++ w32fns.c	6 Jul 2006 17:47:53 -0000
@@ -6502,15 +6502,16 @@
 {
   struct w32_display_info *dpyinfo = check_x_display_info (display);
   HDC hdc;
-  int cap;
+  int height;
 
   hdc = GetDC (dpyinfo->root_window);
 
-  cap = GetDeviceCaps (hdc, VERTSIZE);
+  height = round (GetDeviceCaps (hdc, VERTRES)
+		  / GetDeviceCaps (hdc, LOGPIXELSY) * 25.4);
 
   ReleaseDC (dpyinfo->root_window, hdc);
 
-  return make_number (cap);
+  return make_number (height);
 }
 
 DEFUN ("x-display-mm-width", Fx_display_mm_width, Sx_display_mm_width, 0, 1, 0,
@@ -6524,15 +6525,16 @@
   struct w32_display_info *dpyinfo = check_x_display_info (display);
 
   HDC hdc;
-  int cap;
+  int width;
 
   hdc = GetDC (dpyinfo->root_window);
 
-  cap = GetDeviceCaps (hdc, HORZSIZE);
+  width = round (GetDeviceCaps (hdc, HORZRES)
+		 / GetDeviceCaps (hdc, LOGPIXELSX) * 25.4);
 
   ReleaseDC (dpyinfo->root_window, hdc);
 
-  return make_number (cap);
+  return make_number (width);
 }
 
 DEFUN ("x-display-backing-store", Fx_display_backing_store,

[-- Attachment #3: Type: text/plain, Size: 142 bytes --]

_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-devel

^ permalink raw reply	[flat|nested] 78+ messages in thread
* Re: display-mm-width return value off on Windows
@ 2006-07-14 23:55 Robert J. Chassell
  0 siblings, 0 replies; 78+ messages in thread
From: Robert J. Chassell @ 2006-07-14 23:55 UTC (permalink / raw)


    ... in other cases it may be separate displays but with a single
    keyboard, now whether that means a single (Emacs) terminal or not,
    I don't know

In 1994, RMS wrote `make-frame-on-display', which enables you to
connect to another X display.  Frames in the different displays can
show windows with the same or different buffers.  I have used the
command.  It works fine.

The command is documented in the Emacs Manual,  (emacs)Multiple Displays

However, I do not know anything about Microsoft operating systems.
They do not run X to create windows.  Maybe they lack the capability
or maybe they do have it and the Emacs Manual is wrong.  (The email
message did not say whether it was about one of the Microsoft
operating systems or an X operating system or all.  The documentation
specifically refers to X.)

-- 
    Robert J. Chassell                         
    bob@rattlesnake.com                         GnuPG Key ID: 004B4AC8
    http://www.rattlesnake.com                  http://www.teak.cc

^ permalink raw reply	[flat|nested] 78+ messages in thread

end of thread, other threads:[~2006-08-25 22:28 UTC | newest]

Thread overview: 78+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-07-06 17:50 display-mm-width return value off on Windows Ralf Angeli
2006-07-06 21:08 ` Eli Zaretskii
2006-07-06 21:25   ` David Kastrup
2006-07-07  5:56   ` Ralf Angeli
2006-07-07 10:18     ` Eli Zaretskii
2006-07-07 10:22     ` Eli Zaretskii
2006-07-07 12:05       ` Lennart Borgman
2006-07-07 16:54       ` Ralf Angeli
2006-07-08 12:58         ` Eli Zaretskii
2006-07-08 13:23           ` Lennart Borgman
2006-07-08 14:42             ` Eli Zaretskii
2006-07-08 21:27             ` Jason Rumney
2006-07-08 22:23               ` David Kastrup
2006-07-08 23:03                 ` Jason Rumney
2006-07-09  7:36                   ` Ralf Angeli
2006-07-09  8:03                     ` David Kastrup
2006-07-09  7:41               ` Ralf Angeli
2006-07-09  8:05                 ` David Kastrup
2006-07-09 18:37                 ` Eli Zaretskii
2006-07-10 10:30                   ` Kim F. Storm
2006-07-10 10:45                     ` David Kastrup
2006-07-10 13:29                       ` Jason Rumney
2006-07-10 14:19                         ` David Kastrup
2006-07-10 21:28                           ` Jason Rumney
2006-07-10 22:05                             ` David Kastrup
2006-07-10 20:12                     ` Eli Zaretskii
2006-07-10 23:17                       ` Kim F. Storm
2006-07-10 23:22                         ` David Kastrup
2006-07-11 18:43                   ` Ralf Angeli
2006-07-12 13:07                     ` Kim F. Storm
2006-07-12 19:22                     ` Richard Stallman
2006-07-13 19:38                       ` Ralf Angeli
2006-07-13 19:59                         ` David Kastrup
2006-07-14 17:03                           ` Richard Stallman
2006-07-14 18:16                           ` Stefan Monnier
2006-07-14 18:33                             ` David Kastrup
2006-07-14 21:37                               ` Stefan Monnier
2006-07-15 22:06                                 ` Ralf Angeli
2006-07-16 17:04                                   ` Ralf Angeli
2006-07-14 17:03                         ` Richard Stallman
2006-07-09  9:31               ` Jan Djärv
2006-07-08 17:40           ` Robert J. Chassell
2006-07-06 22:09 ` Jason Rumney
2006-07-06 22:37   ` Lennart Borgman
2006-07-07  5:50   ` Ralf Angeli
2006-07-07  9:09     ` Eli Zaretskii
2006-08-05 14:50 ` Ralf Angeli
2006-08-19 15:15   ` Ralf Angeli
2006-08-19 15:37     ` David Kastrup
2006-08-19 16:31     ` Jason Rumney
2006-08-19 17:54       ` Ralf Angeli
2006-08-19 22:34         ` Jason Rumney
2006-08-20  8:19           ` Ralf Angeli
2006-08-21  9:06             ` Eli Zaretskii
2006-08-21  9:17               ` Lennart Borgman
2006-08-21 10:22                 ` Eli Zaretskii
2006-08-21 10:36                   ` David Kastrup
2006-08-21 11:45                     ` Jason Rumney
2006-08-21 11:55                       ` David Kastrup
2006-08-21 10:43                   ` Lennart Borgman
2006-08-21 14:07                     ` Eli Zaretskii
2006-08-21 15:03                       ` Lennart Borgman
2006-08-21 19:22               ` Ralf Angeli
2006-08-21 23:10                 ` Eli Zaretskii
2006-08-22  5:57                   ` Ralf Angeli
2006-08-22 19:16                     ` Ralf Angeli
2006-08-22 21:38                       ` Kim F. Storm
2006-08-23 18:31                         ` Ralf Angeli
2006-08-23 22:44                           ` Kim F. Storm
2006-08-24 16:14                             ` Ralf Angeli
2006-08-24 20:18                               ` Kim F. Storm
2006-08-25 16:38                                 ` Ralf Angeli
2006-08-25 22:28                                   ` Kim F. Storm
2006-08-21 23:25                 ` Jason Rumney
2006-08-22  5:51                   ` Ralf Angeli
2006-08-22  7:46                     ` Jason Rumney
2006-08-22 19:24                       ` Ralf Angeli
  -- strict thread matches above, loose matches on Subject: below --
2006-07-14 23:55 Robert J. Chassell

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).