Code Monkey home page Code Monkey logo

obamenu's Introduction

Openbox Pipemenu written in Python3

openbox pipemenu for applications written in Python3

Obamenu is pipemenu for openbox window manager. There are some forks for obamenu here and there but none of them worked for me with python3. Python2 will no longer have support after 2020, it has to be replaced with Python3. So I have decided to maintain my own version. Script generally will read .desktop files from /usr/share/applications and flatpak desktop files.

Revisions and Additions

This version has a lot of updates, revisions and additions. A short list for them is;

  • It is written to work with latest Python version. (Py3.9.1 when this is coded)
  • Menu items are now alphabetically ordered (one of most important features)
  • Algorithm will try to find all possible icons searching icon theme directories recursively
  • Desktop items will not be added to Menu if "Exec" command couldn't be found on system
  • Some applications can have duplicate icons in theme folders, best option shall be selected
  • Automatic and direct theme selection option added
  • Flatpak applications support added

Installation

  1. Download the file obamenu.py, and unpack it somewhere.
  2. Make sure it is executable, either by right click-properties or typing chmod 755 obamenu.py in your terminal.
  3. Don't forget to edit terminal string in obamenu.py, write here your terminal of choice.
  4. Some distros need to uncomment line 33 with a proper icon folder name available in /usr/share/icons/. Usually selected_theme="gnome" or selected_theme="Adwaita" works.
  5. Edit your menu.xml file (normally found in ~/.config/openbox/) or use obmenu, obmenu-qt, kickshaw, etc. Path to menu.xml would differ according to your openbox setup. If you don't have any files under this directory, copy all files from /etc/xdg/openbox/ to ~/.config/openbox/ with this command cp /etc/xdg/openbox/* ~/.config/openbox/.
  6. Insert the following lines in your menu.xml. Path to obamenu.py would differ according to where you have unpacked it. It is usually your openbox config directory.
<menu execute="~/.path/to/obamenu.py" id="My Menu" label="Applications" />
  1. Reconfigure openbox either by logout or typing openbox --reconfigure in your terminal
  2. You should now see your applications under the Applications menu.

Notes

Although I have wrote most of new codes myself there are some copy+paste too. There are some codes from other forks of obamenu which I had forgot where I gathered. All codes I had found was for Python2 actually, I may have revised them a bit or used them directly. Please don't get mad if I didn't mentioned about your name.

Regards

Original version

Original obamenu (v1.1.7) can be found here: http://rmoe.anukis.de/obamenu.html

obamenu's People

Contributors

onuronsekiz avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.