unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: mar@i.am (Marco Munari 16447.64651)
Cc: "Kim F. Storm" <storm@cua.dk>
Subject: Re: More enhancements to fringe bitmaps.
Date: Mon, 08 Mar 2004 14:48:12 +0100	[thread overview]
Message-ID: <ywmr7w3cuw3.fsf@fast.mm.homeunix.org> (raw)
In-Reply-To: m3ad3tdq0z.fsf@kfs-l.imdomain.dk

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

dear developers, i use emacs and sometime i touch the code to improve it
by my ideas,

i like best use of topological visual meaning, so

i'm introducing new fringe *active* basic face,
(FRINGE_ACTIVE_FACE_ID as new and complement of FRINGE_FACE_ID)
to permit more hilighting of current selected window, because
mod_line_inactive_face_id and mode_line_face_id highlight the selected
emacs window only in the bottom (of the void space) below the buffer.

[fresh cvs patch is attached in two formats to the end of this mail]
modification described above involves following changes:

faces.el: added face fringe-active
dispextern.h: added basic face FRINGE_ACTIVE_FACE_ID
              added macro CURRENT_FRINGE_FACE_ID(W): returns the
                    FRINGE*_FACE_ID depending on window (selected/unselected)
window.c: other-window call Fselect_window only if selected_window is
          effectively a new one

it works, but must be done in a better way:
xfaces.c: added lisp object Qfringe_active
          surprise because new call to realize_named_face
          with Qfringe_active parameter
          returns error (so call is introduced and commented)
fringe.c: [confusion]  left|right (_user)*1 _fringe_face_id  uniformed
          to use CURRENT_FRINGE_FACE_ID(w) (depending on selected_window),
          was really needed the distinction(?)

actually the hilight of fringe bars works as expected after window split
and every recenter (c-l) (because ``recenter'' do a full frame redraw);

i'd like to redraw the fringe face of selected and unselected windows only
in the right time:

i tkink ``other-window'' function -in my limited emacs knowledge p.o.view-,
should have this effect:
- reddaw selected_window fringe bars (i think seting
  ?...->redraw_fringe_bitmaps_p=1 is needed, related to selected_window)
- after ``other-window`` determine the new window, prepare to redraw also it.
and no need to redraw others (unchanged) windows.

i think similar redraw heppen when mouse select a different window (area),
are there other possible cases?


the included patch contains even, for personal preference, the
following changes:   (i like tiny use of visual space)
- fringe.c: i change some symbol to -my opinion- more appropriate
  (smaller and intuitive) bitmaps, and better relatively positioned.
  Notice: I create and use this bitmaps since fringe functionality was
          introduced in xdisp.c, in that time, it was not extensible.
- xfns.c: modified for tiny scroll bar.
- size reduction of emacs fringe (custom 'fringe-mode half) [my preference]
- etc/TODO: "fringe bitmaps user configurable" DONE by Kim,
  (no need to be in TODO,.. or someone plan even more configurable?)
- ibuffer.el desc long lines implies big column values, not "long columns"!

Saluti,
Marco Munari <mar i.am>
-- 
x(t),y(t) = th(3t-34.5)*e^[-(3t-34.5)^2]/2-4.3+e^(-1.8/t^2)/(.8*atg(t-
3)+2)(t-1.8)-.3th(5t-42.5),(1.4e^[-(3t-34.5)^2]+1-sgn[|t-8.5|-.5]*1.5*
|sin(pi*t)|^[2e^(-(t-11.5)^2)+.5+e^(-(.6t-3.3)^2)])/(.5+t)+1  ; 0<t<14


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: fringe d-patch to currente emacs cvs --]
[-- Type: text/x-patch, Size: 5840 bytes --]

