@ -11,6 +11,7 @@ from operator import attrgetter
seticon = False
seticon = False
desktop = False
desktop = False
submenu = True
de = dentry.DesktopEntry(filename = '/usr/share/desktop-directories/xdgmenumaker-applications.directory')
de = dentry.DesktopEntry(filename = '/usr/share/desktop-directories/xdgmenumaker-applications.directory')
applications = de.getName().encode('utf-8')
applications = de.getName().encode('utf-8')
@ -52,8 +53,9 @@ other_icon = de.getIcon()
def main(argv):
def main(argv):
global desktop
global desktop
global seticon
global seticon
global submenu
try:
try:
opts, args = getopt.getopt(argv, "hif:", ["help", "icons" ,"format="])
opts, args = getopt.getopt(argv, "hin f:", ["help", "icons" , "no-submenu", "format="])
except getopt.GetoptError:
except getopt.GetoptError:
usage()
usage()
sys.exit(2)
sys.exit(2)
@ -63,6 +65,8 @@ def main(argv):
sys.exit(0)
sys.exit(0)
elif opt in ("-i", "--icons"):
elif opt in ("-i", "--icons"):
seticon = True
seticon = True
elif opt in ("--no-submenu"):
submenu = False
elif opt in ("-f", "--format"):
elif opt in ("-f", "--format"):
desktop = arg
desktop = arg
if desktop is False:
if desktop is False:
@ -85,6 +89,7 @@ def usage():
print 'OPTIONS:'
print 'OPTIONS:'
print ' -f, --format the output format to use. Valid options are fluxbox, icewm and windowmaker'
print ' -f, --format the output format to use. Valid options are fluxbox, icewm and windowmaker'
print ' -i, --icons enable support for icons in the menus. Only works with fluxbox, icewm'
print ' -i, --icons enable support for icons in the menus. Only works with fluxbox, icewm'
print ' --no-submenu do not create a submenu. Only works with fluxbox, icewm'
print ' -h, --help show this help message'
print ' -h, --help show this help message'
print ' You have to specify the output format using the -f switch.'
print ' You have to specify the output format using the -f switch.'
print
print
@ -259,11 +264,13 @@ def category_icon(category):
def fluxboxmenu():
def fluxboxmenu():
global seticon
global seticon
if seticon == True:
global submenu
app_icon = icon_full_path(applications_icon)
if submenu is True:
print '[submenu] ('+applications+') <'+app_icon+'>'
if seticon == True:
else:
app_icon = icon_full_path(applications_icon)
print '[submenu] ('+applications+')'
print '[submenu] ('+applications+') <'+app_icon+'>'
else:
print '[submenu] ('+applications+')'
for i in menu():
for i in menu():
category = i[0]
category = i[0]
if seticon == True:
if seticon == True:
@ -284,7 +291,8 @@ def fluxboxmenu():
else:
else:
print ' [exec] ('+name+') {'+command+'} <'+icon+'>'
print ' [exec] ('+name+') {'+command+'} <'+icon+'>'
print ' [end] # ('+category+')'
print ' [end] # ('+category+')'
print '[end] # ('+applications+')'
if submenu is True:
print '[end] # ('+applications+')'
def windowmakermenu():
def windowmakermenu():
print '"'+applications+'" MENU'
print '"'+applications+'" MENU'