Skip to content

Establish a "design system" #3

@gbgabo

Description

@gbgabo

As we develop our tiny scripts, we started to notice some patterns and even equal needs in use, however not with equal implementation.
For each great implementation made in one of our scripts, there is a opportunity to be a must for the whole suite. This invites us to create a design system for our script's behavior.

Script files set by enviroment variables

For Subject File (WHAT the script handle)

env var name varies by tool

  • $TMENU_FILE
  • $TNOTES_FILE
  • etc...

For Config files (HOW the script handle):

  • Always has a fallback created
  • fallback file's path available at .config/tinytoolsh/toolname.config
  • $TOOLNAME_CONFIG

New tmenu

Renaming Tool: tmenu > tlaunch

New Tool: tmenu

  • Menu handler for all types of menu
    • dmenu
    • fzf
    • rofi
    • xmenu
  • For applications with dmenu interface: dmenu arguments to be avaliable when calling script
  • Check for a env variable containing dmenu args

menu script naming: toolname_menu

  • will use a wrapper to handle all types of menus: tmenu
  • old tmenu will be called tlaunch
  • formatting for persistent options on menu: [option]

POSIX Compliance

  • All scripts to be POSIX compliant: to use shellcheck
  • use getopts
  • include one letter (-l) and full name option (--list)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions