emacs-devel
[Top][All Lists]
Advanced

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

RE: Customize buttons that change user's custom fileshouldaskforconfirma


From: Drew Adams
Subject: RE: Customize buttons that change user's custom fileshouldaskforconfirmation
Date: Tue, 15 Feb 2005 10:33:40 -0800

I said:

    We might want to let users select a set of individual options
    (e.g. using checkboxes or by dragging a region) and then
    operate on the selection. That would provide a shortcut to
    operating individually on each item in the set, and could help
    make it clear which options were affected for a "global" operation.
    ...
    Extending this idea to Customize, a user would mark/select
    various options, then use a global action (button or menu-bar
    menu item) that operates on all of the selected options. If no
    options are selected, then the menu item would apply to the
    option under the pointer.

    The menu for this is the individual-option menu, which is
    currently accessed by the State "button". This could remain as
    a pulldown menu (which is what it really is now), or it could
    be moved to a contextual menu on mouse-3 (as I have in Dired).
    In the latter case, mouse-3 would not be available for
    selecting and killing, but users could still select a region by
    dragging.

I mispoke in the second paragraph quoted above. The global buttons (Save All
etc.) and the menu-bar menu should always apply globally (to everything in
the buffer), not to the currently selected options.

The current selection should be treated instead by a context-sensitive
menu - e.g., the mouse-3 menu. Another reason for moving the menu from the
State button to, for example, mouse-3 is this: The State-button menu is
fixed as local to a particular option; it cannot be used as a
context-sensitive menu that applies to the current selection (or the option
under the pointer, if there is no selection).

In sum:

 - Global buttons and the menu-bar menu apply to all options in the buffer.
Their item names include the word "All".

 - A context-sensitive menu (e.g. mouse-3) lets you mark and unmark options
and perform Save, Set etc. actions on the marked options. If no option is
marked, then the menu actions apply to the option under the mouse pointer
("current" option).

 - You can mark or unmark all options in a region. The context-sensitive
menu items Mark and Unmark apply to all options in the region.

 - If we have a context-sensitive menu (e.g. mouse-3), as described, we
should move all of the individual-option items from the State menu to the
context-sensitive menu.

We might want to use mouse-2 instead of mouse-3 to bring up the
context-sensitive menu. Mouse-3 is standard for such a menu in many
applications, but using it here means users would lose the normal mouse-3
functionality. Mouse-2 follows links and activates buttons in Customize, so
there should be no conflict with the menu: to use the c-s menu you just
position the pointer anywhere that is not on a button or a link.

However, if we did that, then we should not also have any pull-down menus
(e.g. State) that are activated by mouse-2, because it needs to be clear
whether the menu that appears applies to some fixed object (e.g. State) or
is the context-sensitive menu (which applies to the selection).

I personally think that mouse-3 would be a good choice for the c-s menu and
that the loss of mouse-3 editing functionality would not be missed in
Customize (I don't miss it in my version of Dired that has similar
functionality).





reply via email to

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