[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 $TDEDIR/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).