Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
353 commits
Select commit Hold shift + click to select a range
de29585
Update package.json
aabytt May 30, 2024
f46a72c
Update package-lock.json
aabytt May 30, 2024
70ba9a8
Update appinfo.json
aabytt May 30, 2024
5409d3a
Update MainPanel.js
aabytt May 30, 2024
132716f
Update release.yml
aabytt May 30, 2024
eda3574
Update MainPanel.js
aabytt May 30, 2024
5392e36
Update settings.json
aabytt May 30, 2024
aee0008
Add files via upload
aabytt May 30, 2024
0428876
Merge pull request #11 from aabytt/newID
aabytt May 30, 2024
3721401
Update release.yml
aabytt May 30, 2024
cfde109
Update screensaver-main.qml
aabytt May 30, 2024
cb33ff5
Update MainPanel.js
aabytt May 30, 2024
783649f
Update appinfo.json
aabytt May 30, 2024
f0f774d
Update package-lock.json
aabytt May 30, 2024
949287b
Update package.json
aabytt May 30, 2024
572f4ad
Merge pull request #12 from aabytt/id-change
aabytt May 30, 2024
e72a3b6
Update README.md
aabytt May 30, 2024
99ba5b9
Update screensaver-main.qml
aabytt Jun 12, 2024
1dcfb31
Update appinfo.json
aabytt Jun 12, 2024
7ce25f8
Update package-lock.json
aabytt Jun 12, 2024
2393835
Update package.json
aabytt Jun 12, 2024
e87c911
Merge pull request #15 from aabytt/stopped-status-fix
aabytt Jun 12, 2024
860c041
Update be-BY.json
aabytt Jul 4, 2024
12c9d21
Update README.md
aabytt Jul 4, 2024
8076a28
Update FUNDING.yml
aabytt Sep 30, 2024
a386ac5
Update videos.json
aabytt Sep 30, 2024
8f29fc8
Update en-US.json
aabytt Sep 30, 2024
98f1b6a
Update en-US.json
aabytt Sep 30, 2024
cf15e74
Update videos.json
aabytt Sep 30, 2024
2c6b6b4
Update en-GB.json
aabytt Sep 30, 2024
62845c7
Update en-AU.json
aabytt Sep 30, 2024
64d8a0f
Update es-ES.json
aabytt Sep 30, 2024
29979dc
Update es-419.json
aabytt Sep 30, 2024
c907ab1
Update el-GR.json
aabytt Sep 30, 2024
c26b28e
Update de-DE.json
aabytt Sep 30, 2024
7d399f7
Update da-DK.json
aabytt Sep 30, 2024
61c3c66
Update cs-CZ.json
aabytt Sep 30, 2024
cabaa89
Update ca-ES.json
aabytt Sep 30, 2024
45985fa
Update be-BY.json
aabytt Sep 30, 2024
dfcb3f1
Update ar-AE.json
aabytt Sep 30, 2024
2486033
Update fi-FI.json
aabytt Sep 30, 2024
d8ad1b6
Update fr-FR.json
aabytt Sep 30, 2024
4143ec5
Update fr-CA.json
aabytt Sep 30, 2024
bb5b426
Update he-IL.json
aabytt Sep 30, 2024
699583c
Update hi-IN.json
aabytt Oct 1, 2024
1181abd
Update hr-HR.json
aabytt Oct 1, 2024
df39d52
Update hu-HU.json
aabytt Oct 1, 2024
44cdc2f
Update id-ID.json
aabytt Oct 1, 2024
af7e332
Update it-IT.json
aabytt Oct 1, 2024
163dbd6
Update ja-JP.json
aabytt Oct 1, 2024
1aada83
Update ko-KR.json
aabytt Oct 1, 2024
8da6f44
Update ms-MY.json
aabytt Oct 1, 2024
b8b406c
Update nb-NO.json
aabytt Oct 1, 2024
b22ab2f
Update nl-NL.json
aabytt Oct 1, 2024
7ad99b9
Update pl-PL.json
aabytt Oct 1, 2024
412a9ae
Update pt-BR.json
aabytt Oct 1, 2024
6addc4c
Update pt-PT.json
aabytt Oct 1, 2024
8f2b079
Update ro-RO.json
aabytt Oct 1, 2024
82151aa
Update ru-RU.json
aabytt Oct 1, 2024
e3901f7
Update sk-SK.json
aabytt Oct 1, 2024
02c58ee
Update sv-SE.json
aabytt Oct 1, 2024
3f99aca
Update th-TH.json
aabytt Oct 1, 2024
5be8e1f
Update tr-TR.json
aabytt Oct 1, 2024
052dfe3
Update uk-UA.json
aabytt Oct 1, 2024
ae009e3
Update vi-VN.json
aabytt Oct 1, 2024
303c24c
Update zh-CN.json
aabytt Oct 1, 2024
2645154
Update zh-HK.json
aabytt Oct 1, 2024
628bffc
Update zh-TW.json
aabytt Oct 1, 2024
12de78f
Update it-IT.json
aabytt Oct 1, 2024
a01a199
Update videos.json
aabytt Oct 1, 2024
0c44b8e
Update appinfo.json
aabytt Oct 1, 2024
4686510
Update package-lock.json
aabytt Oct 1, 2024
795824e
Update package.json
aabytt Oct 1, 2024
8b08837
Merge pull request #21 from aabytt/add-videos
aabytt Oct 2, 2024
43943eb
Add files via upload
aabytt Oct 3, 2024
57efb35
Delete assets/icon130.png
aabytt Oct 3, 2024
acee87d
Add files via upload
aabytt Oct 3, 2024
30f8019
Update appinfo.json
aabytt Oct 3, 2024
cb1c5ed
Update main.yml
aabytt Oct 3, 2024
a2ef1d3
Delete assets/imageForRecents.png
aabytt Oct 3, 2024
b7c4fc2
Add files via upload
aabytt Oct 3, 2024
a4e3d18
Delete assets/icon130.png
aabytt Oct 3, 2024
f8b7fc7
Delete assets/imageForRecents.png
aabytt Oct 3, 2024
5c071da
Add files via upload
aabytt Oct 3, 2024
021bac5
Delete assets/imageForRecents.png
aabytt Oct 4, 2024
64d2ef0
Add files via upload
aabytt Oct 4, 2024
d8db521
Update appinfo.json
aabytt Oct 4, 2024
c241f75
Update package-lock.json
aabytt Oct 4, 2024
11e53f2
Update package.json
aabytt Oct 4, 2024
d8d8a84
Update main.yml
aabytt Oct 4, 2024
d492264
Merge pull request #22 from aabytt/new-icon
aabytt Oct 4, 2024
7304ca7
Create sl-SI.json
aabytt Oct 10, 2024
6975bb7
Update MainPanel.js
aabytt Oct 10, 2024
6edda32
Update appinfo.json
aabytt Oct 23, 2024
7eb454d
Update package-lock.json
aabytt Oct 23, 2024
c5f0979
Update package.json
aabytt Oct 23, 2024
5035ec0
Update README.md
aabytt Jan 23, 2025
22a464d
Update sv-SE.json
Janzzze Feb 26, 2025
6ae91d7
Merge pull request #31 from Janzzze/patch-1
aabytt Mar 3, 2025
9ac8286
Update main.yml
aabytt Mar 3, 2025
8ee6ade
Merge pull request #32 from aabytt/adding-sl-locale
aabytt Mar 3, 2025
37cdc7a
Update videos.json
aabytt Aug 5, 2025
4084696
Update en-GB.json
aabytt Aug 5, 2025
b988c44
Update en-AU.json
aabytt Aug 12, 2025
16df487
Update en-US.json
aabytt Aug 12, 2025
71f8a8f
Update en-GB.json
aabytt Aug 13, 2025
25386cf
Update en-US.json
aabytt Aug 13, 2025
e116368
Update en-AU.json
aabytt Aug 13, 2025
138a822
Update videos.json
aabytt Aug 14, 2025
16fdd1e
Update en-US.json
aabytt Aug 14, 2025
02fc2d2
Update en-GB.json
aabytt Aug 14, 2025
e5ccfd6
Update en-AU.json
aabytt Aug 14, 2025
12aa530
Update FUNDING.yml
aabytt Aug 14, 2025
05feb7f
Update ar-AE.json
aabytt Aug 14, 2025
df5668d
Update cs-CZ.json
aabytt Aug 14, 2025
18f1cfb
Update be-BY.json
aabytt Aug 19, 2025
0047fc4
Update ru-RU.json
aabytt Aug 19, 2025
2400b55
Update uk-UA.json
aabytt Aug 26, 2025
bcf6637
Update pl-PL.json
aabytt Aug 26, 2025
3c34951
Update sk-SK.json
aabytt Aug 26, 2025
b478ce3
Update sl-SI.json
aabytt Aug 26, 2025
f034f10
Update fi-FI.json
aabytt Aug 26, 2025
16890bd
Update hr-HR.json
aabytt Aug 26, 2025
0130e74
Update ca-ES.json
aabytt Aug 26, 2025
d4bd775
Update nl-NL.json
aabytt Aug 26, 2025
de6751d
Update pt-BR.json
aabytt Aug 26, 2025
486604a
Update pt-PT.json
aabytt Aug 26, 2025
808c486
Update da-DK.json
aabytt Aug 26, 2025
c0acc69
Update de-DE.json
aabytt Aug 26, 2025
0a007a9
Update el-GR.json
aabytt Aug 26, 2025
f917091
Update es-419.json
aabytt Aug 26, 2025
b6c47af
Update es-ES.json
aabytt Aug 26, 2025
22e11d0
Update fr-CA.json
aabytt Aug 26, 2025
891295b
Update fr-FR.json
aabytt Aug 26, 2025
2bceb2a
Update he-IL.json
aabytt Aug 26, 2025
05c3fad
Update hi-IN.json
aabytt Aug 26, 2025
a6ca992
Update ro-RO.json
aabytt Aug 26, 2025
7d7b38e
Update hu-HU.json
aabytt Aug 27, 2025
e531c8f
Update id-ID.json
aabytt Aug 27, 2025
88b6f0f
Update ja-JP.json
aabytt Aug 27, 2025
41529fa
Update it-IT.json
aabytt Aug 27, 2025
ab5bde9
Update ko-KR.json
aabytt Aug 27, 2025
3ecb6df
Update ms-MY.json
aabytt Aug 27, 2025
7b09776
Update nb-NO.json
aabytt Aug 27, 2025
cc55761
Update sv-SE.json
aabytt Aug 27, 2025
eaf58a1
Update th-TH.json
aabytt Aug 27, 2025
858f982
Update sv-SE.json
aabytt Aug 27, 2025
347fa85
Update tr-TR.json
aabytt Aug 27, 2025
4eba866
Update vi-VN.json
aabytt Aug 27, 2025
22d3a62
Update zh-CN.json
aabytt Aug 27, 2025
ddd1b11
Update zh-HK.json
aabytt Aug 27, 2025
7201c42
Update zh-TW.json
aabytt Aug 27, 2025
8df1569
Update videos.json
aabytt Aug 31, 2025
5921551
Update screensaver-main.qml
aabytt Sep 2, 2025
941a6f8
Update FUNDING.yml
aabytt Oct 18, 2025
8988065
Update FUNDING.yml
aabytt Nov 20, 2025
57dcd5e
Update README.md
aabytt Nov 20, 2025
0dbc4b6
Update README.md
aabytt Nov 20, 2025
5ef8ce1
Update README.md
aabytt Nov 26, 2025
8e9f562
Update videos.json
aabytt Apr 22, 2026
92674f6
Update README.md
aabytt Apr 22, 2026
11eb375
Update package.json
aabytt Apr 22, 2026
5084e9e
Update appinfo.json
aabytt Apr 22, 2026
1417d42
Update package-lock.json
aabytt Apr 22, 2026
89b3a12
Merge branch 'main' into new-videos-2025
aabytt Apr 22, 2026
5db3fff
Merge pull request #38 from aabytt/new-videos-2025
aabytt Apr 22, 2026
c7f4ec1
Update videos.json
aabytt Apr 22, 2026
b3f2d81
Update videos.json
aabytt Apr 23, 2026
7aaadc8
Add files via upload
aabytt Apr 23, 2026
e0cfc45
Delete preview.html
aabytt Apr 23, 2026
2b2f5d8
Update README.md
aabytt Apr 23, 2026
878d067
Update videos.json
aabytt Apr 23, 2026
5b5739f
Update videos.json
aabytt Apr 23, 2026
e559108
Update videos.json
aabytt Apr 23, 2026
b07b205
Update videos.json
aabytt Apr 24, 2026
bf87699
Update videos.json
aabytt Apr 24, 2026
f550bee
Update videos.json
aabytt Apr 24, 2026
3b1daa7
Update videos.json
aabytt Apr 24, 2026
d7b1de8
Update videos.json
aabytt Apr 24, 2026
bb38fd4
Update videos.json
aabytt Apr 24, 2026
e36c5e7
Update videos.json
aabytt Apr 24, 2026
79ae26c
Update videos.json
aabytt Apr 24, 2026
b25a8a0
Update videos.json
aabytt Apr 25, 2026
b8a474f
Update videos.json
aabytt Apr 28, 2026
c999b45
Update en-US.json
aabytt Apr 28, 2026
cf1ea67
Update en-US.json
aabytt Apr 28, 2026
de99756
Update ru-RU.json
aabytt Apr 28, 2026
f896a64
Update ru-RU.json
aabytt Apr 28, 2026
1116937
Update be-BY.json
aabytt Apr 28, 2026
b599c86
Update uk-UA.json
aabytt Apr 28, 2026
a3be9de
Update es-ES.json
aabytt Apr 28, 2026
97fc886
Update fi-FI.json
aabytt Apr 28, 2026
2ccff33
Update da-DK.json
aabytt Apr 28, 2026
28b6670
Update ja-JP.json
aabytt Apr 28, 2026
25ec810
Update uk-UA.json
aabytt Apr 28, 2026
03d4d86
Update pl-PL.json
aabytt Apr 28, 2026
bd9dd47
Update ko-KR.json
aabytt Apr 28, 2026
60c039f
Update pt-PT.json
aabytt Apr 28, 2026
a40008d
Update videos.json
aabytt Apr 28, 2026
1918fe1
Update nb-NO.json
aabytt Apr 28, 2026
0a357c0
Update ar-AE.json
aabytt Apr 28, 2026
693f73b
Update ca-ES.json
aabytt Apr 28, 2026
ca3d309
Update cs-CZ.json
aabytt Apr 28, 2026
1c3b2ff
Update pt-BR.json
aabytt Apr 28, 2026
ac04531
Update de-DE.json
aabytt Apr 28, 2026
c23a2a0
Update es-419.json
aabytt Apr 28, 2026
77995ab
Update en-AU.json
aabytt Apr 28, 2026
0ca3c85
Update en-GB.json
aabytt Apr 28, 2026
3f9a512
Update el-GR.json
aabytt Apr 28, 2026
2070551
Update hu-HU.json
aabytt Apr 28, 2026
152bb8a
Update it-IT.json
aabytt Apr 28, 2026
cd37687
Update ms-MY.json
aabytt Apr 28, 2026
8831859
Update nl-NL.json
aabytt Apr 28, 2026
e22ee33
Update ro-RO.json
aabytt Apr 28, 2026
1d0f1de
Update sk-SK.json
aabytt Apr 28, 2026
53d43a4
Update fr-CA.json
aabytt Apr 28, 2026
c6d1f49
Update fr-FR.json
aabytt Apr 28, 2026
5d2de32
Update he-IL.json
aabytt Apr 28, 2026
4dc46d2
Update hi-IN.json
aabytt Apr 28, 2026
9adb851
Update hr-HR.json
aabytt Apr 28, 2026
3c4f977
Update id-ID.json
aabytt Apr 28, 2026
5e2c0df
Update sl-SI.json
aabytt Apr 28, 2026
2dd8ad7
Update sv-SE.json
aabytt Apr 28, 2026
09411d4
Update th-TH.json
aabytt Apr 28, 2026
1882da3
Update tr-TR.json
aabytt Apr 28, 2026
b6a92fd
Update vi-VN.json
aabytt Apr 28, 2026
1a94303
Update zh-CN.json
aabytt Apr 28, 2026
bc35c04
Update zh-HK.json
aabytt Apr 28, 2026
08a3292
Update zh-TW.json
aabytt Apr 28, 2026
3a5c5ab
Update videos.json
aabytt May 11, 2026
d404c35
Update videos.json
aabytt May 11, 2026
85c4487
Update en-US.json
aabytt May 11, 2026
b158483
Update be-BY.json
aabytt May 11, 2026
d348818
Update be-BY.json
aabytt May 11, 2026
61e559a
Add webOS 25 (10.x) support with a web screensaver
moontwister Oct 17, 2026
389c75c
Don't take the video decoder from a paused video on webOS 25
moontwister Oct 18, 2026
2be8605
Merge pull request #42 from moontwister/webos10-web-screensaver
aabytt Oct 18, 2026
d6a1de4
Update FUNDING.yml
aabytt Oct 20, 2026
dfe988a
Merge pull request #43 from aabytt/new-videos-json
aabytt Oct 20, 2026
3550f62
Update appinfo.json
aabytt Oct 20, 2026
1be091f
Update package-lock.json
aabytt Oct 20, 2026
a5111e2
Update package.json
aabytt Oct 20, 2026
e74a9a4
Merge pull request #44 from aabytt/3.0.0
aabytt Oct 20, 2026
3c46334
Update README.md
aabytt Oct 20, 2026
7bee9f7
Translations update
aabytt Oct 21, 2026
b6a02f9
Merge pull request #47 from aabytt/new-videos-json
aabytt Oct 21, 2026
414a156
Update appinfo.json
aabytt Oct 21, 2026
1528129
Update appinfo.json
aabytt Oct 21, 2026
657b8b7
Update package-lock.json
aabytt Oct 21, 2026
42a1292
Update package.json
aabytt Oct 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# These are supported funding model platforms

