Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #! /usr/bin/python
- #- alacarte2fluxmenu - 0611211515
- #- Paulo Silva (correasilva_at_tugamail_dot_com) - GPL licence
- #- converts the Gnome menu (/usr/share/applications/*.desktop) into a fluxbox menu
- #- usage: python gnome2fluxmenu.py > fluxmenu.txt
- #- or: python gnome2fluxmenu.py > ~/.fluxbox/menu (please backup 'menu' document before)
- #- note: results may need some small adjustments, like apps turned on/off with Alacarte
- import gconf,os,sys,random,mimetypes
- gnmp_st="/usr/share/applications"
- catacce_sl=[""]*512;catutil_sl=[""]*512;catgame_sl=[""]*512;catgrap_sl=[""]*512
- catnetw_sl=[""]*512;catoffi_sl=[""]*512;catothe_sl=[""]*512;catdeve_sl=[""]*512
- catauvd_sl=[""]*512;catsyst_sl=[""]*512;catsysp_sl=[""]*512;catsysa_sl=[""]*512
- cntacce=0;cntutil=0;cntgame=0;cntgrap=0;cntnetw=0;cntoffi=0
- cntothe=0;cntdeve=0;cntauvd=0;cntsyst=0;cntsysp=0;cntsysa=0
- diritems_sl=os.listdir(gnmp_st)
- for item in diritems_sl:
- finp_st=os.path.join(gnmp_st,item)
- if finp_st.endswith(".desktop"):
- finp_fl=open(finp_st,"r")
- cate_st="";name_st="";exec_st="";catswc=0
- while True:
- text_st=finp_fl.readline()
- if len(text_st)==0:break
- text_st=text_st.replace("\n","")
- if text_st.startswith("Categories="):
- cate_st=text_st
- if cate_st.find("Accessibility")>0:catswc+= 1
- if cate_st.find("Utility")>0: catswc+= 2
- if cate_st.find("Game")>0: catswc+= 4
- if cate_st.find("Graphics")>0: catswc+= 8
- if cate_st.find("Network")>0: catswc+= 16
- if cate_st.find("Office")>0: catswc+= 32
- if cate_st.find("Development")>0: catswc+= 64
- if cate_st.find("AudioVideo")>0: catswc+= 128
- if cate_st.find("System")>0: catswc+= 256
- if cate_st.find("Settings")>0: catswc+= 512
- if cate_st.find("Core")>0: catswc+=1024
- if text_st.startswith("Name="):
- name_st=text_st[5:];name_st=name_st.replace(")","\\)")
- if text_st.startswith("Exec="):
- exec_st=text_st[5:]
- fluxpr_st="[exec]("+name_st+"){"+exec_st+"}<>"
- if (catswc& 1)== 1:
- catacce_sl[cntacce]=fluxpr_st;cntacce+=1
- if (catswc& 2)== 2:
- catutil_sl[cntutil]=fluxpr_st;cntutil+=1
- if (catswc& 4)== 4:
- catgame_sl[cntgame]=fluxpr_st;cntgame+=1
- if (catswc& 8)== 8:
- catgrap_sl[cntgrap]=fluxpr_st;cntgrap+=1
- if (catswc& 16)== 16:
- catnetw_sl[cntnetw]=fluxpr_st;cntnetw+=1
- if (catswc& 32)== 32:
- catoffi_sl[cntoffi]=fluxpr_st;cntoffi+=1
- if (catswc&1023)== 0:
- catothe_sl[cntothe]=fluxpr_st;cntothe+=1
- if (catswc& 64)== 64:
- catdeve_sl[cntdeve]=fluxpr_st;cntdeve+=1
- if (catswc& 128)==128:
- catauvd_sl[cntauvd]=fluxpr_st;cntauvd+=1
- if (catswc& 768)==256:
- catsyst_sl[cntsyst]=fluxpr_st;cntsyst+=1
- if (catswc& 768)==512:
- catsysp_sl[cntsysp]=fluxpr_st;cntsysp+=1
- if (catswc& 768)==768:
- catsysa_sl[cntsysa]=fluxpr_st;cntsysa+=1
- finp_fl.close()
- print"[begin](Fluxbox){}<>"
- print" [submenu](Accessibility){}<>"
- for i in range(0,cntacce-1,1):print" "+catacce_sl[i]
- print" [end]";print" [submenu](Accessories){}<>"
- for i in range(0,cntutil-1,1):print" "+catutil_sl[i]
- print" [end]";print" [submenu](Games){}<>"
- for i in range(0,cntgame-1,1):print" "+catgame_sl[i]
- print" [end]";print" [submenu](Graphics){}<>"
- for i in range(0,cntgrap-1,1):print" "+catgrap_sl[i]
- print" [end]";print" [submenu](Internet){}<>"
- for i in range(0,cntnetw-1,1):print" "+catnetw_sl[i]
- print" [end]";print" [submenu](Office){}<>"
- for i in range(0,cntoffi-1,1):print" "+catoffi_sl[i]
- print" [end]";print" [submenu](Other){}<>"
- for i in range(0,cntothe-1,1):print" "+catothe_sl[i]
- print" [end]";print" [submenu](Programming){}<>"
- for i in range(0,cntdeve-1,1):print" "+catdeve_sl[i]
- print" [end]";print" [submenu](Sound & Video){}<>"
- for i in range(0,cntauvd-1,1):print" "+catauvd_sl[i]
- print" [end]";print" [submenu](System Tools){}<>"
- for i in range(0,cntsyst-1,1):print" "+catsyst_sl[i]
- print" [end]"
- print" [separator](){}<>"
- print" [workspaces](Workspaces)"
- print" [exec](Run...){fbrun}<>"
- print" [exec](Add/Remove...){gnome-app-install}<>"
- print" [submenu](Places){}<>"
- print" [exec](Home Folder){nautilus --no-desktop}<>"
- print" [exec](Documents){nautilus --no-desktop ~/Documents}<>"
- print" [exec](Desktop){nautilus --no-desktop ~/Desktop}<>"
- print" [submenu](Bookmarks){}<>"
- print" [end]"
- print" [exec](Computer){nautilus --no-desktop computer:}<>"
- print" [exec](CD/DVD Creator){nautilus --no-desktop burn:///}<>"
- print" [exec](Network Servers){nautilus --no-desktop network:}<>"
- print" [exec](Connect to Server...){gdialog --msgbox \"not available:\nmissing menu item\"}<>"
- print" [exec](Search for Files...){gnome-search-tool}<>"
- print" [end]"
- print" [submenu](System){}<>"
- print" [submenu](Preferences){}<>"
- for i in range(0,cntsysp-1,1):print" "+catsysp_sl[i]
- print" [end]";print" [submenu](Administration){}<>"
- for i in range(0,cntsysa-1,1):print" "+catsysa_sl[i]
- print" [end]"
- print" [submenu](Fluxbox){}<>"
- print" [submenu](Edit Fluxbox){}<>"
- print" [exec](Edit Menu){gedit ~/.fluxbox/menu}<>"
- print" [exec](Edit StartUp){gedit ~/.fluxbox/startup}<>"
- print" [exec](Edit Keybinding){gedit ~/.fluxbox/keys}<>"
- print" [end]"
- print" [submenu](Fluxbox Tools){}<>"
- print" [exec](Fluxconf){fluxconf}<>"
- print" [exec](Fluxkeys){fluxkeys}<>"
- print" [exec](Fluxmenu){fluxmenu}<>"
- print" [end]"
- print" [submenu](Style){Style}<>"
- print" [stylesdir](~/.fluxbox/styles){}<>"
- print" [stylesmenu](Fluxbox Styles){/usr/share/fluxbox/styles}<>"
- print" [end]"
- print" [config](Config){}<>"
- print" [reconfig](Reconfigure){}<>"
- print" [restart](Restart){}<>"
- print" [submenu](WindowManagers){}<>"
- print" [restart](Blackbox){/usr/bin/blackbox}<>"
- print" [restart](Window Maker){/usr/bin/wmaker}<>"
- print" [restart](Enlightenment){/usr/bin/enlightenment}<>"
- print" [restart](IceWM){/usr/bin/icewm}<>"
- print" [restart](Flwm){/usr/bin/flwm}<>"
- print" [restart](Larswm){/usr/bin/larswm}<>"
- print" [restart](lwm){/usr/bin/X11/lwm}<>"
- print" [restart](Openbox){/usr/bin/openbox}<>"
- print" [restart](PWM){/usr/bin/pwm}<>"
- print" [restart](ratpoison){ratpoison}<>"
- print" [restart](Sapphire){/usr/bin/sapphire}<>"
- print" [restart](Oroborus){/usr/bin/oroborus}<>"
- print" [restart](w9wm){/usr/X11R6/bin/w9wm}<>"
- print" [restart](WindowLab){windowlab}<>"
- print" [restart](wm2){/usr/bin/wm2}<>"
- print" [end]"
- print" [end]"
- print" [submenu](Help){}<>"
- print" [exec](System Documentation){gdialog --msgbox \"not available:\nmissing menu item\"}<>"
- print" [exec](Online Documentation){firefox http://help.ubuntu.com}<>"
- print" [exec](Community Support){firefox http://www.ubuntu.com/support/supportoptions/freesupport}<>"
- print" [exec](Commercial Support){firefox http://www.ubuntu.com/support/marketplace}<>"
- print" [exec](Ubuntu Book Excerpt){firefox file:///usr/share/example-content/book-toc.html}<>"
- print" [end]"
- print" [exec](About GNOME){gnome-about}<>"
- print" [exec](About Ubuntu){yelp ghelp:about-ubuntu}<>"
- print" [end]"
- print" [submenu](Quit){}<>"
- print" [exit](Logout){}<>"
- print" [exec](Shutdown){gksu \"shutdown -h now\"}<>"
- print" [exec](Restart){gksu \"shutdown -r now\"}<>"
- print" [end]"
- print"[end]"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement