How to Develop Linux Screen Saver

How to develop linux screen saver

Here's some info on xscreensaver that you may find of use: xscreensaver
also there's an FAQ here.

There's a simple tutorial here too: simplesquares (from the first link)

Need to Create Screen Saver from Scratch

Since it's a flash app you may be able to run it through a browser/as a web page. See this post for additional info:

webpage as a screensaver windows 7 and XP?

How does screen savers work on Mac OS X and Linux?

The screensaver system in OSX is that a screensaver (typically, but not necessarily) is an Objective-C library, extending a base class to implement methods such as drawing, a preference pane, a preview mode and so on.

There is a good tutorial on writing them here.

While Objective-C is the language expected, it is straightforward enough to couple together a C/C++ implementation behind the Objective-C API.

There is an API (a bridge) to allow other languages to inter-operate with Objective-C APIs. This is used, for example, here to allow OSX screen savers written in Python. I imagine a similar approach is feasible for Mono.

xscreensaver is now developed mostly on OSX, and uses the OSX screensaver API there and something else on X11.

Lock screen on Linux-based screens

I don't know if you are looking for a tool or library to do this. There are quite a few DE independent options:

  1. xlock
  2. slock

They are opensource so you can take a look at code if you are looking for a programatic way to do this.

For library you can look at xlib for all interaction with X. XLockDisplay is the function that you might want to use.

How to check if Linux console screensaver has blanked screen

You can parse the output of xset q with DISPLAY set, but it's not pretty.

$ xset q
Keyboard Control:
auto repeat: on key click percent: 0 LED mask: 00000000
XKB indicators:
00: Caps Lock: off 01: Num Lock: off 02: Scroll Lock: off
03: Compose: off 04: Kana: off 05: Sleep: off
06: Suspend: off 07: Mute: off 08: Misc: off
09: Mail: off 10: Charging: off 11: Shift Lock: off
12: Group 2: off 13: Mouse Keys: off
auto repeat delay: 250 repeat rate: 30
auto repeating keys: 00ffffffdffffbbf
fadfffefffedffff
9fffffffffffffff
fff7ffffffffffff
bell percent: 50 bell pitch: 400 bell duration: 100
Pointer Control:
acceleration: 20/10 threshold: 4
Screen Saver:
prefer blanking: yes allow exposures: yes
timeout: 0 cycle: 600
Colors:
default colormap: 0x20 BlackPixel: 0 WhitePixel: 16777215
Font Path:
/usr/share/fonts/misc,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/75dpi:unscaled,/usr/share/fonts/TTF,/usr/share/fonts/Type1,/usr/share/fonts/misc/,/usr/share/fonts/TTF/,/usr/share/fonts/Type1/,/usr/share/fonts/100dpi/,/usr/share/fonts/75dpi/,built-ins
DPMS (Energy Star):
Standby: 1200 Suspend: 1800 Off: 0
DPMS is Enabled
Monitor is On
Font cache:
Server does not have the FontCache Extension


Related Topics



Leave a reply



Submit