Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Gentoo Common Menu
View unanswered posts
View posts from last 24 hours

Goto page Previous  1, 2, 3, 4, 5, 6  Next  
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
syadnom
Guru
Guru


Joined: 09 May 2002
Posts: 531

PostPosted: Sat Jun 26, 2004 10:27 pm    Post subject: more thoughts Reply with quote

the purpose I had in mind with my little sciprt above was to compare the binary packages to the list of installable software, to eliminate the unneccessay binaries from being on the list.

instead of just putting the /bin directories on a list, it would take the bin directories and only put the entries that compared to a package name. for instance,

if you emerge xfsamba, you get xfsamba in the bin directory, but you also get samba, smbmount, smbd, nmbd, and so on and so forth, but if you compare that list to the installed package list, only the title xfsamba-ver.x.x would show up, the other binaries would not show and would theirfore not be on the list. if you could scrape off the end, you would get just xfsamba, and not have any other bins.

the i thought that if you used comm on the menuitems versus an icon directory, you could associate icons with bins based on name alone,

for instance, their is a samba icon in kde/share/icons, so xfsamba would automatically get the first icon containing samba, OR would get the icon named xfsamba if it exsisted.

its crude, but I see no other way to get a menu setup short of a modification to portage and ebuilds, which would have to happen with every package in portage.

---

I would volunteer to handle installing a 'menuitem' line in EVERY EBUILD if the portage maintainers would let me.

-

!!!
idea..

what If one could get space on a rsync mirror, duplicate the portage tree their, modify each ebuild to include the menu items, and then allow people to change their portage mirror to an appropriate 'menu-compliant' mirror.

again, I would volunteer my time to do this if given the oportunity. also, a small script could be writed to do the work of compiling the menu based on the ebuilds in /var/db/pkg.

simply have the menuitem=Application/Network or whatever, then parse the text and apply the output to the menu

also, have
menuitem=
AND
menuicon=$THEMEPATH/xfsambaicon.xpm or whatever, use a theme path to allow the icons to change with theme changes, not sure if that is possible though.

---

ideas?
Back to top
View user's profile Send private message
chashab
n00b
n00b


Joined: 16 Jun 2004
Posts: 71
Location: Republic of Alumbia

PostPosted: Sun Jun 27, 2004 2:44 am    Post subject: Re: more thoughts Reply with quote

i think you hit the nail on the head when;

syadnom wrote:
its crude, but I see no other way to get a menu setup short of a modification to portage and ebuilds, which would have to happen with every package in portage.


we could do quite a few kludges to get this to work, but if we are to do this correctly, extra meta data within each ebuild will be necessary

i've been reading http://www.gentoo.org/doc/en/gentoo-howto.xml. here's what i think we need to do.

1 determine what information needs to be stored and declare a few official variables that can be added to an ebuild script. these could be similar to
  • gcm_name - Gentoo Common Menu user friendly name. this is what would show as the name of the menu item
  • gcm_path - full path to the binary
  • gcm_menu_tree - where in the menu tree it is to appear. example: games/arcade
  • gcm_icon - path to, or name of icon. this needs to be clarified more
it seems to me gcm_name and gcm_path could probably be combined. but you get the idea.

2 the GCM app, which will be a python or perl script, needs to be built. an ebuild will be made so that it can be easily installed on systems. the script will scan installed packages. those with gcm_* variables named will be added to the menu. those without will be ignored, the script needs to a few other things, among these, add/delete menu items at an ebuilds requets

3 we can create a couple ebuilds to test our script, or convince some ebuild maintainers to test it out. ultimately, emerge and ebuild should probably be patched to automatically reconize our gcm_* variables and call our script if the user so desires^1. untill then an ebuild can call our script in the pkg_postinst and pkg_postrm functions to request addition and deletion of menu items

4 submit a couple test ebuilds, and get people to try out our new script.

it would be handy at this point to have someone familar with creating ebuilds to comment on these suggestions. however, i believe this is the correct direction.

as always, comment away please!

---
1 perhaps a flag could be added to FEATURES in make.conf to indicate if our menu system should be called by emerge or not. but this is farther down the road.
Back to top
View user's profile Send private message
syadnom
Guru
Guru


Joined: 09 May 2002
Posts: 531

PostPosted: Sun Jun 27, 2004 4:42 am    Post subject: ok Reply with quote

ok, so what are our test ebuilds?

