Coder Social home page Coder Social logo

webviewscreensaver's Introduction

WebViewScreenSaver

Build GitHub release

A macOS screen saver that displays a web page or a series of web pages.

Installation

brew install --cask webviewscreensaver --no-quarantine
  • Directly from the releases page. Unpack and double click to install.*

  • From source (requires Xcode):

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/liquidx/webviewscreensaver/master/install-from-source.sh)"

*Note: The package is adhoc signed (since v2.2.1, previously unsigned).

--no-quarantine disables macOS's Gatekeeper during installation.

Otherwise when opening it the first time you will get multiple security prompts about Apple not being able to verify the software.
Hit ok (cancel in older macOS) and go to Privacy & Security and scroll to bottom.
You'll find a section explaining that "WebViewScreenSaver.saver" was blocked click Open Anyway.
Upon returning to screensaver options you'll get a second prompt that can be confirmed by clicking Open.

Alternative if you installed it via direct download run the folllowing command to remove the file from quarantine:

xattr -d com.apple.quarantine WebViewScreenSaver.saver

Configuration

Open up System Preferences > Desktop and Screen Saver > Screen Saver and WebViewScreenSaver should be at the end of the list.

In the addresses section fill in as many websites as you want the screensaver to cycle through and the amount of time to pause on each.

Tip: To edit a selected row, click once or tap Enter or Tab.

Passing in a negative time value e.g. -1 will notify the screensaver to remain on that website indefinitely.

Need some website ideas? Check out suggestions in the examples. (feel free to suggest others)

The example file can also be used with the fetch URLs feature: https://raw.githubusercontent.com/liquidx/webviewscreensaver/master/examples.json

Local absolute paths can also be used as an address with or without the file:// schema.

E.g. file:///Users/myUser/mySreensaver/index.html

Note: If you are running Catalina or newer the provided path cannot reside in your personal folders which require extra permissions (this includes things like Downloads, Documents or Desktop) but can be anywhere else in your user's folder.

Configuration for IT

If you are interested in scripting configuration changes, WebViewScreenSaver, like most other screensavers, makes use of the macOS defaults system.

This can be queried and updated via:

/usr/libexec/PlistBuddy -c 'Print' ~/Library/Containers/com.apple.ScreenSaver.Engine.legacyScreenSaver/Data/Library/Preferences/ByHost/WebViewScreenSaver.*.plist

Depending on how it was installed, which macOS version and which architecture you are running you might find the plist under the following paths:

ls ~/Library/Containers/com.apple.ScreenSaver.Engine.legacyScreenSaver/Data/Library/Preferences/ByHost/WebViewScreenSaver.*
ls ~/Library/Containers/com.apple.ScreenSaver.Engine.legacyScreenSaver/Data/Library/Preferences/net.liquidx.WebViewScreenSaver
ls ~/Library/Containers/com.apple.ScreenSaver.Engine.legacyScreenSaver-x86_64/Data/Library/Preferences/net.liquidx.WebViewScreenSaver
ls ~/Library/Preferences/ByHost/WebViewScreenSaver.* # Pre macOS 10.15

Any .plist editor can be used including built-in PlistBuddy and plutil.

License

Code is licensed under the Apache License, Version 2.0 License.

webviewscreensaver's People

Contributors

agologan avatar bhspitmonkey avatar brendannee avatar gabebear avatar harlev avatar liquidx avatar martinschilliger avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

webviewscreensaver's Issues

Viewing live IP web camera, preview works, but actual screensaver it does not

Latest Yosemite, MacBook Pro Retina.

I was able to get this to work to view a live stream from my foscom ip camera. Works great when you try to use it in system preferences and you click "Preview" BUT does not play the live webcam video when you test it in the actually screen saver. The box where the ip camera video goes is just black/blank

Youtube

Could we make a choice to make our YouTube full screen? really hope that would happen.

Add ability to hardcode a default URL into the distribution

Hi, thanks for making this!

I'd like to give a webviewscreensaver build zip out to a few less-technically-inclined people, and it would be cool if I could just modify a key in the Info.plist (or elsewhere in the package) before giving it to them to save them the effort of copy/pasting the URL themselves.

Is it possible that webviewscreensaver could try to read this value when no existing user configuration exists?

Window Level - push it to desktop level

Hi there,

Really tasty stuff, Ive had a little play around in Xcode with this in High Sierra, and I'm trying to get this or similar in:
[self.window setLevel:kCGMinimumWindowLevel];

so that it can be used in conjunction with screensavertowallpaper -
"/System/Library/CoreServices/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine -background > /dev/null 2>&1 &"

I can then have the ISS live feed as my desktop background :)

With the structuring of the code, is this possible?

Thanks

Cookies/login don't work

Thanks for creating this!

The readme says,

The web page runs as though you opened it in Safari

I'm trying to view a page that requires login. I'm logged in in Safari, with "remember me" and Safari remembering the password.
When I run the screen saver, however, I get the page's logged-out state.

