unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* alternative Customize displays: 1) flattened group, 2) expandable tree, 3) explorer: tree+flattened, 4) mouse-3 menu
@ 2006-12-22 20:08 Drew Adams
  2006-12-24  1:32 ` Johan Bockgård
  2006-12-26  0:01 ` Kim F. Storm
  0 siblings, 2 replies; 4+ messages in thread
From: Drew Adams @ 2006-12-22 20:08 UTC (permalink / raw)


For consideration after the release:


1. Customize groups can have subgroups. The guideline is to use no more than
12 options + faces per group. This encourages the use of group hierarchies
that are not too shallow, which is a good thing. (AFAIK, there is no
guideline for the number of subgroups per group, however.)

However, sometimes the inclusion of an option or face in a particular
subgroup is somewhat arbitrary. In any case, even when it is not, it is not
always obvious to a Customize user which (sub)group to examine to find a
particular option (whose name might not be recalled, so `customize-group'
would still be an appropriate access method).

Suggested alternative Customize display: Let users see all of the options
and faces that are in a group, including those that are in its subgroups
(and so on, recursively).

That is, provide a Customize buffer that shows a group with its subgroups
flattened (recursively), in a single alphabetical list. Searching the list
for a group would then be an alternative to looking directly in the right
subgroup. In sum, a flat listing as a user alternative to the current
hierarchical view.

The flattened list would show only the option and face names - no
descriptive text, buttons, or customization fields. Descriptions would be
available via tooltips, not buffer text. The option and face names would be
links to their individual Customize buffers. Because the description and
customization fields and buttons would be removed, and the names themselves
would be links, the display would be clean and compact.

(If people think it's important to provide the customize stuff locally, in
the group listing, then, instead of opening a separate Customize buffer for
the option or face, the name link could expand to show the stuff locally.
That would not be my preference, however.)


2. As another alternative to the current Customize display, how about
providing a real tree view, with just the group names (the group
descriptions would be provided via tooltips, not buffer text). This would be
like other tree displays in Emacs (e.g. speedbar), with expandable (+) and
contractable (-) nodes.

contracted:

(+) Emacs

expanded:

(-) Emacs
 (+) Editing
 (+) External
 (+) Convenience
 (+) Programming
 (+) Applications
...

[BTW, the subgroups should be listed alphabetically, but they are not,
currently.]


These alternative Customize displays (#1 and #2) could be provided via new
buttons or menu items, as well as by new commands (or by prefix args to
`customize-group').


3. Suggestions #1 and #2 could be combined:

Each group name in the +/- tree view would be a link (reducing the extra
"group: Go to Group" verbiage that is used now). If you clicked a group
name, e.g. Emacs or Editing, the right half of the frame would show, in
another window, a (flattened, alphabetical) list of all of the options and
faces in that group, perhaps with the group description (one-liner) at the
top of that buffer.

So, if you clicked Emacs, you would see a list of all options and faces in
group Emacs; if you clicked Editing, you would see a list of all that are in
subgroup Editing (and its subgroups), and so on.

The display of the contents of a group, at the right, would be independent
of the expansion and contraction of tree nodes, at the left, except that the
group whose contents are currently displayed at the right would be
highlighted in the tree view, at the left. This would be similar to what
Windows Explorer does for directories and files, except that instead of
showing the subgroup names in a group listing (at the right), the group
listing would be complete (flattened).

This would give you easy navigating, as well as alphabetical lists at any
level of granularity. The display would be much less noisy (busy) than it is
now: noise would be manifested only upon demand ;-).


4. In addition to providing descriptions via tooltips, we could have a
right-click (i.e. mouse-3) menu with a Properties item that provides the
description and perhaps other information. This too is MS Windows-like, but
it is quite handy, IMO. This right-click binding would be in effect only
when the mouse is over a group, option, or face name link. Additional menu
items that pertain to the clicked object could be provided - e.g. the
`custom-group*' stuff for a group, the `custom-face*' stuff for a face...

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: alternative Customize displays: 1) flattened group, 2) expandable tree, 3) explorer: tree+flattened, 4) mouse-3 menu
  2006-12-22 20:08 alternative Customize displays: 1) flattened group, 2) expandable tree, 3) explorer: tree+flattened, 4) mouse-3 menu Drew Adams
