markmc at redhat.com
Fri Oct 1 15:39:43 EEST 2004
On Fri, 2004-09-10 at 10:47, Waldo Bastian wrote:
> On Sunday 29 August 2004 15:56, Mark McLoughlin wrote:
> > Hi,
> > I've just added a test to menu-spec which interprets NoDisplay=true as
> > follows:
> > - in a .desktop file, it makes that entry basically not exist
> > - in a .directory file its the same behaviour as a <Deleted> in the
> > <Menu> node
> > Shout if its being interpreted differently somewhere else.
> In KDE we differentiate between "not existing" and "not shown". We use
> "Hidden=true" for "does not exist" and "NoDisplay=true" for "not shown".
> For the menu itself this makes no difference, but other applications and e.g.
> the "Run Command" dialog will be able to start applications that are "not
> shown" but they will not be able to start applications that do "not exist"
> Likewise for MIME bindings, it is possible to bind a file type to an
> application that is "not shown", but it is not possible to bind it to an
> application that "does not exist".
Okay, that makes sense. So, for the purpose of menus, we shouldn't
immediately discard a .desktop file with NoDisplay=true, but just not
show it in the menu.
A contrived example of when it makes a difference is when you have
duplicated .desktop files. If the first .desktop file found contains
NoDisplay=true, but the duplicate .desktop file contains
NoDisplay=false, you'd expect the entry to not appear in the menu.
However, if you consider the same example with Hidden=true, you
actually *would* expect the entry to appear in the menu since the first
.desktop file would not preclude the second .desktop file from being
(Goodness, we haven't made life easy on ourselves :-)
What I'm really wondering about, though, is how to interpret
NoDisplay=true in a .directory file. I think what makes sense is the
menu isn't shown, but is still part of the menu layout processing
(whereas a <Menu> with <Deleted> is discarded before we start
The distinction would only matter with <OnlyUnallocated>, I think. If a
desktop entry is included <Menu> with NoDisplay=true, then it is
considered to be allocated but if its included in a <Menu> with
<Deleted>, then it isn't considered to be allocated.
More information about the xdg