emacs-devel
[Top][All Lists]
Advanced

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

RE: Sv: Emacs Survey: Toolbars


From: Drew Adams
Subject: RE: Sv: Emacs Survey: Toolbars
Date: Thu, 24 Dec 2020 09:58:57 -0800 (PST)

> Those things we "just" have to do, must be done, otherwise we cannot
> claim to be anywhere near a word processor, because it is unimaginable
> in a word processor to apply faces via Edit->Text Properties, let
> alone via lower-level commands.
> 
> And the next thing to do is the ability to save all that face
> information to a disk file, so that the next time you visit the file
> you see the same faces.  Enriched mode does that, but it needs more
> love.
> 
> Next after that is pixel-level indentation and filling/justification,
> so that we could use variable-pitch fonts.
> 
> Next are the printing facilities, where I hope we will once and for
> all solve the problem of printing non-ASCII, non-Latin-1 characters.
> 
> When we have done all that, we will have a significant portion of a
> word processor, IMO.

I concur.  That's a fair amount of basic stuff
to provide, as stepping stones.  And each bit
of it would be useful in its own right and for
other purposes as well.
___

Wrt "it is unimaginable in a word processor to
apply faces via Edit->Text Properties", FWIW:

Some of my code can help with on-demand, ad
hoc highlighting.  And yes, it's on Edit >
Text Properties.  But it could be put on
tool-bar buttons or whatever.  And of course
other implementations of such basic features
are possible, and would no doubt be chosen to
provide performance as the basis of low-level,
built-in word-processing.
___

Examples:

Apply a color or face by dragging the mouse
like a highlighter pen:

1. Edit > Text Properties > Highlight >
   Highlighter Pen
2. Drag mouse to highlight text dragged over.

Apply a color or face to a selection (region):

1. Select text.
2. Right-click `mouse-3' twice (slower than a
   double-click).
3. Choose Highlight > Highlight in the popup
   menu.

Apply a color or face to a symbol at point:

1. Right-click `mouse-3' twice (slower than a
   double-click).
2. Choose Thing At Pointer > Highlight Symbol
   in the popup menu.

Do the same, but using hi-lock (highlight all
occurrences of the symbol):

1. Same.
2. Choose Thing At Pointer > Hi-Lock Symbol
   in the popup menu.

Choose a color or face to use for all such
highlighting operations (and others):

1. Edit > Text Properties > Highlight >
   Choose Highlighting Face
2. Choose a color or a face (for background)
   using completion.

Critical to choosing a color or face is the
ability to see a sample associated with its
name (the completion candidate).

There are several pieces that combine to
provide such behavior.  Of course things could
be done (implemented or organized) differently.
I'm just pointing out some pieces as food for
thought.

1. For showing samples along with color and face
name completion candidates, i.e., WYSIWYG, I use
Icicles.  (Icicles lets you match RGB hex codes
as well as color names.)  I imagine that some
other completion frameworks offer something
similar, or could do so.

Screenshots:

https://www.emacswiki.org/emacs/Icicles_-_Screenshots#icicle-read-color

(I also have library `palette.el', which gives
you a complete color picker, and library
`eyedropper.el', which just picks the foreground
or background color at cursor or pointer.  Some
of the display quality of `palette.el' has been
degraded by changes to Emacs, and I haven't kept
up with fixing that, but it still works.)

https://www.emacswiki.org/emacs/ColorPalette

https://www.emacswiki.org/emacs/download/eyedropper.el

2. For highlighting by dragging the mouse, and
for choosing a color/face for that, I use
library `highlight.el'.

https://www.emacswiki.org/emacs/HighlightLibrary

3. For putting that on a Highlight menu under
Edit > Text Properties I use `facemenu+.el'.

https://www.emacswiki.org/emacs/FaceMenuPlus

4. For highlighting on a `mouse-3' popup menu I
use library `mouse3.el'.

https://www.emacswiki.org/emacs/Mouse3



reply via email to

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