Giter VIP home page Giter VIP logo

ulauncher's Introduction

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).

ulauncher's People

Contributors

aaronjanse avatar cjbassi avatar dalanicolai avatar dependabot[bot] avatar dev99problems avatar draggonfantasy avatar earboxer avatar freddii avatar friday avatar fuhrmann avatar goodwillcoding avatar gornostal avatar hickscorp avatar jaakkonen avatar jetbug123 avatar jtheoof avatar khrlimam avatar kisaragi-hiu avatar luispabon avatar matheusfillipe avatar nastuzzisamy avatar nikazooz avatar oxplot avatar rensoliemans avatar roshan-r avatar sgreene570 avatar swamprabbit avatar thanhvg avatar troycurtisjr avatar yatsenko avatar

Watchers

 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.