Three different tab implementations

Christoph Cullmann cullmann at
Fri Jan 31 20:08:29 GMT 2003

Hash: SHA1

just my thoughts as kate maintainer:

I would like more to have a generic mdi lib/implementation in kdelibs than 
messing around with the window manager. If we rely on windowmanager support 
for the whole mdi stuff, we will make it impossible to use KDE applications 
(which would use the mdi stuff, like e.g. konqueror, konsole, kate, quanta, 
kdevelop, ....) outside of kwm, as we can't enforce that other wm's get the 
same mdi support ad hoc. And a implementation lib wise would still have many 
good sides: (as mentioned allready by others)
 a) no code duplication
 b) better GUI for the apps, as more consistent
 c) less possible errors for the app developers, as they don't have to mess 
     around with the internals, the classes could even hide some windowmanager
     magic later

But assuming we would create such a lib, please not limit it to the "tabs" 
case. What we need is a flexible interface for apps to allow them to:

a) have tabs for their views
b) allow splitting of a window (that really rules over each window managing 
stuff atm, no rearragment of the other windows, just hit one key and you have 
your 2 views beside each other, fine and clean)
c) allow the d'n'd of views out of the splitviews or tabs to become a real 
d) allow docking of different views into one window (like seen in the konqui 
sidebar or kate or kdevelop)
e) allow the apps to set sane defaults where everything is placed and let the 
user save his profiles he wants to have restored, that is something the 
current kdockwidgets only support very primitive (I think therefor 
kpovmodeler does use it's own version of them, or ?).

The qextmdi lib allready tryed that approach (is in use in kdevelop) in parts.
For the whole drag around and drop around stuff the kdockwidgets really are 
very handy, if they would be finally debuged and enhanced usability wise a 
bit more.

If somebody comes up with such an implementation, I would go and use it in 
kate and replace my own mdi managment with it, as that is only a option if I 
loose no flexiblity.


- -- 
Christoph Cullmann
KDE Developer, Co-Maintainer, cullmann at
Version: GnuPG v1.2.1 (GNU/Linux)


More information about the kde-core-devel mailing list