Skip to content
Switch branches/tags


Failed to load latest commit information.
Latest commit message
Commit time
Jan 24, 2021
Jan 24, 2021
Feb 25, 2017

Master: Build Status Dev: Build Status

Application Launcher for Linux 🐧

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

Create Your Ulauncher Extensions

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

Create Your Ulauncher Color themes

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

Systemd users

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 \

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.


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