GithubHelp home page GithubHelp logo

bergercookie / awesome-albert-plugins Goto Github PK

View Code? Open in Web Editor NEW
143.0 9.0 11.0 20.98 MB

Unofficial collection of plugins for the Albert launcher (https://albertlauncher.github.io/).

License: MIT License

Python 99.32% Shell 0.18% Dockerfile 0.51%
albert-plugins googler python launcher-application albert anki anki-addon emoji-picker albertlauncher

awesome-albert-plugins's Introduction

Awesome Albert Plugins

Code style: black

Description

This is a collection of plugins and themes for the Albert launcher. It strives to be up to date with the latest state of the Albert launcher and its Python API. In case of an older albert version, see the branches of this repo.

Demos

Plugins

Currently the list of plugins includes:

  • Abbreviations - โ—Lookup words stored in a file along with their description

  • Anki - ๐Ÿ“‡ Generate flashcards for Anki

  • Bluetooth - ๐Ÿฆท Manage bluetooth devices

  • Clock - โฐ Create countdown and stopwatch timers

  • Contacts - ๐Ÿ“• View your contacts and copy emails/telephones, etc.

  • Colors - ๐ŸŽจ Color lookup using RGB, hex notation or color name

  • Emoji - ๐ŸŽ‰ Search for and copy emojis to clipboard

  • Errno - โ—Lookup and get information on Linux error codes

  • Google Translate - ๐Ÿ‰‘ Reimplementation of this plugin with persistent storage of previous searches, no need for API key and smart HTTP querying to avoid blocking from Google.

  • Harakiri - ๐Ÿ“ซ Create temporary email addresses at harakirimail.com

  • IP show - ๐ŸŒ Display information about your network interfaces and public IPs

  • Image Search - ๐Ÿ“ท Search the web for images, download them and/or copy them to clipboard

  • Jira - ๐Ÿ“ View and edit your Jira tickets from Albert

  • Killproc - โ˜ ๏ธ Kill processes based on fuzzy-search

  • Meme Generator - ๐Ÿ˜ธ Generate memes and copy them to clipboard

  • Pass TOTP - ๐Ÿ”ข Generate 2FA codes with Pass and totp

  • Pass_rlded - ๐Ÿ”’ UNIX Password Manager interaction with fuzzy-search capabilities

  • Pulse Control - ๐ŸŽค Enable/disable sources and sinks from Pulse Control

  • Remmina - ๐Ÿ–ฅ๏ธ Start a Remmina VNC/SFTP connection

  • Saxophone - ๐ŸŽท Play your favorite internet radio stations / streams

  • Scratchpad - ๐Ÿ“ Take quick notes into a single textfile

  • Taskwarrior - ๐Ÿช– Interact with the Taskwarrior task manager

  • Template Albert Plugin - ๐Ÿ› ๏ธ Template cookiecutter for creating new Albert plugins

  • Timezones - ๐ŸŒ Lookup timezone information

  • Tldr Lookup - Lookup tldr pages and commands

  • URL Error Lookup - ๐Ÿ”— Lookup URL error codes

  • Words - ๐Ÿ”ค Lookup a word definition, synonyms and antonyms

  • Xkcd - ๐Ÿ““ List and fuzzy-search the latest xkcd comics

  • DuckDuckGo-based autocompletion search - ๐Ÿฆ† for searching on duckduckgo.com, github.com, stackoverflow, amazon, and a variety of other websites using ddgr

    • Suggestions-enabled search using ddgr on a variety of websites. For example:

      • DuckDuckGo

      • Amazon

      • Youtube

      • Github

      • Ebay

      • Imdb

      • Urban dictionary: Word/Slang definitions lookup

      • Python, OpenCV, Dlib, C++ documentation lookup

      • ...

      • โš ๏ธ To avoid getting blocked, a search request is only sent when the text ends with a dot ".".

      • Install google-chrome or chromium-browser to add an "Open in incognito mode" option

      • See the ddgr-specific section for more

Plugins have been tested with the Albert python v0.4 interface. If you're looking for a version that works with earlier versions of the plugin, see the prior-to-v0.4 branch. I'm using Python 3.6.8.

Themes

  • Mozhi - A flat, transparent and dark theme for Albert. (DEMO)

Motivation

It's really so easy writing plugins and automating parts of your workflow using Albert and its python extensions. That's the very reason I started writing them.

Installation

Requirements:

Clone this repository under your local Albert python plugins directory. By default the that is: ~/.local/share/albert/org.albert.extension.python/modules.

Then go to the Albert settings and enable the plugins that you are interested in using. Beware that you may need to install some more dependencies depending on the plugins you use. These dependencies will probably be pointed out either when you enable, or when you run the plugin for the first time. Refer to the directory of the corresponding plugin for more details.

ddgr-based plugins

The search plugins that use ddgr have not been committed to this repo. You can generate them offline using the create_ddgr_plugins.py script provided. Make sure you have Python >= 3.6 installed:

pip3 install --user --upgrade secrets requests ddgr cookiecutter
./create_ddgr_plugins.py

This will generate an Albert plugin for each one of the search engines specified in create_ddgr_plugins.py. Adjust the latter as required if you want to add more or remove plugins.

generate_plugins_only_for = [
    "alternativeto",
    "amazon",
    "askubuntu",
    "aur.archlinux",
    ...
    ]

I don't want to setup all the plugins, just a few

Very well, then after cloning this repo, just symlink or copy the plugin of choice under your local python plugins directory. For example for the jira plugin:

cp -r plugins/jira ~/.local/share/albert/org.albert.extension.python/modules/jira

After that, enable the plugin from the Albert settings.

Self Promotion

If you find this tool useful, please star it on Github

TODO List

See ISSUES list for the things that I'm currently either working on or interested in implementing in the near future. In case there's something you are interesting in working on, don't hesitate to either ask for clarifications or just do it and directly make a PR.

Ideas List (feel free to implement)

  • ๐Ÿšง Giphy - https://github.com/Giphy/giphy-python-client
  • ๐Ÿšง Devdocs.io/Zeal/Dash search
  • ๐Ÿšง Manage your VPN connections - Frontend to WireGuard?
  • ๐Ÿšง Spotify mini player - similar to this
  • ๐Ÿšง Movie search and ratings - be able to sign in to various services and (e.g., imdb) and submit a rating for a movie
  • ๐Ÿšง An alternative to Alfred's pkgman
  • ๐Ÿšง Vagrant start/stop boxes - see this
  • ๐Ÿšง Assembly instructions lookup - use this

awesome-albert-plugins's People

Contributors

ashesitr avatar balasopandr avatar bergercookie avatar denvercoder1 avatar federicocozzivm avatar hsins avatar nikoskoukis-slamcore avatar okb1100 avatar uztnus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

awesome-albert-plugins's Issues

Google translate plugin doesn't work

Hi! I would like to inform that the plugin doesn't work in my device. I have an Arch Linux laptop.

I've tried reinstalling the dependencies and I get the error listed in the following image.

When I go to the folder where the history.dat file should be there is nothing. I am really lost. Could you help me?

Thank you in advance

Screenshot_20211226_020712

Brotab integration

Hello Niko, would consider a plugin integrating brotab? There is a ulauncher ext for it that works wonderfully.
They have a folder named albert but I have no idea of it's purpose.

Missing dependancy : fuzzywuzzy

As mentioned in the title, several plugins (tldr for example) need the fuzzywuzzy python library. This should be included in the dependencies section.

Plugins incompatible with new v0.21.0 API?

Thank you for all your hard work in creating these awesome plugins. Unfortunately, none of my locally installed awesome plugins show up in Albert's plugin settings. Here's an example of the debut output for a few of them:

[warn:python] Plugin invalid: Incompatible major interface version. Expected 1, got 0. (/home/XXX/.local/share/albert/python/plugins/abbr)
[debg:python] Found valid Python plugin /home/XXX/.local/share/albert/python/plugins/abbr
[warn:python] Plugin invalid: Incompatible major interface version. Expected 1, got 0. (/home/XXX/.local/share/albert/python/plugins/colors)
[debg:python] Found valid Python plugin /home/XXX/.local/share/albert/python/plugins/colors
[warn:python] Plugin invalid: Incompatible major interface version. Expected 1, got 0. (/home/XXX/.local/share/albert/python/plugins/emoji)
[debg:python] Found valid Python plugin /home/XXX/.local/share/albert/python/plugins/emoji

I saw that awesome albert plugins were recently updated, per #20

It looks like Albert's plugin interface has changed again. See: v0.21.0 changelog:

[plugins]
    ...
    [python:1.8] Adopt API v0.21. New interface version iid 1.0
        Add Extension.cache-, config- and dataLocation
        Expose FallbackHandler
        Proper multi extension registration
        Move interface spec into python stub file (yay!)
        Expose TriggerQueryHandler
        Expose GlobalQueryHandler
        Expose QueryHandler
        Expose IndexQueryHandler
        Expose Item class entirely such that plugins can subclass it
        Use pointer for queries
        Remove global cache/config/data dir functions
    [all] Adopt API v0.21.0

I hope it is not too much work for you to have to update them again.

Installer broke

here is my output, i think that's because the empty placeholder folder which break the for loop that will check for the installer script ?

 sudo curl https://raw.githubusercontent.com/bergercookie/awesome-albert-plugins/master/install-plugin.sh | bash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1832  100  1832    0     0    439      0  0:00:04  0:00:04 --:--:--   442

**********************************************************************
Cloning awesome-albert-plugins -> /home/hegazy/.local/share/albert/org.albert.extension.python/modules/awesome-albert-plugins
**********************************************************************

Cloning into '/home/hegazy/.local/share/albert/org.albert.extension.python/modules/awesome-albert-plugins'...
remote: Enumerating objects: 206, done.
remote: Counting objects: 100% (206/206), done.
remote: Compressing objects: 100% (142/142), done.
remote: Total 843 (delta 119), reused 124 (delta 64), pack-reused 637
Receiving objects: 100% (843/843), 4.89 MiB | 24.00 KiB/s, done.
Resolving deltas: 100% (476/476), done.

**********************************************************************
Installed awesome-albert-plugins -> /home/hegazy/.local/share/albert/org.albert.extension.python/modules/awesome-albert-plugins
**********************************************************************

bash: line 73: cd: doxygen: No such file or directory

pre-commit hooks for linting and auto-formatting

Since not everybody contributing to the project has a good python workflow setup, I thought it would be beneficial for the project and the contributors to add pre-commit hooks for linting and auto-formatting.

Plugins are incompatible with 0.18.6

I love the additional plugins provided in this repo, but unfortunately the most recent albert update broke all plugins.
Looking at the current official plugin repo, it seems the API has changed from plain functions to providing a QueryHandler class.

up-to-date albert broke API

Hello,
thank you very much for your outstanding work, I really like your tldr plugin for albert.

Sadly, albert recently introduced some breaking changes in the API - thus the plugin does not work anymore.

  • Could you be so kind and take a peek whether your tldr plugin can be adapted to the new spec without too much effort?

Thank you very much,
kind regards
Ben

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.