You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdebase/konsole/doc/Konsole2.Requirements

142 lines
4.2 KiB

[Konsole2.Requirements]
The current state of konsole asks for a redesign.
While lower level material, especially the emulation
comes out to be very stable over the years, the upper
level level shifts because of new uses and fulfilled
wishes.
These cannot be implemented by evolutionary modification
but require complete redesign/rewrites.
This file is to collect requirements and ideas for this.
- Here are some candidates -----------------------------
- proper partification
While konsole became a proper platform for terminal
oriented working, fine integration with the desktop
did not happen yet.
- connection/disconnect session to/from individual windows
- gui style configuration for $KDEDIR/share/apps/konsole/*
- improved history algorithm
Current history algorithm does not allow to limit the
histories size. Also, it descreases the speed.
- improve unicode support
this is both an ncurses and terminfo issue.
We may need to provide some help for these packages.
- tty vs. fullscreen mode solution.
The visual appearence of the problem is that information
may get lost when the screen is resized. Likely, lines
scrolled into the history could be unfolded.
- systematic solution for the configuration issue.
Konsole can be configured from many sources.
Adding or changing configuration items needs
to be localized.
The compiled-in defaults should consistently
be handled like the default.Keytab.
- Multi session startup
Having multible sessions in the beginning
would be a nice option.
- Event flow and class design.
The Emulation::setConnect logic has severe flaws.
The whole class design needs to be revisited in
light of the session material that came in, too.
Likely, cut&paste happily flows from the back
through the chest right into the eye.
- Improved integration of technical documentation.
This is a freeware project and so, proper technical
documentation is even more importent than in a
commertial environment.
- A more generic handling of different sorts of emulations.
This means to fix a long term problem in mc(1) first,
to allow using terminfo entries other then 'xterm'.
We could use these then to weed out obsolete material
and to make konsole having an ECMA compatible emulation
by default. This would perhaps allow to pull the emulation
straight again.
... Check through wishlist and FIXME/Notes/PROJECTS
--------------------------------------------------------
- copy of the earlier file PROJECTS --------------------
The state of konsole is that the lower level mechanics are very
stable, while the overall program still shifts purpose.
After a year or two of these shifts the upper levels ask for a
redesign. This will come out to be konsole2.
I'll start a Konsole2.requierements instead of this file.
- current issues -------------------------------------------------
- add configuration for function keys. (allmost done)
document broken keypad (It's a QT issue really)
document VT100 keypad codes (doc/missing.keys)
* configuration
- codec selection unfinished.
- command line options
font, menu, scrollbar, schema, kdelnk, codec, keytrans, ...
* improve/complete documentation
- include README.* into doc.
- explain configuration files
* future stuff, perhaps ------------------------------------------
* stuff centered around resizing and text vs. matrix:
[This needs a bit explaination]
- make resizing more clever
to see the issue, 'ls /dev', make window smaller
and then larger again.
- introduce the concept of "logical lines" for resizing and
cut'n'paste.
- selecting lines that wrap insert a '\n' in the middle of the
line when pasting. A related problem occures with resizing.
* write configuration utility for configuration files.
(*.schema,*.kdelnk.*.keytab)
- when manipulating binary files, sometimes one
screws up ones terminal settings. xterm has
a convenient 'hard reset' menu choice.
- keep session open after client program termination.
Useful for things like 'konsole -e ls'.
- deflicker, setting all the attributes separately
both when creating and changing to a session
creates 3 setimage and 1 paint events. (This may
have improved, lately).