overhaul of some kcm appearance

Aaron J. Seigo aseigo at kde.org
Mon Mar 16 23:02:44 GMT 2009


On Monday 16 March 2009, Oswald Buddenhagen wrote:
> everything and the kitchen sink. this means that if you want one thing
> (thing being defined as a general theme, not just one class), you get
> 100 others plus their dependencies. this is inacceptable to a developer
> who tries to be truly desktop-agnostic and wants to minimize the number
> of points of failure.

so to avoid 100 other classes and their dependencies, we would then have 100 
different libraries, have to figure out what to link to, pull all those in as 
separate libraries (which afaui is even *more* overhead than one library with 
all those things in it) and have apps with dozens and dozens of little 
dependencies.

and in the common case, an app will use many classes from a given library. 
look at the apps that use libplasma, libkdeui or libkdecore to get an idea of 
that. 

while the average app certainly doesn't use every class in each lib directly, 
there are lots of inter-class dependencies which is alright because they are 
in the same library (cross library dependencies are nightmares) which makes 
the classes we have both more powerful, more integrated and have less 
duplicated code.

and while the average app certainly doesn't use every class in the each lib, 
it's common to use a good number of them.

the split between libkdecore, libkdeui, libkio, etc.. makes sense since if you 
aren't doing anything gui you just use libkdecore, if you are doing UI stuff, 
libkdeui is for you, if you are dealing with files libkio, etc, etc.

but any more fine grained than that would be braindamage imho.

take a look at the gtk+ folk who went that route and are now trying to pick up 
the pieces and consolidate things back down into a reasonable number of libs, 
something that has taken years and still isn't near completion but which they 
work at because right now it's a mess.

-- 
Aaron J. Seigo
humru othro a kohnu se
GPG Fingerprint: 8B8B 2209 0C6F 7C47 B1EA  EE75 D6B7 2EB1 A7F1 DB43

KDE core developer sponsored by Qt Software

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20090316/88da3d96/attachment.sig>


More information about the kde-core-devel mailing list