Greetings all, For some time now, GNOME has had a serious problem with regards to file types, default applications, and url handlers. I have received several requests to consolidate them as their areas of functionality overlap. In addition, the interfaces are poorly designed and much of the code is not well written. I have discussed this with Richard Hestilow and we have come up with a concrete plan for this realm of configuration. First, a brief outline: File types is used for setting up handlers for particular MIME types. It interfaces with GNOME VFS' MIME database, so that an application can use a relatively simple API for performing actions, such as viewing and editing, on files of different types. It is similar to the associations in Windows. Default applications is a simple capplet that allows one to specify one's preferred text editor, web browser, help browser, and terminal. URL handlers allows one to specify what should happen when calling gnome_url_show () for different protocols. Some of this functionality overlaps and much of it is poorly defined. For example, why should the handler for http be different from the handler for HTML, and why should one specify the web browser in yet a third place? The preferred text editor is really the editor for plain text documents. Plus, if one loads an http URL that points to a PDF document, should the handler for PDFs not be launched as opposed to the handler for http URLs? Here is what we propose: 1. Default applications should be relegated to the advanced section. The sections configuring the text editor and the web browser should be removed, as those are better specified in the file types capplet. The remaining sections -- help browser and terminal -- constitute integrated parts of the desktop, and only advanced users should be presented with the option of changing them. 2. The file types capplet will be given a major UI facelift. The types will be placed in a tree, with toplevel nodes being items like "Documents", "Images", "Video", and "Sound". In particular, there should only be a few. One will be able to configure a single application for every MIME type under a toplevel node (e.g. one handler for all pictures), and one will be able to configure applications for subtypes (e.g. Images/GIMP XCF) to override the toplevel settings. 3. URL handlers will be merged into file types; all URLs will be placed under the toplevel node "Internet Services" therein. When configuring a URL handler, one will be given the option of either launching the handler for the type of content given by that URL (this makes sense for http and ftp) or launching a program with that URL (this makes sense for most everything else). In cases where GNOME-VFS does not understand a particular protocol, or where looking at the content makes no sense (such as mailto), the option of looking at the content will be disabled. The dialog will contain several common default handlers for each URL for the case where the user elects to launch a program (e.g. Balsa and Evolution composer for mailto urls). 4. The new merged URL handlers and file types capplet will be renamed to reflect its combined duties. It will be placed in the "Main" section of the control center. Some of this we are still a bit unsure of, e.g. it might actually be better to leave the URL handlers and file types capplets separate and rename the former "Internet Services". Unfortunately we are short of users' skins to crawl into and evaluate that decision. We have a basic mockup screenshot of the combined capplet available at http://primates.ximian.com/~tvgm/handlers.png Any comments? ======================================================================== Bradford Hovinen Hacker http://www.cis.udel.edu/~hovinen/ Ximian Desktop team hovinen ximian com Ximian, Inc. Now what is history? It is the centuries of systematic explorations of the riddle of death, with a view to overcoming death. That's why people discover mathematical infinity and electromagnetic waves, that's why they write symphonies. - Boris Pasternak, Doctor Zhivago
Attachment:
pgp0dJRPuRfsb.pgp
Description: PGP signature