Index: etc/TODO
===================================================================
RCS file: /cvsroot/emacs/emacs/etc/TODO,v
retrieving revision 1.61
diff -r1.61 TODO
71,73d70
< * Make fringe bitmaps user configurable.  Maybe add ability to add
<   additional bitmaps to the fringe from lisp.
< 
Index: lisp/faces.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/faces.el,v
retrieving revision 1.282
diff -r1.282 faces.el
1927a1928,1940
> (defface fringe-active
>   '((((class color) (background light))
>      :background "grey75")
>     (((class color) (background dark))
>      :background "grey30")
>     (t
>      :background "light gray"))
>   "Basic face for the fringes of active input emacs windows."
>   :version "21.4"
>   :group 'frames
>   :group 'basic-faces)
> 
> 
Index: lisp/ibuffer.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/ibuffer.el,v
retrieving revision 1.57
diff -r1.57 ibuffer.el
202c202
<   "The string to use for eliding long columns."
---
>   "The string to use for eliding long lines."
Index: src/dispextern.h
===================================================================
RCS file: /cvsroot/emacs/emacs/src/dispextern.h,v
retrieving revision 1.165
diff -r1.165 dispextern.h
1167a1168,1174
> /* mar: Return the fringe mode relative to selected/unselected window */
> 
> #define CURRENT_FRINGE_FACE_ID(W)			\
> 	( ((W) == XWINDOW (selected_window))		\
> 	  ? FRINGE_ACTIVE_FACE_ID			\
> 	  : FRINGE_FACE_ID)
> 
1514a1522
>   FRINGE_ACTIVE_FACE_ID,
Index: src/fringe.c
===================================================================
RCS file: /cvsroot/emacs/emacs/src/fringe.c,v
retrieving revision 1.10
diff -r1.10 fringe.c
107,114c107,114
<   ...xx...
<   ..xx....
<   .xx.....
<   xxxxxx..
<   xxxxxx..
<   .xx.....
<   ..xx....
<   ...xx...
---
> - ..... ...
>   ..x.. ...
>   .x... ...
>   xxxxx ...
>   .x... ...
>   ..x.. ...
> - ..... ...
> - ..... ...
117c117
<    0x18, 0x30, 0x60, 0xfc, 0xfc, 0x60, 0x30, 0x18};
---
>   0x04, 0x08, 0x1f, 0x08, 0x04};
122,129c122,129
<   ...xx...
<   ....xx..
<   .....xx.
<   ..xxxxxx
<   ..xxxxxx
<   .....xx.
<   ....xx..
<   ...xx...
---
> - ........
>   ... ..x..
>   ... ...x.
>   ... xxxxx
>   ... ...x.
>   ... ..x..
> - ........
> - ........
132c132
<    0x18, 0x0c, 0x06, 0x3f, 0x3f, 0x06, 0x0c, 0x18};
---
>   0x04, 0x02, 0x1f, 0x02, 0x04};
166,173c166,173
<   ..xxxx..
<   ..xxxxx.
<   ......xx
<   ..x..xxx
<   ..xxxxxx
<   ..xxxxx.
<   ..xxxx..
<   ..xxxxx.
---
> - ........
> - ........
> - ........
>   .... xx.
>   .... ..x
>   .... x.x
>   .... xx.
>   .... xxx
176c176
<    0x3c, 0x3e, 0x03, 0x27, 0x3f, 0x3e, 0x3c, 0x3e};
---
>    0x06, 0x01, 0x05, 0x06, 0x07};
180,187c180,187
<   ..xxxx..
<   .xxxxx..
<   xx......
<   xxx..x..
<   xxxxxx..
<   .xxxxx..
<   ..xxxx..
<   .xxxxx..
---
>   .... .xx
>   .... x..
>   .... x.x
>   .... .xx
>   .... xxx
> - ........
> - ........
> - ........
190c190
<    0x3c, 0x7c, 0xc0, 0xe4, 0xfc, 0x7c, 0x3c, 0x7c};
---
>    0x03, 0x04, 0x05, 0x03, 0x07};
415a416
>   /*      bits, height,           width,period,   align   , dynamic*/
417,418c418,419
<   { FRBITS (left_arrow_bits),         8, 0, ALIGN_BITMAP_CENTER, 0 },
<   { FRBITS (right_arrow_bits),        8, 0, ALIGN_BITMAP_CENTER, 0 },
---
>   { FRBITS (left_arrow_bits),         5, 0, ALIGN_BITMAP_CENTER, 0 },
>   { FRBITS (right_arrow_bits),        5, 0, ALIGN_BITMAP_CENTER, 0 },
421,422c422,423
<   { FRBITS (continued_bits),          8, 0, ALIGN_BITMAP_CENTER, 0 },
<   { FRBITS (continuation_bits),       8, 0, ALIGN_BITMAP_CENTER, 0 },
---
>   { FRBITS (continued_bits),          3, 0, ALIGN_BITMAP_BOTTOM, 0 },
>   { FRBITS (continuation_bits),       3, 0, ALIGN_BITMAP_TOP,    0 },
485c486
<       face_id = row->left_fringe_face_id;
---
>       //mar:useless, reassign follow:  face_id = row->left_fringe_face_id;
490c491
<       face_id = row->right_fringe_face_id;
---
>       //mar:useless, reassign follow:  face_id = row->right_fringe_face_id;
492a494,495
>   face_id = CURRENT_FRINGE_FACE_ID(w);
> 
803c806
< 	  left_face_id = row->left_user_fringe_face_id;
---
> 	  left_face_id = CURRENT_FRINGE_FACE_ID(w);//row->left_user_fringe_face_id;
829c832
< 	  right_face_id = row->right_user_fringe_face_id;
---
> 	  right_face_id = CURRENT_FRINGE_FACE_ID(w);//row->right_user_fringe_face_id;
Index: src/window.c
===================================================================
RCS file: /cvsroot/emacs/emacs/src/window.c,v
retrieving revision 1.462
diff -r1.462 window.c
1778,1779c1778,1781
< 
<   Fselect_window (window, Qnil);
---
>   if (window != selected_window) {
>     //selected_window->circa row->redraw_fringe_bitmaps_p = 1;
>     Fselect_window (window, Qnil);
>   }
Index: src/xfaces.c
===================================================================
RCS file: /cvsroot/emacs/emacs/src/xfaces.c,v
retrieving revision 1.289
diff -r1.289 xfaces.c
325c325
< Lisp_Object Qdefault, Qtool_bar, Qregion, Qfringe;
---
> Lisp_Object Qdefault, Qtool_bar, Qregion, Qfringe, Qfringe_active;
6628a6629,6631
>       /* mar: i imagine the need of
> 	 realize_named_face (f, Qfringe_active, FRINGE_ACTIVE_FACE_ID);,
> 	 but returns error "emacs: Wrong type argument: symbolp, 0" */
7703a7707,7708
>   Qfringe = intern ("fringe-active");
>   staticpro (&Qfringe_active);
Index: src/xfns.c
===================================================================
RCS file: /cvsroot/emacs/emacs/src/xfns.c,v
retrieving revision 1.606
diff -r1.606 xfns.c
2134c2134
<   int width = 16 + 2 * VERTICAL_SCROLL_BAR_WIDTH_TRIM;
---
>   int width = 8 + 2 * VERTICAL_SCROLL_BAR_WIDTH_TRIM;
2140c2140
<   FRAME_CONFIG_SCROLL_BAR_COLS (f) = (14 + wid - 1) / wid;
---
>   FRAME_CONFIG_SCROLL_BAR_COLS (f) = (6 + wid - 1) / wid;

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: cvs/emacs$ patch -p1 mar_emacs_cvs.patch --]
[-- Type: text/x-patch, Size: 10199 bytes --]

