[Konsole-devel] UI option (a suggestion)

Laing A. K. laing at eecs.tufts.edu
Sun Mar 17 13:58:55 UTC 2002


Hi,

This is a suggestion for modifying the User interface of Konsole.  I
think it could be even easier (than it currently is) to tell which
terminal window is which.  Currently all the buttons look the same
and one has to depend on yellow bubbles which are named by konsole
in a distinct manner, but which is not ridiculously-easy to use.

A SUGGESTION:

There should be a reasonably smart subroutine that identifies the most
important *line* in each of the terminals.  Usually, this will be the
line containing the typing cursor (that should be easy).  Unless the
line containing the cursor is blank, then something else is needed,
like the last nonblank line, or the status line of the application.

Then the main window should be split in two with a horizontal bar.  In
the (smaller) lower part, called the menuwindow, each of these
*important* lines should always be visible (up to 10 of them can
easily be afforded permanent screen space).  The top part would be
what the current main window is -- the terminal view.

The menuwindow would have the buttons associated one with each line,
maybe to the left of the lines.

So in my case the menuwindow would look like

[BUTTON 1] | [laing at koalab@ne bin]$ pushd ~/
[BUTTON 2] | --1-:**-F1  mutt-lilac-5769-2      (Fundamental)--L45--Bot------
[BUTTON 3] | [laing at piano ~]$
[BUTTON 4] | [laing at lilac keylauncher]$ pilrcui -v
[BUTTON 5] | PID USER     PRI  NI  SIZE  RSS SHARE STAT %CPU %MEM   TIME
[BUTTON 6] | 1   +   6    9 Anybody can help on this?               aname

Immediately you can tell (on wasting only 6 lines of screen
real-estate) that the first is running on koalab in the middle of a
command, the second is an emacs process sending mail, the fifth is a
top process and the sixth is a newsreading process (actually tin) !!!

ADVANTAGES

Note that if one's shell displays machine name and directory name, and
user id then it is very easy to see (based on those) which one is
which.  It also displays partly typed commands which I left in the
middle for whatever reason -- tells me which shell I partly typed that
command into, just by showing it.  It clearly tells me if I have an
emacs process running, and on what file (using that bar at the bottom,
if the line containing cursor is blank).  Finally it can monitor
compilations (by whizzing the last line of the compilation by on the
screen) and let you know when the compilation is done or hits an
error.  Most importantly it is SELF-UPDATING and never obsolete.  It
needs no attention in order to deliver the benefit.

If this is combined with a way to change the main window based on
keystrokes, ie. no mouse needed, then konsole will RULE.  I suspect
the keystrokes has been implemented already and I just don't know how
to use it yet.

Ideally the buttons on the left would be real buttons responding to
the mouse, not text, and if this feature is on, then the buttons in a
row at the bottom of the screen would not have to be there.

*Please* consider this suggestion, at least as a feature that the user
could turn off and on.  For me it would improve navigation/usability
quite a bit.  The part about identifying the most important line
should be easy based on regular expressions, if we find a way to
represent cursor position itself in a regular expression.

eg.  Line containing cursor if it is not blank
else: any line matching one of the following regular expressions (in order of priority) 
 ... then here have a listing of popular terminal applications' status
lines, each implemented as a regular expression to pick out the status
line ...

I think this would be an awesome feature, not too hard to implement
(for someone who already knows the konsole code) and I hope this is
given some consideration,

Thanks,

Ambrose




More information about the konsole-devel mailing list