From 678f81e1b94699c9384d0a886a7bf62f724fd2fc Mon Sep 17 00:00:00 2001 From: Guillaume Louel Date: Thu, 9 May 2019 16:01:27 +0200 Subject: [PATCH 01/21] Better log date output --- Aerial/Source/Models/ErrorLog.swift | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Aerial/Source/Models/ErrorLog.swift b/Aerial/Source/Models/ErrorLog.swift index c2aa56e7..66da4a0e 100644 --- a/Aerial/Source/Models/ErrorLog.swift +++ b/Aerial/Source/Models/ErrorLog.swift @@ -77,10 +77,9 @@ func Log(level: ErrorLevel, message: String) { if preferences.logToDisk { DispatchQueue.main.async { let dateFormatter = DateFormatter() - dateFormatter.dateStyle = .none - dateFormatter.timeStyle = .medium + dateFormatter.dateFormat = "yyyy-MM-dd' 'HH:mm:ss" + let string = dateFormatter.string(from: Date()) + " : " + message + "\n" - //let string = message + "\n" // tmpOverride //if var cacheFileUrl = try? FileManager.default.url(for: .desktopDirectory, in: .userDomainMask, appropriateFor: nil, create: false) { From ff367a8911a59ebece934ed5aa482508b5755f4f Mon Sep 17 00:00:00 2001 From: Guillaume Louel Date: Wed, 29 May 2019 14:03:50 +0200 Subject: [PATCH 02/21] Documentation --- Aerial.xcodeproj/project.pbxproj | 12 ++++++++++++ Documentation/Installation.md | 3 +++ 2 files changed, 15 insertions(+) create mode 100644 Documentation/Installation.md diff --git a/Aerial.xcodeproj/project.pbxproj b/Aerial.xcodeproj/project.pbxproj index a6ea69ea..139503ad 100644 --- a/Aerial.xcodeproj/project.pbxproj +++ b/Aerial.xcodeproj/project.pbxproj @@ -77,6 +77,7 @@ 03D37FDC22145487005A146F /* fr.json in Resources */ = {isa = PBXBuildFile; fileRef = 03D37FD822145487005A146F /* fr.json */; }; 03D3DAC4221F286700BDA52F /* pl.json in Resources */ = {isa = PBXBuildFile; fileRef = 03D3DAC3221F286700BDA52F /* pl.json */; }; 03D3DAC5221F286D00BDA52F /* pl.json in Resources */ = {isa = PBXBuildFile; fileRef = 03D3DAC3221F286700BDA52F /* pl.json */; }; + 03DAD470229EAC66000DA6D1 /* Installation.md in Resources */ = {isa = PBXBuildFile; fileRef = 03DAD46F229EAC66000DA6D1 /* Installation.md */; }; 03E8730C2165013C002B469B /* DownloadManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03E8730B2165013C002B469B /* DownloadManager.swift */; }; 03E8730F216501ED002B469B /* AsynchronousOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03E8730E216501ED002B469B /* AsynchronousOperation.swift */; }; 03E8731021662AEB002B469B /* DownloadManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03E8730B2165013C002B469B /* DownloadManager.swift */; }; @@ -163,6 +164,7 @@ 03D37FD722145487005A146F /* es.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = es.json; sourceTree = ""; }; 03D37FD822145487005A146F /* fr.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = fr.json; sourceTree = ""; }; 03D3DAC3221F286700BDA52F /* pl.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = pl.json; sourceTree = ""; }; + 03DAD46F229EAC66000DA6D1 /* Installation.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = Installation.md; sourceTree = ""; }; 03E8730B2165013C002B469B /* DownloadManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DownloadManager.swift; sourceTree = ""; }; 03E8730E216501ED002B469B /* AsynchronousOperation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AsynchronousOperation.swift; sourceTree = ""; }; 03E8731221675FE0002B469B /* TimeManagement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimeManagement.swift; sourceTree = ""; }; @@ -272,6 +274,14 @@ path = Screenshots; sourceTree = ""; }; + 03DAD46E229EAC66000DA6D1 /* Documentation */ = { + isa = PBXGroup; + children = ( + 03DAD46F229EAC66000DA6D1 /* Installation.md */, + ); + path = Documentation; + sourceTree = ""; + }; 03E8730D216501B3002B469B /* Downloads */ = { isa = PBXGroup; children = ( @@ -428,6 +438,7 @@ FACAF19B1BD9FC6000E539DC = { isa = PBXGroup; children = ( + 03DAD46E229EAC66000DA6D1 /* Documentation */, FAC36F2F1BE1756D007F2A20 /* App */, FAC36F361BE1756D007F2A20 /* Resources */, FAC36F3C1BE1756D007F2A20 /* Source */, @@ -579,6 +590,7 @@ files = ( 036A34B622730A0700A49135 /* zh_CN.json in Resources */, 033192E2217B78240073B580 /* en.json in Resources */, + 03DAD470229EAC66000DA6D1 /* Installation.md in Resources */, FAC36F541BE1756D007F2A20 /* PreferencesWindow.xib in Resources */, 03D1E79522848F7F00D10CF7 /* screen1.jpg in Resources */, FAC36F4E1BE1756D007F2A20 /* icon-day.pdf in Resources */, diff --git a/Documentation/Installation.md b/Documentation/Installation.md new file mode 100644 index 00000000..4afe8e54 --- /dev/null +++ b/Documentation/Installation.md @@ -0,0 +1,3 @@ +# Test + +testa From 1e1a9f6a4e61e6a7042350d31d12367c1d873e95 Mon Sep 17 00:00:00 2001 From: Guillaume Louel Date: Wed, 29 May 2019 14:18:30 +0200 Subject: [PATCH 03/21] Install doc --- Documentation/Installation.md | 58 +++++++++++++++++++++++++++++++++-- 1 file changed, 56 insertions(+), 2 deletions(-) diff --git a/Documentation/Installation.md b/Documentation/Installation.md index 4afe8e54..d693fe9e 100644 --- a/Documentation/Installation.md +++ b/Documentation/Installation.md @@ -1,3 +1,57 @@ -# Test +# Installation, setup and uninstallation -testa +## Installation instructions + +Aerial now includes an auto-update mechanism using the [Sparkle open-source project](https://github.com/sparkle-project/Sparkle) (with EdDSA signatures). You will need to download it manually the first time : + +### First Installation + +_Rather install from Terminal? Look at the Brew Cask section below!_ + +1. Quit **System Preferences**. +2. [Download the latest release of Aerial.saver.zip](https://github.com/JohnCoates/Aerial/releases/latest). Alternatively, you can try the latest beta version [following this link](https://github.com/JohnCoates/Aerial/releases). +3. Unzip the downloaded file (if you use Safari, it should already be done for you). +4. Double-click `Aerial.saver`; it will open in `System Preferences` > `Desktop & Screen Saver` and ask you if you want to install for all users or for your user only. Be aware that installing for all users will require a password at install **and each update, including auto-updates.** + +If you see an error message saying "This app is damaged and can't be opened, you should move it to the trash", we suggest that **you download the file with Safari**, to prevent macOS Gatekeeper from throwing that error. Note that some outdated unzip software may cause that issue too. + +**Important**: If you haven't quit System Preferences before installation, you will need to quit and reopen System Preferences after installation for Aerial to work correcly. This is a macOS bug. + +### Brew Cask Support + +If you're looking to install Aerial across many systems, remotely, or simply from Terminal we recommend [Brew Cask](https://caskroom.github.io). + +Simply issue the following Terminal command: + +```sh +brew cask install aerial +``` + +To upgrade Aerial, run the following Terminal command: + +```sh +brew cask upgrade aerial +``` + +Please note that if you prefer using homebrew to update Aerial, we recommend you disable Sparkle auto updates in the `Updates`tab. + +## Setting Aerial as Your Screen Saver + +1. Open `System Preferences` -> `Desktop & Screen Saver` -> `Screen Saver` +2. Choose Aerial and click on `Screen Saver` Options to select your settings. + +![screen shot 2018-10-29 at 13 17 23](https://user-images.githubusercontent.com/37544189/47649971-1f76a980-db7f-11e8-97be-d1f90b943c9d.png) + +## Uninstallation + +There are three ways to uninstall Aerial from your Mac. + +- Right-click on the Aerial screensaver in `System Preferences` and select `Delete "Aerial"`. +- Or delete the file(s) directly. macOS can store screen savers in two locations, `/Library/Screen Savers` (if you installed for All Users) and `/Users/YOURUSERNAME/Library/Screen Savers` (installed for your user only). Check both locations for a file called `Aerial.saver` and delete any copies you find. +- If you installed Aerial using Brew Cask, then enter the following command in a Terminal window to uninstall: + +```sh +brew cask uninstall aerial. +``` + +You may also want to delete the folder `/Library/Caches/Aerial` (default Aerial cache folder on most systems, even if you installed for your user account only) or `/Users/YOURUSERNAME/Library/Caches/Aerial`. This is where Aerial stores the cached copies of the Aerial videos. The last thing, you may want to delete the preferences `plist`. The file is `/Users/YOURUSERNAME/Library/Preferences/ByHost/com.JohnCoates.Aerial.{UUID}.plist`. From 5ed9c12e859fc2b786f7770b6120295fdee8ea94 Mon Sep 17 00:00:00 2001 From: Guillaume Louel <37544189+glouel@users.noreply.github.com> Date: Wed, 29 May 2019 14:23:07 +0200 Subject: [PATCH 04/21] Update Readme.md --- Readme.md | 49 +++---------------------------------------------- 1 file changed, 3 insertions(+), 46 deletions(-) diff --git a/Readme.md b/Readme.md index e3c36386..2d58c831 100644 --- a/Readme.md +++ b/Readme.md @@ -27,55 +27,12 @@ You can see a list of contributors [here](https://github.com/JohnCoates/Aerial/g ## Installation -### Manual Installation - -_Rather install from Terminal or have auto-updates? Look at the Brew Cask section below!_ - 1. Quit **System Preferences**. -2. [Download the latest release of Aerial.saver.zip](https://github.com/JohnCoates/Aerial/releases/latest). (Version 1.4.6, December 12th 2018). Alternatively, you can try the latest beta version [following this link](https://github.com/JohnCoates/Aerial/releases). Version 1.4.7 brings support for the newest videos (updated January 25th 2019), and preliminary support for automatic updates through [Sparkle](https://sparkle-project.org). +2. [Download the latest release of Aerial.saver.zip](https://github.com/JohnCoates/Aerial/releases/latest). Alternatively, you can try the latest beta version [following this link](https://github.com/JohnCoates/Aerial/releases). 3. Unzip the downloaded file (if you use Safari, it should already be done for you). -4. Double-click `Aerial.saver`; it will open in `System Preferences` > `Desktop & Screen Saver` and ask you if you want to install for all users or for your user only. - - If you see an error message saying "This app is damaged and can't be opened, you should move it to the trash", we suggest that **you download the file with Safari**, to prevent macOS Gatekeeper from throwing that error. Note that some outdated unzip software may cause that issue too. - - **Important**: If you haven't quit System Preferences before installation and were upgrading from a previous version, we strongly recommend you quit the application after installation, then reopen it, as updated Swift screensavers aren't loaded correctly in an active System Preferences session. - -### Brew Cask Support - (Updated to 1.4.6) - -If you're looking to install Aerial across many systems, remotely, or simply from Terminal we recommend [Brew Cask](https://caskroom.github.io). Prefer this method if you're looking for auto-updates. - -Simply issue the following Terminal command: - -```sh -brew cask install aerial -``` - -To upgrade Aerial, run the following Terminal command: - -```sh -brew cask upgrade aerial -``` - -## Setting Aerial as Your Screen Saver - -1. Open `System Preferences` -> `Desktop & Screen Saver` -> `Screen Saver` -2. Choose Aerial and click on `Screen Saver` Options to select your settings. - -![screen shot 2018-10-29 at 13 17 23](https://user-images.githubusercontent.com/37544189/47649971-1f76a980-db7f-11e8-97be-d1f90b943c9d.png) - -## Uninstallation - -There are three options to uninstall Aerial from your Mac. - -- Right-click on the Aerial screensaver in `System Preferences` and select `Delete "Aerial"`. -- Or delete the file(s) directly. macOS can store screen savers in two locations. `/Library/Screen Savers` and `/Users/YOURUSERNAME/Library/Screen Savers`. Check both locations for a file called `Aerial.saver` and delete any copies you find. -- If you installed Aerial using Brew Cask, then enter the following command in a Terminal window to uninstall: - -```sh -brew cask uninstall aerial. -``` +4. Double-click `Aerial.saver`; it will open in `System Preferences` > `Desktop & Screen Saver` and ask you if you want to install for all users or for your user only. Be aware that installing for all users will require a password at install **and each update, including auto-updates.** -You may also want to delete the folder `/Users/YOURUSERNAME/Library/Caches/Aerial` (or `/Library/Caches/Aerial`). This is where Aerial stores the cached copies of the Aerial videos. The last thing, you may want to delete the preferences `plist`. The file is `/Users/YOURUSERNAME/Library/Preferences/ByHost/com.JohnCoates.Aerial.{UUID}.plist`. +Need more information on install, setup, or uninstall ? Or want to install via homebrew ? Check our extended [instructions here](Documentation/Installation.md). ## Multilanguage support From 62a5f0b5d34235e7762929469d00a5eea3d047f0 Mon Sep 17 00:00:00 2001 From: Guillaume Louel Date: Wed, 29 May 2019 15:02:13 +0200 Subject: [PATCH 05/21] changelog --- Aerial.xcodeproj/project.pbxproj | 2 ++ Documentation/ChangeLog.md | 37 ++++++++++++++++++++++++++++++++ Resources/Info.plist | 4 ++-- 3 files changed, 41 insertions(+), 2 deletions(-) create mode 100644 Documentation/ChangeLog.md diff --git a/Aerial.xcodeproj/project.pbxproj b/Aerial.xcodeproj/project.pbxproj index 139503ad..9cb204de 100644 --- a/Aerial.xcodeproj/project.pbxproj +++ b/Aerial.xcodeproj/project.pbxproj @@ -165,6 +165,7 @@ 03D37FD822145487005A146F /* fr.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = fr.json; sourceTree = ""; }; 03D3DAC3221F286700BDA52F /* pl.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = pl.json; sourceTree = ""; }; 03DAD46F229EAC66000DA6D1 /* Installation.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = Installation.md; sourceTree = ""; }; + 03DAD471229EB1E9000DA6D1 /* ChangeLog.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = ChangeLog.md; sourceTree = ""; }; 03E8730B2165013C002B469B /* DownloadManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DownloadManager.swift; sourceTree = ""; }; 03E8730E216501ED002B469B /* AsynchronousOperation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AsynchronousOperation.swift; sourceTree = ""; }; 03E8731221675FE0002B469B /* TimeManagement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimeManagement.swift; sourceTree = ""; }; @@ -278,6 +279,7 @@ isa = PBXGroup; children = ( 03DAD46F229EAC66000DA6D1 /* Installation.md */, + 03DAD471229EB1E9000DA6D1 /* ChangeLog.md */, ); path = Documentation; sourceTree = ""; diff --git a/Documentation/ChangeLog.md b/Documentation/ChangeLog.md new file mode 100644 index 00000000..f4893f6e --- /dev/null +++ b/Documentation/ChangeLog.md @@ -0,0 +1,37 @@ +# Aerial change log + +## [1.5.0](https://github.com/JohnCoates/Aerial/releases/tag/v1.5.0) - May 31, 2019 + +- Completely rewritten multi monitor support. You can now enable and disable individual displays in the new Display tab: + +![Capture d’écran 2019-05-29 à 14 44 01](https://user-images.githubusercontent.com/37544189/58558340-d116af80-8220-11e9-9081-696d805c1e29.jpg) + +- New "Spanned" viewing mode. Selecting this mode will span an Aerial video on all your (selected) screens. You can even adjust margins: + +![Capture d’écran 2019-05-29 à 14 43 52](https://user-images.githubusercontent.com/37544189/58558342-d116af80-8220-11e9-8bb0-8d26f1e1b6ed.jpg) + +- Add your own videos to Aerial using the new Custom Videos features. You can add your own videos in the new video manager (found in the menu below the video list): + +![Capture d’écran 2019-05-29 à 12 52 29](https://user-images.githubusercontent.com/37544189/58552781-8478a780-8213-11e9-99bc-2b55c75b6bd3.jpg) + +You can find more [information here](CustomVideos.md). + +- You can now remove a single video from cache by right clicking it. +- Sparkle updated to 1.21.3. +- And many bug fixes! + +## [1.4.9](https://github.com/JohnCoates/Aerial/releases/tag/v1.4.9) - May 1, 2019 + +- Fix a crashing bug in 1.4.8 for homebrew users. + +## [1.4.8](https://github.com/JohnCoates/Aerial/releases/tag/v1.4.8) - April 30, 2019 + +- Add support for the 5 new 4K videos. +- Automatic updates through Sparkle. +- Localization for community support in Arabic, Chinese Simplified, English, French, German, Hebrew, Polish and Spanish! Thanks to all the contributors. If you want to help, check here, we very much welcome new contributions ! +- You can now skip an Aerial with the right arrow key. +- You can now save your favorite videos sets to enable them quickly (look for the bookmark icon below the video list). +- And many bug fixes! + +## [1.4.6](https://github.com/JohnCoates/Aerial/releases/tag/v1.4.6) - December 28, 2018 + diff --git a/Resources/Info.plist b/Resources/Info.plist index 5097b15a..7d1444c4 100644 --- a/Resources/Info.plist +++ b/Resources/Info.plist @@ -15,11 +15,11 @@ CFBundlePackageType BNDL CFBundleShortVersionString - 1.4.99beta7 + 1.5.0 CFBundleSignature ???? CFBundleVersion - 1.4.99beta7 + 1.5.0 LSApplicationCategoryType LSMinimumSystemVersion From 8f88f40ccf149ea78cbb00273b2e229d54df9d42 Mon Sep 17 00:00:00 2001 From: Guillaume Louel Date: Wed, 29 May 2019 15:04:16 +0200 Subject: [PATCH 06/21] changelog --- Documentation/ChangeLog.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Documentation/ChangeLog.md b/Documentation/ChangeLog.md index f4893f6e..96f63ca1 100644 --- a/Documentation/ChangeLog.md +++ b/Documentation/ChangeLog.md @@ -26,7 +26,7 @@ You can find more [information here](CustomVideos.md). ## [1.4.8](https://github.com/JohnCoates/Aerial/releases/tag/v1.4.8) - April 30, 2019 -- Add support for the 5 new 4K videos. +- Add support for the 5 new 4K videos (January 25th update). - Automatic updates through Sparkle. - Localization for community support in Arabic, Chinese Simplified, English, French, German, Hebrew, Polish and Spanish! Thanks to all the contributors. If you want to help, check here, we very much welcome new contributions ! - You can now skip an Aerial with the right arrow key. From 937cd285e236e8dd4fda95c2123b4aef7415cdbb Mon Sep 17 00:00:00 2001 From: Guillaume Louel Date: Wed, 29 May 2019 15:07:47 +0200 Subject: [PATCH 07/21] Changelog --- Documentation/ChangeLog.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/ChangeLog.md b/Documentation/ChangeLog.md index 96f63ca1..51c660b6 100644 --- a/Documentation/ChangeLog.md +++ b/Documentation/ChangeLog.md @@ -35,3 +35,4 @@ You can find more [information here](CustomVideos.md). ## [1.4.6](https://github.com/JohnCoates/Aerial/releases/tag/v1.4.6) - December 28, 2018 + From dd38c32836e0a58c72a977b9dc20c0898c720ad5 Mon Sep 17 00:00:00 2001 From: Guillaume Louel Date: Wed, 29 May 2019 15:25:57 +0200 Subject: [PATCH 08/21] changelog --- Documentation/ChangeLog.md | 59 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/Documentation/ChangeLog.md b/Documentation/ChangeLog.md index 51c660b6..9976ca47 100644 --- a/Documentation/ChangeLog.md +++ b/Documentation/ChangeLog.md @@ -28,6 +28,9 @@ You can find more [information here](CustomVideos.md). - Add support for the 5 new 4K videos (January 25th update). - Automatic updates through Sparkle. + +![Capture d’écran 2019-04-30 à 18 31 20](https://user-images.githubusercontent.com/37544189/56977789-4afe3f00-6b76-11e9-9985-1ca1a1866d6b.jpg) + - Localization for community support in Arabic, Chinese Simplified, English, French, German, Hebrew, Polish and Spanish! Thanks to all the contributors. If you want to help, check here, we very much welcome new contributions ! - You can now skip an Aerial with the right arrow key. - You can now save your favorite videos sets to enable them quickly (look for the bookmark icon below the video list). @@ -35,4 +38,60 @@ You can find more [information here](CustomVideos.md). ## [1.4.6](https://github.com/JohnCoates/Aerial/releases/tag/v1.4.6) - December 28, 2018 +- **25 extra videos now available in 4K:** Following the content updates from October 30th and December 5th, Aerial now includes 70 videos, 60 of which are also available in 4K. Aerial will periodically check for new videos, you can disable this feature in the `Cache` tab. +- **Show videos in Quicktime:** You can now right click a video to open it in Quicktime. +- **Remove video duplicates:** Aerial can now cleanup your old videos (They are periodically updated to fix colors, provide longer versions of previously existing videos, or upgraded to 4K). Go to the `Advanced` Tab and either move the files away or send them to the trash to reclaim free space. The `Move old videos` button will move the video files to a directory created within the Aerial cache called `oldvideos`, which will contain a dated directory within it. You can find them at `/Users/YOURUSERNAME/Library/Caches/Aerial/oldvideos/YYYY-MM-DD` + +![capture d ecran 2018-12-13 a 15 06 49](https://user-images.githubusercontent.com/37544189/49943901-60394080-fee9-11e8-93b0-3cc68087b70e.png) + + +## [1.4.5](https://github.com/JohnCoates/Aerial/releases/tag/v1.4.5) - November 3, 2018 + +- **More battery controls:** Using Aerial on a Macbook ? You can now specify a different video format on battery mode if you wish, or simply video playback using the Power Saving mode (Aerial will show a blank screen and reduce screen brightness instead of showing videos). +- You can now show day/night videos based on Dark Mode. +- And many bug fixes! + +## [1.4.4](https://github.com/JohnCoates/Aerial/releases/tag/v1.4.4) - October 29, 2018 + +- New sunset/sunrise dusk/dawn calculation modes from coordinates, Aerial can gather your location using your Mac's location service (you'll be asked for permission). Includes multiple calculations modes for dusk to better suite everyone's needs +- Control brightness, Aerial can progressively dim the brightness of your screen when it plays. Includes extra options to only enable at night or on battery +- Add an option to define the margins from the border where descriptions should appear, changed the default for something more sensible +- And many bug fixes/ui tweaks! + +## [1.4.3](https://github.com/JohnCoates/Aerial/releases/tag/v1.4.3) - October 23, 2018 + +- Fix a memory retain cycle while downloading or playing cached videos + +## [1.4.2](https://github.com/JohnCoates/Aerial/releases/tag/v1.4.2) - October 23, 2018 + +- Community location description, with better descriptions on many of the older videos (english only for this version) +- Updated video names +- Added logging options in Advanced panel, with better error messages when something goes wrong +- You can now stop video downloads +- You can now disable seconds on clock +- We now have a retina(ish) thumbnail in System Preferences + +## [1.4.1](https://github.com/JohnCoates/Aerial/releases/tag/v1.4.1) - October 16, 2018 + +- Better names for the videos +- New location information for "old" videos (London, SF, etc) +- You can now change the font/size of the location information displayed during videos +- New options for text display (custom message, same styled clock, etc) +- Add a "Main display only" option for multiple monitor setups + +## [1.4.0](https://github.com/JohnCoates/Aerial/releases/tag/v1.4) - October 11, 2018 + +- Every Aerial video: From the very first Aerials in San Francisco to the new space videos shot from the ISS! +- 4K HEVC: With the launch of Apple TV 4K, many videos are now available in this format. Aerial will show you the best format available based on your preferences. +- Different videos based on time: Want to see night videos at night? You can either specify your sunset or sunrise time manually, or, if your Mac is compatible with Night Shift (see here for a list of compatible Mac), get those automatically (you do not need to enable Night Shift). +- Feeling Dark?: Aerial is now compatible with Dark Mode in macOS 10.14 Mojave, and can play night videos when Dark Mode is enabled. +- Descriptions: Wondering where an Aerial view was shot? Aerial can now tell you as they play. +- Full offline mode:: Behind a firewall? Just copy the cache folder from another Mac and you are all set. You can also disable all streaming. +Better cache management: You can now cache your favorite videos individually, no need to grab them all. Or just stream them as you go, they'll get cached automatically too. + + +## [1.2beta5](https://github.com/JohnCoates/Aerial/releases/tag/v1.2beta5) - December 28, 2016 + +- Latest beta from @JohnCoates +You can find more information about older versions and betas in the project [Release history](https://github.com/JohnCoates/Aerial/releases). From a17a7cda3a40aaadd8d4e282710ec1538c917a91 Mon Sep 17 00:00:00 2001 From: Guillaume Louel Date: Wed, 29 May 2019 15:31:44 +0200 Subject: [PATCH 09/21] doc --- Aerial.xcodeproj/project.pbxproj | 4 ++++ Documentation/ChangeLog.md | 9 +++++++++ Readme.md | 20 ++++++++++---------- 3 files changed, 23 insertions(+), 10 deletions(-) diff --git a/Aerial.xcodeproj/project.pbxproj b/Aerial.xcodeproj/project.pbxproj index 9cb204de..8a572fee 100644 --- a/Aerial.xcodeproj/project.pbxproj +++ b/Aerial.xcodeproj/project.pbxproj @@ -78,6 +78,7 @@ 03D3DAC4221F286700BDA52F /* pl.json in Resources */ = {isa = PBXBuildFile; fileRef = 03D3DAC3221F286700BDA52F /* pl.json */; }; 03D3DAC5221F286D00BDA52F /* pl.json in Resources */ = {isa = PBXBuildFile; fileRef = 03D3DAC3221F286700BDA52F /* pl.json */; }; 03DAD470229EAC66000DA6D1 /* Installation.md in Resources */ = {isa = PBXBuildFile; fileRef = 03DAD46F229EAC66000DA6D1 /* Installation.md */; }; + 03DAD473229EC031000DA6D1 /* Readme.md in Resources */ = {isa = PBXBuildFile; fileRef = 03DAD472229EC031000DA6D1 /* Readme.md */; }; 03E8730C2165013C002B469B /* DownloadManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03E8730B2165013C002B469B /* DownloadManager.swift */; }; 03E8730F216501ED002B469B /* AsynchronousOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03E8730E216501ED002B469B /* AsynchronousOperation.swift */; }; 03E8731021662AEB002B469B /* DownloadManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03E8730B2165013C002B469B /* DownloadManager.swift */; }; @@ -166,6 +167,7 @@ 03D3DAC3221F286700BDA52F /* pl.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = pl.json; sourceTree = ""; }; 03DAD46F229EAC66000DA6D1 /* Installation.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = Installation.md; sourceTree = ""; }; 03DAD471229EB1E9000DA6D1 /* ChangeLog.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = ChangeLog.md; sourceTree = ""; }; + 03DAD472229EC031000DA6D1 /* Readme.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = Readme.md; sourceTree = ""; }; 03E8730B2165013C002B469B /* DownloadManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DownloadManager.swift; sourceTree = ""; }; 03E8730E216501ED002B469B /* AsynchronousOperation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AsynchronousOperation.swift; sourceTree = ""; }; 03E8731221675FE0002B469B /* TimeManagement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimeManagement.swift; sourceTree = ""; }; @@ -440,6 +442,7 @@ FACAF19B1BD9FC6000E539DC = { isa = PBXGroup; children = ( + 03DAD472229EC031000DA6D1 /* Readme.md */, 03DAD46E229EAC66000DA6D1 /* Documentation */, FAC36F2F1BE1756D007F2A20 /* App */, FAC36F361BE1756D007F2A20 /* Resources */, @@ -604,6 +607,7 @@ 0313F9E92294337F00B074BB /* CustomVideos.xib in Resources */, 03D3DAC5221F286D00BDA52F /* pl.json in Resources */, FAC36F481BE1756D007F2A20 /* Assets.xcassets in Resources */, + 03DAD473229EC031000DA6D1 /* Readme.md in Resources */, 033D62AC216CADCD00F3AF83 /* icon-day-dark.pdf in Resources */, 03D1E79222848F7F00D10CF7 /* screen2.jpg in Resources */, FAC36F4A1BE1756D007F2A20 /* MainMenu.xib in Resources */, diff --git a/Documentation/ChangeLog.md b/Documentation/ChangeLog.md index 9976ca47..9c4d4a67 100644 --- a/Documentation/ChangeLog.md +++ b/Documentation/ChangeLog.md @@ -39,6 +39,9 @@ You can find more [information here](CustomVideos.md). ## [1.4.6](https://github.com/JohnCoates/Aerial/releases/tag/v1.4.6) - December 28, 2018 - **25 extra videos now available in 4K:** Following the content updates from October 30th and December 5th, Aerial now includes 70 videos, 60 of which are also available in 4K. Aerial will periodically check for new videos, you can disable this feature in the `Cache` tab. + +![screen shot 2018-10-29 at 13 21 05](https://user-images.githubusercontent.com/37544189/47649972-1f76a980-db7f-11e8-910b-1d5d50931ae2.png) + - **Show videos in Quicktime:** You can now right click a video to open it in Quicktime. - **Remove video duplicates:** Aerial can now cleanup your old videos (They are periodically updated to fix colors, provide longer versions of previously existing videos, or upgraded to 4K). Go to the `Advanced` Tab and either move the files away or send them to the trash to reclaim free space. The `Move old videos` button will move the video files to a directory created within the Aerial cache called `oldvideos`, which will contain a dated directory within it. You can find them at `/Users/YOURUSERNAME/Library/Caches/Aerial/oldvideos/YYYY-MM-DD` @@ -54,7 +57,13 @@ You can find more [information here](CustomVideos.md). ## [1.4.4](https://github.com/JohnCoates/Aerial/releases/tag/v1.4.4) - October 29, 2018 - New sunset/sunrise dusk/dawn calculation modes from coordinates, Aerial can gather your location using your Mac's location service (you'll be asked for permission). Includes multiple calculations modes for dusk to better suite everyone's needs + +![screen shot 2018-10-29 at 13 24 46](https://user-images.githubusercontent.com/37544189/47649974-1f76a980-db7f-11e8-8339-3f0424652b8c.png) + - Control brightness, Aerial can progressively dim the brightness of your screen when it plays. Includes extra options to only enable at night or on battery + +![screen shot 2018-10-29 at 13 25 10](https://user-images.githubusercontent.com/37544189/47649975-200f4000-db7f-11e8-9e8b-f75c4a5ebde4.png) + - Add an option to define the margins from the border where descriptions should appear, changed the default for something more sensible - And many bug fixes/ui tweaks! diff --git a/Readme.md b/Readme.md index 2d58c831..c0e58d0e 100644 --- a/Readme.md +++ b/Readme.md @@ -34,6 +34,16 @@ You can see a list of contributors [here](https://github.com/JohnCoates/Aerial/g Need more information on install, setup, or uninstall ? Or want to install via homebrew ? Check our extended [instructions here](Documentation/Installation.md). +## What's new in Aerial 1.5.0 ? + +- Completely rewritten multi monitor support. You can now enable and disable individual displays in the new Display tab. There is also a new "Spanned" viewing mode. Selecting this mode will span an Aerial video on all your (selected) screens. You can even adjust the margins between your screens: + +![Capture d’écran 2019-05-29 à 14 43 52](https://user-images.githubusercontent.com/37544189/58558342-d116af80-8220-11e9-8bb0-8d26f1e1b6ed.jpg) + +- You can now add your own videos to Aerial using the new Custom Videos features and play them alongside Aerial videos: + +![Capture d’écran 2019-05-29 à 12 52 29](https://user-images.githubusercontent.com/37544189/58552781-8478a780-8213-11e9-99bc-2b55c75b6bd3.jpg) + ## Multilanguage support Aerial features overlay descriptions of the main geographical features displayed in the videos. @@ -44,19 +54,9 @@ These descriptions are available in many languages (Spanish, French, Polish… [ If you want to collaborate, please [read the details here](Resources/Community/Readme.md). -## New features in 1.4.6 - -- **25 extra videos now available in 4K:** Following the content updates from October 30th and December 5th, Aerial now includes 70 videos, 60 of which are also available in 4K. Aerial will periodically check for new videos, you can disable this feature in the `Cache` tab. -- **Show videos in Quicktime:** You can now right click a video to open it in Quicktime. -- **Remove video duplicates:** Aerial can now cleanup your old videos (They are periodically updated to fix colors, provide longer versions of previously existing videos, or upgraded to 4K). Go to the `Advanced` Tab and either move the files away or send them to the trash to reclaim free space. The `Move old videos` button will move the video files to a directory created within the Aerial cache called `oldvideos`, which will contain a dated directory within it. You can find them at `/Users/YOURUSERNAME/Library/Caches/Aerial/oldvideos/YYYY-MM-DD` - -![capture d ecran 2018-12-13 a 15 06 49](https://user-images.githubusercontent.com/37544189/49943901-60394080-fee9-11e8-93b0-3cc68087b70e.png) - -- **More battery controls:** Using Aerial on a Macbook ? You can now specify a different video format on battery mode if you wish, or simply video playback using the Power Saving mode (Aerial will show a blank screen and reduce screen brightness instead of showing videos). ## Features -![screen shot 2018-10-29 at 13 21 05](https://user-images.githubusercontent.com/37544189/47649972-1f76a980-db7f-11e8-910b-1d5d50931ae2.png) - **Every Aerial video:** From the very first Aerials in San Francisco to the new space videos shot from the ISS! Now with better titles too so you can find your favorite videos faster. - **4K HEVC:** With the launch of Apple TV 4K, many videos are now available in this format (With version 1.4.6, 60 of the 70 videos are available in 4K!). Aerial will show you the best format available, based on your preferences. From 9b917a27c5d3b08673bea6c5004ddf1c1591069d Mon Sep 17 00:00:00 2001 From: Guillaume Louel Date: Wed, 29 May 2019 15:59:28 +0200 Subject: [PATCH 10/21] update doc --- Aerial.xcodeproj/project.pbxproj | 6 +++ Documentation/HardwareDecoding.md | 17 ++++++ Documentation/OfflineMode.md | 13 +++++ Documentation/Troubleshooting.md | 15 ++++++ Readme.md | 88 ++++++------------------------- 5 files changed, 67 insertions(+), 72 deletions(-) create mode 100644 Documentation/HardwareDecoding.md create mode 100644 Documentation/OfflineMode.md create mode 100644 Documentation/Troubleshooting.md diff --git a/Aerial.xcodeproj/project.pbxproj b/Aerial.xcodeproj/project.pbxproj index 8a572fee..9649148c 100644 --- a/Aerial.xcodeproj/project.pbxproj +++ b/Aerial.xcodeproj/project.pbxproj @@ -168,6 +168,9 @@ 03DAD46F229EAC66000DA6D1 /* Installation.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = Installation.md; sourceTree = ""; }; 03DAD471229EB1E9000DA6D1 /* ChangeLog.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = ChangeLog.md; sourceTree = ""; }; 03DAD472229EC031000DA6D1 /* Readme.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = Readme.md; sourceTree = ""; }; + 03DAD474229EC3CD000DA6D1 /* OfflineMode.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = OfflineMode.md; sourceTree = ""; }; + 03DAD475229EC544000DA6D1 /* HardwareDecoding.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = HardwareDecoding.md; sourceTree = ""; }; + 03DAD476229EC64D000DA6D1 /* Troubleshooting.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = Troubleshooting.md; sourceTree = ""; }; 03E8730B2165013C002B469B /* DownloadManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DownloadManager.swift; sourceTree = ""; }; 03E8730E216501ED002B469B /* AsynchronousOperation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AsynchronousOperation.swift; sourceTree = ""; }; 03E8731221675FE0002B469B /* TimeManagement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimeManagement.swift; sourceTree = ""; }; @@ -282,6 +285,9 @@ children = ( 03DAD46F229EAC66000DA6D1 /* Installation.md */, 03DAD471229EB1E9000DA6D1 /* ChangeLog.md */, + 03DAD474229EC3CD000DA6D1 /* OfflineMode.md */, + 03DAD475229EC544000DA6D1 /* HardwareDecoding.md */, + 03DAD476229EC64D000DA6D1 /* Troubleshooting.md */, ); path = Documentation; sourceTree = ""; diff --git a/Documentation/HardwareDecoding.md b/Documentation/HardwareDecoding.md new file mode 100644 index 00000000..6f18357a --- /dev/null +++ b/Documentation/HardwareDecoding.md @@ -0,0 +1,17 @@ +# About HEVC and hardware decoding, and HDR + +Aerial uses Apple's [AVFoundation framework](https://developer.apple.com/documentation/avfoundation) to play the videos as your screensaver. When available, AVFoundation will use hardware decoding (from your CPU or your graphics card) to minimize the resources needed for video playback. You can find guidelines in the help button next to the `Preferred video format` setting. By default, Aerial uses 1080p H.264 videos which is the most compatible format. Please note that all 4K HEVC videos are encoded with the `Main10` profile, which may not be hardware accelerated by your machine, while some other HEVC videos (encoded in `Main` profile) will be. + +While we wish to provide everyone with the best setting for their machine, the GVA framework from Apple doesn't let us distinguish HEVC `Main10` profile acceleration from general HEVC acceleration. Early feedback we gathered also seems to point that on machines with multiple decoding options (Intel QuickSync and AMD UVD), QuickSync will always be preferred (even if you "force" the discrete GPU use with an external monitor or via code). + +These are our recommendations so far: + +- Macs older than 2011 may lack H.264 acceleration. +- Macs with an Intel CPU (With iGPU) from the Sandy Bridge (2011) generation to Broadwell (Early 2015) should have H.264 hardware acceleration available. +- Late 2015 and 2016 Macs (Skylake and Kaby Lake) may only have partially accelerated HEVC decoding. We recommended you stick to 1080p H.264 on laptops. You may consider the HEVC format on desktops but understand that decoding may be CPU intensive and spin up your fans. +- Macs 2017 and up should have full HEVC acceleration. + +You can easily check for yourself what to expect by opening a video in Quicktime (Use the `Show in Finder` option in the `Cache` tab to find the cached videos). In Activity Monitor, the AV Framework GVA process is called `VTDecoderXPCService`. + +Please note that as of macOS Mojave, AVFoundation is not able to play the HDR versions of the videos that you can see on Apple TV. + diff --git a/Documentation/OfflineMode.md b/Documentation/OfflineMode.md new file mode 100644 index 00000000..d38077c0 --- /dev/null +++ b/Documentation/OfflineMode.md @@ -0,0 +1,13 @@ +# Offline Mode + +If you want to use Aerial on a Mac behind a firewall or with no network access, the easiest way starting is to copy the content of the cache folder from another Mac where Aerial is already installed. + +If that's not an option, you can manually recreate a cache folder by downloading files manually. + +- Download and untar `https://sylvan.apple.com/Aerials/resources.tar` (tvOS12 resources, keep the tar _and_ extracted files) +- Download and rename `https://sylvan.apple.com/Aerials/2x/entries.json` to `tvos11.json` (tvOS11 resources, also in 4K) +- Download and rename `http://a1.phobos.apple.com/us/r1000/000/Features/atv/AutumnResources/videos/entries.json` to `tvos10.json` (The original Aerials, in 1080p H.264 only) + +You can then download the videos you want from the JSON files. In the 4K JSONs, you are looking for the `url-1080-H264` (1080p H.264, most compatible format), `url-1080-SDR` (1080p HEVC, better quality, requires a recent Mac for hardware decoding) or `url-4K-SDR` (4K HEVC). + +Please try to download the videos in the order mentionned (tvOS12 first) as videos routinely gets replaced with better versions. Because you will be downloading files manually, you will end up with many duplicate versions of the same videos. You can clean them up by going into the `Advanced` tab and use the `Trash old videos` feature there. You can find more information about the process [in this issue](https://github.com/JohnCoates/Aerial/issues/781#issuecomment-493677816) diff --git a/Documentation/Troubleshooting.md b/Documentation/Troubleshooting.md new file mode 100644 index 00000000..93dd6a82 --- /dev/null +++ b/Documentation/Troubleshooting.md @@ -0,0 +1,15 @@ +# Troubleshooting + +- Aerial logs you out of your user account everytime it starts: This looks like a new bug with macOS 10.14.5 beta 18F108f, possibly only for Macs with Intel graphics. Please update to Aerial 1.5.0. More information here : https://github.com/JohnCoates/Aerial/issues/738 +- Videos keeps disappearing, Aerial may not restart once in a while: Aerial stores all it's data in a Cache folder. This cache may get deleted by some third party software trying to free disk space. If you use such a "Cleaning" tool, we recommend you set a manual folder location in the Cache tab of Aerial. For example, you can create an Aerial folder in your User folder, and point to it. This will ensure Aerial files don't get deleted. +- "Done" button doesn't close Aerial: Please update to latest available version, this is a bug on Mojave with very old versions of Aerial (1.2 and below). +- Can't type into text fields with macOS High Sierra/Video corruption issue on High Sierra: Please make sure you have at least version 1.4.5. +- "This app is damaged and can't be opened, you should move it to the trash" when double-clicking the `Aerial.saver` file: Please see the installation notes above, this is a GateKeeper issue. +- Brightness control does not control external displays: Aerial uses the brightness API from macOS to change the brightness of your screens. As of version 1.5.0, this does not allow us to control the brightness of external screens. +- Not seeing extended descriptions: Make sure you have version 1.4.2 or above. +- Black screen: If you are behind a firewall (Like Little Snitch or Hands Off!) try creating exceptions for Aerial to allow it access to Apple's servers. Be sure the applications `ScreenSaverEngine.app` and `System Preferences.app` are not being blocked access to `*.phobos.apple.com`, `*.phobos.apple.com.edgesuite.net` and `sylvan.apple.com`. If that isn't an option, please look at the Offline mode section. +- "You cannot use the Aerial screen saver with this version of macOS." error: Select Aerial, close `System Preferences` with Aerial still selected, re-open System Preferences and Aerial should now work. This is a known bug with Swift screensavers in macOS/OS X reported to Apple as [rdar://25569037](http://www.openradar.me/25569037). +- High CPU usage/fan spinning all of a sudden: If you correctly configured the preferred video format according to your Mac and still experience high CPU usage/fan spinning all of a sudden, please look for the cause with `Activity Monitor`, you may see a `com.apple.photos.ImageConversionService` responsible for this CPU load. This is the iCloud Photos process, you can find more about [what it does here](https://support.apple.com/en-gu/HT204264) and how to pause it. +- Can't use Aerial as a login screensaver: As far as we know, using 3rd party screensavers before login is no longer possible on modern versions of macOS. More about this [here](https://github.com/JohnCoates/Aerial/issues/571). +- Change cache location : This option simply changes _the location_ of the Cache folder that Aerial uses. It does _not_ move your files for you. Please note that this change will only be taken into account the next time Aerial starts (you may need to fully close System Preferences). We strongly recommend you use a path that's always accessible, as Aerial can't work without a Cache directory. In case the path is no longer available (missing USB key, etc), starting with Aerial 1.4.7, it will reset the Cache location to it's default location. + diff --git a/Readme.md b/Readme.md index c0e58d0e..c7df6c47 100644 --- a/Readme.md +++ b/Readme.md @@ -40,97 +40,41 @@ Need more information on install, setup, or uninstall ? Or want to install via h ![Capture d’écran 2019-05-29 à 14 43 52](https://user-images.githubusercontent.com/37544189/58558342-d116af80-8220-11e9-8bb0-8d26f1e1b6ed.jpg) -- You can now add your own videos to Aerial using the new Custom Videos features and play them alongside Aerial videos: +- You can now add your own videos to Aerial using the new Custom Videos feature, and play them alongside Aerial videos: ![Capture d’écran 2019-05-29 à 12 52 29](https://user-images.githubusercontent.com/37544189/58552781-8478a780-8213-11e9-99bc-2b55c75b6bd3.jpg) -## Multilanguage support - -Aerial features overlay descriptions of the main geographical features displayed in the videos. - -![Community Strings example](https://user-images.githubusercontent.com/4295/52958947-75bd6180-3395-11e9-947f-3c77d9f41928.jpg) - -These descriptions are available in many languages (Spanish, French, Polish… [check the complete list here](Resources/Community/Readme.md)) and that is only possible thanks to the collaboration and uninterested work of many. To best serve the international community we've defined a translation workflow that allows any person, even with **no technical background** to help translating these descriptions. - -If you want to collaborate, please [read the details here](Resources/Community/Readme.md). - - -## Features - - -- **Every Aerial video:** From the very first Aerials in San Francisco to the new space videos shot from the ISS! Now with better titles too so you can find your favorite videos faster. -- **4K HEVC:** With the launch of Apple TV 4K, many videos are now available in this format (With version 1.4.6, 60 of the 70 videos are available in 4K!). Aerial will show you the best format available, based on your preferences. - -![screen shot 2018-10-29 at 13 24 36](https://user-images.githubusercontent.com/37544189/47649973-1f76a980-db7f-11e8-8aef-301307d48fa2.png) - -- **Different videos based on time:** Want to see night videos at night? Aerial can calculate for you the dusk/dawn times. You can also use Night Shift sunset and sunrise detection (See [here for a list of compatible Macs](https://support.apple.com/en-us/HT207513), you do not need to enable Night Shift). -- **Feeling Dark?:** Aerial is now compatible with Dark Mode in macOS 10.14 Mojave and can play night videos when Dark Mode is enabled. - -![screen shot 2018-10-29 at 13 24 46](https://user-images.githubusercontent.com/37544189/47649974-1f76a980-db7f-11e8-8339-3f0424652b8c.png) - -- **Descriptions:** Wondering where an Aerial view was shot? Aerial can now tell you as they play. We even have extended descriptions written by our community of users. Help us to improve these descriptions by [translating them to your language](Resources/Community/Readme.md). - -![screen shot 2018-10-29 at 13 25 10](https://user-images.githubusercontent.com/37544189/47649975-200f4000-db7f-11e8-9e8b-f75c4a5ebde4.png) - -- **Brightness control:** Aerial can progressively dim the brightness of your screens before your Mac goes to sleep. You can even enable this feature only at night, or only on battery if you prefer. -- **Full offline mode:** Behind a firewall? Just copy the cache folder from another Mac and you are all set. You can also disable all streaming. -- **Better cache management:** You can now cache your favorite videos individually, no need to grab them all. Or just stream them as you go, they'll get cached automatically too. -- **Clock:** We even have a properly styled clock if that's your thing! -- **And many bug fixes!** +You can find more about [version changes here](Documentation\Changelog.md). ## Compatibility -Aerial is written in Swift, which requires OS X Mavericks (10.9) or above. +Aerial is written in Swift, which requires OS X Mavericks (10.9) or above. ## Community -- **Found a bug?** [Open an issue](https://github.com/JohnCoates/Aerial/issues/new). Try to be as specific as possible. +- **Found a bug?** Sorry about that! Make sure you are running the latest version and please check our [troubleshooting page](Documentation/Troubleshooting.md) and [our issues](https://github.com/JohnCoates/Aerial/issues), as someone may already have reported it (a beta may be available with the fix you need). Feel free to [open an issue](https://github.com/JohnCoates/Aerial/issues/new), try to be as specific as possible. - **Have fixed a bug?** We appreciate all pull requests. -- **Can you translate the video descriptions?**. Awesome! [Read here for details](Resources/Community/Readme.md) on how to help us. -- **Have a feature request?** [Open an issue](https://github.com/JohnCoates/Aerial/issues/new). Tell us why it be useful, and why you and others would want it. +- **Can you translate videos names and their descriptions?**. Awesome! [Read here for details](Resources/Community/Readme.md) on how to help us. +- **Have a feature request?** [Open an issue](https://github.com/JohnCoates/Aerial/issues/new). Tell us why it would be useful, and why you and others would want it. - **Curious about the videos and on a slow connection?** Check [this guide](https://paper.dropbox.com/doc/Aerial-macOS-screen-saver-list-with-version-1.4.6-HvOeL0gNhLpqpIFgmLHaS) by [Hidehiro Nagaoka](https://github.com/hidehiro98). -## Offline Mode - -If you want to use Aerial on a Mac behind a firewall or with no network access, the easiest way starting with version 1.4 is to copy the content of the cache folder from another Mac where Aerial is already installed. - -If that's not an option, you can manually recreate a cache folder by downloading files manually. - -- Download and untar `https://sylvan.apple.com/Aerials/resources.tar` (tvOS12 resources, keep the tar _and_ extracted files) -- Download and rename `https://sylvan.apple.com/Aerials/2x/entries.json` to `tvos11.json` (tvOS11 resources, also in 4K) -- Download and rename `http://a1.phobos.apple.com/us/r1000/000/Features/atv/AutumnResources/videos/entries.json` to `tvos10.json` (The original Aerials, in 1080p H.264 only) - -You can then download the videos you want from the JSON files. In the 4K JSONs, you are looking for the `url-1080-H264` (1080p H.264, most compatible format), `url-1080-SDR` (1080p HEVC, better quality, requires a recent Mac for hardware decoding) or `url-4K-SDR` (4K HEVC). - -## About HEVC and hardware decoding +## Multilanguage support -Aerial uses Apple's [AVFoundation framework](https://developer.apple.com/documentation/avfoundation) to play the videos as your screensaver. When available, AVFoundation will use hardware decoding (From your CPU or your graphics card) to minimize the resources needed for video playback. You can find guidelines in the help button next to the `Preferred video format` setting. By default, Aerial uses 1080p H.264 videos which is the most compatible format. Please note that all HEVC videos are encoded with the `Main10` profile, which may not be hardware accelerated by your machine, while some other HEVC videos (Encoded in `Main` profile) will be. +Aerial features overlay descriptions of the main geographical features displayed in the videos. -While we wish to provide everyone with the best setting for their machine, the GVA framework from Apple doesn't let us distinguish HEVC `Main10` profile acceleration from general HEVC acceleration. Early feedback we gathered also seems to point that on machines with multiple decoding options (Intel QuickSync and AMD UVD), QuickSync will always be preferred (Even if you "force" the discrete GPU use with an external monitor). +![Community Strings example](https://user-images.githubusercontent.com/4295/52958947-75bd6180-3395-11e9-947f-3c77d9f41928.jpg) -These are our recommendations so far: +These descriptions are available in many languages (Spanish, French, Polish… [check the complete list here](Resources/Community/Readme.md)) and that is only possible thanks to the collaboration and uninterested work of many. To best serve the international community we've defined a translation workflow that allows any person, even with **no technical background** to help translating these descriptions. -- Macs older than 2011 may lack H.264 acceleration. -- Macs with an Intel CPU (With iGPU) from the Sandy Bridge (2011) generation to Broadwell (Early 2015) should have H.264 hardware acceleration available. -- Late 2015 and 2016 Macs (Skylake and Kaby Lake) may only have partially accelerated HEVC decoding. We recommended you stick to 1080p H.264 on laptops. You may consider the HEVC format on desktops but understand that decoding may be CPU intensive and spin up your fans. -- Macs 2017 and up should have full HEVC acceleration. +If you want to collaborate, please [read the details here](Resources/Community/Readme.md). -You can easily check for yourself what to expect by opening a video in Quicktime (Use the `Show in Finder` option in the `Cache` tab to find the cached videos). In Activity Monitor, the AV Framework GVA process is called `VTDecoderXPCService`. +## More documentation -## Troubleshooting +Looking for more information ? -- Aerial logs you out of your user account everytime it starts: This looks like a new bug with macOS 10.14.5 beta 18F108f, possibly only for Macs with Intel graphics. As a workaround, please tick the Show Clock option in the main screensaver settings (not on Aerial settings). More information here : https://github.com/JohnCoates/Aerial/issues/738 -- Videos keeps disappearing, Aerial may not restart once in a while: Aerial stores all it's data in a Cache folder. This cache may get deleted by some third party software trying to free disk space. If you use such a "Cleaning" tool, we recommend you set a manual folder location in the Cache tab of Aerial. For example, you can create an Aerial folder in your User folder, and point to it. This will ensure Aerial files don't get deleted. -- "Done" button doesn't close Aerial: Please update to latest available version, this is a bug on Mojave with very old versions of Aerial (1.2 and below). -- Can't type into text fields with macOS High Sierra/Video corruption issue on High Sierra: Please make sure you have at least version 1.4.5. -- "This app is damaged and can't be opened, you should move it to the trash" when double-clicking the `Aerial.saver` file: Please see the installation notes above, this is a GateKeeper issue. -- Brightness control does not control external displays: Aerial uses the brightness API from macOS to change the brightness of your screens. Depending on your external screens (brand, the way they are connected, etc), macOS may not be able to control their brightness. Please check first if you can control the brightness of your external screen(s) using the brightness keys from your keyboard. If you can't, Aerial won't be able to control their brightness either. If you can control their brightness through those keyboard keys but see an issue with Aerial, please open an issue. -- Not seeing extended descriptions: Make sure you have version 1.4.2 or above. -- Black screen: If you are behind a firewall (Like Little Snitch or Hands Off!) try creating exceptions for Aerial to allow it access to Apple's servers. Be sure the applications `ScreenSaverEngine.app` and `System Preferences.app` are not being blocked access to `*.phobos.apple.com`, `*.phobos.apple.com.edgesuite.net` and `sylvan.apple.com`. If that isn't an option, please look at the Offline mode section. -- "You cannot use the Aerial screen saver with this version of macOS." error: Select Aerial, close `System Preferences` with Aerial still selected, re-open System Preferences and Aerial should now work. This is a known bug with Swift screensavers in macOS/OS X reported to Apple as [rdar://25569037](http://www.openradar.me/25569037). -- High CPU usage/fan spinning all of a sudden: If you correctly configured the preferred video format according to your Mac and still experience high CPU usage/fan spinning all of a sudden, please look for the cause with `Activity Monitor`, you may see a `com.apple.photos.ImageConversionService` responsible for this CPU load. This is the iCloud Photos process, you can find more about [what it does here](https://support.apple.com/en-gu/HT204264) and how to pause it. -- Can't use Aerial as a login screensaver: As far as we know, using 3rd party screensavers before login is no longer possible on modern versions of macOS. More about this [here](https://github.com/JohnCoates/Aerial/issues/571). -- Change cache location : This option simply changes _the location_ of the Cache folder that Aerial uses. It does _not_ move your files for you. Please note that this change will only be taken into account the next time Aerial starts (you may need to fully close System Preferences). We strongly recommend you use a path that's always accessible, as Aerial can't work without a Cache directory. In case the path is no longer available (missing USB key, etc), starting with Aerial 1.4.7, it will reset the Cache location to it's default location. +- [Have an issues ? Check our list of common issues right here, including workaround for macOS bugs!](Documentation\Troubleshooting.md) +- [Learn more about configuring and running Aerial in offline mode with no network access.](Documentation\OfflineMode.md) +- [Information about HEVC, HDR and hardware decoding](Documentation\HardwareDecoding.md) ## License From 18ed67288ed6d09a8d6afaf129a319973349e9a0 Mon Sep 17 00:00:00 2001 From: Guillaume Louel Date: Wed, 29 May 2019 16:09:07 +0200 Subject: [PATCH 11/21] doc --- Readme.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Readme.md b/Readme.md index c7df6c47..7024e797 100644 --- a/Readme.md +++ b/Readme.md @@ -14,14 +14,13 @@ Aerial is completely open source, so feel free to contribute to its development. [![codecov](https://codecov.io/gh/JohnCoates/Aerial/branch/master/graph/badge.svg)](https://codecov.io/gh/JohnCoates/Aerial) ###### Windows user? Try [cDima/Aerial](https://github.com/cDima/Aerial/) - ###### Linux user? Try [graysky2/xscreensaver-aerial](https://github.com/graysky2/xscreensaver-aerial/) #### Coded with Love by John Coates ([Twitter](https://twitter.com/JohnCoatesDev), [Email](mailto:john@johncoates.me)) Starting with version 1.4, Aerial is also maintained by: -- [Guillaume Louel](https://github.com/glouel) ([Twitter](https://twitter.com/C_Wiz)) +- [Guillaume Louel](https://github.com/glouel) ([Twitter](https://twitter.com/C_Wiz), [![Support via PayPal][paypal-button]][paypal-glouel]) You can see a list of contributors [here](https://github.com/JohnCoates/Aerial/graphs/contributors). From 60490829f1b9f6a67c4747a9e57e8349d0af2e87 Mon Sep 17 00:00:00 2001 From: Guillaume Louel Date: Wed, 29 May 2019 16:27:51 +0200 Subject: [PATCH 12/21] doc --- Aerial.xcodeproj/project.pbxproj | 2 ++ Documentation/CustomVideos.md | 28 ++++++++++++++++++++++++++++ Readme.md | 14 ++++++-------- 3 files changed, 36 insertions(+), 8 deletions(-) create mode 100644 Documentation/CustomVideos.md diff --git a/Aerial.xcodeproj/project.pbxproj b/Aerial.xcodeproj/project.pbxproj index 9649148c..ff62dbfe 100644 --- a/Aerial.xcodeproj/project.pbxproj +++ b/Aerial.xcodeproj/project.pbxproj @@ -171,6 +171,7 @@ 03DAD474229EC3CD000DA6D1 /* OfflineMode.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = OfflineMode.md; sourceTree = ""; }; 03DAD475229EC544000DA6D1 /* HardwareDecoding.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = HardwareDecoding.md; sourceTree = ""; }; 03DAD476229EC64D000DA6D1 /* Troubleshooting.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = Troubleshooting.md; sourceTree = ""; }; + 03DAD477229ECAAA000DA6D1 /* CustomVideos.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = CustomVideos.md; sourceTree = ""; }; 03E8730B2165013C002B469B /* DownloadManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DownloadManager.swift; sourceTree = ""; }; 03E8730E216501ED002B469B /* AsynchronousOperation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AsynchronousOperation.swift; sourceTree = ""; }; 03E8731221675FE0002B469B /* TimeManagement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimeManagement.swift; sourceTree = ""; }; @@ -288,6 +289,7 @@ 03DAD474229EC3CD000DA6D1 /* OfflineMode.md */, 03DAD475229EC544000DA6D1 /* HardwareDecoding.md */, 03DAD476229EC64D000DA6D1 /* Troubleshooting.md */, + 03DAD477229ECAAA000DA6D1 /* CustomVideos.md */, ); path = Documentation; sourceTree = ""; diff --git a/Documentation/CustomVideos.md b/Documentation/CustomVideos.md new file mode 100644 index 00000000..7c214aaf --- /dev/null +++ b/Documentation/CustomVideos.md @@ -0,0 +1,28 @@ +# Add your own videos to Aerial + +Starting with version 1.5.0 of Aerial, you can now add your own videos to the playlilst. In order to do this, click "Custom Videos..." at the bottom of the menu: +![Capture d’écran 2019-05-24 à 17 13 22](https://user-images.githubusercontent.com/37544189/58338271-c090be80-7e47-11e9-833a-d70ada56232b.jpg) + +This will open the "Manage Custom Videos" window. Click the "Add folder" at the top of the window, and point it to a folder that contains videos. Aerial will scan that folder and show you the videos it found in the left panel. For long time users, a good way to try this is your `oldvideos` folder in your Aerial cache folder. + +## Folders and files + +Aerial will scan your folder for video files, including subfolders. After scanning, all these video files will show up in the left column, grouped under the name of the folder you picked. + +![Capture d’écran 2019-05-24 à 17 13 44](https://user-images.githubusercontent.com/37544189/58338555-36952580-7e48-11e9-8f9b-4e69a48dc11b.jpg) + +You can override that name here. This folder name will be used to categorize those videos in the playlist, akin to the classical "city/country" category you see for Aerial videos. If you use an existing name (for example "Los Angeles"), videos will be merged in the playlist. + +If you click a file, you'll get the asset editor: + +![Capture d’écran 2019-05-29 à 12 52 29](https://user-images.githubusercontent.com/37544189/58552781-8478a780-8213-11e9-99bc-2b55c75b6bd3.jpg) + +You can change the name of the video, whether it's a day or night video (by default every file is imported as day) and let's you add points of interests. Points of interests are the descriptions that are shown periodically on screens when videos play. The format is simple, a time in seconds, and the description you would like to appear. We highly recommend you leave at least 10 to 15 seconds between two points of interests. + +## How is this stored ? + +When you close the window, all the information will be saved in a `customvideos.json` file in your Aerial cache folder. The format is close to the tvOS12 format, and can be edited manually. + +## Video formats/containers supported + +As of version 1.5.0, Aerial will only look for .mov or .mp4 files (if you would like to see another extension added, please let us know but keep reading first). Aerial uses Apple's AVFoundation framework to play videos. Long story short, in theory anything that QuickTime Player X can play, will work with Aerial. As of macOS Mojave, this means that some container formats such as mkv won't be supported. diff --git a/Readme.md b/Readme.md index 7024e797..f0204ba0 100644 --- a/Readme.md +++ b/Readme.md @@ -16,11 +16,9 @@ Aerial is completely open source, so feel free to contribute to its development. ###### Windows user? Try [cDima/Aerial](https://github.com/cDima/Aerial/) ###### Linux user? Try [graysky2/xscreensaver-aerial](https://github.com/graysky2/xscreensaver-aerial/) -#### Coded with Love by John Coates ([Twitter](https://twitter.com/JohnCoatesDev), [Email](mailto:john@johncoates.me)) +Aerial was started in 2015 by John Coates ([Twitter](https://twitter.com/JohnCoatesDev), [Email](mailto:john@johncoates.me)) -Starting with version 1.4, Aerial is also maintained by: - -- [Guillaume Louel](https://github.com/glouel) ([Twitter](https://twitter.com/C_Wiz), [![Support via PayPal][paypal-button]][paypal-glouel]) +Starting with version 1.4, Aerial is also maintained by [Guillaume Louel](https://github.com/glouel) ([Twitter](https://twitter.com/C_Wiz), [PayPal](https://paypal.me/glouel?locale.x=fr_FR)). You can see a list of contributors [here](https://github.com/JohnCoates/Aerial/graphs/contributors). @@ -43,7 +41,7 @@ Need more information on install, setup, or uninstall ? Or want to install via h ![Capture d’écran 2019-05-29 à 12 52 29](https://user-images.githubusercontent.com/37544189/58552781-8478a780-8213-11e9-99bc-2b55c75b6bd3.jpg) -You can find more about [version changes here](Documentation\Changelog.md). +You can find more about [version changes here](Documentation/Changelog.md). ## Compatibility @@ -71,9 +69,9 @@ If you want to collaborate, please [read the details here](Resources/Community/R Looking for more information ? -- [Have an issues ? Check our list of common issues right here, including workaround for macOS bugs!](Documentation\Troubleshooting.md) -- [Learn more about configuring and running Aerial in offline mode with no network access.](Documentation\OfflineMode.md) -- [Information about HEVC, HDR and hardware decoding](Documentation\HardwareDecoding.md) +- [Have an issues ? Check our list of common issues right here, including workaround for macOS bugs!](Documentation/Troubleshooting.md) +- [Learn more about configuring and running Aerial in offline mode with no network access.](Documentation/OfflineMode.md) +- [Information about HEVC, HDR and hardware decoding](Documentation/HardwareDecoding.md) ## License From 4e72ef29f5decf76aaa45571b94dee64956e4dec Mon Sep 17 00:00:00 2001 From: Guillaume Louel Date: Wed, 29 May 2019 16:34:25 +0200 Subject: [PATCH 13/21] doc --- Readme.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Readme.md b/Readme.md index f0204ba0..88d8d8d7 100644 --- a/Readme.md +++ b/Readme.md @@ -37,11 +37,11 @@ Need more information on install, setup, or uninstall ? Or want to install via h ![Capture d’écran 2019-05-29 à 14 43 52](https://user-images.githubusercontent.com/37544189/58558342-d116af80-8220-11e9-8bb0-8d26f1e1b6ed.jpg) -- You can now add your own videos to Aerial using the new Custom Videos feature, and play them alongside Aerial videos: +- You can now add your own videos to Aerial using the new [Custom Videos feature](Documentation/CustomVideos.md), and play them alongside Aerial videos: ![Capture d’écran 2019-05-29 à 12 52 29](https://user-images.githubusercontent.com/37544189/58552781-8478a780-8213-11e9-99bc-2b55c75b6bd3.jpg) -You can find more about [version changes here](Documentation/Changelog.md). +You can find more about [version changes here](Documentation/ChangeLog.md). ## Compatibility @@ -72,6 +72,7 @@ Looking for more information ? - [Have an issues ? Check our list of common issues right here, including workaround for macOS bugs!](Documentation/Troubleshooting.md) - [Learn more about configuring and running Aerial in offline mode with no network access.](Documentation/OfflineMode.md) - [Information about HEVC, HDR and hardware decoding](Documentation/HardwareDecoding.md) +- [How to add your own videos to Aerial](Documentation/CustomVideos.md) ## License From 2f6dcf39676c849e13b929b2f94b6f6d4f5c1475 Mon Sep 17 00:00:00 2001 From: Guillaume Louel Date: Wed, 29 May 2019 16:36:41 +0200 Subject: [PATCH 14/21] doc --- Documentation/CustomVideos.md | 1 + Readme.md | 2 ++ 2 files changed, 3 insertions(+) diff --git a/Documentation/CustomVideos.md b/Documentation/CustomVideos.md index 7c214aaf..e28cf3c8 100644 --- a/Documentation/CustomVideos.md +++ b/Documentation/CustomVideos.md @@ -1,6 +1,7 @@ # Add your own videos to Aerial Starting with version 1.5.0 of Aerial, you can now add your own videos to the playlilst. In order to do this, click "Custom Videos..." at the bottom of the menu: + ![Capture d’écran 2019-05-24 à 17 13 22](https://user-images.githubusercontent.com/37544189/58338271-c090be80-7e47-11e9-833a-d70ada56232b.jpg) This will open the "Manage Custom Videos" window. Click the "Add folder" at the top of the window, and point it to a folder that contains videos. Aerial will scan that folder and show you the videos it found in the left panel. For long time users, a good way to try this is your `oldvideos` folder in your Aerial cache folder. diff --git a/Readme.md b/Readme.md index 88d8d8d7..50e62ac3 100644 --- a/Readme.md +++ b/Readme.md @@ -24,6 +24,8 @@ You can see a list of contributors [here](https://github.com/JohnCoates/Aerial/g ## Installation +Aerial now includes an auto-update mechanism using the [Sparkle open-source project](https://github.com/sparkle-project/Sparkle). You will need to download it manually the first time : + 1. Quit **System Preferences**. 2. [Download the latest release of Aerial.saver.zip](https://github.com/JohnCoates/Aerial/releases/latest). Alternatively, you can try the latest beta version [following this link](https://github.com/JohnCoates/Aerial/releases). 3. Unzip the downloaded file (if you use Safari, it should already be done for you). From be70ce47fb8bcd93a259a5cfdd6564fd4fdf7cac Mon Sep 17 00:00:00 2001 From: Guillaume Louel Date: Wed, 29 May 2019 16:42:16 +0200 Subject: [PATCH 15/21] Fix margins in Displays shown in non spanned mode at startup --- Aerial/Source/Controllers/PreferencesWindowController.swift | 6 ++++++ Resources/PreferencesWindow.xib | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Aerial/Source/Controllers/PreferencesWindowController.swift b/Aerial/Source/Controllers/PreferencesWindowController.swift index 2be22d43..74bf47e7 100644 --- a/Aerial/Source/Controllers/PreferencesWindowController.swift +++ b/Aerial/Source/Controllers/PreferencesWindowController.swift @@ -432,6 +432,12 @@ final class PreferencesWindowController: NSWindowController, NSOutlineViewDataSo horizontalDisplayMarginTextfield.doubleValue = preferences.horizontalMargin! verticalDisplayMarginTextfield.doubleValue = preferences.verticalMargin! + if preferences.newViewingMode == Preferences.NewViewingMode.spanned.rawValue { + displayMarginBox.isHidden = false + } else { + displayMarginBox.isHidden = true + } + // Advanced panel if preferences.debugMode { debugModeCheckbox.state = .on diff --git a/Resources/PreferencesWindow.xib b/Resources/PreferencesWindow.xib index 4ce99a70..db4f047a 100644 --- a/Resources/PreferencesWindow.xib +++ b/Resources/PreferencesWindow.xib @@ -169,7 +169,7 @@ - + @@ -560,7 +560,7 @@ is disabled - + From 761fe6e8a2a94b6f26012e642b48ca857437e814 Mon Sep 17 00:00:00 2001 From: Guillaume Louel Date: Thu, 30 May 2019 15:16:54 +0200 Subject: [PATCH 16/21] doc --- Aerial.xcodeproj/project.pbxproj | 2 ++ Documentation/AutoUpdates.md | 41 ++++++++++++++++++++++++++++++++ Documentation/Troubleshooting.md | 29 +++++++++++++++------- Readme.md | 5 ++-- 4 files changed, 67 insertions(+), 10 deletions(-) create mode 100644 Documentation/AutoUpdates.md diff --git a/Aerial.xcodeproj/project.pbxproj b/Aerial.xcodeproj/project.pbxproj index ff62dbfe..ee982fb1 100644 --- a/Aerial.xcodeproj/project.pbxproj +++ b/Aerial.xcodeproj/project.pbxproj @@ -133,6 +133,7 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ + 030B5E32229FDD26008F2910 /* AutoUpdates.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = AutoUpdates.md; sourceTree = ""; }; 0313F9E522942AA500B074BB /* CustomVideos.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = CustomVideos.xib; sourceTree = ""; }; 0313F9E722942B4500B074BB /* CustomVideoController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomVideoController.swift; sourceTree = ""; }; 0313F9EB2294468600B074BB /* SeededGenerator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SeededGenerator.swift; sourceTree = ""; }; @@ -290,6 +291,7 @@ 03DAD475229EC544000DA6D1 /* HardwareDecoding.md */, 03DAD476229EC64D000DA6D1 /* Troubleshooting.md */, 03DAD477229ECAAA000DA6D1 /* CustomVideos.md */, + 030B5E32229FDD26008F2910 /* AutoUpdates.md */, ); path = Documentation; sourceTree = ""; diff --git a/Documentation/AutoUpdates.md b/Documentation/AutoUpdates.md new file mode 100644 index 00000000..ecd4de6b --- /dev/null +++ b/Documentation/AutoUpdates.md @@ -0,0 +1,41 @@ +# About auto-updates + +Starting with version 1.4.8, Aerial now includes the open source project [Sparkle](https://sparkle-project.org) to provide automatic updates. You can configure if and how you want this to work in the `Updates` tab: + +![Capture d’écran 2019-05-30 à 11 45 55](https://user-images.githubusercontent.com/37544189/58624482-a5eb9900-82d0-11e9-8a93-0aeb71988802.jpg) + +What you are seeing above are the out-of-the-box default. + +## Understanding the two settings + +Because Aerial is "just" a screen saver (technically, a plugin to System Preferences), providing updates is slightly more involved and because of this, we have two, separate, automatic update mechanisms with two separate settings to control them: + +- The first setting controls whether you want automatic updates or not. This check is done periodically (if 24 hours elapsed since last check), but *only* when the screensaver panel (the one you see in the screenshot) is open. When an update is available, you will see this window pop: + +![Capture d’écran 2019-05-30 à 11 58 34](https://user-images.githubusercontent.com/37544189/58625280-6a51ce80-82d2-11e9-8dd0-a5ed92fa74f4.jpg) + +You can then decide if you want to install or not, the checkbox controls whether you want this to be done automatically for you *for this specific mechanism*. + +- The second setting controls whether you want Aerial to update itself while the screen saver is running. Because most people don't fiddle everyday with their screen saver settings, we've added this secondary mechanism to Aerial so everyone can stay up to date. Unlike the first mechanism above, this one is silent, and having this option enabled will automatically install the latest update without prompting you. The check is periodic (if 24 hours elapsed since last check), and done when the screen saver starts. If an update is available, the screen saver will exit, install the update, and open system preferences with the new version of Aerial. Your system will go back to sleep eventually. + +While we recognize that the second mechanism is highly perfectible, this is the only workaround we've found with Sparkle to provide automatic updates while Aerial runs, or without having some sort of "helper" app always running on your system to check for updates. Unless you want to manualy manage your updates, we highly recommend you keep this checked! + +## Beta updates + +The third checkbox lets you opt-in to the beta updates. Beta releases are used to test fixes to reported issues, latest videos and new features. They are usually pretty stable. If you want those beta versions, you can enable this checkbox. Note that when a new non-beta release is available after the beta process, it will also be available in the beta track, so you are always up to date! + +## What kind of network traffic does that entail? + +When a check happens, the auto update loads a [XML file from the GitHub repository](https://github.com/JohnCoates/Aerial/blob/master/appcast.xml) for the new updates. The updates are then downloaded from the GitHub repository's "Releases" section, the download link is included in the XML, they are always in the form of `https://github.com/JohnCoates/Aerial/releases/download/v1.5.0/Aerial.saver.zip` . + +While Sparkle optionally allows to [collect anonymous user data](https://sparkle-project.org/documentation/system-profiling/), we **do not** use this feature and **do not** collect any form of data whatshowever. + +## Security? + +Each update is signed with a private EdDSA key when a release is built by the maintainer (@glouel). The [appcast.xml](https://github.com/JohnCoates/Aerial/blob/master/appcast.xml) provides that signature (and file size, for example for 1.4.9 : `sparkle:edSignature="5QFV0eqGRqCoZ8/TYbLXWOiVSifwNRUk4wuNFdjXJXpk/cRrceaTcs7SG168dawfOTpy9TOu283mb6WJGRQuDw==" length="5674805"` ) which will be checked against the public key bundled with Aerial. If the signature doesn't match, the update won't be installed. Each `Aerial.saver` is also signed with my (@glouel) Apple ID certificate, which is also [checked by Sparkle](https://github.com/sparkle-project/Sparkle/issues/1283). + +## Installed for all users and password prompt + +If you installed the screensaver for all users the first time (instead of for your individual user), macOS prompted you at install for your administrator password. The same thing will happen for automatic updates with the two mechanisms. Because of this, with the "Auto update when screen saver runs" checked, you will get a password prompt from Aerial/Sparkle when waking up your system. + +This is working as intended for macOS, if you are bothered by those prompt, consider reinstalling Aerial for your user account only. If you have multiple accounts, you can still install Aerial for each account, by default each will use the same shared cache for videos (in `/Library/Caches/Aerial/`). diff --git a/Documentation/Troubleshooting.md b/Documentation/Troubleshooting.md index 93dd6a82..3ad12432 100644 --- a/Documentation/Troubleshooting.md +++ b/Documentation/Troubleshooting.md @@ -1,15 +1,28 @@ # Troubleshooting -- Aerial logs you out of your user account everytime it starts: This looks like a new bug with macOS 10.14.5 beta 18F108f, possibly only for Macs with Intel graphics. Please update to Aerial 1.5.0. More information here : https://github.com/JohnCoates/Aerial/issues/738 +## Very common issues/macOS bugs + +- "You cannot use the Aerial screen saver with this version of macOS." error: Select Aerial, close `System Preferences` with Aerial still selected, re-open System Preferences and Aerial should now work. This is a known bug with Swift screensavers in macOS/OS X reported (a long time ago...) to Apple as [rdar://25569037](http://www.openradar.me/25569037). +- "This app is damaged and can't be opened, you should move it to the trash" when double-clicking the `Aerial.saver` file: Please see the [installation notes](Installation.md), this is a GateKeeper issue. +- Chrome complains that "This download is uncommon and potentilally malicious" on very fresh releases. Google seems to flag very recent files as "uncommon" and may block the download (more info on [Google's site here](https://support.google.com/chrome/answer/6261569). After a few hours/days, this warning will disappear. More info in this [issue](https://github.com/JohnCoates/Aerial/issues/759#issuecomment-489616050). +- Can't use Aerial as a login screensaver: As far as we know, using 3rd party screensavers before login is no longer possible on modern versions of macOS (probably and rightly so for securoty reasons). More about this [here](https://github.com/JohnCoates/Aerial/issues/571). + +## About video caching + +- Change cache location : This option simply changes _the location_ of the Cache folder that Aerial uses. It does _not_ move your files for you. Please note that this change will only be taken into account the next time Aerial starts (you may need to fully close System Preferences). We strongly recommend you use a path that's always accessible, as Aerial **can't work** without a Cache directory. In case the path is no longer available (missing USB key, etc), starting with Aerial 1.4.7, it will reset the Cache location to it's default location (usually `/Library/Caches/Aerial/` or, if unavailable `~/Library/Caches/Aerial`) to avoid crashing. - Videos keeps disappearing, Aerial may not restart once in a while: Aerial stores all it's data in a Cache folder. This cache may get deleted by some third party software trying to free disk space. If you use such a "Cleaning" tool, we recommend you set a manual folder location in the Cache tab of Aerial. For example, you can create an Aerial folder in your User folder, and point to it. This will ensure Aerial files don't get deleted. +- Black screen: If you are behind a firewall (Like Little Snitch or Hands Off!) try creating exceptions for Aerial to allow it access to Apple's servers. Be sure the applications `ScreenSaverEngine.app` and `System Preferences.app` are not being blocked access to `*.phobos.apple.com`, `*.phobos.apple.com.edgesuite.net` and `sylvan.apple.com`. If that isn't an option, please look at the [Offline mode](OfflineMode.md) documentation. + +## Bugs related to old versions +*Tip : you can see the version number in the bottom right corner of the preference panel. If you don't see a version number, your version is SEVERELY outdated (1.2 or below)!* + - "Done" button doesn't close Aerial: Please update to latest available version, this is a bug on Mojave with very old versions of Aerial (1.2 and below). +- Not seeing extended descriptions: Make sure you have version 1.4.2 or above. - Can't type into text fields with macOS High Sierra/Video corruption issue on High Sierra: Please make sure you have at least version 1.4.5. -- "This app is damaged and can't be opened, you should move it to the trash" when double-clicking the `Aerial.saver` file: Please see the installation notes above, this is a GateKeeper issue. +- Aerial logs you out of your user account everytime it starts: This looks like a new bug with macOS 10.14.5 beta 18F108f (similar to the Video corruption issue on High Sierra above), possibly only for Macs with Intel graphics. Please update to Aerial 1.5.0. More information here : https://github.com/JohnCoates/Aerial/issues/738 + +# Misc. + - Brightness control does not control external displays: Aerial uses the brightness API from macOS to change the brightness of your screens. As of version 1.5.0, this does not allow us to control the brightness of external screens. -- Not seeing extended descriptions: Make sure you have version 1.4.2 or above. -- Black screen: If you are behind a firewall (Like Little Snitch or Hands Off!) try creating exceptions for Aerial to allow it access to Apple's servers. Be sure the applications `ScreenSaverEngine.app` and `System Preferences.app` are not being blocked access to `*.phobos.apple.com`, `*.phobos.apple.com.edgesuite.net` and `sylvan.apple.com`. If that isn't an option, please look at the Offline mode section. -- "You cannot use the Aerial screen saver with this version of macOS." error: Select Aerial, close `System Preferences` with Aerial still selected, re-open System Preferences and Aerial should now work. This is a known bug with Swift screensavers in macOS/OS X reported to Apple as [rdar://25569037](http://www.openradar.me/25569037). -- High CPU usage/fan spinning all of a sudden: If you correctly configured the preferred video format according to your Mac and still experience high CPU usage/fan spinning all of a sudden, please look for the cause with `Activity Monitor`, you may see a `com.apple.photos.ImageConversionService` responsible for this CPU load. This is the iCloud Photos process, you can find more about [what it does here](https://support.apple.com/en-gu/HT204264) and how to pause it. -- Can't use Aerial as a login screensaver: As far as we know, using 3rd party screensavers before login is no longer possible on modern versions of macOS. More about this [here](https://github.com/JohnCoates/Aerial/issues/571). -- Change cache location : This option simply changes _the location_ of the Cache folder that Aerial uses. It does _not_ move your files for you. Please note that this change will only be taken into account the next time Aerial starts (you may need to fully close System Preferences). We strongly recommend you use a path that's always accessible, as Aerial can't work without a Cache directory. In case the path is no longer available (missing USB key, etc), starting with Aerial 1.4.7, it will reset the Cache location to it's default location. +- High CPU usage/fan spinning all of a sudden: If you correctly configured the preferred video format [according to your Mac](HardwareDecoding.md) and still experience high CPU usage/fan spinning all of a sudden, please look for the cause with `Activity Monitor`, you may see a `com.apple.photos.ImageConversionService` responsible for this CPU load. This is the iCloud Photos process, you can find more about [what it does here](https://support.apple.com/en-gu/HT204264) and how to pause it. diff --git a/Readme.md b/Readme.md index 50e62ac3..2f2ee56f 100644 --- a/Readme.md +++ b/Readme.md @@ -31,7 +31,7 @@ Aerial now includes an auto-update mechanism using the [Sparkle open-source proj 3. Unzip the downloaded file (if you use Safari, it should already be done for you). 4. Double-click `Aerial.saver`; it will open in `System Preferences` > `Desktop & Screen Saver` and ask you if you want to install for all users or for your user only. Be aware that installing for all users will require a password at install **and each update, including auto-updates.** -Need more information on install, setup, or uninstall ? Or want to install via homebrew ? Check our extended [instructions here](Documentation/Installation.md). +Need more information on install, setup, or uninstall ? Or want to install via homebrew ? Check our extended [instructions here](Documentation/Installation.md). Curious about auto-updates ? [Have a look here](Documentation/AutoUpdates.md). ## What's new in Aerial 1.5.0 ? @@ -71,10 +71,11 @@ If you want to collaborate, please [read the details here](Resources/Community/R Looking for more information ? -- [Have an issues ? Check our list of common issues right here, including workaround for macOS bugs!](Documentation/Troubleshooting.md) +- [Having an issue ? Check our list of common issues right here, including workaround for common macOS bugs (like "You cannot use the Aerial screen saver with this version of macOS.") !](Documentation/Troubleshooting.md) - [Learn more about configuring and running Aerial in offline mode with no network access.](Documentation/OfflineMode.md) - [Information about HEVC, HDR and hardware decoding](Documentation/HardwareDecoding.md) - [How to add your own videos to Aerial](Documentation/CustomVideos.md) +- [More details than you need on the auto-update mechanisms](Documentation/AutoUpdates.md) ## License From d48b7f8bc16b4322de0b737938dbeda357fa289d Mon Sep 17 00:00:00 2001 From: Guillaume Louel Date: Thu, 30 May 2019 15:24:53 +0200 Subject: [PATCH 17/21] doc --- Documentation/AutoUpdates.md | 6 +++--- Documentation/HardwareDecoding.md | 4 ++-- Documentation/Installation.md | 2 +- Documentation/Troubleshooting.md | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Documentation/AutoUpdates.md b/Documentation/AutoUpdates.md index ecd4de6b..d8917782 100644 --- a/Documentation/AutoUpdates.md +++ b/Documentation/AutoUpdates.md @@ -10,7 +10,7 @@ What you are seeing above are the out-of-the-box default. Because Aerial is "just" a screen saver (technically, a plugin to System Preferences), providing updates is slightly more involved and because of this, we have two, separate, automatic update mechanisms with two separate settings to control them: -- The first setting controls whether you want automatic updates or not. This check is done periodically (if 24 hours elapsed since last check), but *only* when the screensaver panel (the one you see in the screenshot) is open. When an update is available, you will see this window pop: +- The first setting controls whether you want automatic updates or not. This check is done periodically (if 24 hours elapsed since last check), but *only* when the screen saver panel (the one you see in the screenshot) is open. When an update is available, you will see this window pop: ![Capture d’écran 2019-05-30 à 11 58 34](https://user-images.githubusercontent.com/37544189/58625280-6a51ce80-82d2-11e9-8dd0-a5ed92fa74f4.jpg) @@ -32,10 +32,10 @@ While Sparkle optionally allows to [collect anonymous user data](https://sparkle ## Security? -Each update is signed with a private EdDSA key when a release is built by the maintainer (@glouel). The [appcast.xml](https://github.com/JohnCoates/Aerial/blob/master/appcast.xml) provides that signature (and file size, for example for 1.4.9 : `sparkle:edSignature="5QFV0eqGRqCoZ8/TYbLXWOiVSifwNRUk4wuNFdjXJXpk/cRrceaTcs7SG168dawfOTpy9TOu283mb6WJGRQuDw==" length="5674805"` ) which will be checked against the public key bundled with Aerial. If the signature doesn't match, the update won't be installed. Each `Aerial.saver` is also signed with my (@glouel) Apple ID certificate, which is also [checked by Sparkle](https://github.com/sparkle-project/Sparkle/issues/1283). +Each update is signed with a private EdDSA key when a release is built by the maintainer ([glouel](https://github.com/glouel). The [appcast.xml](https://github.com/JohnCoates/Aerial/blob/master/appcast.xml) provides that signature (and file size, for example for 1.4.9 : `sparkle:edSignature="5QFV0eqGRqCoZ8/TYbLXWOiVSifwNRUk4wuNFdjXJXpk/cRrceaTcs7SG168dawfOTpy9TOu283mb6WJGRQuDw==" length="5674805"` ) which will be checked against the public key bundled with Aerial. If the signature doesn't match, the update won't be installed. Each `Aerial.saver` is also signed with my ([glouel](https://github.com/glouel)) Apple ID certificate, which is also [checked by Sparkle](https://github.com/sparkle-project/Sparkle/issues/1283). ## Installed for all users and password prompt -If you installed the screensaver for all users the first time (instead of for your individual user), macOS prompted you at install for your administrator password. The same thing will happen for automatic updates with the two mechanisms. Because of this, with the "Auto update when screen saver runs" checked, you will get a password prompt from Aerial/Sparkle when waking up your system. +If you installed the screen saver for all users the first time (instead of for your individual user), macOS prompted you at install for your administrator password. The same thing will happen for automatic updates with the two mechanisms. Because of this, with the "Auto update when screen saver runs" checked, you will get a password prompt from Aerial/Sparkle when waking up your system. This is working as intended for macOS, if you are bothered by those prompt, consider reinstalling Aerial for your user account only. If you have multiple accounts, you can still install Aerial for each account, by default each will use the same shared cache for videos (in `/Library/Caches/Aerial/`). diff --git a/Documentation/HardwareDecoding.md b/Documentation/HardwareDecoding.md index 6f18357a..5079a27b 100644 --- a/Documentation/HardwareDecoding.md +++ b/Documentation/HardwareDecoding.md @@ -1,8 +1,8 @@ # About HEVC and hardware decoding, and HDR -Aerial uses Apple's [AVFoundation framework](https://developer.apple.com/documentation/avfoundation) to play the videos as your screensaver. When available, AVFoundation will use hardware decoding (from your CPU or your graphics card) to minimize the resources needed for video playback. You can find guidelines in the help button next to the `Preferred video format` setting. By default, Aerial uses 1080p H.264 videos which is the most compatible format. Please note that all 4K HEVC videos are encoded with the `Main10` profile, which may not be hardware accelerated by your machine, while some other HEVC videos (encoded in `Main` profile) will be. +Aerial uses Apple's [AVFoundation framework](https://developer.apple.com/documentation/avfoundation) to play the videos as your screen saver. When available, AVFoundation will use hardware decoding (from your CPU or your graphics card) to minimize the resources needed for video playback. You can find guidelines in the help button next to the `Preferred video format` setting. By default, Aerial uses 1080p H.264 videos which is the most compatible format. Please note that all 4K HEVC videos are encoded with the `Main10` profile, which may not be hardware accelerated by your machine, while some other HEVC videos (encoded in `Main` profile) will be. -While we wish to provide everyone with the best setting for their machine, the GVA framework from Apple doesn't let us distinguish HEVC `Main10` profile acceleration from general HEVC acceleration. Early feedback we gathered also seems to point that on machines with multiple decoding options (Intel QuickSync and AMD UVD), QuickSync will always be preferred (even if you "force" the discrete GPU use with an external monitor or via code). +While we wish to provide everyone with the best setting for their machine, the GVA framework from Apple doesn't let us distinguish HEVC `Main10` profile acceleration from general HEVC acceleration. Early feedback we gathered also seems to point that on machines with multiple decoding options (Intel QuickSync and AMD UVD), QuickSync will always be preferred (even if you "force" the discrete GPU use with an external monitor or via code, as of macOS Mojave). These are our recommendations so far: diff --git a/Documentation/Installation.md b/Documentation/Installation.md index d693fe9e..cd10dff9 100644 --- a/Documentation/Installation.md +++ b/Documentation/Installation.md @@ -46,7 +46,7 @@ Please note that if you prefer using homebrew to update Aerial, we recommend you There are three ways to uninstall Aerial from your Mac. -- Right-click on the Aerial screensaver in `System Preferences` and select `Delete "Aerial"`. +- Right-click on the Aerial screen saver in `System Preferences` and select `Delete "Aerial"`. - Or delete the file(s) directly. macOS can store screen savers in two locations, `/Library/Screen Savers` (if you installed for All Users) and `/Users/YOURUSERNAME/Library/Screen Savers` (installed for your user only). Check both locations for a file called `Aerial.saver` and delete any copies you find. - If you installed Aerial using Brew Cask, then enter the following command in a Terminal window to uninstall: diff --git a/Documentation/Troubleshooting.md b/Documentation/Troubleshooting.md index 3ad12432..fde593a7 100644 --- a/Documentation/Troubleshooting.md +++ b/Documentation/Troubleshooting.md @@ -2,10 +2,10 @@ ## Very common issues/macOS bugs -- "You cannot use the Aerial screen saver with this version of macOS." error: Select Aerial, close `System Preferences` with Aerial still selected, re-open System Preferences and Aerial should now work. This is a known bug with Swift screensavers in macOS/OS X reported (a long time ago...) to Apple as [rdar://25569037](http://www.openradar.me/25569037). +- "You cannot use the Aerial screen saver with this version of macOS." error: Select Aerial, close `System Preferences` with Aerial still selected, re-open System Preferences and Aerial should now work. This is a known bug with Swift screen savers in macOS/OS X reported (a long time ago...) to Apple as [rdar://25569037](http://www.openradar.me/25569037). - "This app is damaged and can't be opened, you should move it to the trash" when double-clicking the `Aerial.saver` file: Please see the [installation notes](Installation.md), this is a GateKeeper issue. - Chrome complains that "This download is uncommon and potentilally malicious" on very fresh releases. Google seems to flag very recent files as "uncommon" and may block the download (more info on [Google's site here](https://support.google.com/chrome/answer/6261569). After a few hours/days, this warning will disappear. More info in this [issue](https://github.com/JohnCoates/Aerial/issues/759#issuecomment-489616050). -- Can't use Aerial as a login screensaver: As far as we know, using 3rd party screensavers before login is no longer possible on modern versions of macOS (probably and rightly so for securoty reasons). More about this [here](https://github.com/JohnCoates/Aerial/issues/571). +- Can't use Aerial as a login screen saver: As far as we know, using 3rd party screen savers before login is no longer possible on modern versions of macOS (probably and rightly so for securoty reasons). More about this [here](https://github.com/JohnCoates/Aerial/issues/571). ## About video caching From afa3526d65f7b1bce01152f5d62df60b56462aa1 Mon Sep 17 00:00:00 2001 From: Guillaume Louel Date: Thu, 30 May 2019 18:07:06 +0200 Subject: [PATCH 18/21] doc --- .../Controllers/CustomVideoController.swift | 4 ++++ Documentation/AutoUpdates.md | 4 ++++ Documentation/CustomVideos.md | 11 +++++++++-- Documentation/Installation.md | 8 +++++--- Readme.md | 9 ++++----- Resources/CustomVideos.xib | 17 ++++++++++++++--- 6 files changed, 40 insertions(+), 13 deletions(-) diff --git a/Aerial/Source/Controllers/CustomVideoController.swift b/Aerial/Source/Controllers/CustomVideoController.swift index 50ec9c9e..edf9e74c 100644 --- a/Aerial/Source/Controllers/CustomVideoController.swift +++ b/Aerial/Source/Controllers/CustomVideoController.swift @@ -17,6 +17,7 @@ class CustomVideoController: NSWindowController, NSWindowDelegate { @IBOutlet var folderView: NSView! @IBOutlet var fileView: NSView! + @IBOutlet var onboardingLabel: NSTextField! @IBOutlet var folderShortNameTextField: NSTextField! @IBOutlet var timePopUpButton: NSPopUpButton! @@ -334,6 +335,7 @@ extension CustomVideoController: NSOutlineViewDelegate { topPathControl.isHidden = false folderView.isHidden = false fileView.isHidden = true + onboardingLabel.isHidden = true topPathControl.url = URL(fileURLWithPath: folder.url) folderShortNameTextField.stringValue = folder.label @@ -343,6 +345,7 @@ extension CustomVideoController: NSOutlineViewDelegate { topPathControl.isHidden = false folderView.isHidden = true fileView.isHidden = false + onboardingLabel.isHidden = true topPathControl.url = URL(fileURLWithPath: file.url) videoNameTextField.stringValue = file.accessibilityLabel @@ -379,6 +382,7 @@ extension CustomVideoController: NSOutlineViewDelegate { topPathControl.isHidden = true folderView.isHidden = true fileView.isHidden = true + onboardingLabel.isHidden = false } return true diff --git a/Documentation/AutoUpdates.md b/Documentation/AutoUpdates.md index d8917782..a953e1ae 100644 --- a/Documentation/AutoUpdates.md +++ b/Documentation/AutoUpdates.md @@ -39,3 +39,7 @@ Each update is signed with a private EdDSA key when a release is built by the ma If you installed the screen saver for all users the first time (instead of for your individual user), macOS prompted you at install for your administrator password. The same thing will happen for automatic updates with the two mechanisms. Because of this, with the "Auto update when screen saver runs" checked, you will get a password prompt from Aerial/Sparkle when waking up your system. This is working as intended for macOS, if you are bothered by those prompt, consider reinstalling Aerial for your user account only. If you have multiple accounts, you can still install Aerial for each account, by default each will use the same shared cache for videos (in `/Library/Caches/Aerial/`). + +## Homebrew and auto-updates + +If you installed Aerial through Homebrew, you will get updates automatically from that channel. Note that because of the way brew cask works, it may take a few hours for the update to show, compared to the Sparkle auto-update. We recommend that you disable the built in auto-updates if you use Homebrew. diff --git a/Documentation/CustomVideos.md b/Documentation/CustomVideos.md index e28cf3c8..ecbb5138 100644 --- a/Documentation/CustomVideos.md +++ b/Documentation/CustomVideos.md @@ -4,7 +4,11 @@ Starting with version 1.5.0 of Aerial, you can now add your own videos to the pl ![Capture d’écran 2019-05-24 à 17 13 22](https://user-images.githubusercontent.com/37544189/58338271-c090be80-7e47-11e9-833a-d70ada56232b.jpg) -This will open the "Manage Custom Videos" window. Click the "Add folder" at the top of the window, and point it to a folder that contains videos. Aerial will scan that folder and show you the videos it found in the left panel. For long time users, a good way to try this is your `oldvideos` folder in your Aerial cache folder. +This will open the "Manage Custom Videos" window. + +![Capture d’écran 2019-05-30 à 17 45 15](https://user-images.githubusercontent.com/37544189/58646170-24622e00-8305-11e9-9235-9e7960bdf95e.jpg) + +Click the "Add folder" at the top of the window, and point it to a folder that contains videos. Aerial will scan that folder and show you the videos it found in the left panel. For long time users, a good way to try this is your `oldvideos` folder in your Aerial cache folder. ## Folders and files @@ -16,10 +20,13 @@ You can override that name here. This folder name will be used to categorize tho If you click a file, you'll get the asset editor: -![Capture d’écran 2019-05-29 à 12 52 29](https://user-images.githubusercontent.com/37544189/58552781-8478a780-8213-11e9-99bc-2b55c75b6bd3.jpg) +![Capture d’écran 2019-05-30 à 18 01 36](https://user-images.githubusercontent.com/37544189/58646171-24fac480-8305-11e9-98fd-c9ec7ef3a64c.jpg) + You can change the name of the video, whether it's a day or night video (by default every file is imported as day) and let's you add points of interests. Points of interests are the descriptions that are shown periodically on screens when videos play. The format is simple, a time in seconds, and the description you would like to appear. We highly recommend you leave at least 10 to 15 seconds between two points of interests. +![Capture d’écran 2019-05-29 à 12 52 29](https://user-images.githubusercontent.com/37544189/58552781-8478a780-8213-11e9-99bc-2b55c75b6bd3.jpg) + ## How is this stored ? When you close the window, all the information will be saved in a `customvideos.json` file in your Aerial cache folder. The format is close to the tvOS12 format, and can be edited manually. diff --git a/Documentation/Installation.md b/Documentation/Installation.md index cd10dff9..090a2efe 100644 --- a/Documentation/Installation.md +++ b/Documentation/Installation.md @@ -11,10 +11,12 @@ _Rather install from Terminal? Look at the Brew Cask section below!_ 1. Quit **System Preferences**. 2. [Download the latest release of Aerial.saver.zip](https://github.com/JohnCoates/Aerial/releases/latest). Alternatively, you can try the latest beta version [following this link](https://github.com/JohnCoates/Aerial/releases). 3. Unzip the downloaded file (if you use Safari, it should already be done for you). -4. Double-click `Aerial.saver`; it will open in `System Preferences` > `Desktop & Screen Saver` and ask you if you want to install for all users or for your user only. Be aware that installing for all users will require a password at install **and each update, including auto-updates.** +4. Double-click `Aerial.saver`; it will open in `System Preferences` > `Desktop & Screen Saver` and ask you if you want to install for all users or for your user only. Be aware that installing for all users will require a password at install **and each subsequent update, including auto-updates.** If you see an error message saying "This app is damaged and can't be opened, you should move it to the trash", we suggest that **you download the file with Safari**, to prevent macOS Gatekeeper from throwing that error. Note that some outdated unzip software may cause that issue too. +On very recent releases (less than a day), Chrome may complain that the file is uncommon and potentially dangerous. This warning will go away after a few hours/days, more information in our [troubleshooting section](Troubleshooting.md). + **Important**: If you haven't quit System Preferences before installation, you will need to quit and reopen System Preferences after installation for Aerial to work correcly. This is a macOS bug. ### Brew Cask Support @@ -46,8 +48,8 @@ Please note that if you prefer using homebrew to update Aerial, we recommend you There are three ways to uninstall Aerial from your Mac. -- Right-click on the Aerial screen saver in `System Preferences` and select `Delete "Aerial"`. -- Or delete the file(s) directly. macOS can store screen savers in two locations, `/Library/Screen Savers` (if you installed for All Users) and `/Users/YOURUSERNAME/Library/Screen Savers` (installed for your user only). Check both locations for a file called `Aerial.saver` and delete any copies you find. +- Right-click on the Aerial screen saver in `System Preferences` and select `Delete "Aerial"`. This will uninstall the screen saver automatically. +- If you prefer, you can delete the files manually. macOS can store screen savers in two locations depending on your choices, `/Library/Screen Savers` (if you installed for All Users) and `/Users/YOURUSERNAME/Library/Screen Savers` (installed for your user only). Check both locations for a file called `Aerial.saver` and delete any copies you find. - If you installed Aerial using Brew Cask, then enter the following command in a Terminal window to uninstall: ```sh diff --git a/Readme.md b/Readme.md index 2f2ee56f..bc69b99b 100644 --- a/Readme.md +++ b/Readme.md @@ -13,8 +13,7 @@ Aerial is completely open source, so feel free to contribute to its development. [![Code Climate](https://codeclimate.com/github/JohnCoates/Aerial/badges/gpa.svg)](https://codeclimate.com/github/JohnCoates/Aerial) [![codecov](https://codecov.io/gh/JohnCoates/Aerial/branch/master/graph/badge.svg)](https://codecov.io/gh/JohnCoates/Aerial) -###### Windows user? Try [cDima/Aerial](https://github.com/cDima/Aerial/) -###### Linux user? Try [graysky2/xscreensaver-aerial](https://github.com/graysky2/xscreensaver-aerial/) +###### Windows user? Try [cDima/Aerial](https://github.com/cDima/Aerial/) Linux user? Try [graysky2/xscreensaver-aerial](https://github.com/graysky2/xscreensaver-aerial/) Aerial was started in 2015 by John Coates ([Twitter](https://twitter.com/JohnCoatesDev), [Email](mailto:john@johncoates.me)) @@ -27,9 +26,9 @@ You can see a list of contributors [here](https://github.com/JohnCoates/Aerial/g Aerial now includes an auto-update mechanism using the [Sparkle open-source project](https://github.com/sparkle-project/Sparkle). You will need to download it manually the first time : 1. Quit **System Preferences**. -2. [Download the latest release of Aerial.saver.zip](https://github.com/JohnCoates/Aerial/releases/latest). Alternatively, you can try the latest beta version [following this link](https://github.com/JohnCoates/Aerial/releases). +2. [Download the latest release of `Aerial.saver.zip`](https://github.com/JohnCoates/Aerial/releases/latest). Alternatively, you can try the latest beta version [following this link](https://github.com/JohnCoates/Aerial/releases). 3. Unzip the downloaded file (if you use Safari, it should already be done for you). -4. Double-click `Aerial.saver`; it will open in `System Preferences` > `Desktop & Screen Saver` and ask you if you want to install for all users or for your user only. Be aware that installing for all users will require a password at install **and each update, including auto-updates.** +4. Double-click `Aerial.saver`; it will open in `System Preferences` > `Desktop & Screen Saver` and ask you if you want to install for all users or for your user only. Be aware that installing for all users will require a password at install **and each subsequent update, including auto-updates.** By default, Aerial will still share it's video cache if you install multiple times on the same system for each user. Need more information on install, setup, or uninstall ? Or want to install via homebrew ? Check our extended [instructions here](Documentation/Installation.md). Curious about auto-updates ? [Have a look here](Documentation/AutoUpdates.md). @@ -41,7 +40,7 @@ Need more information on install, setup, or uninstall ? Or want to install via h - You can now add your own videos to Aerial using the new [Custom Videos feature](Documentation/CustomVideos.md), and play them alongside Aerial videos: -![Capture d’écran 2019-05-29 à 12 52 29](https://user-images.githubusercontent.com/37544189/58552781-8478a780-8213-11e9-99bc-2b55c75b6bd3.jpg) +![Capture d’écran 2019-05-30 à 18 01 36](https://user-images.githubusercontent.com/37544189/58646171-24fac480-8305-11e9-98fd-c9ec7ef3a64c.jpg) You can find more about [version changes here](Documentation/ChangeLog.md). diff --git a/Resources/CustomVideos.xib b/Resources/CustomVideos.xib index a0af20bb..a8af74d2 100644 --- a/Resources/CustomVideos.xib +++ b/Resources/CustomVideos.xib @@ -19,6 +19,7 @@ + @@ -115,7 +116,17 @@ -