Index: etc/TODO
===================================================================
RCS file: /cvsroot/emacs/emacs/etc/TODO,v
retrieving revision 1.61
diff -u -r1.61 TODO
--- etc/TODO	21 Nov 2003 18:23:27 -0000	1.61
+++ etc/TODO	8 Mar 2004 11:10:08 -0000
@@ -68,9 +68,6 @@
 
 * Set fringe widths per-window/per-buffer.
 
-* Make fringe bitmaps user configurable.  Maybe add ability to add
-  additional bitmaps to the fringe from lisp.
-
 Other features we would like:
 
 * Have a command suggestion help system that recognizes patterns
Index: lisp/faces.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/faces.el,v
retrieving revision 1.282
diff -u -r1.282 faces.el
--- lisp/faces.el	27 Feb 2004 17:30:23 -0000	1.282
+++ lisp/faces.el	8 Mar 2004 11:10:09 -0000
@@ -1925,6 +1925,19 @@
   :group 'basic-faces)
 
 
+(defface fringe-active
+  '((((class color) (background light))
+     :background "grey75")
+    (((class color) (background dark))
+     :background "grey30")
+    (t
+     :background "light gray"))
+  "Basic face for the fringes of active input emacs windows."
+  :version "21.4"
+  :group 'frames
+  :group 'basic-faces)
+
+
 (defface scroll-bar '()
   "Basic face for the scroll bar colors under X."
   :version "21.1"
Index: lisp/ibuffer.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/ibuffer.el,v
retrieving revision 1.57
diff -u -r1.57 ibuffer.el
--- lisp/ibuffer.el	1 Sep 2003 15:45:12 -0000	1.57
+++ lisp/ibuffer.el	8 Mar 2004 11:10:10 -0000
@@ -199,7 +199,7 @@
   :group 'ibuffer)
 
 (defcustom ibuffer-eliding-string "..."
-  "The string to use for eliding long columns."
+  "The string to use for eliding long lines."
   :type 'string
   :group 'ibuffer)
 
Index: src/dispextern.h
===================================================================
RCS file: /cvsroot/emacs/emacs/src/dispextern.h,v
retrieving revision 1.165
diff -u -r1.165 dispextern.h
--- src/dispextern.h	26 Feb 2004 17:46:46 -0000	1.165
+++ src/dispextern.h	8 Mar 2004 11:10:11 -0000
@@ -1165,6 +1165,13 @@
       ? MATRIX_HEADER_LINE_ROW (MATRIX)->height	\
       : 0)
 
+/* mar: Return the fringe mode relative to selected/unselected window */
+
+#define CURRENT_FRINGE_FACE_ID(W)			\
+	( ((W) == XWINDOW (selected_window))		\
+	  ? FRINGE_ACTIVE_FACE_ID			\
+	  : FRINGE_FACE_ID)
+
 /* Return the desired face id for the mode line of a window, depending
    on whether the window is selected or not, or if the window is the
    scrolling window for the currently active minibuffer window.
@@ -1512,6 +1519,7 @@
   MODE_LINE_INACTIVE_FACE_ID,
   TOOL_BAR_FACE_ID,
   FRINGE_FACE_ID,
+  FRINGE_ACTIVE_FACE_ID,
   HEADER_LINE_FACE_ID,
   SCROLL_BAR_FACE_ID,
   BORDER_FACE_ID,
Index: src/fringe.c
===================================================================
RCS file: /cvsroot/emacs/emacs/src/fringe.c,v
retrieving revision 1.10
diff -u -r1.10 fringe.c
--- src/fringe.c	1 Mar 2004 23:56:44 -0000	1.10
+++ src/fringe.c	8 Mar 2004 11:10:11 -0000
@@ -104,32 +104,32 @@
 
 /* An arrow like this: `<-'.  */
 /*
-  ...xx...
-  ..xx....
-  .xx.....
-  xxxxxx..
-  xxxxxx..
-  .xx.....
-  ..xx....
-  ...xx...
+- ..... ...
+  ..x.. ...
+  .x... ...
+  xxxxx ...
+  .x... ...
+  ..x.. ...
+- ..... ...
+- ..... ...
 */
 static unsigned short left_arrow_bits[] = {
-   0x18, 0x30, 0x60, 0xfc, 0xfc, 0x60, 0x30, 0x18};
+  0x04, 0x08, 0x1f, 0x08, 0x04};
 
 
 /* Right truncation arrow bitmap `->'.  */
 /*
-  ...xx...
-  ....xx..
-  .....xx.
-  ..xxxxxx
-  ..xxxxxx
-  .....xx.
-  ....xx..
-  ...xx...
+- ........
+  ... ..x..
+  ... ...x.
+  ... xxxxx
+  ... ...x.
+  ... ..x..
+- ........
+- ........
 */
 static unsigned short right_arrow_bits[] = {
-   0x18, 0x0c, 0x06, 0x3f, 0x3f, 0x06, 0x0c, 0x18};
+  0x04, 0x02, 0x1f, 0x02, 0x04};
 
 
 /* Up arrow bitmap.  */
