Skip to content

Latest commit

 

History

History
60 lines (43 loc) · 3.17 KB

safari.md

File metadata and controls

60 lines (43 loc) · 3.17 KB

Using Snoozz with Safari

Snoozz x Safari


I'm not paying Apple a hundred bucks a year for the privilege of publishing my free, open source extension in their App Store.

You can build your own version of Snoozz for Safari. Here's how you do it:

Requirements

  • MacOS 10.14.6+

  • Xcode 12+

    • Including Command Line Tools for Xcode
  • Safari 14+

    • Show Developer menu in Safari > Preferences > Advanced
    • Allow Unsigned Extensions in the Develop menu
  • Snoozz for Safari (latest release)

    • The activeTab permission is used in place of tabs to minimise access requests to the user.
    • All unsupported WebExtension APIs are removed (notifications, idle, commands).

Simple Installation

  1. Extract the Snoozz-Safari-x.x.x.zip file, and open the containing folder in terminal
  2. Run ./safari.sh

Advanced Installation

  1. In Terminal, navigate into the downloaded (unzipped) Snoozz for Safari directory and convert the extension to an Xcode package using this command:
	xcrun safari-web-extension-converter . --app-name "snoozz_for_safari"  --bundle-identifier com.snoozeman.snoozz --swift --force --no-open
  1. Build and run the xcodeproject.
	cd snoozz_for_safari
	xcodebuild -scheme snoozz_for_safari build
  1. Open Safari > Preferences > Extensions and enable Snoozz.

  2. Get through all the scary warning menus and then get snoozing.

What's broken?

  • Snoozing windows: This requires use of the tabs API. Using that API, you will see a privacy popup every single time you try to snooze a website you have not snoozed before. The popup explicitly states Grant the extension permission to read all your data on this site which is going to put off a lot of users.

  • Notifications: Safari does not support the notifications API.

  • Keyboard Shortcuts: Safari does not let you configure your own keyboard shortcuts.

  • Inconsistent wake up times: Safari does not support the idle API. It is used to calculate the next tab to wake up after your computer comes back from standby. It's very likely that your tabs will not wake up until you interact with the extension in any way.

  • UI bugs: This extension was designed for Chrome and Firefox, so things might look a teeny bit off.

Find anything else broken? Leave a bug report. It would be extremely helpful if you could open up the logs and give me an error code (screenshot or copy/paste, either is fine)