emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: More enhancements to fringe bitmaps.


From: Marco Munari 16447.64651
Subject: Re: More enhancements to fringe bitmaps.
Date: Thu, 11 Mar 2004 01:22:47 +0100
User-agent: Gnus/5.110002 (No Gnus v0.2) Emacs/21.3.50 (gnu/linux)

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.

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

<#part type="text/x-patch" filename="/usr/self/cvs/emacs/mar_emacs_cvs.diff" 
disposition=inline description="fringe patch to currente emacs cvs">
<#/part>
<#part type="text/x-patch" filename="/usr/self/cvs/emacs/mar_emacs_cvs.patch" 
disposition=attachment description="cvs/emacs$ patch -p1 mar_emacs_cvs.patch">
<#/part>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]