@@ -163,31 +163,31 @@
 
 /* Marker for continued lines.  */
 /*
-  ..xxxx..
-  ..xxxxx.
-  ......xx
-  ..x..xxx
-  ..xxxxxx
-  ..xxxxx.
-  ..xxxx..
-  ..xxxxx.
+- ........
+- ........
+- ........
+  .... xx.
+  .... ..x
+  .... x.x
+  .... xx.
+  .... xxx
 */
 static unsigned short continued_bits[] = {
-   0x3c, 0x3e, 0x03, 0x27, 0x3f, 0x3e, 0x3c, 0x3e};
+   0x06, 0x01, 0x05, 0x06, 0x07};
 
 /* Marker for continuation lines.  */
 /*
-  ..xxxx..
-  .xxxxx..
-  xx......
-  xxx..x..
-  xxxxxx..
-  .xxxxx..
-  ..xxxx..
-  .xxxxx..
+  .... .xx
+  .... x..
+  .... x.x
+  .... .xx
+  .... xxx
+- ........
+- ........
+- ........
 */
 static unsigned short continuation_bits[] = {
-   0x3c, 0x7c, 0xc0, 0xe4, 0xfc, 0x7c, 0x3c, 0x7c};
+   0x03, 0x04, 0x05, 0x03, 0x07};
 
 /* Overlay arrow bitmap.  A triangular arrow.  */
 /*
@@ -413,13 +413,14 @@
 struct fringe_bitmap standard_bitmaps[MAX_STANDARD_FRINGE_BITMAPS] =
 {
   { NULL, 0, 0, 0, 0, 0 }, /* NO_FRINGE_BITMAP */