Suggestions?
Thanks

Include http headers for the url request

Would it be possible to include http headers to the url request.

Use case: There are some protected websites that cannot be shown because they require the basic authentication header. With this feature, the basic authentication header could be set, and thus enable accessing a password-protected site.

Malware flag from MalwarePatrol engine (all others on VirusTotal report clean)

I'm sure this is more likely an erroneous flag, but release 2.0 is raising a malicious flag with the MalwarePatrol engine (no other engines flag it as such). I have linked to the VirusTotal report: https://www.virustotal.com/gui/url/3a3278fa801be024822d82f71f55b856d78632f18031b9a9ea40ebc468b5e17c/detection

I'd like to use this to get an HTML version of the LCARS screensaver popular on Mac OS X back in the 00s on my modern Mac, and this seems to be the right item, but I think this ought to be brought to your attention. I'd like to know what your experience will be with their team to resolve the report.

Also note, this might make a good addition to the project's Security tab, although I'm not sure what GitHub's features are that tie in with it.

Keeps Switching to Password

Is anyone else having an issue with setting it to a url and then 5 seconds after screensaver starts it goes to the blurry screen and asks for their password to login?

Basically it still displays the URL in the background but it is on the OS X Login Password Prompt as if I shook the mouse.

Catalina

Hi

Even if you wont work on this project in the future, is it possible to compile it in 64 bits, to make it work in Mac OS Catalina ?

Thanks !

version numbers don't match

i've downloaded version 2.1 from GitHub but after download it claims to be version 2.0

Screenshot 2020-10-29 at 11 55 34

the CFBundleShortVersionString in the Info.plist doesn't line-up with the release version

Options panel has become locked.

OS X Mavericks. The options panel of the WebViewScreensaver has become locked somehow. It was working fine, then I rebooted for an unrelated reason. Now, I'm unable to modify the value of either the URL or Minutes fields. Clicking either the Add or Remove URL button had no effect, but produces the following error in Console...

1/23/14 3:40:36.463 PM System Preferences[406]: -[__NSCFArray insertObject:atIndex:]: mutating method sent to immutable object
1/23/14 3:40:36.465 PM System Preferences[406]: (
0 CoreFoundation 0x00007fff8c45a41c __exceptionPreprocess + 172
1 libobjc.A.dylib 0x00007fff8ce9fe75 objc_exception_throw + 43
2 CoreFoundation 0x00007fff8c45a2cc +[NSException raise:format:] + 204
3 CoreFoundation 0x00007fff8c452462 -[__NSCFArray insertObject:atIndex:] + 98
4 WebViewScreenSaver 0x00000001082d470e -[WebViewScreenSaverView addRow:] + 124
5 AppKit 0x00007fff945203d0 -[NSApplication sendAction:to:from:] + 327
6 AppKit 0x00007fff9452024e -[NSControl sendAction:to:] + 86
7 AppKit 0x00007fff9456cd7d -[NSCell _sendActionFrom:] + 128
8 AppKit 0x00007fff94586715 -[NSCell trackMouse:inRect:ofView:untilMouseUp:] + 2316
9 AppKit 0x00007fff94585ae7 -[NSButtonCell trackMouse:inRect:ofView:untilMouseUp:] + 487
10 AppKit 0x00007fff945851fd -[NSControl mouseDown:] + 706
11 AppKit 0x00007fff94506d08 -[NSWindow sendEvent:] + 11296
12 AppKit 0x00007fff944a5744 -[NSApplication sendEvent:] + 2021
13 System Preferences 0x0000000100552eb4 System Preferences + 28340
14 AppKit 0x00007fff942f5a29 -[NSApplication run] + 646
15 AppKit 0x00007fff942e0803 NSApplicationMain + 940
16 libdyld.dylib 0x00007fff8c0e65fd start + 1
)

I have tried to Repair Permissions feature of the Disk Utility tool, didn't fix it.

Any ideas?
-Michael

Set fontSize and numberOfColumns via querystring

Would it be possible to set the fontSize and numberOfColumns via querystring parameters? I am using a screensaver that does not have navigatable feature to allow me to set those preferences directly. However it does take a URL and it would be great to be able to add these settings in the URL.

Can't change website

Hi.

I tried to add local website as path. And it worked (you haven't said that this is possible).

But then I wanted to change it, and I can't do it. It looks like I've corrupted somehow your settings file... Look at the vide :

http://www.youtube.com/watch?v=Jfxhs_5diPA

Thanks for awesome screen saver ;)

How to interact with page to set appropriate cookies/local storage?

Thanks for the awesome screensaver. I'm using it as an information radiator for my software team, displaying a build monitor that jenkins provides for us. I am challenged though as the build monitor plugin allows for the web user to set settings in terms of number of columns and font size. This is stored in the browser cache. I can't figure out a way to have set the browser cache for the webviewscreensaver browser because when I go to click the button the the page, the screen saver turns off. If there a way to interact with a web page using the webviewscreensaver in order to prime browser cache values in an interactive way?

