←back to thread

46 points whatsthatabout | 6 comments | | HN request time: 0.002s | source | bottom

AutoPiP is a Safari extension that automatically enables Picture-in-Picture mode when switching tabs and disables it when returning to the video tab. No clicks needed - just seamless multitasking while watching videos.

Key features: • Automatic PiP activation when switching tabs • Smart detection for active videos only • Seamless disable on tab return • Zero configuration needed

GitHub: https://github.com/vordenken/AutoPiP

1. whatsthatabout ◴[] No.42254880[source]
As stated in the readme, this is my first coding project using Swift and Xcode. As a beginner, I welcome any help, suggestions, or contributions to improve the code and functionality!
replies(2): >>42258637 #>>42258894 #
2. CharlesW ◴[] No.42258637[source]
Nice work! As someone who's about to try their hand at their first Safari extension (and first web extension period, something in the spirit of Tabs Outliner), do you have any tips or tricks you could share?
replies(1): >>42259533 #
3. bsimpson ◴[] No.42258894[source]
I'm surprised to see native code in a web extension.
replies(1): >>42258952 #
4. dangus ◴[] No.42258952[source]
Safari doesn’t use the same extension architecture as Chrome and Firefox.

https://developer.apple.com/documentation/SafariServices/saf...

replies(1): >>42259516 #
5. whatsthatabout ◴[] No.42259516{3}[source]
Thats true, but in the end the web extension itself can work with all browsers (if the apis are implemented of course). AutoPiP for example would work without any modifications in chrome/firefox but they implement their own PiP api so it doesn't activate the macOS native one...
6. whatsthatabout ◴[] No.42259533[source]
I read a lot online and of course LLMs can probably help you there. I would suggest if it's nothing macOS/safari specific you want to build, start using chrome and develop the extension for it first. If you want to add safari to the list of supported browser later, you can easily adapt the code (as long as safari supports the apis for it).