+  /*      bits, height,           width,period,   align   , dynamic*/
   { FRBITS (unknown_bits),            8, 0, ALIGN_BITMAP_CENTER, 0 },
-  { FRBITS (left_arrow_bits),         8, 0, ALIGN_BITMAP_CENTER, 0 },
-  { FRBITS (right_arrow_bits),        8, 0, ALIGN_BITMAP_CENTER, 0 },
+  { FRBITS (left_arrow_bits),         5, 0, ALIGN_BITMAP_CENTER, 0 },
+  { FRBITS (right_arrow_bits),        5, 0, ALIGN_BITMAP_CENTER, 0 },
   { FRBITS (up_arrow_bits),           8, 0, ALIGN_BITMAP_TOP,    0 },
   { FRBITS (down_arrow_bits),         8, 0, ALIGN_BITMAP_BOTTOM, 0 },
-  { FRBITS (continued_bits),          8, 0, ALIGN_BITMAP_CENTER, 0 },
-  { FRBITS (continuation_bits),       8, 0, ALIGN_BITMAP_CENTER, 0 },
+  { FRBITS (continued_bits),          3, 0, ALIGN_BITMAP_BOTTOM, 0 },
+  { FRBITS (continuation_bits),       3, 0, ALIGN_BITMAP_TOP,    0 },
   { FRBITS (ov_bits),                 8, 0, ALIGN_BITMAP_CENTER, 0 },
   { FRBITS (top_left_angle_bits),     8, 0, ALIGN_BITMAP_TOP,    0 },
   { FRBITS (top_right_angle_bits),    8, 0, ALIGN_BITMAP_TOP,    0 },
@@ -482,14 +483,16 @@
   else if (left_p)
     {
       which = row->left_fringe_bitmap;
-      face_id = row->left_fringe_face_id;
+      //mar:useless, reassign follow:  face_id = row->left_fringe_face_id;
     }
   else
     {
       which = row->right_fringe_bitmap;
-      face_id = row->right_fringe_face_id;
+      //mar:useless, reassign follow:  face_id = row->right_fringe_face_id;
     }
 
+  face_id = CURRENT_FRINGE_FACE_ID(w);
+
   if (face_id == DEFAULT_FACE_ID)
     face_id = fringe_faces[which];
 