@ 2006-12-24  1:32 ` Johan Bockgård
  2006-12-24  2:08   ` Drew Adams
  2006-12-26  0:01 ` Kim F. Storm
  1 sibling, 1 reply; 4+ messages in thread
From: Johan Bockgård @ 2006-12-24  1:32 UTC (permalink / raw)


"Drew Adams" <drew.adams@oracle.com> writes:

> (-) Emacs
>  (+) Editing
>  (+) External
>  (+) Convenience
>  (+) Programming
>  (+) Applications

M-x customize-browse

^ permalink raw reply	[flat|nested] 4+ messages in thread

* RE: alternative Customize displays: 1) flattened group, 2) expandable tree, 3) explorer: tree+flattened, 4) mouse-3 menu
  2006-12-24  1:32 ` Johan Bockgård
@ 2006-12-24  2:08   ` Drew Adams
  0 siblings, 0 replies; 4+ messages in thread
From: Drew Adams @ 2006-12-24  2:08 UTC (permalink / raw)


> "Drew Adams" writes:
>
> > (-) Emacs
> >  (+) Editing
> >  (+) External
> >  (+) Convenience
> >  (+) Programming
> >  (+) Applications
>
> M-x customize-browse

That's a good start, but:

1. Options and faces are also listed, not just groups. I proposed putting
the option and face list in a separate window, to the right, correponding to
the group name selected at the left.

2. The group or option name is not the link. Instead, the word "Group" or
"Option" is the link. I proposed using the name as the link.

3. The "Group" and "Option" links open customize buffers. In my suggestion,
the option name, in the right-hand window, would open customize; the group
name would simply display the options list at the right (a list of
everything in that group, recursively).

4. There is no way to get the complete, flattened list of options and faces
belonging to a group.  Only those options and faces that are defined
directly in a group are shown under it. My suggestion would show a complete
list of all options and faces that are in the selected group, including in
any of its subgroups (recursively).

5. There is no description of a group or option via a tooltip. The only way
to see a description is to open a customize buffer. In my suggestion, the
group and option names would provide individual descriptions via tooltips.

BTW - The tooltips used currently are nearly useless; they all say just
"Create customization buffer for this group". A bug I just noticed: Even the
tooltip for the Option link says this ("group"). It should say "... for this
option" (not "group"). Likewise, Face should say "... for this face" (not
"group").

#4 is perhaps the most important lack. Having to guess which subgroup (or
sub-subgroup) an option is in is inefficient. Being able to search for a
name in a flat, alphabetical list would help quite a bit.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: alternative Customize displays: 1) flattened group, 2) expandable tree, 3) explorer: tree+flattened, 4) mouse-3 menu
  2006-12-22 20:08 alternative Customize displays: 1) flattened group, 2) expandable tree, 3) explorer: tree+flattened, 4) mouse-3 menu Drew Adams
  2006-12-24  1:32 ` Johan Bockgård
@ 2006-12-26  0:01 ` Kim F. Storm
  1 sibling, 0 replies; 4+ messages in thread
From: Kim F. Storm @ 2006-12-26  0:01 UTC (permalink / raw)
  Cc: Emacs-Devel

"Drew Adams" <drew.adams@oracle.com> writes:

> For consideration after the release:

Please don't make suggestion for "after the release" right now.

It will either a) distract attention from the release, or b) be forgotten.

-- 
Kim F. Storm <storm@cua.dk> http://www.cua.dk

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2006-12-26  0:01 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-12-22 20:08 alternative Customize displays: 1) flattened group, 2) expandable tree, 3) explorer: tree+flattened, 4) mouse-3 menu Drew Adams
2006-12-24  1:32 ` Johan Bockgård
2006-12-24  2:08   ` Drew Adams
2006-12-26  0:01 ` Kim F. Storm

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).