Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I want to create a python panel for Linux like pypanel or tint2 just for fun and to do practice with python development.

Now the problem is:

I want to create an auto-generated menu, but I don't know where to start.

Where can I find all user's installed software in a Linux distro? I know I should look in the /usr/bin folder, but I don't know if it's really the best thing to do.

Is there a way to filter installed apps to avoid dependecies programs?

share|improve this question

closed as not a real question by Blrfl, gnat, Walter, GlenH7, Robert Harvey Oct 29 '12 at 19:53

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.

up vote 2 down vote accepted

There is a somewhat standardized way of doing this that many Linux desktop environments follow. Look in the directories /usr/share/applications and ~/.local/share/applications for files with names that end in .desktop. Each of these files will correspond to one program and should look something like this:

[Desktop Entry]
Name=Sample Application Name
Comment=A sample application

You can parse these files to get the information to populate your menu.

For more infomation, see

share|improve this answer
Thanks, really helpful :D – Antonio Ciccia Oct 29 '12 at 17:05

Not the answer you're looking for? Browse other questions tagged or ask your own question.