lets get this going. we need some server space to place our modified ebuilds. maybee to start we should just make a tarball to be extracted over /usr/portage.

gcm_name - eliminate and use the tree line
(gcm_path - games/emulators/snes9x)

gcm_path - program binary

gcm_tree - both name and tree path. see above

gcm_icon - i think this should use the current theme in whatever DE in use, not sure how to do this but something like so

gcm_icon = $CURRENT_THEME/snes9x.png

place these variables at the end of the ebuild. OR purhaps DON'T have an external program compile the list of menu entries but have the ebuilds themselves put entries into the menu list file. for instance:

the ebuild would just export the variables into a block style or XML files for the menu itself.

gcm_name = [Snes9x]
gcm_path = scrap this, change to below, no need for full path, no need to hardcode.
gcm_binary(or similar) = snes9x
gcm_tree = games/emulators
re-added tree to allow export to function in a more simple fassion
gcm_icon = $THEME/32x32/snes9x.png
gcm_menu_term = [/Snes9x]

final code:
Quote:

echo gcm_name = [Snes9x] -> /var/gcm_list
echo gcm_binary(or similar) = snes9x -> /var/gcm_list
echo gcm_tree = games/emulators -> /var/gcm_list
echo gcm_icon = $THEME/32x32/snes9x.png -> /var/gcm_list
echo gcm_menu_term = [/Snes9x] -> /var/gcm_list


i know this is not the efficient way to write the code out but i'm just writing it out just to clarify ideas
Back to top
View user's profile Send private message
syadnom
Guru
Guru


Joined: 09 May 2002
Posts: 531

PostPosted: Mon Jun 28, 2004 4:01 am    Post subject: sourceforge Reply with quote

project submitted to sourceforge for approval.
Back to top
View user's profile Send private message
chashab
n00b
n00b


Joined: 16 Jun 2004
Posts: 71
Location: Republic of Alumbia

PostPosted: Mon Jun 28, 2004 1:18 pm    Post subject: Reply with quote

cool.

it would be nice if we could have someone who's done a few ebuilds before, comment on our proposed new ebuild variables.

so, unfortunetly for this project (but good for me :-) i'm leaving on vacation. i'll be back in a week. later!
Back to top
View user's profile Send private message
syadnom
Guru
Guru


Joined: 09 May 2002
Posts: 531

PostPosted: Fri Jul 16, 2004 7:50 am    Post subject: resurection Reply with quote

ok, resurection here......

how about this:

instead of modifying ebuilds(which is a b*tch)
have a menu entry lookup file. so you can compare the installed packages to this lookup file, and the lookup file has all the information of any packages that you might want to have icons and menu entries for..

example,
find /var/db/pkg/ -iname "*ebuild" -> /var/db/portagelookup.txt

then have a scipt to an if/then on the menu entried.

