Ulauncher: More extension examples needed

Created on 6 Sep 2018  路  8Comments  路  Source: Ulauncher/Ulauncher

Thanks for making this great app @gornostal (never said so in the other issue). I'm a recent Mac refugee and looking into the ulauncher ecosystem as a dev and end-user to match the Alfred workflows I used.

The documentation is great, but you could use another example or two to demonstrate the options in manifest.json's preferences. Your current example uses one keyword. All the extensions I've tried also uses one keyword, even when it supports a small but fixed amount of tasks like "Log out", "Restart" and "Reboot" and "Suspend" (there are several extensions doing this), or hashing strings with a fixed number of known algorithms.

While digging I also found input, text and select documented here. I don't understand how they work (only tried briefly) or why I would use them. And I haven't seen any extensions using this I think?

task

Most helpful comment

I recently made a OpenSubtitles plugin. The code is a mess but you can probably take a look to get a feel for what 'select' can be used for ;)

All 8 comments

I recently made a OpenSubtitles plugin. The code is a mess but you can probably take a look to get a feel for what 'select' can be used for ;)

Oh, stupid me. The whole thing is named "Preference Object Fields", but I was looking for these to be used in the main widget, not the settings. I haven't been thinking of the keywords as settings, but I guess they are also settings.

screenshot from 2018-09-06 23-59-07

Edit: Just me not thinking straight. Still think there could be more example extensions using these settings and/or pictures however.

Yeah, I agree that some more examples could be made. It took some source code digging to figure some stuff out.
That said, I think this project has some more pressing needs/wants. Personally, I'd love to ditch python for a statically-typed, faster language like rust. (I tried to make it work with rust but got stuck due to the use of Pickle..)
A separate issue should probably be made about this, but I'm gonna take this opportunity to put this out there: If the devs used regular JSON instead of pickle, given this project's amazing architecture, you could make extensions in pretty much any language provided that someone made libs for them. I think this would greatly increase the number of extensions available, because it would open contributions from people coming from pretty much any language ;)

That said, I think this project has some more pressing needs/wants

I agree. I have a list of things I think are more important (more issues will be created), but it's not my responsibility to prioritize these tasks. I'm writing this now since I noticed it now. It doesn't imply that I'm in a hurry or even that I think gornostal's time should be put on this (anyone can PR after all). I think it may be a low hanging fruit sort of thing though.

I'm not sure about your suggestion, I'll comment in the issue.

Hey guys,
Thanks for contributing to Ulauncher.
I agree that examples could be better and I'll try to improve that.

Within this task I'm going to update API doc to make it more clear and add links to existing plugins as an example in the docs

If the devs used regular JSON instead of pickle...

Good point @diogox. Initially I thought about that but then chose pickle so that I could easily send class instances from Ulauncher app to the extension.
Maybe I should reconsider and provide JSON API too. But that's not a priority now.

It would be greatly appreciated, @gornostal. And yes, I agree it's not a priority right now.

@friday, I want to thank you for creating a lot of great discussions and reporting issues here :+1:
I really appreciate your efforts.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

uffejakobsen picture uffejakobsen  路  6Comments

frdrk picture frdrk  路  4Comments

endorama picture endorama  路  6Comments

altla picture altla  路  5Comments

sematula picture sematula  路  5Comments