texmacs-dev
[Top][All Lists]
Advanced

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

[Texmacs-dev] Proposals of changes in the menus.


From: David Allouche
Subject: [Texmacs-dev] Proposals of changes in the menus.
Date: Sat, 10 Aug 2002 17:12:28 +0200
User-agent: Mutt/1.4i

While I was working on my just-published patch, I found several things
that I did not like in the menu hierachy, so here come another round
of menu-reorganization suggestions.


File menu
=========

Several menu items should be renamed:

   "File->Load" to "File->Open..."

   "File->Close Buffer" to "File->Close" (remember? the use of the
     word buffer is deprecated becaus it was untranslatable)
     
   "File->Close TeXmacs" to "File->Quit"

When the buffer has no name, "File->Save" should be disabled and its
key-binding should perform "Save as...".


Edit menu
=========

"Edit->Cancel" should be renamed "Edit->Select none".

A predicate should be added to detect whether there is something to
paste. The nearest internal function is display_rep::get_selection.
So, while one is at it, why not rewrite all the clipboard handling
logic (include selection import and export) in Scheme.

Predicates should be added to detect whether there are undoable or
redoable actions at the moment. I also think that the undo-redo logic
should be rewritten in Scheme.


Popup menu
==========

When the menubar is hidden, the first item of the pop-up menu should
be "Show menubar".

When the "Presentation mode" is on, the first item of the pop-up menu
should be "Disable presentation mode".


Insert menu
===========

The "position float" menu should not be there (because it does not
insert anything). I think the right place would be a top-level menu of
its own (named, like, "Float"), but as I think that is not going to be
accepted, I suggest to put it in the Format menu instead.

Items related to vertical spacing, page-breaking, and indentation
flags are layount markup and have paragraph semantics and should be
moved to the second part of the Format menu.

They must be treated accordingly by the editor. For example, the
indentation flags should only be inserted at the beginning/end of
paragraph and it should not be allowed to insert text before/after
those tags. Vertical spacing tags should be handled the same way but
there should be an easy way to remove them (e.g. by menu).


Mathematics menu
================

The "Symbol" menu items must be moved up at the end of the Mathematics menu.


Format menu
===========

Also, commands of paragraph group should collapse redundant
environment to only one per paragraph. So Alignment, Hyphenation and
Number of column can be turned in regular toggle menus with a Default
item.

The items in "Format->font" should be moved up one level to the Format
menu.

Interline separation/spacing is very confusing. Even I cannot remember
the difference. What is the difference? We need better names!



Document menu
=============

Now that the "Set margins..." menu command has been fixed, the "Set
text width..." menu item should be removed.

A "Default" item should be added to the page breaking flexibility menu.

"Color->Foreground" and "Color->Background" should be move up one
level as "Document->Foreground color" and "Document->Background
color".

"Document->Page->Type" should me moved the the View menu.

Submenus of "Document->Page->Breaking" should be moved up one level to
"Document->Page".

"Screen layout" and "Show headers and footers" should be moved to the
"View menu".

The remaining items of "Document->Page->Header and footer" should be
moved to the "Insert->Header and footer" menu.

Add Default item to Document->Page breaking->Limits.


Table menus
===========

All table and cell property menus should have Default items which are
bound to table/cell-del-format commands.

Cell format is unstructured. The item toggling should thus follow the
usual rules:

  Use a "check" checkmark when all the applicable elements have the
  property set as by the menu item.

  Use a "minus" checkmark when part of the applicable elements have
  the property set as by the menu item.

  Use no checkmark only if no applicable element have the property as
  set by the menu item.

  The applicable elements are either the current cell, all cells of
  the current column, all cells of the current row, or all cells of
  the current table depending on the cell action mode.

  If there is an active table selection (selection spanning several
  cells) the applicable elements are all cells/rows/columns that the
  selection spans, depending of the cell action mode.

Oh, yes... The table-set-format and table get-format should be updated
to apply to the "applicable elements" as defined above.

Changing the borders or padding of cells is exeedingly painful. We can
make it easier (before we use a better solution) by using a "brush and
stroke" concept. We could add "Pad space..." and "Border line..." menu
items in the Padding and Border menus to set the current brush. The
other padding and border menu items would be non-interactive and only
set the properties of the applicable elements using the current brush.

That last feature can interact with the previously defined check-mark
rules to provide nice toggling semantics:

  no check: state:  all cells have default border/paddings
            action: set all cells to current border/padding

  v check: state: all cells have current border/padding
           action: revert all cells to default

  - check: state: cells have various border/padding
           action: set all cells to current border/padding

Similar features could be used for the table border/padding.


Text menu
=========

"Make title" and "Abstract" should form a group, both should alwoys
be visible in the Title menu.

Generally, in the text menu, some elements can be visible or hidden
(using "if") depending on the style, but context sensitivity should
only use "when". That way, we do not have items which are not
applicable to the current style/package set, and we do not have tricky
situations as with the Title menu.

The Article style does have "chapter" and "appendix" environment but
these are not available in the section menu. That kind of problem
could be avoided by using get-env to look for defined macros instead
of the rough package-based system currently in use.

Similarly, we can defer the responsability to declare the contents of
the Text menu to the styles. For example, as tuples:

    ("assign" "style enumerates"
          ("tuple" ("tuple" "std" "enumerate-numeric")
                          ("tuple" "cust" "0, 1, 2, ..."
                                                     "enumerate-numzero")))

There, enumerate-numeric would use a standard label, while
enumerate-numzero would use a custom label.


General
=======

We could implement automatic "..." in a number of situation in a way
similar as how we implement automatic check-marks. For example, all
items whose associated action is a "choose-file" or a "interactive"
would get ellipsis at the end.


To be continued.

--

                             -- David --





reply via email to

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