You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
1.5 KiB
Plaintext
64 lines
1.5 KiB
Plaintext
2 years ago
|
#!/usr/bin/install-menu
|
||
|
# xdg desktop entry spec - sessions generation
|
||
|
# http://www.freedesktop.org/Standards/desktop-entry-spec
|
||
|
# Copyright 2005 - Bill Allombert
|
||
|
# Licensed under the GNU General Public License, version 2
|
||
|
|
||
|
!include lang.h
|
||
|
!include menu.h
|
||
|
|
||
|
compat="menu-2"
|
||
|
outputencoding="UTF-8";
|
||
|
outputlanguage="C";
|
||
|
|
||
|
function has_session() = shell("dpkg-query --listfiles '" $package "' 2>/dev/null | grep -qe '^/usr/share/xsessions/' && echo yes");
|
||
|
|
||
|
function name() =
|
||
|
"Name=" title() "\n"
|
||
|
forall(sections_translations(),"lang",
|
||
|
"Name[" $lang "]=" translate($lang,title())
|
||
|
"\n");
|
||
|
|
||
|
function comment() =
|
||
|
"Comment=" $longtitle "\n"
|
||
|
forall(sections_translations(),"lang",
|
||
|
"Comment[" $lang "]=" translate($lang,$longtitle)
|
||
|
"\n");
|
||
|
|
||
|
function AppEntry() =
|
||
|
"[Desktop Entry]\n"
|
||
|
"Encoding=UTF-8\n"
|
||
|
"Type=Application\n"
|
||
|
name()
|
||
|
ifnempty($longtitle, comment())
|
||
|
ifnempty($generictitle, "GenericName=" $generictitle "\n")
|
||
|
ifnempty(icon(),"Icon=" icon() "\n")
|
||
|
"Exec=" $command "\n"
|
||
|
"\n"
|
||
|
"[Window Manager]\n"
|
||
|
"SessionManaged=true\n";
|
||
|
|
||
|
supported;
|
||
|
wm = AppEntry();
|
||
|
endsupported;
|
||
|
|
||
|
startmenu = "";
|
||
|
endmenu = "";
|
||
|
submenutitle = "";
|
||
|
|
||
|
treewalk = "M";
|
||
|
|
||
|
genmenu = ifnempty($command,ifempty(has_session(),
|
||
|
"X-Debian" replacewith($basesection,"/ ","--")
|
||
|
"-" tolower(replacewith($title,"/ ","__") ".desktop")));
|
||
|
|
||
|
rootsection = "";
|
||
|
|
||
|
prerun = "rm -rf '" prefix() "'";
|
||
|
|
||
|
removemenu = "rm -rf '" prefix() "'";
|
||
|
|
||
|
preoutput = "";
|
||
|
|
||
|
rootprefix = "/var/lib/menu-xdg/xsessions";
|