texmacs-dev
[Top][All Lists]
Advanced

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

[Texmacs-dev] Reorganization of the menus -- visible or enabled


From: David Allouche
Subject: [Texmacs-dev] Reorganization of the menus -- visible or enabled
Date: Tue, 26 Nov 2002 17:41:26 +0100
User-agent: Mutt/1.4i

Okay, let us start this again. Things have considerably improved since
the last discussion but there are still a few things I would like to
change to be happy.

The first one is the visibility of menu items.

Generally, it is bad GUI practice to change the layout of the menu
dynamically. GUI must be stable to help the user feel confident using
the software. That prevent people from saying "hey, I remember I saw
that feature, but where is it now? I cannot see it!". Additionnally it
makes it much easier to get an idea of all available features, even if
they cannot be all used in the current context. Really, TeXmacs has
MANY features and this must be advertised.

But the problem is... TeXmacs has MANY features (did I say that
already?). And showing all possible menus at every moment will quickly
lead to an overpopulated GUI. So we need good and consistent
guidelines to know when to hide/show menu items and when to just
disable/enable them.

One thing we have overlooked up to know in these discussions is the
distinction between "mode" (in the Emacs sense) and "context".

The "mode" currently is defined by the document "style". Different
modes present the same information in different ways (for example
sectioning) and might have different keybindings. Different modes can
be considered different applications based on TeXmacs. The mode can
only be changed by very specific actions (setting the document style
and packages). Currently, the "mode" maps exactly to the document
style, but I prefer to use another terminology because I hope we will
support Emacs-style modes in the future.

The "context" is more local. It is dependent mostly on the position of
the caret, and may also be affected by the status of the document in
its life cycle. For example, the context includes "math mode" (in
texmacs terminology) and the dirty state of the document.

The rule I propose is to menu items stable in a given mode. Depending
on the context, menu items (and submenus) can be enabled or disabled,
but they cannot appear and disappear without changing the mode.

As an exception, whole menus specific to some context may appear only
when they are relevant. That applies to the menus "Text",
"Mathematics" and "Table". That exception is required because the
number of those context specific menus is expected to grow in the
future ("Tree", "Drawing", "Biology"...) so we cannot keep them all
visible at all times. That is acceptable because the appearance or
disappearance of a top-level menu is easily visible.

One the other hand, the content of the menus may freely change with
the mode. Currently, that means the "Text" menu may have a different
content depending of the features supported by the document style.

The toolbar is not an exception to this rule. But it can be expected
to be more dynamic than the menus. For example, the "Switching and
folding" toolbar menu must not have different items depending on
whether the caret is in an switch block or in normal text, but it
might be necessary to create another icon menu (switch tool) to
include the items which are currently only visible in switch context.

I am going to implement that over the next days, but I would like to
know if someone has a suggestion on this subject.

[keywords: menu reorganization mode context enable disable]
[keywords: visible hidden item toolbar menubar]

-- 
David Allouche         | GNU TeXmacs -- Writing is a pleasure
Free software engineer |    http://www.texmacs.org
   http://ddaa.net     |    http://alqua.com/tmresources
   address@hidden  |    address@hidden
TeXmacs is NOT a LaTeX front-end and is unrelated to emacs.





reply via email to

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