Awesome, will try it out. I also thought that menubar's code can be reused for this. This will actually implicitly declare awesome compatible with the following http://standards.freedesktop.org/menu-spec/latest/ or am I mistaken.
Of course if it is included out of the box. -- Nikola On Wed, Oct 01, 2014 at 02:04:47PM -0400, Harvey wrote: > Hello, > > I just finished this replacement for the older awesome-freedesktop.. > It runs allot faster and uses all the code from menubar(v3.5.5) to > generate a start menu in awesome. I think this would be a nice > integrated feature for new users.. > > tested and built on v3.5.5 > > If you use XDG start menus then please give it a try > > Here is the lua attached to my feature request > > https://awesome.naquadah.org/bugs/index.php?getfile=697 > --------------------------------------------------------------------------- > -- @author Harvey Mittens > -- @copyright 2014 Harvey Mittens > -- @email teknocratdefu...@riseup.net > -- @release v3.5.5 > --------------------------------------------------------------------------- > > local menu_gen = require("menubar.menu_gen") > local menu_utils = require("menubar.utils") > local pairs = pairs > local ipairs = ipairs > local table = table > local string = string > local next = next > > module("menugen") > > --Built in menubar should be checking local applications directory > menu_gen.all_menu_dirs = { '/usr/share/applications/', > '/usr/local/share/applications/', '~/.local/share/applications' } > > --Expecting an wm_name of awesome omits too many applications and tools > menu_utils.wm_name = "" > > -- Use MenuBar Parsing Utils to build StartMenu for Awesome > -- @return awful.menu compliant menu items tree > function build_menu() > local result = {} > local menulist = menu_gen.generate() > > for k,v in pairs(menu_gen.all_categories) do > table.insert(result, {k, {}, v["icon"] } ) > end > > for k, v in ipairs(menulist) do > for _, cat in ipairs(result) do > if cat[1] == v["category"] then > table.insert( cat[2] , { v["name"], > v["cmdline"], v["icon"] } ) > break > end > end > end > > -- Cleanup Things a Bit > for k,v in ipairs(result) do > -- Remove Unused Categories > if not next(v[2]) then > table.remove(result, k) > else > --Sort entries Alphabetically (by Name) > table.sort(v[2], function (a,b) return > string.byte(a[1]) < string.byte(b[1]) end) > -- Replace Catagory Name with nice name > v[1] = menu_gen.all_categories[v[1]].name > end > end > > --Sort Categories Alphabetically Also > table.sort(result, function(a,b) return string.byte(a[1]) < > string.byte(b[1]) end) > > return result > end > > -- To unsubscribe, send mail to awesome-unsubscr...@naquadah.org.