Društvo LJUDMILA
Rozmanova ulica 12
1000 Ljubljana
Slovenia
Prostori: osmo/za

KDE improvement suggestions

This page contains some suggestions for KDE improvements.

Suggestions and help with implementation is, of course, welcome. Some of this stuff is already going into KDE4, I guess.

General remarks

Fix any of the pandemic bugs suggested by Tog

OSX gets a lot of this stuff right, but not all by any means, so it should be taken with care. Sometimes, better solutions are available.

Some of the suggestions can be implemented quite easily.


KIO/Konqueror/KHTML

Get rid of the new search text box. One text box is enough. Add a search button instead. Better yet, add combobutton which allows you to select search engine as well. Separate search box would make more sense on a separate toolbar, so that it can be used *without* location toolbar (by users who don't grok URLs, etc...).


Make shell command "Open", which opens a file in appropriate application. This makes it very useful for writing shell scripts and such. It also makes file opening more portable between different file managers. Provide visual feedback when starting a new program. Make file manager use this command to open stuff it cannot display itself.

Allow user to specify additional hidden files in directory in file called .hidden

Make it possible to separate file management and web viewing somewhat more, ie. open web pages in new window, configured for web. Could use view profiles.

If opening URL, which is already open in some window, bring that window forward instead. Window Manager should probably provide some means to bring appropriate window forward.

Make Drag-n-drop and copy/paste of files work between konqueror windows, running on different hosts.

Enable special folders, like *.app on OSX. Currently filename extensions don't seem to work on folders, so they cannot be associated with custom actions.

Actions and (context) menus should be more configurable from .directory file. Careful with security here!!!

Shelf mockup for konqueror on Slix. It is actually bookmarks toolbar. This already works, but somewhat less than perfectly.

Specify extra folder "shelf" in bookmarks for local file manager shortcuts and common locations. These typically include devices, user specific, and application specific locations. Create another toolbar with shelf, so we will have one toolbar for web (like we have now) and one toolbar for local bookmarks. Shelf should typically hold up to 10 items, not more.


Provide shelf bookmarks in all KDE (and Gnome) file selectors. Where are these kept anyway?

Have a daemon update shelf with mount info, etc...

Make spring-loaded action when dragging over shelf toolbar. Enable DND to toolbar as copy. Provide visual feedback (and sound) on drop action.

When dragging a file:// URL to toolbar or shelf, use only directory name as a label, not the whole URL.

Drag-n-Drop is sluggish

File downloads should go int Downloads folder (configurable, could be same as Desktop), not /tmp. File name should be something normal, not something like zxxt34542.tmp. Add option to not delete downloaded file after it is no longer used.

Make smb:// kio check, if referenced folder is already mounted (by the same user?) and redirect there if appropriate.

Add support for (sensible) extended filesystem attributes to file properties dialog, for file systems which support them.


KDesktop

Desktop is a GUI equivalent of home directory. Why are they in separate directories?

Implement "put away" action on files on desktop for moving files back to their original location. Maybe this could be made with symlinks? Have dragging file onto a desktop create link instead of actually moving the file?

Databases

SQL databases are great for a lot of stuff people want to do with computers today. Unfortunately, GUI interfaces are usually quite awful, so many people use spreadsheets and wordprocessors (how perverse!) to keep records.

How about a spreadsheet-like interface to SQL tables, running inside konqueror? This could be preferred to running a standalone application. Seems like most of the parts are already done, but it probably needs some more overall work.

Fast File Search

Index stored in PostgreSQL database, per user. This will enable database to be easily shared between many machines. Could we use tsearch2? Different databases could be supported, but this will probably greatly complicate things. PostgreSQL is fine. MySQL is somewhat to feeble and strange.

Make this database searchable from web, too. How can this work well together with personal web server?

Simple database setup assistant is probably needed (for tsearch setup, etc).

Provide transparent replacements for locate and updatedb command, which use this database. This will make indexing useful for Unix users, who use otherwise use locate. It also has additional effect of eliminating locate database.

Provide special daemon, which updates the index, most frequently, for user's $HOME, shared documentation, other. This need a list of searchable locations for entire system/network. This needs to be thought out better first.

Indexer will probably get very complicated with all the document conversion and content extraction stuff. Therefore it must be extendable.

Implement search as kio slaves. Use a special URL, like (full file searches: findfile:*foo*?ctime>2001-01-01&type=text/*). Make syntax complete and very powerful. This can be used to create "virtual folders" of search results. Kio slave asynchronously should run external program for query, which produces a list of files (sort of like 'locate'). Kio slave looks them up, sets proper icons and makes them display nicely in file view. It should not freeze, with many matching results.

Provide simplified search where one just types search keywords, not whole query. Make this available as a konqueror and panel widget.

Read this about document indexing.

Easy File Sharing

In "Send To" context menu, there is a list of people I can send file to. Selecting menu item sends file to that person's incoming folder. Should work better than sending file by email, which is what most people use now.

Kicker

Make kicker plugin, which displays menu defined in XML file, but looks just like other buttons/menus do now. Make the menu update when XML file changes. Use this for K-menu and others. The idea is to enable users to make more customized buttons and menus, but not require C++.

KMix plugin which looks and acts like Volume.app

Memory usage indicator, visually compatible with Fireapplet.

Bundle Fireapplet with KDE. On double click, run/show process manager.

Info panel

Add "About this computer" to K-menu. This function should bring up a window, showing fundamental features of the current computer:

Currently, this seems to be kinfocenter, but it shows a lot of information understood only by experts, while not providing more generic browser (cat) for files /proc, thus forcing expert users to use shell still. Perhaps it would be good to have to modes/tabs for simple and advanced info.


KWiki

Simple, but useful front end to various wikis. Could use KHTML for display, directly from the site. Support parallel search in all configured wikis and (at least some) rich text and source editing. Support DND attachments to the pages.

Application Launcher / Program Launcher

Find, if the app is already running and show it's windows.

This requires some kind of integration between launcher, window manager, process manager. Maybe also software installer.

Rethink the concept of "Application" on Linux/X11.

Store information, such as bug tracker, wiki, documentation, freshmeat and sourceforge project names, etc... in application .desktop file. Make these go to appropriate URLs.

Could GNUstep like application packaging (.app stuff) be used for Linux as well, on other environments, not only GNUstep? Wrappers could be generated automatically. Directories are much more flexible then .desktop file for storing stuff, at least for applications. This probably doesn't make much sense for "system" applications, such as those installed by Debian, but might make sense for 3rd party apps.

Include .desktop files for many known applications (from freshmeat etc) with the desktop environment. Run installer for appropriate packages, if application is opened but not installed. Do this only for users with superuser privileges. Ask user for confirmation first.

Window Manager

Popup windows tend to get lost below other windows. This should never happen!

Add "force quit" menu item to dead windows.

Use XOrg compositing extension, when appropriate.

add "hide" (hides windows with same WM_CLASS) add "hide other applicatons" (hides windows with different WM_CLASS) and "hide other windows" (hides all other toplevel windows) menu items.

Add "monitor process" to the advanced submenu.

Add custom actions to WM menu. Make useful info available to these custom actions.


Preferences

Better separate system and user preferences. And maybe theme/skin. Provide proper authentication (lock/unlock mode) for system (root) preferences.

  • Add proxy setting for RTSP
  • File indexing settings
  • Wikis (for KWiki)
  • Add SQL database settings - name, host, user, credentials (SSL?) - for search and such
  • Common directories (Dektop, Trash, Documents, Media, Music, Downloads, ...)
  • Common programs (launcher (Open),terminal,file manager,process manager, ... which exactly should be included and which should not be included)