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

Add Shortcut file type, simplify shortcuts generally #751

Open
inexorabletash opened this issue Apr 11, 2023 · 3 comments
Open

Add Shortcut file type, simplify shortcuts generally #751

inexorabletash opened this issue Apr 11, 2023 · 3 comments
Labels
DeskTop DeskTop bugs or feature requests feature request User-facing feature additions/enhancements

Comments

@inexorabletash
Copy link
Collaborator

I was watching a video about the Lisa and it put me in the mood to think about how the Macintosh was forced by limited time and lack of memory/ROM/disk resources to be extremely minimal. No bells and whistles. And like much great art, editing down often makes things better. Lots of the improvements to A2D have been by removing things to simplify the experience.

One thing that really stands out in A2D as surprising complexity are the Shortcuts, called Selector items, in the original MouseDesk/A2D 1.1. From the perspective of "how can we make a simplified launcher, and turn desktop into an editor for the entries?" it makes sense. But it's a lot of added complexity. What's a simpler, more general approach? What would the Macintosh team in 1984 have done?

Well, we don't know, but thanks to time travel we can look ahead into the future of 1991, where System 7 introduced three things: (1) the Apple Menu and (2) a Launcher that were both populated by (3) Aliases. Instead of a dedicated editor for menu entries (e.g. Font/DA Mover), you just combine the primitives - file selection, alias creation, and file drag/drop. DeskTop already did this for the DESK.ACC folder (now called APPLE.MENU). What's missing are Aliases.

So... I'm thinking of introducing a Shortcut file type. (It took ~15 minutes to code up support, but I'm not sure I'll incorporate it any time soon.)

The idea is to replace the entire Shortcuts-as-a-special-file-and-dedicated-editor with a menu populated from a folder (maybe SHORTCUTS/), and a "Make Shortcut" command that makes a shortcut to the selected icon, and drops it in that folder. No more need for Edit/Delete/Run a Shortcut commands - they're just files in a folder. The optional Selector module just enumerates the directory, shows the first 24 items. Easy peasy!

The down sides include:

  • can't put special characters in the names (because they're just filenames)
  • can't explicitly distinguish entries in the menu vs. just in the dialog (but does anyone really understand that?)
  • refreshing the menu dynamically when the folder is modified is tricky (but worth it? could apply to Apple Menu too Make changes to the Apple menu take effect immediately #301)
  • no way to edit a shortcut, or diagnose a problem with it. Do we need "Show Original" ?

This also lets us extend the number of items in the Shortcuts menu (#299) to 11 (14 total items minus "Make Shortcut", "Show Shortcuts", and a separator)

@inexorabletash inexorabletash added feature request User-facing feature additions/enhancements DeskTop DeskTop bugs or feature requests labels Apr 11, 2023
inexorabletash added a commit that referenced this issue Apr 13, 2023
This defines a new ProDOS file type - LNK ($E1/$0001) that acts as a
link (a.k.a. shortcut, a.k.a. alias) for another file path. It's
really quite minimal - just some header bytes and a ProDOS path. The
basic usage is... create a link, and you can open it / double-click it
as a shortcut to opening the original. Maybe you put links to games in
a directory. Or links to specific programs in the Apple menu.

Long term this might replace the current Shortcuts/Selector mechanism.
See #751 for thoughts there.

This commit has two parts:

* DeskTop get support for LNK files. An icon, type, and you can double
  click on them.

* A "Make Link" desk accessory that will create a link file for the
  selected icon (file or folder or volume). The links are created in
  a LINKS/ directory under the DeskTop folder, because they need to
  go somewhere.

The "Make Link" DA should be considered a temporary hack until I figure
out exactly what I want to do with Shortcuts/Selector.
@inexorabletash
Copy link
Collaborator Author

Oh, another big downside is controlling "copy to RAMCard" on startup/run. Gotta figure that out too.

@inexorabletash inexorabletash added this to the 1.4 milestone May 3, 2023
@xandark
Copy link

xandark commented Jan 15, 2024

Yes, this feels to me more elegant than what the MouseDesk developers crafted.

Maybe the "copy to RAMcard" functionality could just be a separate sub-folder inside SHORTCUTS, like SHORTCUTS/PRELOAD ? Or if that's too wonky, maybe changing the Auxtype of the shortcut file?

@xandark
Copy link

xandark commented Apr 14, 2024

It looks like the Make Alias feature is accomplishing this. I like the LNK files.

@inexorabletash inexorabletash removed this from the 1.4 milestone Jun 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
DeskTop DeskTop bugs or feature requests feature request User-facing feature additions/enhancements
Projects
None yet
Development

No branches or pull requests

2 participants