Saturday, June 26, 2004

LINUX: What KDE and GNOME Really Need

What KDE and GNOME Really Need :: osViews | osOpinion :: Tech Opinions for the People, by the People: "C"

Contributed by: Tim R.
:: Open Content

"If KDE and GNOME work together on a number of desktop features, we could finally have a unified desktop environment based on an ideal set of specifications. Tim R. submitted the following editorial to osOpinion/osViews which lays out a plan for the two open source GUIs to work together while still allowing each of them to continue developing upon their unique strengths."

The flame wars between KDE and GNOME may never end. Of course, that's not necessarily a bad thing. The competition between the two will hopefully cause them both to work harder.

KDE and GNOME need to recognize that users will use whatever they like best, and shouldn't think of programs that are part of their desktop environment as something old and obsolete, that will eventually disappear. This just simply isn't the case.

They need to realize that many new applications will not be using their libraries. They need to see themselves not as the desktop environment for their users, nor as the majority of the programs their users will use. Rather, they need to look outside themselves and see the big picture.

They need to develop standards outside themselves and their own little world -- however big it may be.

Something New

I propose a new desktop environment. I call it the "X Desktop Environment" -- hopefully no one's using that name already =).

This isn't something to replace KDE or GNOME. This is something KDE and GNOME should be rebuilt on top of. This is more of a standard than an actual desktop environment, and needs an upper layer such as KDE or GNOME to be complete. Users already have the libraries it employs since they are the same ones that come with XFree86. Part of what I'm proposing already exists, so in some cases I'm just suggesting extending existing things.

Essentially, I'm suggesting replacing the foundation upon which we already have a skyscraper built, so this could get a little messy. Messy or not, it needs to be done.

Wish Lists and Proposals

Here is a list, more or less, of the features I'm proposing:

XDND: A standardized way to drag and drop between X applications. Yes, I know this already exists, but I'll mention it first anyway, since it seems like a good example of how things need to be done.

File Association: One system-wide database of file types, and optionally one in each user's home directory. It contains the default thing to do when the user tries to open these types of files, along with other options, which can be presented in things such as right click menus. In addition, it also says what icon to use and contains anything else the KDE and GNOME people agree should go there, and is extendible.

A special library can be made to access this database (config file), or the GTK+ and QT and query it directly. This also provides a standard place for commercial programs to register their new file types.

"Start" Menu: A standard menu and menu config file/directory structure needs to be made. KDE and GNOME can still use their own program to display this menu, and even still keep their old menus. They just need to come up with a standard format and filesystem location for this new standard menu, and include it in their current menus.

A "Desktop" Directory: Both KDE and GNOME like to take some directory, and display it on the desktop in a GUI fashion, similar to Mac OS and Windows. This will give other programs a place to put their icon. It should also let users switch between KDE and GNOME -- and anything else that uses this style desktop concept.

The Panel: Programs should be able to add themselves to a panel, if one is running, without worrying about which one is running. This doesn't force a panel upon anybody. It can simply return an error to the program if no panel is running.

The Soundcard Sharing Daemon: Since most sound cards only let one program talk to it at once, we have things like ESounD. For the soundcard sharing daemon to work well, they all need to use the same one. GNOME and KDE don't each have their own version of LPD or cupsd (programs used to share the printer), and they shouldn't each have their own version of this either. This is one of those things where if they don't share, it won't work.

Theming: One universal X client theming system. Since a theme usually means the look and feel of a program, there are many different aspects of theming. It will probably be more than one config file or group of files. One will be for the type of things you want to download from themes.org. The other for things that are better left customized by each user.

They should be extendible, and programs that use them can pick and choose which ones they actually use, and which ones are irrelevant to them.

A Better Place

If the things I've suggested get implemented, I believe it will make the Linux desktop a better place. My suggestions improve both standardization and diversity.

They provide a more standard look and feel to the Linux desktop, while making it easier, more customizable, and just as diverse. ::


Post a Comment

<< Home

Get Firefox!