Skip to content

Conversation

matsl
Copy link
Collaborator

@matsl matsl commented Sep 21, 2025

What

Add actypes:activity for the external package activities.

Why

It is convenient so switch between activities using global buttons or
per project ebuts.

Notes

This is work in progress.

WDYT?

  • Good idea?
  • Should it be in a separate file, hsys-activities.el like other
    external packages?

Related: Would be nice to be able to use the assist key for getting
activity with the default state. But for ebuts as for ibuts the assist
key invokes help. With current scheme we would have to prompt user on
creation and have two types of buttons. With and without state
reset. Ideas?

This is a PR in Draft mode for the discussion.

@matsl matsl requested a review from rswgnu September 21, 2025 20:28
@matsl matsl force-pushed the add_activity_actypes branch from ffc92a7 to 96f1be1 Compare September 26, 2025 17:31
@matsl matsl force-pushed the add_activity_actypes branch from 96f1be1 to 097ff0c Compare September 28, 2025 16:55
@matsl matsl marked this pull request as ready for review September 28, 2025 16:56
Copy link
Owner

@rswgnu rswgnu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After looking at this, I am not sure we need it. The activities package should provide the actions we need as autoloads. Then we can create activities with <activities-new ...> and restore them with <activities-resume ...> buttons. If you have an idea of some other syntax to use to recognize activities names implicitly, let me know.

@matsl
Copy link
Collaborator Author

matsl commented Sep 28, 2025

After looking at this, I am not sure we need it. The activities package should provide the actions we need as autoloads. Then we can create activities with <activities-new ...> and restore them with <activities-resume ...> buttons.

You think the actype is to simple? It is a tiny wrapper because the package lacks a function to resume an activity from its name but we could provide that ourselves or ask the author to provide one.

That would also solve the issue I'm having with whether the activity should be resumed from the last state or if it should reset to the default state. Since with <..> notation parameters can be provided.

I guess it is a balance. The lispy notation with arrow brackets allows users to create their own buttons but requires them to know about what functions to use. With a defact it will be listed on button creation and documented.

Activities is special in that it is an external package so gets into that problem as well. Much to think about here.

If you have an idea of some other syntax to use to recognize activities names implicitly, let me know.

Haven't thought about it in that way. Will sleep on it!

@matsl matsl requested a review from rswgnu September 28, 2025 22:17
@rswgnu
Copy link
Owner

rswgnu commented Oct 4, 2025

I would suggest first asking alphapapa to add the missing function that you need to the package.

I like the idea of making activities easy to use with Hyperbole.

@matsl
Copy link
Collaborator Author

matsl commented Oct 4, 2025

I would suggest first asking alphapapa to add the missing function that you need to the package.

Yes. I'm on it. 🙏

I've been using my own functions with for action-buttons with activities for a couple of days and it works fine.

What do you think is the criteria for pointing users to use action-buttons rather than Hyperbole providing support through explicit buttons? What was previously available only through ebuts can now be done with labeled ibuts and action-buttons (abuts?)!?

@matsl matsl marked this pull request as draft October 4, 2025 17:03
@matsl
Copy link
Collaborator Author

matsl commented Oct 8, 2025

@rswgnu This is the PR on activities: alphapapa/activities.el#149

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

Successfully merging this pull request may close these issues.

2 participants