HowtosHome > howto documents > desktop > kioslaves

 

kioslaves

using kioslaves for improved desktop usability

kioslaves are one of the most powerful, but sadly hidden, features of kde. As has been written many times, the power of kde lies in its frameworks and the integration of those frameworks into every facet of the desktop environment through kdelibs. kioslaves is one of those key frameworks. It provides access to resources such as file systems and network protocols in a consistent way, so that all kde applications can access them. Why is this important? Because it opens up a whole new world of usability that you may not have been aware of.

where do I find kioslaves?

They're everywhere. You may not even realise that you are using them. They are available in the kde file dialog, the alt+f2 run dialog and konqueror. Everytime you look at a web page in konqueror, you are using the http:// kioslave. You can see what kioslaves are available on your system under "Protocols" in kinfocenter (to run it, just press alt+f2 and type "kinfocenter" into the run dialog).

how do I use kioslaves?

kioslaves are entered into the address bar of konqueror, a file dialog, or the run dialog. They generally take the format protocol:/. For example if you want to use the locate protocol, you'd type locate:/ into the address bar. One exception seems to be network based protocols like ftp:// and fish:// which require 2 "//"'s to work.

how to kioslaves behave?

Generally entering a kioslave into an address bar will produce a list of files that are accessed through the protocol. The files can be browsed like any other file listing in konqueror, or the file dialog. You should be able to drag and drop them as you would any other file. This is where the usability of kioslaves lies. It gives you a common interface to a whole bunch of disparate interfaces. So in konqueror, you can open up a remote ftp server in one tab, and a remote ssh server in another tab, and drag and drop files between them as if they were on your local filesystem. It means that when you've finished creating an image in krita, you can save it directly to your remote web server using the ftp:// kioslave from the file dialog.

so what are they good for?

These are just a few suggestions of what you can do with kioslaves. Given the number of protocols available, the possibilities are endless.

audiocd:/

The audiocd kioslave is one of the most impressive features of kde. It presents you with a directory containing a number of other directories containing the tracks from the cd converted to various formats, including .mp3, .ogg, .flac and .wav. You open the directory containing the format you want, and when you copy the files into a real directory, the files are converted into that format.

help:/

If you put help:/kappname into the addressbar of konqueror, konqueror will show the application's handbook.

locate:/

The locate kioslave gives you a window on the slocate command. The slocate command will search through a database of filenames on your harddrive, and provides you with a very fast way to search for files on your computer. The slocate database is usually updated nightly through a cron-job. So when you enter something like locate:/index.html in konqueror, all the locations of all the filenames containing "index.html" will be listed. This also works in the file dialog, so if you want to open a file in a kde application, and don't know where it is, you can enter locate:/filename in the openfile dialog, and it should show up in the file list.

settings:/

This kioslave will give you a simplified interface to the kcontrol modules. You end up with a konqueror window that looks a bit like the control panel in windows.

tar:/

If you point tar:/ at a tarball (regardless of whether it's gzipped, bzipped or bzip2'ed), it will open a konqueror window with the contents of the tarball. You can then browse the contents of the tarball. You can do the same with zip:/ except for zip files.

remote file management

kioslaves give you access to remote filesystems and files that can be used and manipulated as if they are local files. This is great for things like web development. You can manipulate files directly from a remote server. So if you need to resize an image to better fit on a webpage, open the fileopen dialog from krita, point it at the webserver using ftp:// open the image file directly from the server, work on it, and save it. No ftp client needed. The same applies for other protocols; fish:// for ssh, smb:// for samba, nfs:// for nfs.

You can discuss this howto on the forums.