github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: #
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
polar: # Replace with a single Polar username
buy_me_a_coffee: #
custom: [] # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
5 changes: 5 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,3 +32,8 @@ jobs:
- run: npm ci
- run: npm run build -- --production
- run: npm run package
- name: 'Upload Artifact'
uses: actions/upload-artifact@v4
with:
name: ipk
path: ${{github.workspace}}/*.ipk
4 changes: 2 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,6 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
asset_path: ${{github.workspace}}/org.webosbrew.custom-screensaver.manifest.json
asset_name: org.webosbrew.custom-screensaver.manifest.json
asset_path: ${{github.workspace}}/org.aabytt.webos.custom-screensaver-aerial.manifest.json
asset_name: org.aabytt.webos.custom-screensaver-aerial.manifest.json
asset_content_type: application/json
16 changes: 5 additions & 11 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [1.0.1] - 2022-01-07
### Changed
- Replaced logo with an inverted one

## [1.0.0] - 2022-01-05
Initial release

[Unreleased]: https://github.com/webosbrew/custom-screensaver/compare/v1.0.1...HEAD
[1.0.1]: https://github.com/webosbrew/custom-screensaver/compare/v1.0.0...v1.0.1
[1.0.0]: https://github.com/webosbrew/custom-screensaver/releases/tag/v1.0.0
### Added
- webOS 25 (10.x) support: on TVs with the Flutter-based stock screensaver, `apply.sh` mounts a
web version of the screensaver that uses the same settings, videos and locales.
- webOS 25 (10.x): if another app has a paused video, the web screensaver no longer takes its
video decoder, and shows a moving clock instead of video.
47 changes: 39 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,34 @@
custom-screensaver
==================
<div align="center">
<img src="assets/icon130.png" alt="Aerial webOS logo" width="200">
<br><h1>Aerial webOS screensaver (fork of <a href="https://github.com/webosbrew/custom-screensaver">custom-screensaver</a>)</h1>

<a href="https://github.com/aabytt/custom-screensaver-aerial/releases/latest"><img src="https://img.shields.io/github/v/release/aabytt/custom-screensaver-aerial?style=flat-square" alt="Latest release"/></a>
<a href="https://github.com/aabytt/custom-screensaver-aerial/releases"><img src="https://img.shields.io/github/downloads/aabytt/custom-screensaver-aerial/total?style=flat-square" alt="Downloads"/></a>

Probably the only custom screensaver you'll ever need on webOS TV.

Requires root.
</div>


* [330+ aerial videos](https://aabytt.github.io/aerial-preview/) from different sources.
* 40+ locales for OSD
* Source type selection (FullHD/4k SDR or Dolby Vision)
* Requires root and Homebrew channel
* Compatible with webOS 5 (2020), webOS 6 (2021), webOS 22 (2022), webOS 23 (2023), webOS 25 (10.x)

Disclaimer
---------------
- App replaces original webOS screensaver. Use at your own risk.

webOS 25 (10.x)
---------------
The stock screensaver is a Flutter app on these TVs and QML apps can't be launched, so
`apply.sh` uses a web version of the screensaver instead (`assets/web-screensaver.html`). It
uses the same settings, videos and locales. Notes:

- Applying restarts the app manager, so running apps close and the home screen reloads.
- Set text opacity to 0 to hide the on-screen text, e.g. to avoid burn-in on OLED TVs.
- If another app has a paused video, the screensaver shows a clock that moves every minute
instead of video, so that app keeps its video decoder and playback can resume.

Features
--------
Expand All @@ -17,7 +42,13 @@ Installation
This should be downloadable in Homebrew Channel. Otherwise, there's an `ipk` in
GitHub releases to the right. You are on your own here.

Acknowledgments
---------------
- Original animation POC by an unnamed individual.
- According to WikiMedia Commons - DVD Video logotype does not meet the [threshold of originality](https://commons.wikimedia.org/wiki/Commons:Threshold_of_originality) needed for copyright protection, and is therefore in the public domain.
Donate
------------
Looking for more sources or cool new features? Your support would mean the world!
* [YooMoney](https://yoomoney.ru/to/4100115685800097)

Screenshots
------------
![Main](https://github.com/aabytt/custom-screensaver-aerial/assets/84480313/77daf2da-b528-41ba-8377-fff70e6e1fd3)
![Screenshot](https://github.com/aabytt/custom-screensaver-aerial/assets/84480313/166f43e7-a3cf-4035-975a-931f282f5655)
![Settings](https://github.com/aabytt/custom-screensaver-aerial/assets/84480313/1b7f281b-efdc-4eed-b0f2-b06f4bd5929a)
16 changes: 9 additions & 7 deletions appinfo.json
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
{
"id": "org.webosbrew.custom-screensaver",
"version": "1.0.1",
"vendor": "webosbrew.org",
"title": "Custom Screensaver",
"icon": "assets/icon80.png",
"id": "org.aabytt.webos.custom-screensaver-aerial",
"version": "3.0.1",
"vendor": "aabytt",
"title": "WebOS Aerial Screensaver",
"icon": "assets/icon130.png",
"largeIcon": "assets/icon130.png",
"main": "index.html",
"iconColor": "#ffffff",
"iconColor": "#2d353d",
"type": "web",
"appDescription": "The last custom webOS Screensaver you will ever need"
"imageForRecents":"assets/imageForRecents.png",
"noSplashOnLaunch":true,
"appDescription": "Aerial custom webOS Screensaver"
}
Binary file added assets/SegoeUI-Light.ttf
Binary file not shown.
16 changes: 16 additions & 0 deletions assets/appinfo.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"id": "com.webos.app.screensaver",
"version": "3.0.1",
"vendor": "LG Electronics, Inc.",
"type": "web",
"main": "web-screensaver.html",
"title": "Screen Saver",
"icon": "",
"visible": false,
"supportRollingScreenMode": true,
"defaultWindowType": "screenSaver",
"noSplashOnLaunch": true,
"requiredPermissions": [
"all"
]
}
41 changes: 31 additions & 10 deletions assets/apply.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,38 @@

set -e -o pipefail

MOUNT_TARGET="/usr/palm/applications/com.webos.app.screensaver/qml/main.qml"
QML_PATH="$(dirname "$(realpath "$0")")/screensaver-main.qml"
APP_DIR="/usr/palm/applications/com.webos.app.screensaver"
MOUNT_TARGET="$APP_DIR/qml/main.qml"
ASSETS_DIR="$(dirname "$(realpath "$0")")"
QML_PATH="$ASSETS_DIR/screensaver-main.qml"

if [[ ! -f "$MOUNT_TARGET" ]]; then
echo "[-] Target file does not exist: $MOUNT_TARGET" >&2
exit 1
if [[ -f "$MOUNT_TARGET" ]]; then
if ! findmnt "$MOUNT_TARGET"; then
mount --bind "$QML_PATH" "$MOUNT_TARGET"
echo "[+] Enabled succesfully" >&2
else
echo "[~] Enabled already" >&2
fi
exit 0
fi

if ! findmnt "$MOUNT_TARGET"; then
mount --bind "$QML_PATH" "$MOUNT_TARGET"
echo "[+] Enabled succesfully" >&2
else
echo "[~] Enabled already" >&2
# webOS 25 (10.x): the stock screensaver is a Flutter app and QML apps can't be launched,
# so replace the whole app directory with assets/, which holds a web app (appinfo.json +
# web-screensaver.html) next to the settings, videos and locales it reads
if grep -q '"type" *: *"flutter"' "$APP_DIR/appinfo.json" 2>/dev/null || findmnt "$APP_DIR" >/dev/null; then
if ! findmnt "$APP_DIR" >/dev/null; then
mount --bind "$ASSETS_DIR" "$APP_DIR"
# SAM caches appinfo and has no rescan method. Restart it in the background so
# this script can return before SAM closes the running apps.
if systemctl is-active -q sam.service; then
(sleep 2; systemctl restart sam.service) >/dev/null 2>&1 &
fi
echo "[+] Enabled succesfully (web screensaver)" >&2
else
echo "[~] Enabled already (web screensaver)" >&2
fi
exit 0
fi

echo "[-] Unsupported screensaver: neither $MOUNT_TARGET nor a Flutter app found" >&2
exit 1
Binary file modified assets/icon130.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed assets/icon80.png
Binary file not shown.
Binary file added assets/imageForRecents.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading