Il giorno sab, 29/03/2008 alle 12.27 +0000, Calum Benson ha scritto: > On 28 Mar 2008, at 17:30, daniel g. siegel wrote: > > > Historically, when we wrote the HIG we originally wanted all the core > GNOME desktop apps to have functional names only, to alleviate some of > this confusion. Thus there would be no "gedit", no "nautilus", no > "epiphany"; only the GNOME "text editor", "file manager" and "web > browser". Here is an issue in this approach: for example, you could have 2 desktop environments installed on your system, both providing a "Text Editor" application, both using "accessories-text-editor" as launcher icon. You have no ability to know which one you are launching.... This should currently occur in GNOME+KDE4 with at least "System Monitor" and "File Manager" applications, but maybe there are other cases. > However, some maintainers (not necessarily the ones I just mentioned, > FWIW-- I can't actually remember which ones now) saw this as an > erosion of their project's identity, and weren't willing to make this > change. So we came to the uneasy compromise of having the functional > name on the menu, but allowing the project name in the application and > its documentation. This undoubtedly does confuse some users. But it's needed (or at least appreciated) when you have 2 or more applications with the same GenericName, see before... > In summary, now that you're a core desktop application and there are > no other core applications with a similar function, your menu entry > should not include the word "Cheese". It should be something like > "Webcam Snapshot" (I'm sure we can do better than that, I haven't > really woken up yet!), and the tooltip something like "Take photos and > videos directly from an attached camera". You can use the name > "Cheese" in the application itself, and in the documentation if that's > what the current docs guidelines allow, but preferably no more than > necessary. IMHO we need a more flexible and generic approach, allowing developers, users, vendors and admins to "tweak" the Application menu or, better, the "displayed name" for an application. So, starting from fd.o desktop entry spec, we have 3 keys: * Name - Specific name of the application, for example "Mozilla" * GenericName - Generic name of the application, for example "Web Browser" * Comment -Tooltip for the entry, for example "View sites on the Internet". The value should not be redundant with the values of Name and GenericName. Note that GNOME applications don't respect this spec (see also seahorse bug #503648). Now, from applications point of view we have: 1. core applications, i.e. no other core applications provides the same function _in the same DE_, without "branding" name (for example gnome-dictionary or gnome-panel, i.e. a name using "gnome" and/or application function) 2. core applications with "branding" name (for example Nautilus, or Totem, or Baobab, or Sound Juicer...) 3. non-core applications (usually with a "branding" name) 4. preferences/admin tools (usually like core applications without branding name, but those should provide OnlyShowIn key) IMHO the blu sky scenario is show only the GenericName when in your menus you have only one application providing a specific function, and show the specific application's Name when you have 2 or more applications with the same GenericName. Note that UN*X is a multi-user OS, so we can't simply say "install only one application and don't care". Examples: * Both Deluge and Transmission could use "BitTorrent Client" as GenericName, but when both are installed on your system you should have "Deluge BitTorrent Client" and "Transmission BitTorrent Client" as displayed names in order to simply distinguish them; A. Epiphany, Firefox, Konqueror, Lynx, sometime Internet Explorer, recently Safari.... all web browsers: if you are a web designer, you could need to install them all; icons are useful, but labels are better. So I need we should: 1. Start to respect the fd.o desktop entry spec and write stuff like "Name=Nautilus//GenericName=File Manager" or "Name=Epiphany//GenericName=Web Browser" for core applications with branding name and "Name=Dictionary//GenericName=Dictionary" for core applications without branding name. Note this is good also for stuff like SLAB aka gnome-main-menu that grabs the keys respecting the fd.o spec; see this[1] screenshot. 2. Add (and support in gnome-menus, I think) a "X-GNOME-Duplicate-Policy" (or X-GNOME-Visible-Name-Policy) key in .desktop file to allow developers to define the 'policy' to compose the displayed name in Application menu (and in any other place like the Open With menu/tab in Nautilus). Policies could are: "default" to follow system policies (see below), "always-both" to always use the composition "Name GenericName" as displayed name (this is for developers/vendors that can't resist to add branding), and "always-generic" to always use only GenericName as displayed name (while I'm not sure this is really useful). 3. Add some default policies like: * If the X-GNOME-Duplicate-Policy is absent, then assume this .desktop file don't strictly respect the fd.o spec and use only Name (current behavior); * If this is the only application with this GenericName in this Category, then use "GenericName" as displayed name; * If we have 2 or more applications with the same GenericName in this Category, then compose the displayed name as "Name GenericName" - note: could be interesting to make this localizable, some languages could work better with "Name - GenericName" or "GenericName Name" * If this .desktop file provides the same string for Name and GenericName (see previous Dictionary example, and in general any core application without branding name) and we have another application with the same GenericName, then use Categories key to grab the DE (GNOME, KDE..) and add "for GNOME" or "for KDE" or "for GTK" (not so good, I know, but should only occur if you have 2 desktop environment installed, providing the same launcher and you are listing applications for both) * other? Some examples: gnome-system-monitor Name=System Monitor GenericName=System Monitor X-GNOME-Duplicate-Policy=default Categories=GNOME;... Based on previous policies its entry will always displayed as "System Monitor" unless you have installed, for example GNOME and KDE4: in this case, its entry will appear like "System Monitor for GNOME" nautilus Name=Nautilus GenericName=File Manager X-GNOME-Duplicate-Policy=default Categories=GNOME; If you have Dolphin installed, the displayed names will be "Nautilus File Manager" and "Dolphin File Manager" (without "for GNOME/KDE"). skype Name=Skype GenericName=Video and Voice Chat X-GNOME-Duplicate-Policy=always-both The Application menu entry for this application will always show both keys, even if this is the only application with this GenericName. Skype developers will be thankful to us for the X-GNOME-Duplicate-Policy key 'cause they want to show their name. Of course this proposal is just an outline, not sure it really works (or even is useful), adds a lot of cpu cycles, and could need a lot of works (code in gnome-menus/gnome-desktop/..., changes in .desktop files, some GConf keys to edit policy, ...), but it seems to me a plausible solution in order to have a fd.o compliant desktop, happy users and happy developers/vendors. Oh, BTW, IMHO could be also interesting provide a way to hide all applications from another desktop environment. Example: my home computer is shared between myself, my system and my mother, I like to install KDE4 to see how it works, but I don't want to show its applications in my mom and sister sessions. By now, I've to manually uncheck any single KDE4 app :-( [1] http://primates.ximian.com/~jpr/Screenshot-gnome-main-menu.png
Attachment:
signature.asc
Description: Questa =?ISO-8859-1?Q?=E8?= una parte del messaggio firmata digitalmente