Mercurial > emacs
annotate admin/alloc-colors.c @ 58195:c12b583f54b9
Fixed these problems:
** Clicking on partially visible lines fails
From: David Kastrup <dak@gnu.org>
Date: 27 Apr 2004 16:42:58 +0200
I had gnus display a mouse-highlighted line (a URL from browse-url)
partially at the bottom of its window. If I click with middle mouse
key on it, the window gets recentered while I hold the mouse key
pressed. If I release it, the window returns into its old position
(cursor in top row) and nothing happens, presumably because the click
was not registered on the line itself, but on the magically
recentered version.
That is a nuisance. Recentering of even partially visible click
targets should only happen if window-point moves there, but not at
the time of the click. From the moment I hold down a key until it
gets released, the displayed window portion should not change, with
the sole exception of scrolling when dragging at the edge of the
screen.
(progn
(setq line-spacing 4)
(dotimes (i (window-height))
(insert "\n" (int-to-string i)))
(forward-line -2)
(recenter -1))
** Can't drag modeline when mouse-autoselect-window is set
From: Klaus Zeitler <kzeitler@lucent.com>
Date: Mon, 11 Oct 2004 11:14:49 +0200
1. start emacs -q --no-site-file
2. set variable mouse-autoselect-window to t
3. split-window-vertically
now I can drag the modeline only upwards but not downwards
author | Kim F. Storm <storm@cua.dk> |
---|---|
date | Sat, 13 Nov 2004 01:40:36 +0000 |
parents | 695cf19ef79e |
children | c53a9463c31a 375f2633d815 |
rev | line source |
---|---|
39991 | 1 /* Allocate X colors. Used for testing with dense colormaps. |
2 Copyright (C) 2001 Free Software Foundation, Inc. | |
3 | |
4 This file is part of GNU Emacs. | |
5 | |
6 GNU Emacs is free software; you can redistribute it and/or modify | |
7 it under the terms of the GNU General Public License as published by | |
8 the Free Software Foundation; either version 2, or (at your option) | |
9 any later version. | |
10 | |
11 GNU Emacs is distributed in the hope that it will be useful, | |
12 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 GNU General Public License for more details. | |
15 | |
16 You should have received a copy of the GNU General Public License | |
17 along with GNU Emacs; see the file COPYING. If not, write to | |
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
19 Boston, MA 02111-1307, USA. */ | |
20 | |
21 #include <X11/Xlib.h> | |
22 #include <stdio.h> | |
23 #include <stdlib.h> | |
24 #include <stdarg.h> | |
25 #include <unistd.h> | |
26 | |
27 void | |
28 fatal (const char *fmt, ...) | |
29 { | |
30 va_list ap; | |
31 | |
32 va_start (ap, fmt); | |
33 vfprintf (stderr, fmt, ap); | |
34 fputc ('\n', stderr); | |
35 va_end (ap); | |
36 exit (1); | |
37 } | |
38 | |
39 void | |
40 usage (const char *progname) | |
41 { | |
42 fprintf (stderr, "Usage %s options\n", progname); | |
43 fprintf (stderr, "-n NCOLORS allcoate NCOLORS colors\n"); | |
44 exit (1); | |
45 } | |
46 | |
47 int | |
48 main (int argc, char **argv) | |
49 { | |
50 Display *dpy; | |
51 int opt, ncolors = 0, i; | |
52 XColor *allocated; | |
53 int nallocated; | |
54 XColor color; | |
55 Colormap cmap; | |
56 | |
57 while ((opt = getopt (argc, argv, "n:")) != EOF) | |
58 switch (opt) | |
59 { | |
60 case 'n': | |
61 ncolors = atoi (optarg); | |
62 break; | |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
39991
diff
changeset
|
63 |
39991 | 64 case '?': |
65 usage (argv[0]); | |
66 } | |
67 | |
68 if (ncolors == 0) | |
69 usage (argv[0]); | |
70 | |
71 dpy = XOpenDisplay (""); | |
72 if (dpy == NULL) | |
73 fatal ("Cannot open display"); | |
74 cmap = DefaultColormap (dpy, 0); | |
75 | |
76 allocated = malloc (ncolors * sizeof *allocated); | |
77 nallocated = 0; | |
78 memset (&color, 0, sizeof color); | |
79 | |
80 while (nallocated < ncolors | |
81 && color.red < 65536) | |
82 { | |
83 allocated[nallocated] = color; | |
84 if (XAllocColor (dpy, cmap, &allocated[nallocated])) | |
85 { | |
86 for (i = 0; i < nallocated; ++i) | |
87 if (allocated[i].red == allocated[nallocated].red | |
88 && allocated[i].green == allocated[nallocated].green | |
89 && allocated[i].blue == allocated[nallocated].blue) | |
90 break; | |
91 | |
92 if (i == nallocated) | |
93 { | |
94 printf ("allocated %d/%d/%d\n", | |
95 allocated[nallocated].red, | |
96 allocated[nallocated].green, | |
97 allocated[nallocated].blue); | |
98 ++nallocated; | |
99 } | |
100 } | |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
39991
diff
changeset
|
101 |
39991 | 102 ++color.red; |
103 ++color.green; | |
104 ++color.blue; | |
105 } | |
106 | |
107 fprintf (stderr, "Waiting. Press ^C to stop.\n"); | |
108 while (1) | |
109 sleep (10); | |
110 | |
111 XCloseDisplay (dpy); | |
112 return 0; | |
113 } | |
52401 | 114 |
115 /* arch-tag: f1be90ac-5b70-43c2-835e-5a6432a25145 | |
116 (do not change this comment) */ |