Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
KDE GUI Programming IT Technology

Deep Inside the K Desktop Environment 219

Lemmingue writes "Ars Technica published a very good article about the KDE architecture. It's a essential read for anyone wondering how Konqueror can open documents in the same window or just understand the license issues regarding the Qt use. The article describes most of the technologies behind the KDE (Qt, KParts) and how the project is organized. The article is full of links, screenshots and diagrams."
This discussion has been archived. No new comments can be posted.

Deep Inside the K Desktop Environment

Comments Filter:
  • Er? (Score:3, Informative)

    by aleonard ( 468340 ) on Monday June 21, 2004 @10:19AM (#9484561)
    And it makes to to slashdot only four months late! Unless Ars made a stealth update I'm not aware of?
  • by Hannibal_Ars ( 227413 ) on Monday June 21, 2004 @10:29AM (#9484649) Homepage
    ...you guys will link up my new Prescott article [arstechnica.com] that went live this morning!

    (Looking back at this post with the preview function, I'm thinking, "is this a troll, flamebait, informative, funny, all four, or none of the above?" I post, you decide.)
  • Dependencies (Score:5, Interesting)

    by ultrabot ( 200914 ) on Monday June 21, 2004 @10:33AM (#9484698)
    From TFA:

    In addition to DCOP, the upcoming KDE 4 is expected to also support D-BUS, which was designed using DCOP as a model but with the added advantage of having no dependencies,

    Thank $deity! KDE would in general benefit from ridding the application programmer from dependencies to GPL'd stuff. KDE "needs" (to the extent any piece of software needs anything) to be able to render Gtk-applications with native LAF, so that the application developers can choose their license freely. I'm not aware if the dependency problem with DCOP relates to Qt, however. Without GPL (and QPL), KDE could have been embraced as the standard Linux desktop environment ages ago. So far it only has the most users, but that's not enough if it's not "strategically viable" (if you work for Trolltech/KDE: please spare the lecture about corps affording $1500/dev/year, we've all seen it).

    KDE could really collect the jackpot by allowing development of native KDE apps via Gtk/other LGPL'd lib. I assume QtGtk isn't up to the task yet?

    DCOP, BTW, is a very sweet and underadvertised technology. We need DCOP-like scriptability for all the applications. It has a very transparent feel, just like a good Unix methodology should.
    • I imagine it'll soon be possible to build native KDE applications using GTK. Things like QtGtk theme engine and the library that merges the event loops, when stable, will allow a very nearly native KDE application written in GTK. See here [slashdot.org] for more details.

      The problem from a licensing perspective is that even if the theme and event loop code are LGPL, they probably link back to other KDE libraries which then link back to QT. Even though the integration libraries and much of KDE itself are LGPL, you woul
      • Re:Dependencies (Score:3, Informative)

        by jbolden ( 176878 )
        Though I do feel it is a real stretch to say a GTK application is a "derivative" of QT. The vaugeness of the GPL in defining derivative work make this a difficult issue.

        The GPL doesn't define derivative work, US copyright law does. The FSF has officially recorded opinions on areas of copyright law that are vague and those opinions may or may not have influence on a possible future lawsuit.

        In any case if the app requires QT to work its a derivative work if it can run independently it isn't. But KDE is
        • Re:Dependencies (Score:3, Informative)

          by rekulator ( 582156 )
          Wrong. KDE libs are LGPL, only apps are GPL.
          • Good point. Its still a little complicated however.

            Actually no. KDE libs as distributed from KDE are LGPL. KDE as distributed by any distribution is all GPL. The reason is that:

            KDE + QT is only a distributable combination if the QT is under the GPL.
            The libs are derived works of QT and have a GPL compatible license (the LGPL) so when distributed they are under the GPL.

            Copyright law covers the act of copying. Believe it or not, where you get your copy from does influence the licensing. So if I have
        • Exemption or no exemption, applications running under Linux would not need to be GPLed, as they would be merely using the kernel, and the GPL explicitly allows this in section 0: "Activities other than copying, distribution and modification are not covered by this License; they are outside its scope." You are not copying, distributing, or modifying kernel code when you run a program under Linux, so the GPL's rules don't apply. On the other hand, linking to a library is a totally different proposition, as i

          • You can't take a Linux binary and run it under x86 Solaris. The reason is there are links whether they be direct or indirect (BSD actually contains a compatibility layer). If A does not operate without B then it is a derivative of B, whether it contains B or not. The GPL would cover distribution of a combined work (that is A+B together). Without B even if A was a derivative copyright law doesn't kick in since there is no copying (which is one of the reasons that SCO has no case in their assertions regar
  • by ArsEric ( 780868 ) * on Monday June 21, 2004 @10:33AM (#9484700) Homepage
    Yes, we published this several months ago, and have made no recent revisions to it. If you're going to link us up (which we always appreciate!), why not do it to our new article on the Future of Prescott [arstechnica.com]?
    • by Anonymous Coward
      I read the KDE article a few months ago so looked at the Prescott article. It was difficult for me to comprehend completely.

      So I looked at the primer article 'Understanding Moore's Law' http://arstechnica.com/paedia/m/moore/moore-6.htm l what a great article. This primer in integrated electronics practice and theory was interesting in itself. But the fact that it made Moore's classic paper understandable made it especially valuable reading.

      One errata however the original Moore article archived at www.int
  • by filesiteguy ( 695431 ) <perfectreign@gmail.com> on Monday June 21, 2004 @10:34AM (#9484719)
    As a regular Windoze user, I love looking into KDE from time to time. I first tried it out in '99 on my Pentium 133 laptop and was somewhat happy. (It was certianly better than the X-win system on our Sparc 5 workstations.)

    I now have Mandrake 10 and am very pleased with the progress, integration, and ease of use. Since I use NT 5 here at work, I am almost excited to get home and work on my system running KDE.

    Good job, Mattias!

    See, being from Tübingen can be Kool!!!
  • by Anonymous Coward on Monday June 21, 2004 @10:59AM (#9485053)
    Gnomes Gone Wild?
  • Offtopic (Score:5, Funny)

    by Space_Soldier ( 628825 ) <not4_u@hotmail.com> on Monday June 21, 2004 @11:03AM (#9485096)
    Everytime some one posts a Deep Inside article makes me think of Deep Inside Devon, or some other Deep Inside .
  • by otis wildflower ( 4889 ) on Monday June 21, 2004 @11:27AM (#9485357) Homepage
    Has it occurred to anyone that supporting non-l337 g33kz using KDE as a primary desktop will be made more difficult just because it's impossible to keep track of all the dopey names for things?

    How does 'kopete' relate to 'chat' or 'instant messaging'? How does 'Konqueror' relate to 'browsing the web'? How does 'Apollon' apply to p2p? How does 'K3b' apply to CD burning/ripping? KMail works. KControlCenter works. Easy for someone to figure out what it does by its name. That is what A NAME IS FOR. We're not dealing with hungarian notation here: The whole idea of a UI is that it needs to be completely descriptive at a glance, and anything that is counterintuitive or obscurantist needs to be fixed or replaced. Normals expect this, they don't think it a crutch, and they're not expected to know better (as developers who take issue with HN may argue other developers _are_ expected to).

    At least Apple (and even M$ to a lesser extent) uses prosaic names like iPhoto, iChat, Mail, DVD Player, iCal, Address Book, which makes it easier for mortals to understand their metaphor (Safari being the most egregious exception). KDE ware names seem purposefully opaque, and if you want to make a dent in the GUI you either have to hope for great icons and forget the names, or you have to do more work than you should have to do.

    I love KDE, I think anyone from 3 to 103 could use it comfortably, but I shudder to think about all the help calls I'd get from people just trying to find shit in the interface.. It took me an hour of googling to figure out what the hell Apollon was! Anything that can or should be in a base KDE release (or a bundle, like kdemultimedia or kdenetwork) should have a simple, descriptive name, even if it means stepping on the toes of obsolete projects or capricious developers.

    (OTOH, maybe you don't give a damn about condemning your less technical friends and/or family to a life of M$ hell. Oh well.)
    • by standsolid ( 619377 ) <kenny@NoSpAm.standsolid.com> on Monday June 21, 2004 @11:45AM (#9485601) Homepage
      I present, for your edification, a screenshot [standsolid.com] of what a KDE Menu looks like.
      If you have any questions to what a "Music Player" is, then there is little hope for you, yet.

      Hell, This menu didn't comfuse my grandmother, and you're still complaining about supporting users.
    • It's not that hard (Score:4, Informative)

      by bcore ( 705121 ) on Monday June 21, 2004 @11:57AM (#9485758)
      How does 'kopete' relate to 'chat' or 'instant messaging'? How does 'Konqueror' relate to 'browsing the web'? How does 'Apollon' apply to p2p?

      I suppose one way of figuring this out would be that the default menu entries for these apps clearly state what they do.

      Kopete is found under taskmenu--internet--Instant Messaging (Kopete). Konqueror is lister as "Web Browser (Konqueror)"... etc.

      I can't say that I ever had troubles finding the right apps in KDE, even when I was a total noob.
      • I suppose one way of figuring this out would be that the default menu entries for these apps clearly state what they do.

        Ummm, no. The default menu entries on your particular distribution give descriptive names, but that's a configurable option.

        Right-click a panel and choose "Configure Panel", then the "Menus" tab. You'll get a selector like:

        Menu item format:

        • Name only
        • Name (Description)
        • Description (Name)

        My Debian install had the first option selected by default, but that may be because I

    • by Dravik ( 699631 )
      Now is Outlook or Access the one you want for email. Hmmm, mabey it's Excel. Why doesn't Microsoft name their apps something easy to figure out just from the name. Something like Kontact.
    • Clearly, SAFARI means Web Browser. I highly doubt people aren't running Linux because they can't remember that Konqueror is the browser.
    • At least Apple (and even M$ to a lesser extent) uses prosaic names
      As far as Microsoft software goes, what about their "flagship" office suite? I can understand "Word" but how does "Excel" say "spreadsheet"? How does the user know that "Access" is a database? (I use the term "database" lightly.) I don't think PowerPoint or Outlook are that descriptive either. We just know what these app names are for because we've used them for so long (for the Windows users out there.)
    • Good names include:
      • Apache for a webserver (smoking signals)
      • Evolution for an email suite
      • Gimp for a drawing program
      • Mozilla for a browser
      • Exim for a mailserver
      • Squid for a proxy (8 arms, wow, very intuitive).
      Yeah you are right, KDE should work on it.
    • by Anonymous Coward on Monday June 21, 2004 @12:19PM (#9486004)
      Konqueror was named I believe as a reference to the "Navigator" and "Explorer" paradigm. I've seen the slogan around (though it may be unofficial) "After the Navigator and the Explorer comes the Konqueror." (and the K is obligatory for many KDE based projects ^_~) And I seem to recall KDE having the slogan "Konquer your desktop" so I would say Konqueror fits.

      And did you ever think that perhaps some of the names are acronyms or are meaningful in other languages? Take Kate for example, what on earth does the name Kate have to do with text editing/programming? Well nothing until you realize that it's an acronym that stands for "KDE Advanced Text Editor". And I recall a class or project or something that had a name that was meaningful in German but I don't recall what it was off hand.

      I can't say for sure, but I would imagine that K3b stands for "KDE 3 Burner" or something similar.

      And let me ask another question. What does Mozilla have to do with web browsing? That name is only meaningful to those that know its history. That it was Netscape Navigator's code name because it was the browser that was going to eat Mosaic. But I digress, what about Emacs? How would your non "l33t" hackers know what that program is used for?

      Furthermore, you make your statement as if it were the rule and not the exception, but going through my kde 3.3alpha menu, I count.....15-16 or so apps that are part of kde that do not have first glance meanings in English (excluding the games menu) and that's out of....well over 100+ apps that come bundled with KDE. And if that were not enough, the KDE menu displays the generic names for the apps on the menu as well as the program name *by default*. So I don't think this problem is as great as you claim.
    • Has it occurred to anyone that supporting non-l337 g33kz using KDE as a primary desktop will be made more difficult just because it's impossible to keep track of all the dopey names for things?

      No, it hasn't occurred to anyone. You've imagined the posts to every other KDE/Gnome article that complain about exactly the same thing.
    • by Just Some Guy ( 3352 ) <kirk+slashdot@strauser.com> on Monday June 21, 2004 @12:36PM (#9486172) Homepage Journal
      How does 'kopete' relate to 'chat' or 'instant messaging'?

      In much the same way that "Visual Studio" relates to programming (and not graphic design) for the unitiated, and Trillian relates to instant messaging, and Eudora relates to email, and Vivio relates to drawing diagrams.

      They only sound worse than the equally unrelated Windows names because you're not used to them yet, unless you really do independently associate the act of burning CDs with the name "Roxio".

    • Unfortunately, most generic names are already trademarked. Since Free Software developers do not have the resources to do a trademark search, it's safest to pick a "unique" name. Consider the grief that came about with "KIllustrator".

      I'm wondering if you also argue that Mac OSX is woefully unsuitable for newbies because they used the name "Safari" for their web browser...
    • How does 'kopete' relate to 'chat' or 'instant messaging'? How does 'Konqueror' relate to 'browsing the web'? How does 'Apollon' apply to p2p? How does 'K3b' apply to CD burning/ripping?
      How does Trillian relate to chat? How does Safari relate to browsing the web? How does KaZaA (or Gnutella or Morpheus) relate to p2p? How does Nero apply to CD burning?
  • by wobblie ( 191824 ) on Monday June 21, 2004 @11:38AM (#9485509)
    konqueror 3.2 doesn't render their front page created website properly ...
  • by bludstone ( 103539 ) on Monday June 21, 2004 @11:52AM (#9485698)
    My first experience with KDE was this weekend.

    I finally decided to put my money where my mouth is (so to speak) and installed mandrake 10.

    Brilliant, I must say. But, I only have one concern. I was a bit taken aback that the install ran slower then windows 2k on my celeron 400.

    When i say slower, i mean that browsing the web took longer and programs took longer to load and execute. Windows took longer to move around the screen. Menus took longer to "pop up." Basic stuff, really.

    Functionality-wise, I am not complaining, I really like how things are working so far. I just need to familiarize myself with a few more things (navigation, program location, ect) and ill be fine.

    I admit though, I was looking forward to a slight speed increase. I was a bit taken aback that things actually slowed down.
    • You're running an operating system that is "state of the art" and comparing it to an OS which is over four years old.

      Not that this is an excuse, but that's the way it is. A current distro (like Mandrake 10) is going to first cater to those with current hardware. With a recent AthlonXP or P4 you are less inconvenienced by the difference in speed.

      The fact is, Linux distros like Fedora, SuSE, and Mandrake are resource hogs, particularly running a big desktop environment like KDE or GNOME. So, you've got t
      • Re: (Score:3, Informative)

        Comment removed based on user account deletion
        • Shit, if I tried to compile everything myself I'd damn near need a faster box.

          Gentoo should only be installed at an installfest with a few powerful PCs on the same LAN running distcc.

          That way your less-than-modern PC can have nicely optimised binaries with the help of gruntier machines doing the compiling for you.

          There's the added advantage that there are guru volunteers at an installfest.

          Un-assisted installs should use something like Mandrake.

          Just MHO :-)
    • You should have seen it before kernel 2.6, prelinking and KDE 3.2!

      Linux distros are usually slower than windows for desktop use. That is especially true for big and heavy stuff like KDE, Gnome, Mozilla and openoffice.org. The nicest thing is most bottlenecks can be and are being eliminated.

      • Linux distros are usually slower than windows for desktop use.

        No--big, heavy, buggy, mammoth, insane software such as KDE and GNOME is usually slower. A Linux box running fvwm2, rxvt, emacs and firefox screams. I don't know why folks waste their time with top-heavy software instead of just doing the Right Thing.

    • I would have to blame Mandrake for your slow down. On a system at work I had a dual boot Win2k and FreeBSD/KDE. Doing am informal test of the two, the FreeBSD/KDE boot was much faster, and most application launches were much faster as well.
      • I have seen BSD perform better while Linux gets slower and slower after each new gcc and glibc release with my own eyes.

        I do not recommend Linux now on any machine uder 1gz. I switched to FreeBSD awhile ago but whenever I put Linux on my athlonXP it seems quite sluggish compared to both Net/FreeBSD and Windows2k.

        I think its the linked glibc since the problem is isolated.

        • I would have to disagree with you. While FreeBSD does seem, in my opinion, to be slightly faster than Linux, this cannot account for the poor performance the prior poster was complaining about.

          Go try out Slackware, Gentoo, or another "minimal" distribution. You'll find the Linux to be just as fast as FreeBSD. Fatter distros (who like to refer to themselves as "big boned") are another story.
    • >I was a bit taken aback that the install ran slower >then windows 2k on my celeron 400.
      >When i say slower, i mean that browsing the web >took longer and programs took longer to load and >execute. Windows took longer to move around the >screen. Menus took longer to "pop up." Basic stuff,
      >really.

      I've got the release of KDE that came with RedHat 9, and I will say that it has gradually been winning me over, lately. Konqueror is a very useful file manager when in twin-pane mode, and Konsol
    • hmm.. I'm running KDE3.2.2, kernel 2.6.6, slack 9.1 on a 1200, with 512MB RAM, full install with a bunch of unnecessary crap running ( - n00b), but it runs faster than my 2500+ o/ced to 2.2, w/ 512MB ddr400 running xp w/ all the crap turned off. maybe some tuning is needed
  • "The project is apolitical, without any bias regarding specific cultures
    and platforms, independent from economic, emotional and social issues;"

    So defacing the home page to oppose the EU Parliament voting for software patents isn't a political, economic, emotional, or
    social issue?
  • The article goes on about a supposed 'dream IDE.' Well, when I dream of an IDE I imagine one which can be run across a tty, accessed from around the world; one which doesn't require mondo resources.

    I dream of emacs [emacswiki.org]. Actually, I don't dream of it--I just use it. Can KDE's tools perform an interactive diff? Does the text editor integrate with CVS such that check-in/check-out is instantaneous? Do they abstract away remote acess issues such that anything FTPable appears to be on my local machine? Are t

"Hello again, Peabody here..." -- Mister Peabody

Working...