@@ -800,7 +803,7 @@
       else if (row->left_user_fringe_bitmap != NO_FRINGE_BITMAP)
 	{
 	  left = row->left_user_fringe_bitmap;
-	  left_face_id = row->left_user_fringe_face_id;
+	  left_face_id = CURRENT_FRINGE_FACE_ID(w);//row->left_user_fringe_face_id;
 	}
       else if (row->indicate_bob_p && boundary_pos <= 0)
 	left = ((row->indicate_eob_p && boundary_pos < 0)
@@ -826,7 +829,7 @@
       else if (row->right_user_fringe_bitmap != NO_FRINGE_BITMAP)
 	{
 	  right = row->right_user_fringe_bitmap;
-	  right_face_id = row->right_user_fringe_face_id;
+	  right_face_id = CURRENT_FRINGE_FACE_ID(w);//row->right_user_fringe_face_id;
 	}
       else if (row->indicate_bob_p && boundary_pos > 0)
 	right = ((row->indicate_eob_p && boundary_pos >= 0)
Index: src/window.c
===================================================================
RCS file: /cvsroot/emacs/emacs/src/window.c,v
retrieving revision 1.462
diff -u -r1.462 window.c
--- src/window.c	4 Mar 2004 17:16:23 -0000	1.462
+++ src/window.c	8 Mar 2004 11:10:13 -0000
@@ -1775,8 +1775,10 @@
     window = Fnext_window (window, Qnil, all_frames);
   for (; i < 0; ++i)
     window = Fprevious_window (window, Qnil, all_frames);
-
-  Fselect_window (window, Qnil);
+  if (window != selected_window) {
+    //selected_window->circa row->redraw_fringe_bitmaps_p = 1;
+    Fselect_window (window, Qnil);
+  }
   return Qnil;
 }
 
Index: src/xfaces.c
===================================================================
RCS file: /cvsroot/emacs/emacs/src/xfaces.c,v
retrieving revision 1.289
diff -u -r1.289 xfaces.c
--- src/xfaces.c	9 Feb 2004 15:39:49 -0000	1.289
+++ src/xfaces.c	8 Mar 2004 11:10:15 -0000
@@ -322,7 +322,7 @@
 
 /* Names of basic faces.  */
 
-Lisp_Object Qdefault, Qtool_bar, Qregion, Qfringe;
+Lisp_Object Qdefault, Qtool_bar, Qregion, Qfringe, Qfringe_active;
 Lisp_Object Qheader_line, Qscroll_bar, Qcursor, Qborder, Qmouse, Qmenu;
 Lisp_Object Qmode_line_inactive;
 extern Lisp_Object Qmode_line;
@@ -6626,6 +6626,9 @@
       realize_named_face (f, Qmode_line_inactive, MODE_LINE_INACTIVE_FACE_ID);
       realize_named_face (f, Qtool_bar, TOOL_BAR_FACE_ID);
       realize_named_face (f, Qfringe, FRINGE_FACE_ID);
+      /* mar: i imagine the need of
+	 realize_named_face (f, Qfringe_active, FRINGE_ACTIVE_FACE_ID);,
+	 but returns error "emacs: Wrong type argument: symbolp, 0" */
       realize_named_face (f, Qheader_line, HEADER_LINE_FACE_ID);
       realize_named_face (f, Qscroll_bar, SCROLL_BAR_FACE_ID);
       realize_named_face (f, Qborder, BORDER_FACE_ID);
@@ -7701,6 +7704,8 @@
   staticpro (&Qregion);
   Qfringe = intern ("fringe");
   staticpro (&Qfringe);
+  Qfringe = intern ("fringe-active");
+  staticpro (&Qfringe_active);
   Qheader_line = intern ("header-line");
   staticpro (&Qheader_line);
   Qscroll_bar = intern ("scroll-bar");
Index: src/xfns.c
===================================================================
RCS file: /cvsroot/emacs/emacs/src/xfns.c,v
retrieving revision 1.606
diff -u -r1.606 xfns.c
--- src/xfns.c	1 Mar 2004 12:51:33 -0000	1.606
+++ src/xfns.c	8 Mar 2004 11:10:17 -0000
@@ -2131,13 +2131,13 @@
 
 #ifdef USE_TOOLKIT_SCROLL_BARS
   /* A minimum width of 14 doesn't look good for toolkit scroll bars.  */
-  int width = 16 + 2 * VERTICAL_SCROLL_BAR_WIDTH_TRIM;
+  int width = 8 + 2 * VERTICAL_SCROLL_BAR_WIDTH_TRIM;
   FRAME_CONFIG_SCROLL_BAR_COLS (f) = (width + wid - 1) / wid;
   FRAME_CONFIG_SCROLL_BAR_WIDTH (f) = width;
 #else
   /* Make the actual width at least 14 pixels and a multiple of a
      character width.  */
-  FRAME_CONFIG_SCROLL_BAR_COLS (f) = (14 + wid - 1) / wid;
+  FRAME_CONFIG_SCROLL_BAR_COLS (f) = (6 + wid - 1) / wid;
 
   /* Use all of that space (aside from required margins) for the
      scroll bar.  */

[-- Attachment #4: Type: text/plain, Size: 141 bytes --]

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

  parent reply	other threads:[~2004-03-08 13:48 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-02-09  1:01 More enhancements to fringe bitmaps Kim F. Storm
2004-02-09  2:48 ` YAMAMOTO Mitsuharu
2004-02-09 14:54   ` Kim F. Storm
2004-02-09 14:27     ` Jason Rumney
2004-02-09 20:09       ` Harald Maier
2004-02-11  2:54     ` YAMAMOTO Mitsuharu
2004-02-11 11:17       ` Kim F. Storm
2004-02-11 11:28         ` YAMAMOTO Mitsuharu
2004-02-11 14:03           ` Stefan Monnier
2004-02-12  0:58             ` YAMAMOTO Mitsuharu
2004-02-14  0:39           ` Kim F. Storm
2004-02-14  8:08             ` Harald Maier
2004-02-14 15:31             ` YAMAMOTO Mitsuharu
2004-02-15 17:19               ` Kim F. Storm
2004-02-16 10:22       ` YAMAMOTO Mitsuharu
2004-02-16 13:22         ` Kim F. Storm
2004-02-17  3:13           ` YAMAMOTO Mitsuharu
2004-02-17 22:41             ` Kim F. Storm
2004-02-18  2:32               ` YAMAMOTO Mitsuharu
2004-02-18 22:04                 ` Kim F. Storm
2004-02-19  4:28                   ` YAMAMOTO Mitsuharu
2004-02-19  8:38                     ` Jason Rumney
2004-02-19  9:52                     ` Kim F. Storm
2004-02-09  8:54 ` Masatake YAMATO
2004-02-09 16:49   ` Kim F. Storm
2004-02-10  1:28     ` Johan Bockgård
2004-02-14  0:58       ` Kim F. Storm
2004-02-09 15:02 ` Matt Hodges
2004-02-14  0:46   ` Kim F. Storm
2004-02-09 19:54 ` Tak Ota
2004-02-09 20:37   ` Tak Ota
2004-03-08 13:48 ` Marco Munari 16447.64651 [this message]
2004-03-08 23:52   ` Kim F. Storm
2004-03-11 15:27     ` Miles Bader
2004-03-17 13:59       ` Marco Munari
2004-03-11 17:06     ` Marco Munari 16464.32679
2004-03-11  0:22 ` Marco Munari 16447.64651
2004-03-17  3:56   ` Miles Bader
2004-03-18  5:08     ` Marc Munari 16473.4929
2004-03-18 13:27       ` Kim F. Storm
2004-03-18 19:05         ` Marco Munari 16473.54072
2004-03-18 23:43           ` Kim F. Storm
2004-03-19  3:44             ` Marco Munari
2004-03-19 14:04               ` Kim F. Storm
2004-03-21  3:27                 ` Marco Munari
2004-03-22 10:59                   ` Kim F. Storm
2004-03-23  2:27                     ` Marco Munari 16479.36044
  -- strict thread matches above, loose matches on Subject: below --
2004-02-11 23:41 Nick Roberts
2004-02-12  1:18 ` Miles Bader
2004-02-12 11:55   ` Kim F. Storm
2004-02-12 12:32     ` Miles Bader
2004-02-13 17:34     ` Richard Stallman
2004-02-13 21:53       ` Kim F. Storm
2004-02-12 16:42   ` Nick Roberts
2004-02-12 20:55     ` Miles Bader
2004-02-12 12:07 ` Kim F. Storm
2004-02-12 16:59   ` Nick Roberts
2004-02-12 23:35     ` Kim F. Storm
2004-02-13 19:25       ` Nick Roberts

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=ywmr7w3cuw3.fsf@fast.mm.homeunix.org \
    --to=mar@i.am \
    --cc=storm@cua.dk \
    /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).