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] Implement Scripting #38

Open
vars1ty opened this issue Mar 6, 2023 · 1 comment
Open

[Feature] Implement Scripting #38

vars1ty opened this issue Mar 6, 2023 · 1 comment
Assignees
Labels
« ??? » New Feature/Improvement New feature/improvement which may prove to be difficult than others

Comments

@vars1ty
Copy link
Owner

vars1ty commented Mar 6, 2023

Warning This is a complex feature and is not guaranteed to be implemented.

Compile from the dedicated branch at your own risk, it may break at any time.


Using Rune, add scripting support for labels as a start, then assuming everything works well, implement it to a larger degree.

@vars1ty vars1ty added the « ??? » New Feature/Improvement New feature/improvement which may prove to be difficult than others label Mar 6, 2023
@vars1ty vars1ty self-assigned this Mar 6, 2023
vars1ty pushed a commit that referenced this issue Mar 6, 2023
vars1ty pushed a commit that referenced this issue Mar 10, 2023
@vars1ty
Copy link
Owner Author

vars1ty commented Mar 13, 2023

Paused for now due to several reasons:

  1. Adding scripting would require yet another key for widgets, making it all a huge mess
    • This can be solved by removing support for the command key, letting the user call execute themselves.
  2. It would break all current configs if a proper, clean solution was introduced. If just a new key named script was added, then it would bring in more complexity to the codebase.

Benefits of having scripting though:

  1. More control of Hybrid
  2. You're free to implement more advanced functions, rather than hacking around with it
  3. Widgets can be dynamically added/removed
  4. Custom widget types to an extent
  5. Custom user-defined functions and variables
  6. Access to more optimized functions, rather than having to use shell-commands for everything, which adds a lot of overhead when called frequently

Downsides of implementing scripting:

  1. If done properly, all configs that use the command key will break, although it takes little to no effort from the user to fix it
  2. More documentation has to be added to reflect on how to use/transition to using scripts
  3. More prone to user errors
  4. Less beginner-friendly (hence new examples will be made to help out beginners)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
« ??? » New Feature/Improvement New feature/improvement which may prove to be difficult than others
Projects
None yet
Development

When branches are created from issues, their pull requests are automatically linked.

1 participant