(i don't know how to script this but i know it can be done.)

if chromium*=true then export all info in menudatabase.txt/[chromium]info > /usr/kde/share/applnk/[chromium]whatever.

this /usr/kde/share/applnk is just a directory structure with all the entries and is compatible with the open desktop standard or whatever it is called exactly.

--

ok, this would eliminate the need to modify each ebuild, would work after package version upgrades as the menuentry would be something like $programname_$programversion and running the menu script would update the menu entries.

then only packages that needed to be on the menu would have entries, those that didn't wouldn't, and the lookup file would be simple to make, and the exported entries would be sorted via the portage category they were in.

ex.
kde-menu->
games-action->
chromium-0.9
media-ty->
mythtv-0.15

etc.

-

i need a coder, and the requirements of the coder for the flat file, read some of your entries in /home/user/.kde/share/applnk/ and see the format or get the format standard from a google search. I will go throught the effort of building the lookup file once I know the easiest format for the coder.

I think this simplifies the menu generating system, makes it more dependable and customizable, and gives a logically sorted menu heirarchy(sp?) based on portage OR of a custom design.

chashab can you help me with this and do you have any suggestions?
Back to top
View user's profile Send private message
syadnom
Guru
Guru


Joined: 09 May 2002
Posts: 531

PostPosted: Fri Jul 16, 2004 7:58 am    Post subject: more Reply with quote

some categories you would not want on the root of your menu, like x11-plugins

the end of the menu building script would put any plugins into something like an extras/x11-plugins
and xfce-extra in extras/xfce-extra

do this to keep the menu nice and clean.

this can be done with a number of packages/categories, or literally ever category that starts with app- would automatically go into the Applications folder
Back to top
View user's profile Send private message
syadnom
Guru
Guru


Joined: 09 May 2002
Posts: 531

PostPosted: Fri Jul 16, 2004 8:13 am    Post subject: menu Reply with quote

if for example the following were my portage pkg list(its abreviated quite a bit)

/var/db/pkg/media-plugins/gst-plugins-alsa-0.8.1/gst-plugins-alsa-0.8.1.ebuild
/var/db/pkg/media-plugins/xmms-alarm-0.3.6/xmms-alarm-0.3.6.ebuild
/var/db/pkg/media-plugins/mythmusic-0.15.1/mythmusic-0.15.1.ebuild
/var/db/pkg/media-plugins/xmms-status-plugin-1.0/xmms-status-plugin-1.0.ebuild
/var/db/pkg/media-plugins/gst-plugins-mad-0.8.1/gst-plugins-mad-0.8.1.ebuild
/var/db/pkg/media-plugins/eq-xmms-0.5/eq-xmms-0.5.ebuild
/var/db/pkg/media-plugins/mythbrowser-0.15/mythbrowser-0.15.ebuild
/var/db/pkg/media-tv/mythtv-0.15.1/mythtv-0.15.1.ebuild
/var/db/pkg/media-tv/xawtv-3.86-r1/xawtv-3.86-r1.ebuild
/var/db/pkg/net-analyzer/netselect-0.3/netselect-0.3.ebuild
/var/db/pkg/net-analyzer/gnome-netstatus-2.6.0.1/gnome-netstatus-2.6.0.1.ebuild
/var/db/pkg/games-action/chromium-0.9.12-r5/chromium-0.9.12-r5.ebuild

then the script would if/then exsist or whatever(coders stuff)

it would pick out the stuff in the lookup list and see that :
chromium
xawtv
mythtv
where is the lookup list, then these would be put into another file or something and the menuentries data would be parsed accordingly.

if mythtv exsists in menuentries, then echo [mythtv] - [/mythtv] section to /usr/kde/share/applnk/entry
the mythtv section would be:
mythtv.desktop
which is this:
[Desktop Entry]
Version=0.15
Encoding=UTF-8
MultipleArgs=false
Terminal=0
Icon=media.xpm
Exec="/usr/bin/mythtv"
Type=Application
MimeType=application
Name=Mythtv
Comment=Mythtv
Comment[nl]=Mythtv
Comment[es]=el Mytho-television espanol

then run the sort list.

mkdir extras
mv x11-plugins* -R extras/

and so on.

Then right their in the KDE rootmenu is Media/Mythtv
with a nice icon, all commands required to get it running and so on.

also, since this is freedesktop compatible, mirroring or linking this directory over to the gnome menu path makes it work their as well.


--
AND, any user changes happen automagically in /home/usr/.kde/share/applnk and are tracked by kde when a user edits their kdemenu.
Back to top
View user's profile Send private message
chashab
n00b
n00b


Joined: 16 Jun 2004
Posts: 71
Location: Republic of Alumbia

PostPosted: Mon Jul 19, 2004 2:23 am    Post subject: Reply with quote

mmm, interesting, interesting.

my apologies i've been swamped with work lately. two more nasty websites and everybody wants all these features. sigh.......

while researching how to go about this last week i ran into this article: http://www.gentoo.org/proj/en/glep/glep-0016.html

it contains a number of links including some interesting specs at freedesktop.org

i need to finish going through them still, but when i'm done i'll be back with suggestions.
Back to top
View user's profile Send private message
syadnom
Guru
Guru


Joined: 09 May 2002
Posts: 531

PostPosted: Mon Jul 19, 2004 3:19 am    Post subject: first. Reply with quote

the first part of the menuing system can be built imediately. The method of discovering packages installed on the system and putting that info into file should be fairly simple. The method of building the menu may not be so easy for the reasons stated in the GLEP that chashab mentioned in the previous post. I believe that we should build a base method of building menu entries in any language(as in I don't have a preference) and then building a translator to convert each entry to a system compatible with whatever DE/WM a person wanted. For instance:

we have a method of describing menu entries like so
[ProgramName] <- as in the name of the ebuild. '[kportagemaster]' for instance
path=/usr/bin/kportagemaster
icon_path=/path/to/icon
menu_name=KPortageMaster
menu_description=KDE Portage Interfact
menu_path=sys-apps <- or whatever it is..

THEN , this could be interpreted buy a script to see every line, adjust them for whatever the menu requirements are for the DE/WM your targeting. the script would just be something like gen2menu-fluxbox or gen2menu-kde etc.

then we would have our ability to discover installed packages as i have stated in a previous post. then we would have another step that could be modified for every DE/WM installed. This script could check the use flags for installed DE/WM !OR! it could look for installed DE/WM as it searches for installed packages and automatically run the scripts for the DE/WMs installed. if KDE,GNOME,fluxbox are installed, then gen2menu command runs gen2menu-kde && gen2menu-gnome && gen2menu-fluxbox.
Back to top
View user's profile Send private message
TanNewt
Retired Dev
Retired Dev


Joined: 26 Mar 2004
Posts: 340
Location: Seattle, WA

PostPosted: Sat Aug 14, 2004 8:54 am    Post subject: Dipper Reply with quote

I just created a system that should work. I named it Dipper. It creates a package list and then looks up those packages against a file with information such as name, command, and Category. I'll stick on the web tomorrow. The information file needs to be greatly expanded but it s a start. As of now it only works for fluxbox but it should be pretty easy to add gnome and kde, etc. sections to it.
Thanks.
Back to top
View user's profile Send private message
syadnom
Guru
Guru


Joined: 09 May 2002
Posts: 531

PostPosted: Sat Aug 14, 2004 9:09 pm    Post subject: .. Reply with quote

i have basically given up, as only two of us gave any interest. i also read that the next portage release cycle will include menu generation for many window managers so i feel that this would simply be a stop-gap measure and ultimately a doomed project.

i'd like to see you code though :)
Back to top
View user's profile Send private message
TanNewt
Retired Dev
Retired Dev


Joined: 26 Mar 2004
Posts: 340
Location: Seattle, WA

PostPosted: Sat Aug 14, 2004 9:39 pm    Post subject: Reply with quote

Alright, here is the nit gritty code. Keep in mind its my first thing written in python. I plan on adding comments soon too.
Code:

#!/usr/bin/python
#Dipper Menu Generator v. .1
#By Scott Shawcroft
#print "Welcome to Dipper version .1"
def programdata(): #Get the new data on all the programs
   print "Opening program data."
   f = open ('/home/scott/dipper/prgmDB.txt')
   print f.name + " opened successfully."
   data = f.readlines();
   import string
   name_index = {}
   command_index = {}
   folder_index = {}
   v = 0
   for x in data:
      tmp = string.strip(x)
      tmp2 = string.split(tmp,':')
      name_index[tmp2[0]] = tmp2[1]
      command_index[tmp2[0]] = tmp2[2]
      folder_index[tmp2[0]] = tmp2[3]
      v = v+1
   import pickle
   pickle.dump(name_index,open('/home/scott/dipper/name_index.p','w'))
   pickle.dump(command_index,open('/home/scott/dipper/command_index.p','w'))
   pickle.dump(folder_index,open('/home/scott/dipper/folder_index.p','w'))
   print 'Pickled'
   #print name_index
def systemdata(): #Get data on programs installed on the system
   import os,string,re
   prgms = []
   tmp = []
   dirs = os.listdir('/var/db/pkg')
   for x in dirs:
      path = '/var/db/pkg/' + x
      tmpprgms = os.listdir(path)
      for y in tmpprgms:
         tmp.append(x + '/'+ y)
   for z in tmp:
      tmp3 = string.split(z,'-')
      check = 0
      v = 1
      #print tmp3
      tmpstr = tmp3[0]
      while check==0:
         if re.match('[a-zA-Z]',tmp3[v])==None:
            #print 't'
            check = 1
         else:
            #print 'f'
            tmpstr = tmpstr + '-' + tmp3[v]
            v = v + 1
      prgms.append(tmpstr)
   import pickle
   pickle.dump(prgms,open('/home/scott/dipper/sysprgms.p','w'))
   print 'Pickled'
def structuregenerate():
   import pickle
   name_index = pickle.load(open('/home/scott/dipper/name_index.p','r'))
   command_index = pickle.load(open('/home/scott/dipper/command_index.p','r'))
   folder_index = pickle.load(open('/home/scott/dipper/folder_index.p','r'))
   prgms = pickle.load(open('/home/scott/dipper/sysprgms.p','r'))
   import string
   structure = {}
   for prgm in prgms:
      if command_index.has_key(prgm):
         line = '[exec] (' + name_index[prgm] + ') {' + command_index[prgm] + '}'
         cats = string.split(folder_index[prgm], '|')
         if len(cats) == 1:
            if structure.has_key('none'):
               structure['none']= structure['none'] + line + '\n'
            else:
               structure['none']= line + '\n'
         elif len(cats)==2:
            if structure.has_key(cats[1]):
               if structure[cats[1]].has_key('none'):
                  structure[cats[1]]['none']= structure[cats[1]]['none'] + line + '\n'
               else:
                  structure[cats[1]]['none']= line + '\n'
            else:
               structure[cats[1]] = {}
               structure[cats[1]]['none'] = line + '\n'
         elif len(cats)==3:
            if structure.has_key(cats[1]):
               if structure[cats[1]].has_key(cats[2]):
                  if structure[cats[1]][cats[2]].has_key('none'):
                     structure[cats[1]][cats[2]]['none']= structure[cats[1]][cats[2]]['none'] + line + '\n'
                  else:
                     structure[cats[1]][cats[2]]['none']= line + '\n'
               else:
                  structure[cats[1]][cats[2]] = {}
                  structure[cats[1]][cats[2]]['none'] = line + '\n'
            else:
               structure[cats[1]] = {}
               structure[cats[1]][cats[2]] = {}
               structure[cats[1]][cats[2]]['none'] = line + '\n'
         else:
            pass
   return structure
def menugenerate(format,structure):
   print structure
   if format == 'fluxbox':
      menu = '[begin] (Dipper Menu)/n'
      if structure.has_key('none'):
         menu = menu + structure['none']
      if structure.has_key('Media'):
         menu = menu + '[submenu] (Media)/n'
         if structure['Media'].has_key('none'):
            menu = menu + structure['Media']['none']
         if structure['Media'].has_key('Graphics'):
            menu = menu + '[submenu] (Graphics)\n'
            if structure['Media']['Graphics'].has_key('none'):
               menu = menu + structure['Media']['Graphics']['none']
            menu = menu + '[end]'
         if structure['Media'].has_key('Audio'):
            menu = menu + '[submenu] (Audio)\n'
            if structure['Media']['Audio'].has_key('none'):
               menu = menu + structure['Media']['Audio']['none']
            menu = menu + '[end]'
         menu = menu + '[end]'
      menu = menu + '[end]'
   print menu
def submenu(format,structure,menu):
   keys = structure.keys()
   if structure.has_key('none'):
      keys.remove('none')
      menu = menu + structure['none']
   for key in keys:
      if key != '':
         menu = menu + '[submenu] (' + key + ")\n"
      menu = submenu('fluxbox',structure[key],menu)
      if key != '':
         menu = menu + '[end]\n'
   return menu
import sys
arg = sys.argv[1]
#print arg
if arg=='pickle':
   programdata()
elif arg=='syspickle':
   systemdata()
elif arg=='gen':
   structure = structuregenerate()
   menugenerate('fluxbox',structure)
elif arg=='subgen':
   structure = structuregenerate()
   print structure
   format = 'fluxbox'
   menu = '[begin] (Dipper Menu)\n'
   menu = submenu('fluxbox',structure,menu)
   menu = menu + '[commanddialog] (Fluxbox Command)\n[reconfig] (Reload config)\n[restart] (Restart)\n[exit] (Exit)'
   menu = menu + '[end]'
   print menu
   file = open('/home/scott/.fluxbox/menu','r')
   oldfile = open('/home/scott/.fluxbox/menu.old','w')
   contents = file.read()
   oldfile.write(contents)
   file.close()
   file = open('/home/scott/.fluxbox/menu','w')
   file.write(menu)
   oldfile.close()
elif arg=='--help':
   print'''Welcome to Dipper Menu Generator\nThe current arguments can be:
   pickle - This pickles the program information to be into the menu.
   syspickle - This pickles the information regarding programs on the computer.
   gen - This is obsoleted by subgen \/
   subgen - creates the menu from files created using pickle and syspickle.
   revert - revert to the old menu.
   '''
elif arg=='revert':
   oldfile = open('/home/scott/.fluxbox/menu.old','r')
   file = open('/home/scott/.fluxbox/menu','w')
   contents = oldfile.read()
   file.write(contents)

This is what the prgmDB.txt file looks like so far.
Code:

media-gfx/gimp:Gimp:gimp-2.0:|Media|Graphics
media-sound/xmms:XMMS:xmms:|Media|Audio
x11-terms/aterm:ATerm:aterm:|
x11-wm/fluxbox:Run:fbrun:|
net-www/mozilla-firefox:Firefox:firefox:|Net
mail-client/mozilla-thunderbird:Thunderbird:thunderbird:|Net
net-im/gaim:Gaim:gaim:|Net
x11-misc/xfe:XFE:xfe:|System
Back to top
View user's profile Send private message
chashab
n00b
n00b


Joined: 16 Jun 2004
Posts: 71
Location: Republic of Alumbia

PostPosted: Mon Aug 16, 2004 2:59 am    Post subject: Reply with quote

hey cool.

ya i'd love to do some coding on this, but i have zero time these days now :-(

there's plans to do this with the next portage? suddenly i fell ripped off. why didn't anyone say something? ah well.

back to work............................................. . . . . .........
Back to top
View user's profile Send private message
syadnom
Guru
Guru


Joined: 09 May 2002
Posts: 531

PostPosted: Mon Aug 16, 2004 4:49 am    Post subject: in post Reply with quote

I saw that in a post by a site admin, so im just assuming it's true. no clue on the release date of it, and i'm not sure if they meant portage-2.1 or portage-3.0
Back to top
View user's profile Send private message
TanNewt
Retired Dev
Retired Dev


Joined: 26 Mar 2004
Posts: 340
Location: Seattle, WA

PostPosted: Fri Aug 20, 2004 9:40 pm    Post subject: Reply with quote

I've been working on it off and on and its definately better. What is needed is people to maintain the database of packages and corresponding commands. If you guys are interested I'll submit it to sourceforge. I have added alot to it since I posted last time. Right now its strictly for fluxbox but with some work it could be used for more WM/DEs.
Back to top
View user's profile Send private message
calr0x
Apprentice
Apprentice


Joined: 16 Aug 2004
Posts: 244

PostPosted: Sat Aug 21, 2004 11:25 pm    Post subject: Reply with quote

I guess I'm wondering whats came of this?

I switched from Debian to Gentoo 3 days ago, and its the only thing I really miss are autogen'd menus...
Back to top
View user's profile Send private message
TanNewt
Retired Dev
Retired Dev


Joined: 26 Mar 2004
Posts: 340
Location: Seattle, WA

PostPosted: Sun Aug 22, 2004 6:01 pm    Post subject: Reply with quote

What desktop envirovment/window manager are you using. My script works fine except that only the programs on my computer are in the database.
Back to top
View user's profile Send private message
forceflow2
Guru
Guru


Joined: 16 Apr 2003
Posts: 464
Location: South Carolina

PostPosted: Sat Aug 28, 2004 10:46 pm    Post subject: Reply with quote

I'm interested in helping with this somehow. I can't really code, but if there is a way I can help with adding to the database somehow or something else? Please don't let this die :cry:
_________________
That rank under my username doesn't mean I know everything, it just means I ask a lot of questions.
Back to top
View user's profile Send private message
syadnom
Guru
Guru


Joined: 09 May 2002
Posts: 531

PostPosted: Sun Aug 29, 2004 5:19 am    Post subject: newt Reply with quote

tanNewt,

i'll be glad to add more program entries, please just put your menu code here in the forums and i'll see what i can do.
Back to top
View user's profile Send private message
TanNewt
Retired Dev
Retired Dev


Joined: 26 Mar 2004
Posts: 340
Location: Seattle, WA

PostPosted: Sun Aug 29, 2004 7:08 pm    Post subject: Denu. Reply with quote

Its great to hear/read from you guys. I started a sourceforge project is http://denu.sourceforge.net. I would reccommend the code in CVS, actually give me an hour or two and I'll release a new release which fixes package unmasking and an ebuild for ya. Anyone can help by adding entries into the DB. The steps are really simple. You enter
Code:
denu addprgm
Then it'll prompt you for the portage-id, name, commmand and category. Once that is submitted it'll write it into your programs for your computer and it'll also submit it to a php script on the website which will check the database for an entry with that portage-id or enter it into the database. The program is easy to update with just
Code:
denu update ?
You can replace the ? with an S for stable or and NS for not stable or you can leave it blank and it'll default to stable. Right now I have about 28 entries, many many more are needed. Since documentation is lacking use
Code:
denu --help
It'll give you an idea of what you can do. You can also email me, I think my emails in the readme. Thanks for the interest.
Back to top
View user's profile Send private message
syadnom
Guru
Guru


Joined: 09 May 2002
Posts: 531

PostPosted: Sun Aug 29, 2004 8:10 pm    Post subject: anx Reply with quote

i'm anxious to get started.

so,
denu addprgm adds the information to the website right?
and
denu update s/ns pulls the data from the website and updates my machine?

would you please give a fully example of how you installed a program into the system so i can be %100 sure(visual learner)
Back to top
View user's profile Send private message
forceflow2
Guru
Guru


Joined: 16 Apr 2003
Posts: 464
Location: South Carolina

PostPosted: Sun Aug 29, 2004 8:33 pm    Post subject: Reply with quote

Wonderful! I too have a some questions though. When it asks for portageID I assume that means what the package in portage is called. For instance, if I wanted to add the news reader pan I would put "pan" for the ID. Correct? Then the name is what would be displayed in the menu? Command would be the command that executes said program? and Category would be net-news or whatever the corresponding category is for the package? I just want to make sure of these before I start submitting things that might be formatted incorrectly. Thanks again for doing this.
_________________
That rank under my username doesn't mean I know everything, it just means I ask a lot of questions.
Back to top
View user's profile Send private message
TanNewt
Retired Dev
Retired Dev


Joined: 26 Mar 2004
Posts: 340
Location: Seattle, WA

PostPosted: Sun Aug 29, 2004 9:26 pm    Post subject: Reply with quote

I have another version I'm working on at this moment, along with an ebuild. I will give a full run down when thats up.
Back to top
View user's profile Send private message
TanNewt
Retired Dev
Retired Dev


Joined: 26 Mar 2004
Posts: 340
Location: Seattle, WA

PostPosted: Sun Aug 29, 2004 10:37 pm    Post subject: Reply with quote

Thanks for adding those entires. However they are not quite right, I'll fix them. here is an example.
Code:
bash-2.05b$ denu addprgm
Welcome to Denu version .8
Enter portage id:app-office/openoffice
Enter name(s):OO Calc$OO Draw$OO Impress$OO Math$OO Writer$OO Web$OpenOffice
Enter categories:|Office$|Office$|Office$|Office$|Office$|Office$|Office
Enter command(s):oocalc$oodraw$ooimpress$oomath$oowriter$ooweb$ooffice
The $ seperates entries. For Categories its actually it in the menu structure. as an example. Tip: you can find the bin by looking in the CONTENTS file in /var/db/pkg/portagecat/portagename/ .
Code:

Menu
|-Office
   |-OpenOffice
Is |Office|OpenOffice. Spaces are allowed.
To install download the newest archive off of http://denu.sourceforge.net and extract to / or use the ebuild off of the site.

Denu common functions
-Update program DB
Code:
denu update

-Update installed prgms DB.-Use if you just installed a new program.
Code:
denu syspickle

-Mask a program.- Use: remove a program from appearing on menu.
Code:
denu mask prgm
prgm is category/name according to portage.
-Umask.
Same as mask except change mask to unmask.
-View currently masked packages.
Code:
denu printmasked

-Move a program to a different folder in menu.
Code:
bash-2.05b$ denu cuscat
Welcome to Denu version .8
Enter the portage id:x11-terms/aterm
['ATerm']
Enter the new cat(s):|

-View Custom Categories.
Code:
denu printcuscats

-View newest online version compared to installed DB.
Code:
denu DBver

-View folder values- Use: Change folder order in menu.
Code:
denu printfoldervalues

-Change folder order.
Code:
bash-2.05b$ denu addfoldervalue
Welcome to Denu version .8
Please enter folder:|Terms
Please enter value:9

Note: If there are folders that share a name they share a value too.
-Regenerate menu
Code:
denu menugen


Note:For most of the custom stuff to appear you must regenerate the menu.
You also must be logged in as the user of fluxbox to generate the menu, you cannot generate from root.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Goto page Previous  1, 2, 3, 4, 5, 6  Next
Page 5 of 6

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum