From Ray
Answered By Jim Dennis
Hiya. I admit it, I'm a newbie. Coming from a world of windows, it's sometimes difficult to get the grasp of what is being installed where, when a new app is installed. For example, I am using GNOME. If I install an app, does a shortcut automatically get placed in my programs bar? Does it depend on the app whether or not it does? Is there any sort of "standard" behaviour as far as installing programs and getting links to them on your desktop?
Thanks,
Ray
[JimD] You're right. There isn't a standard way for applications to "install themselves" into the menus, icon groups or other UI of you system. That's primarily because there is no standard UI for Linux.
When you're in X under Linux then you could be running any of several user interfaces under it. Most of these are in the form of "Window managers" such as twm, fvwm, Enlightenment, icewm, Afterstep and sawfish (my current favorite).
Under Debian there is a system by which package maintainers can "register" the GUI or menuing interfaces to their programs and by which any window manager (or, presumably, any other menuing system) can update its menus. That works great for those applications that are available as properly maintained Debian packages.
I know that Red Hat and other RPM distributions have some similar mechanisms; but I don't think any of those has become a defacto standard across different distributions.
This is one area where the LSB (Linux Standards Base) may eventually offer considerable benefit to Linux users. Of course LSB and FHS (the File Hierarchy Standard) are for general purpose Linux distributions. We'd never expect embedded, or special purpose distributions to adhere to these standards. The purpose of LSB is to provide a way for ISV (independent software vendors) and other programmers to write their programs so that they can install and operate on any sort general purpose Linux system without having to code up twenty different mechanism for 40 different systems and 200 versions (just the differences among Red Hat versions 4.2, 5.x, 6.x and the newer 7.x would be enough to drive most ISV's crazy).
For now you just need to read the vendor's or maintainers docs and figure out what to run after you application is installed, and you have to read your window manager's docs to figure out how to configure your custom menu items.
Under GNOME you have a set of "panels" which are miniature applications that work with your window manager (usually sawfish or enlightenment). You can usually add items to your panels by "right clicking" (which actually means that you click with your "secondary mouse button" --- that might be the right or the left button depending on how you have your pointer configured). There are features in the standard panel menus for adding new items to your GNOME panels. These are completely independent of your window manager's menus.
You window managers' menus usually popup when you click on the "wallpaper" (called the "root window" in X parlance). For sawfish (formerly known as sawmill) you can just read the "info" (TeXinfo) pages using EMACS or the standalone "info" program. TeXinfo is the tool/format used for documenting many GNU programs. It is a sort of hypertext system (though it's somewhat different than the "hypertext" model of the WWW that most people have been using more often in recent years). Interactive "info" tutorials are built into the info utility and into the EMACS info package.
For most traditional UNIX/Linux X window managers you customize them, including their menus, by editing a text file and inserting definitions in what amounts to a small programming language. Each of these is somewhat different. In the case of sawmill/sawfish the programming language is derived from elisp (the version of LISP used/implemented by EMACS). However the menus are defined with a set of very simple lisp expressions which simply define the menus (which are lists of data structures containing the labels, commands and arguments of each of the items on your menus). That's not too surprising since LISP is the original LISt Processing language.
Hope that helps. Hopefully this is something that will get easier as Linux is used on more desktop workstations. The fact that Sun and other major workstation vendors have joined forces to back the GNOME project suggest that things will at least be good for GNOME users. Since GNOME is still a free and open source project that means that all of the information necessary to make programs interoperate with GNOME will also be available to KDE and other communities with competing user interface suites. So it shouldn't force us into using GNOME, either.
Until then, good luck and perservere.
1 2 3 4 6 7 9 | ||
11 12 15 16 18 | ||
20 22 24 25 26 28 29 |