/Ulauncher

Linux Application Launcher

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Master: Build Status Dev: Build Status

Ulauncher is a fast application launcher for Linux. It's is written in Python, using GTK+.

App Search File Browser Custom Themes
screenshot screenshot screenshot

Download it at ulauncher.io

As of Ulauncher v3, you can create your own Ulauncher extensions Check out docs.ulauncher.io to find out how.

As of Ulauncher v4, you can create your own color themes Check out docs.ulauncher.io to find out how.

If your distribution packages ulauncher.service properly, then you can run ulauncher on startup by running:

systemctl --user enable ulauncher.service

Known Issues

Code Contribution

Project Contributor-friendly Issues
Ulauncher App GitHub issues by-label
GitHub issues by-label
GitHub issues by-label
GitHub issues by-label
Frontend for extensions website
Uses ReactJS
GitHub issues by-label
API for extensions website
Uses Python and bottle library
GitHub issues by-label

Any code contributions are welcomed as long as they are discussed in Github Issues with maintainers. Be aware that if you decide to change something and submit a PR on your own, it may not be accepted.

Checkout Code Contribution Guidelines for more info.

Setup Development Environment

You must have the following things installed:

  • Docker

  • python3-distutils-extra

  • Application runtime dependencies. (You don't have to manually install these if you have already installed Ulauncher)

    sudo apt-get install \
      libkeybinder-3.0-0 \
      libgtk-3-0 \
      gir1.2-gtk-3.0 \
      gir1.2-keybinder-3.0 \
      gir1.2-webkit2-4.0 \
      gir1.2-glib-2.0 \
      gir1.2-notify-0.7 \
      gir1.2-gdkpixbuf-2.0 \
      gir1.2-ayatanaappindicator3-0.1 \
      python3-dbus \
      python3-levenshtein \
      python3-pyinotify \
      python3-websocket \
      python3-xdg
    

Build and Run

  1. $ ./ul init-dev-env installs Ulauncher data to ~/.local/share/ulauncher/
  2. $ ./ul dev-container will take you into a Docker container from which you can run build and test scripts. Use sudo -E ./ul dev-container if your user is not in the docker group.
  3. root@container: # ./ul build-preferences build preferences UI in JS/HTML
  4. root@container: # ./ul test runs linter, type checker, and unit tests
  5. $ ./ul run runs the app

Check out output of ./ul to find more useful commands.

License

See the LICENSE file for license rights and limitations (GNU GPL v3.0).