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

RFC #1: Launcher Items #4

Open
technobaboo opened this issue Jan 24, 2023 · 0 comments
Open

RFC #1: Launcher Items #4

technobaboo opened this issue Jan 24, 2023 · 0 comments
Labels
RFC Request For Comment

Comments

@technobaboo
Copy link
Contributor

To recap: Items are a specific type of Node containing data and methods, with no inherent UI. Item UI handlers are clients that will register to handle the UI for that specific type of item globally, and have access to all the methods. Item acceptors can be created to temporarily capture those items with full access to all the nodes. Item UI handlers decide when to capture the items into the acceptors.

The Launcher Item type would be a unified representation of an app to launch.
Its data would contain FreeDesktop Application Desktop file's fields including:

  • Name: human-readable name
  • Exec: command to run to launch the app
  • Categories: list of categories for app launchers to filter
  • Icon: 2D (or potentially 3D) icon

Pros:

  • Unified representation of a common concept meaning stability and reliability instead of the alternative, a rough spec based on pulse senders/receivers
  • Lets people design universal UIs that can take in app launchers like grabbing an app from a list and dropping it on a dock
  • Ensures consistent behavior for launching apps when they're outside the launcher

Cons:

  • Hard to update, breaking changes affect everything
  • Making non-global UIs for objects that represent apps to launch would require hacks with item acceptors, doable reliably but an extra layer of indirection
  • More specified in core means more rigid structure

This is the first RFC for Stardust, feel free to comment if you don't understand the concepts or have suggestions for a different format.

@technobaboo technobaboo added the RFC Request For Comment label Jan 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
RFC Request For Comment
Projects
None yet
Development

No branches or pull requests

1 participant