qmonk / Ulauncher

Linux Application Launcher

Home Page:https://ulauncher.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build Status

Ulauncher is a fast application launcher for Linux. It's is written in Python, using GTK+, and features: App Search (fuzzy matching), Calculator, Extensions, Shortcuts, File browser mode and Custom Color Themes

App Search File Browser Color Themes
screenshot screenshot screenshot

For more info or download links see ulauncher.io

Run Ulauncher on startup

If your distribution uses Systemd and the packages includes ulauncher.service, then you can run ulauncher on startup by running:

systemctl --user enable --now ulauncher

If not, then you can open Ulauncher and enable "Launch at Login" in the preferences.

Known Issues and workarounds

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

Contributions are appreciated, but before you put a the work in please ensure that it's a feature or improvement we want by creating an issue for it if there isn't one already. Be aware that we might still not accept the PR depending on the implementation. Issues with the contributor-friendly label are more straight forward to implement without in depth knowledge of the Ulauncher architecture.

Setup Development Environment

You need the the following:

  • Docker
  • python3-distutils-extra (may just be named python-distutils-extra in some distros)
  • Application runtime dependencies (if you already installed Ulauncher you should have these)

Distro specific instructions

Ubuntu/Debian

Install the dependencies (note that Docker recommends to use their installation instructions instead to get the latest version)

sudo apt-get update && sudo apt-get install \
  docker.io gobject-introspection libgtk-3-0 libkeybinder-3.0-0 \
  gir1.2-{gtk-3.0,keybinder-3.0,webkit2-4.0,glib-2.0,gdkpixbuf-2.0,notify-0.7,ayatanaappindicator3-0.1} \
  python3-{all,gi,distutils-extra,xdg,dbus,pyinotify,levenshtein,websocket}

Enable docker and set permissions

sudo systemctl enable --now docker
sudo usermod -aG docker $USER

How to build, run and contribute

  1. Fork the repo and clone your fork locally.
  2. Create a new branch for your PR
  3. Run $ ./ul dev-container to 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.
  4. Build the preferences UI from inside the docker container: root@container: # ./ul build-preferences
  5. Make your changes to the code
  6. Run the app $ ./ul run
  7. Write unit tests and check if all tests pass using root@container: # ./ul test command (preferably from inside the container)
  8. Create a pull request (provide the relevant information suggested by the template)

For GTK-related issues you may want to check out Useful Resources for a Python GTK Developer.

If you have any questions, feel free to ask in a Github issue.

./ul lists more commands (note that many of them are only useful to the maintainers).

License

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

About

Linux Application Launcher

https://ulauncher.io

License:Other


Languages

Language:Python 77.3%Language:Vue 10.1%Language:JavaScript 6.5%Language:Shell 4.0%Language:CSS 1.8%Language:Dockerfile 0.2%Language:HTML 0.2%