help-emacs-windows
[Top][All Lists]
Advanced

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

RE: [h-e-w] Resizing a frame's font


From: Drew Adams
Subject: RE: [h-e-w] Resizing a frame's font
Date: Thu, 9 Dec 2004 09:45:12 -0800

Hi David,

CC'ing the list, in case others had similar questions on library
dependencies.

    On Wednesday, December 08, "Drew Adams" <address@hidden> wrote:
    >You can alternatively use my library doremi-frm.el to change font size
    >incrementally using the arrow keys or mouse wheel (zooming the
    page). See
    >http://www.emacswiki.org/cgi-bin/wiki/DoReMi for more information, and
    >http://www.emacswiki.org/elisp/doremi-frm.el for the library.

    >Library doremi-frm.el requires a couple of other libraries
    that are also
    >available on the EmacsWiki, at http://www.emacswiki.org/elisp/. ...

    Can you say which ones?

They should all be `require'd in `doremi-frm.el', recursively. That is, a
required library might require another library, but all requires should be
explicit, in any case. At the top level (doremi-frm.el), the following are
required:

 doremi.el
 hexrgb.el
 ring+.el
 frame-fns.el
 frame-cmds.el (not a hard require - no error if not found)

If you look at each of these libraries, you might find additional require's.
I just checked them, however, and it looks like the only other hard
`require' used is `strings.el' (for `frame-cmds.el').

And I now see that that should in fact be a soft require (thank you!), so
I've changed it and uploaded a new version of `frame-cmds.el'. The only
function that I noted as being used from `strings.el' is my version of
`read-buffer'; if you don't have `strings.el' you can use the standard
`read-buffer' instead, with no problem.

Since I use all of my libraries together, I occasionally get the `require's
slightly wrong. I try to indicate, as a comment next to each `require', all
of the functions and variables (e.g. `read-buffer') that a library uses from
the `require'd library. If you find other `require' errors or problems,
please let me know.

    I was interested, but when I tried to compile your .el
    files I got errors attributable to not finding files
    "strings" and "ring+".  strings.el is there, but not
    ring+.  Where do I find the latter?

EmacsWiki does not allow characters like `+' in file names, so this was
uploaded to EmacsWiki as `ring-plus.el'. After downloading it, you will need
to rename it back to `ring+.el' (or load it explicitly as ring-plus) so that
other libraries can find it correctly.

This should all be explained here:
http://www.emacswiki.org/cgi-bin/wiki/DrewsElispLibraries. See that page
also for info on which libraries work with which versions of Emacs (the info
should also be in each library as a comment, under "Compatibility".

    I had mentioned privately to Biesack that I would like
    to bind his function to Ctrl-mouse-wheel, but I could
    not figure out how to do it in 20.7 - at least not
    without reading input directly myself.  I wanted it to
    be like a key binding - valid globally, continuously.
    I don't infer that your solution would achieve that
    either; but I'll settle for it anyway - especially
    since you solve so many other problems as well.

Do Re Mi does read input directly. However, take a look at its code, and you
might find what you're looking for - you should be able to bind the mouse
wheel globally with no problem. In particular, the doremi.el code shows you
how to take care of the mouse wheel in both Emacs 20 and Emacs 21.

    I think your package may suffer from lack of name
    which suggests the function.  I would use words like
    "WYSIWIG configuration-choice adjustment".

I think I understand what you're getting at here - the idea of what is
usually referred to in user-interface lingo as "direct manipulation" - see,
for instance (he googles...),
http://cal.bemidji.msus.edu/webtraining/yalemanual/papers/gui1.html and
Horton, W. K. 1990. Designing and writing online documentation. New York:
Wiley. The term WYSIWYG was originally used for word processing and has come
to mean different things to different people, but I see that it could be
appropriate here too.

As for the specific functionality of Do Re Mi, that name was meant to
indicate doing something repetitively or incrementally, like runnning up and
down a musical scale.

    I am definitely with you on the general principle
    here, having wasted a lot of time tediously 'trying'
    variations to find the one I like.  I find it
    interesting that, so often coming from an
    efficiency-oriented background, we force users to make
    choices in order to observe the results.  Yet the cost
    of actually implementing the choice is now so often
    minimal that there is no reason not to display the
    effect while the user is pondering the choice.

Yes. However, it depends on what is being changed/chosen. I don't think that
direct, immmediate change is always appropriate, but there are probably a
lot more places in Emacs (for example) where it could usefully be tried.

It could be interesting, for instance (as mentioned at
http://www.emacswiki.org/cgi-bin/wiki/DoReMi), to interface Do Re Mi
commands with Customize, to let you see and choose at the same time (Do Re
Mi) and set parameters for future sessions (Customize). I haven't yet gotten
around to trying to do that, and I welcome any attempts by others to do so.
Command `doremi' in library `doremi.el' is very general - I would be
interested in seeing applications of it to new areas.

 - Drew





reply via email to

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