Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
XScreenSaver
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Software architecture == The XScreenSaver [[Daemon (computing)|daemon]] is responsible for detecting idle-ness, blanking and locking the screen, and launching the display modes. The display modes (termed "hacks" from the historical usage "[[display hack]]") are each stand-alone programs. This is an important security feature, in that the display modes are [[Sandbox (computer security)|sandboxed]] into a separate process from the screen locking framework. This means that a programming error in one of the graphical display modes cannot compromise the screen locker itself (e.g., a crash in a display mode will not unlock the screen). It also means that a third-party screen saver can be written in any language or with any graphics library, so long as it is capable of rendering onto an externally provided window. For historical and portability reasons, the included hacks are all written in [[ANSI C]]. About half of them use the [[X Window System|X11]] API, and about half use the [[OpenGL]] 1.3 API. Rather than forking the code-base and re-writing the hacks to target different platforms, XScreenSaver contains a number of compatibility layers. * To allow the X11-based hacks to run natively on [[macOS]] and [[iOS]], XScreenSaver contains a complete implementation of the [[X Window System|X11]] API built on top of [[Cocoa (API)|Cocoa]] ("jwxyz").<ref name=jwxyz> {{cite web | title=jwz.org blog post about the iOS port | date = 19 June 2012 | url = https://www.jwz.org/blog/2012/06/i-have-ported-xscreensaver-to-the-iphone/ | access-date = 24 December 2020 }} </ref> * To allow the OpenGL 1.3-based hacks to run natively on [[iOS]] and [[Android (operating system)|Android]] systems, which only support [[OpenGL ES]], XScreenSaver contains an implementation of the [[OpenGL]] 1.3 API built in top of [[OpenGL ES]] 1.0 ("jwzgles").{{r|jwxyz}} * And to allow the X11-based hacks to run natively on [[iOS]] and [[Android (operating system)|Android]], XScreenSaver also contains an implementation of the X11 API in terms of [[OpenGL ES]] 1.0.<ref> {{cite web | title=jwz.org blog post about the Android port | date = 23 May 2016 | url = https://www.jwz.org/blog/2016/05/xscreensaver-5-35/ | access-date = 24 December 2020 }} </ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)