Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request] Plug-in framework #172

Open
rgegriff opened this issue Nov 19, 2023 · 2 comments
Open

[Feature Request] Plug-in framework #172

rgegriff opened this issue Nov 19, 2023 · 2 comments

Comments

@rgegriff
Copy link

I think that there are a lot of features that would be great to have; but don't make sense for everyone and don't necessarily fit the vision of the project perfectly.

I am imagining some sort of plug-in system that would allow the installation of applets, roughly analogous to widgets used by other launchers; but with an interface to unlauncher that encourages a minimalist UI and consistency with the rest of Unlauncher. These extensions could be accessed via a carousel pattern by swiping left or right from the app list.

I kinda want to sketch out some ideas of what that could look like.

Properties of the plug-in "applets":

  • Minimal UI descriptions
    • Applets should return a description of their desired UI that is composed primarily of text, simple layout information, simple monocolor icons, and a list of events that can be sent back to the template when various bits of text are clicked.
  • Strongly event driven
    • Applets will return a text-based layout to UL on launch, and will respond to events sent to them by UL by returning updated layouts.
  • Stateless
    • Applets should not maintain their own state. Instead, recreating any state needed on each event.
  • Parameterized configuration
    • Applets should respond to a specific event with an object describing configuration options
    • Configuration of Applets should take place in the Unlauncher settings.
    • All other events sent to applets by unlauncher should include a configuration object in the parameters

Example applets:

  • calendar
  • Displays calendar information in a scrollable widget by communicating with the Android Calendar Provider. Tapping the title launches the default calendar application.
  • Todo.txt
    • Displays, sorts, and filters the contents of a given todo.txt file. Allows filtering based on context and project to be configured. Tasks can be marked/unmarked as done by tapping.
  • App list
    • The home app list could be implemented as an applet. It is configured with up to Six apps, up to six labels for the apps, and three enableable quick-buttons
    • this could serve as a sort of foldering or app/group mechanism by simply adding multiple differently configured instances of the app list applet
@khwolf
Copy link

khwolf commented Nov 26, 2023

Why not use the existing Android-Widget-System? Let the user decide what kind of Widget best fits for them.

You could exchange the two list of apps and the clock/date part of the display with areas where widgets could be docked. Yet if you do so there is not much difference to a "normal" launcher left. There you would just need a widget to list your favorite Apps in text-form and it could look quite similar to unlauncher...

@TobiTenno
Copy link
Collaborator

this also seems a bit out of scope for the launcher, since the point is being minimal. it seems like you'd have better experience using minimal apps to do a lot of those applets/links/etc from your main apps list if you need to use them that frequently

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants