Skip to content

BasicShell 0.8.0

Latest

Choose a tag to compare

@mbahakeskin mbahakeskin released this 31 Oct 22:24

Download: BasicShell-0.8.0.zip, with BasicShell.app inside: unzip, move it to Applications. A release is the build with the agent tools (Settings › Agents, off until you turn it on); the plain build is ./build.sh from the source.

It is self-signed, not an Apple Developer ID, so the first time macOS refuses to open it: open it once, then System Settings › Privacy & Security › Open Anyway.

Requires: macOS 27 on Apple silicon.

Updates. BasicShell updates itself: BasicShell menu › Check for Updates…, and once a day by itself unless Settings › General turns that off. Update and Restart downloads the zip, checks it against its SHA-256 and the app in it against this app's identifier, then replaces the old app (which goes to the Trash) and opens the new one. Nothing is installed without your say.

New since 0.7.1

  • The download button finds the video you pressed. A page keeps several videos loaded ahead (Instagram's reels hold nine at once), and the button used to save whichever file the page had read last. Now the page says how long the pressed video runs and how big its picture is, and each file the page loaded is read for what it says of itself in its first kilobytes (a picture or sound, how long, how big; fragmented files by their sidx list, others by moov). The picture file of that length is saved, with the sound file of that length, and the Mac joins them into one mp4; a playlist is matched the same way by the sum of its pieces. If nothing can be told apart it says so instead of saving the wrong one.
    • TikTok: a video is one file with picture and sound together, the sound's track first; the whole of its header is now read, so it is found and saved as it is.
    • Reddit: its player is a web component with its video in an open shadow root; the button now looks inside those, so it shows on Reddit's own videos and not only on photos.
    • Instagram: the right reel, with its sound.
    • Settings › General › Debug logging writes [media] lines (what was pressed, what the page loaded, what each file turned out to be) for finding out why a video didn't save.
  • Copy Address leaves out the tracking. ⇧⌘C and Edit › Copy Address drop what only follows you (utm_…, fbclid, gclid, igsh, YouTube's and Spotify's si, Twitter's s and t, Amazon's tag and ref, and the like); a video's t, a search's q and a product's variants are never touched. The pill says how many came off. Hold ⌥ in the Edit menu, or ⌥⇧⌘C, to copy the address as it is. Settings › Privacy › Copied links turns it off. The QR code and AirDrop share the cleaned address.
  • BasicShell menu › Keyboard Shortcuts… lists every key the menus answer to, read off the menus as they are, with a search field and what the pointer does with a key held.
  • Peek (Shift-click a link) no longer has a grey bar across its top: the page fills the card, and its title and its two buttons sit on glass above it.
  • The profile row shows the name of the profile shown, in its colour, at the end of the row (the main one too).

The download button, as it stands

On a site you list (Settings › General › Download button on photos and videos; empty until you add one), a small button comes up over a large photo or video while the pointer is on it, in the page or in a player's frame, even under a transparent layer or inside a shadow root. It saves a photo's largest picture, a video that is a file as it is, a video whose address is a playlist or that a site sends in pieces (blob:) by what the page loaded: an HLS playlist's best quality with its sound, or the picture's and the sound's files, fetched as the page would and joined into one .mp4. It shows in the Downloads panel with progress and Cancel. Play the video for a moment first. Nothing outside macOS is used.

Known limits

  • Not saved: DRM-protected video, live streams, video described by a DASH .mpd with segment templates, and the adaptive streams of YouTube.
  • A site you list is watched while its tabs are open; a site you don't list is not watched at all.
  • Passkeys and Apple Passwords need an Apple Developer ID and so don't work yet.
  • Extensions run in the main profile only.

After updating, quit and reopen BasicShell if it did not restart itself, and start a new chat in your agent.

SHA-256: BasicShell-0.8.0.zip fbdd2fae291eb3f15961354c22f1b50aef74ecb8962b5c50f885c3865f9a6305