mas-cli / mas

:package: Mac App Store command line interface
MIT License
10.95k stars 275 forks source link

`open` specific tabs in the Mac App Store #619

Open rgoldberg opened 4 weeks ago

rgoldberg commented 4 weeks ago

Each of the left sidebar tabs, and some other standard pages, of the Mac App Store can be opened with URLs like:

# macappstore://?action=<lower case tab name> opens the corresponding tab from the left sidebar
macappstore://?action=discover
macappstore://?action=updates
…

# opens the 'Account Settings' floating page, which is not a tab
macappstore://?action=account

# opens the 'Redeem Gift Card' floating page, which is not a tab
macappstore://?action=redeem

# opens the list of purchased apps that you normally access from the bottom of the left sidebar from the tab labelled with your Apple ID profile avatar & name
macappstore://?action=purchased

Maybe we should allow users to open these tabs via mas open.

To specify an action on the command line, which of the following options do you prefer for the example of updates:

mas open --updates

mas open --action updates
mas open --action-updates
mas open --action:updates
…

I prefer mas open --action updates.

We could either limit the options to the known valid actions (which would require updating the list of actions whenever valid actions are changed or discovered), or we could allow any ad hoc value for action. Any value that is unrecognized just opens the App Store to the most recent tab & outputs the original spurious error dialog. If we allow ad hoc values, I would go for an option syntax that begins with --action, because maybe we might want to add other options to open that could clash with an existing or new action/tab name.

I can easily implement whatever syntax & behavior you prefer.