Skip to content

Option to use different global buttons depending on directory/context. #35

@alex-a-soto

Description

@alex-a-soto

Background:
I've noticed that I have many global buttons that I only use for specific workflows; it becomes difficult to distinguish among the buttons/actions.

While I do make use of explicit buttons in a dedicated button file, there are times when it's not ideal:

  • The action/button I'm trying to activate requires me to be in a specific buffer.
  • Increases cognitive load by having to switch between a button file and a buffer to do an action.
  • Sometimes I would prefer not to include a button as a comment in a file.

Proposal:
To provide the user with the option of using global buttons that perform different actions depending on the directory/context.

This idea draws inspiration from the projectile package that provides easy project management and navigation when working with files and buffers in a project. A project is identified by the use of .projectile.

Examples:
~/Notes Directory
For example, let's imagine I'm in the ~/Notes directory, and I open a file "2020-08-09.md". I decide to link the file in the current buffer to another file in my notes directory. In this situation, I would want to use a global button called "Link to other note," that performs the action described above.

~/Projects/client-x/ Directory
I navigate to a different directory, ~/Projects/client-X/, when I activate a global button in this directory, I'm presented with different actions related to the actions/workflow I have when working with a client on a project.

  • Create todo
  • View todos
  • Journal
  • View Journal
  • Clock-in
  • Clock-out
  • Calendar

Overtime the handful of buttons that are added to a directory will allow for a workflow to emerge that's based on these different sets of global buttons.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions