#!/usr/sbin/install-menu
# freedesktop menu spec - menu generation
# http://www.freedesktop.org/Standards/menu-spec
# Also used as /etc/menu-methods/kicker
# Copyright 2004 - Chris Cheney <ccheney@debian.org>
# Licensed under the GNU General Public License, version 2.

compat="menu-1"

!include menu.h

compat="menu-2"

function TopDirs() =
	ifempty($section,
	ifroot(
	"<AppDir>/var/cache/applications</AppDir>\n"
	"<DirectoryDir>/var/cache/desktop-directories</DirectoryDir>\n",
	"<AppDir>" parent(parent(prefix())) "/.local/share/applications</AppDir>\n"
	"<DirectoryDir>" parent(parent(prefix())) "/.local/share/desktop-directories</DirectoryDir>\n"
	));

function DirEntry() =
	TopDirs()
	"<Name>" title() "</Name>\n"
	"<Directory>" "alt" replacewith(tolower($section),"/ ","--") ".directory" "</Directory>\n"
	"<Include>\n"
	"<Category>" "X-ALT-Linux" replacewith($section,"/ .","---") "</Category>\n"
	"</Include>\n";

#outputencoding="UTF-8";

supported;
 gnome = ;
 kde = ;
 x11 = ;
 text = ;
endsupported;

startmenu = "\n<Menu>\n" DirEntry();
endmenu = "</Menu>\n";
submenutitle = "";

treewalk = "(M)";

rootsection = "";

genmenu = "applications-alt.menu.new";
removemenu = "rm -f " prefix()"/applications-alt.menu";

prerun = "rm -f " prefix()"/applications-alt.menu.new";
postrun = "mv -f " prefix() "/applications-alt.menu.new " prefix()"/applications-alt.menu";

preoutput = "<!DOCTYPE Menu PUBLIC \"-//freedesktop//DTD Menu 1.0//EN\"\n \"http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd\">\n<!-- Automatically generated do not edit -->\n<Menu>\n<Name>Applications</Name>\n";
postoutput = "\n</Menu>\n";

rootprefix = "/etc/xdg/menus";
userprefix = ".config/menus";