Will not open under 10.6.8

Download the link, into downloads folder

Have the WebiewScreenSaver.saver file

double click, and get the following

screen shot 2013-07-12 at 15 51 07

which implies its corrupt

Anyone any ideas?

AppStore

Please consider posting this on the Apple App Store. I suspect many of us would be happy to purchase one that worked on current macs an avoided any install hassles.

Update?

Hey Alastair, would love to be able to use this on Mavericks - any chance of an update?

Does not work on latest OS X Mountain Lion

Correct me if I'm wrong (I hope I am, this looks too cool not to use), but I cannot install this screensaver on my computer because it considers this an app made from "an unidentified developer." I think this is from recent changes to how installations can only come through the Mac App Store. Anyway this could be put up there so that more of us can use it?

feature request: user defined amount of monitors in use

Hi, I just tried this and it booted up two safari webviews playing a YouTube channel playlist - so th music, was, of course, playing twice, since I have two monitors. Could it be possible to offer a setting where one can decide whether the screensaver will run on one screen or two?

Screensaver crashes out to desktop (or login screen)

Added the following site into the url dialog box: http://www.ustream.tv/channel/iss-hdev-payload/pop-out
and while it works for a few seconds, it will inevitably cut out and pop back into the desktop or the login screen. I checked console and this is the error I see when that comes up

May 18 00:33:29 Anthonys-MacBook-Air.local loginwindow[93]: ERROR | -[LWBuiltInScreenLockAuthLion closeAuthAndReset:] | Attempted to remove an observer when not observing

I tried changing the timing of it all re; the screensaver start time and password requirements, no luck.

Info: Macbook Air 2010, OS X 10,10,4

Put version 1.2 up as a download!

Hey,

I noticed that 1.0 is still on GitHub for download but the code builds version 1.2.

You should update the downloads section so that 1.2 is available. Also, put it under the releases section!

Thanks!

macOS 10.13.3

That app is incredible, and really cool. However, I've recently encounter the following error message.

You cannot use the WebViewScreenSaver screen saver with this version of macOS. Please contact the vendor to get a newer version of the screen saver.

Please see attached a screenshot https://imgur.com/a/NBYEH

Any ideas how could we perhaps fix this ?

Nightscout not loading any more on Webviewscreensaver

After running Webviewscreensaver on my Mac OS 10.12.6 without a problem for a long time I am now having an issue. The Nightscout page can not be loaded when selected as screensaver. It shows the Nightscout loading page with message "connecting to server" and it freezes there.Previously that was not the case. I have tried uninstalling the app and clearing the cache from Safari and Chrome. I have also searched ~/Library/Caches and delated all found related files however I am still missing something since after reinstalling, the app picks up the Nightscout page address on its own. This mean I did not successfully cleared all of the cache. Any help how to clear the cache?

Disk cache for webview needs to be manually cleared

Looks like the default behavior of WKWebView is the cache to disk, which is not ideal if you're using it to view image galleries and so forth. It doesn't seem like it clears the disk cache either.

WebViewScreenSaver may need to switch off disk caching completely or figure out a way to stop that from happening.

https://developer.apple.com/library/mac/documentation/WebKit/Reference/WKWebViewConfiguration_Ref/index.html#//apple_ref/occ/instp/WKWebViewConfiguration/websiteDataStore

Does not work for localhost

I am trying to create my own HTML page and use that has a screensaver. I have served the page on localhost:8001 and set that as the url, but I do not get anything.

How to uninstall for all users

I have a new MAC Mini. I installed this application and it was working well for a few weeks. Now, I cannot login as a local Admin because it goes straight the webscreensaver which I cannot get out of. I have the MAC on our network and can login as a network user without the screen saver coming up. I created a new local Admin account and the same thing is happening where the screen saver comes up immediately and I cannot get out of it. I need to remove all traces of this application for all users. How can I do that so I can use this MAC again? It is critical I get this resolved quickly.
Thanks for your help.

Screensaver loads and then crashes out

Screensaver starts and crashes back to desktop about 10 seconds later. Similar to a previously closed issue, it's when using the ISS live video feed. Here's the error message in console.

Windows Server (CoreDisplay)

[ERROR] - Driver reported mode info is out of sync with current mode info. Display 4280b80, driver's bytePerRow = 11776, driver's width = 3360, stored width = 3360. Forcing rowbytes to be 4*modeInfo->ioModeInfo.nominalwitdh.

Press ESC to Cancel Screensaver?

First up, I love this screensaver - it's a great way to quickly make a 'branded' screensaver on a work laptop, and with a bit of consideration make one way better than the usual corporate stuff

One thing I've noticed is that on returning to the computer, I have to make a mouse click to cancel the screensaver to get to the login prompt. Would it be possible to additionally allow pressing a key (in particular the ESC key) to do this?

My reasoning is that I can then completely control the computer using nothing but the keyboard, so no need to reach over to click the mouse, so my hands are ready in place to type in my password.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.