xscreensaver

Installs and globally configures XScreenSaver.

Kai Burghardt

kb

6,632 downloads

4,914 latest version

3.1 quality score

Version information

  • 0.0.1 (latest)
  • 0.0.0
released Jan 14th 2018
This version is compatible with:
  • Puppet Enterprise 2018.1.x, 2017.3.x, 2017.2.x, 2017.1.x, 2016.5.x, 2016.4.x
  • Puppet >= 4.0.0 < 6.0.0
  • Debian
    ,
    Ubuntu

Start using this module

Documentation

kb/xscreensaver — version 0.0.1 Jan 14th 2018

xscreensaver

table of contents

  1. overview
  2. module description
  3. usage
  4. reference
  5. limitations
  6. development

overview

This module installs and globally configures xscreensaver(1).

module description

This module installs and configures xscreensaver(1).

The primary objective is disabling all colorful 3D graphics “screensavers” (we don't use any [old] CRTs anymore) and defaulting to a blank black screen. The secondary objective is enforcing a lock mechanism after some inactivity, since potentially all users work with privacy sensitive data. The tertiary objective is making the “New login” function work with lightdm(1) (the distributed default was [in old packages] using gdmflexiserver for this).

usage

Install xscreensaver, uninstall any GL-screensaver.

class screensaver {
    class { 'xscreensaver':
    }
}

See examples/ for more examples.

reference

classes

public classes

  • xscreensaver: basis class
  • xscreensaver::params: holds defaults

private classes

  • xscreensaver::install: installs packages
  • xscreensaver::config: configures xscreensaver

class parameters

package

configuration

application defaults

The following incorporates documentation by the XScreenSaver project. It is licensed under the other license.


xscreensaver_package_name

  • abstract: Package['xscreensaver']['name']

  • acceptable values: a non-empty string without newlines

  • default: 'xscreensaver'

xscreensaver_package_version

  • abstract: Package['xscreensaver']['version']

  • behavior

    • undef: the version of Package['xscreensaver'] is determined by latest_instead_of_present

    • 'absent'/'purged': the Package['xscreensaver'] is removed or purged. Also no further configuration are performed (the configuration files become unmanaged). Packages listed in packages_have do not get installed (they aren't removed either).

    • any other version string: the version is enforced

  • allowed values: undef, or a non-empty string without newlines

  • default: undef

packages_have

  • abstract: packages to install after Package['xscreensaver']

  • allowed values: undef, or a non-empty array of non-empty strings

  • example: ['xscreensaver-screensaver-bsod']

  • default: undef

packages_abolish

  • abstract: packages to remove after Package['xscreensaver']

  • allowed values: undef, or a non-empty array of non-empty strings

  • default: $xscreensaver::params::xscreensaver_gl_packages which now is ['fireflies', 'libopengl-xscreensaver-perl', 'xscreensaver-data-extra', 'xscreensaver-gl', 'xscreensaver-gl-extra', 'xscreensaver-screensaver-bsod', 'xscreensaver-screensaver-dizzy', 'xscreensaver-screensaver-webcollage']

latest_instead_of_present

  • abstract: whether packages are kept up-to-date

  • behavior

  • allowed values: latest_instead_of_present ∊ {true, false}

  • default: false (recommendation: use unattended-upgrade(8))

purge_instead_of_remove

  • abstract: whether packages removed by this module are purged

  • behavior

  • allowed values: purge_instead_of_remove ∊ {true, false}

  • default: true

manage_xscreensaver_defaults

  • abstract: whether to manage /etc/X11/app-defaults/XScreenSaver*

  • allowed values: manage_xscreensaver_defaults ∊ {true, false}

  • default: false (since all configuration parameters are undef, this is the sensible default)

xscreensaver_defaults_dir

  • abstract: the directory to place the XScreenSaver application defaults in

  • allowed values: a string

  • default: '/etc/X11/app-defaults/'

xscreensaver_defaults_base

  • abstract: the filename of the defaults file

  • behavior

    • in the directory xscreensaver_defaults_dir this file, a symbolic link, is created. It points to the selected profile in the same directory. For example: /etc/X11/app-defaults/XScreenSaver points to XScreenSaver-nogl
  • allowed values: a string

  • default: 'XScreenSaver'

xscreensaver_defaults_erb

  • abstract: the template to render the application defaults file with

  • allowed values: a string

  • default: 'xscreensaver/xscreensaver_defaults.erb'

xscreensaver_defaults_profile

  • abstract: the profile name

  • behavior

    • the file XScreenSaver-${profile_name} is a regular file

    • profiles allow the user, to switch configuration by a simple symbolic link

    • default: if xscreensaver_package_name or packages_have contain any package specified by $xscreensaver::xscreensaver_gl_packages, the profile name is 'gl', 'nogl' otherwise

  • allowed values: a non-empty string of lower-case ASCII characters, or default

  • default value: default

manage_xdg_autostart

  • abstract: whether to manage the file at xdg_autostart_path

  • allowed values: manage_xdg_autostart ∊ {true, false}

  • default: false

do_autostart

  • abstract: whether you want autostart

  • allowed values: do_autostart ∊ {true, false}

  • default: true

manage_wrapper_script

  • abstract: whether to manage the wrapper-script

  • behavior

  • note: this setting will render obsolete once the stable Debian xscreensaver package has an up-to-date wrapper script

  • allowed values: manage_wrapper_script ∊ {true, false}

  • default: false

xdg_autostart_file_type

  • behavior

  • allowed values: xdg_autostart_file_type ∊ {'symlink', 'regularfile'}

  • default: 'symlink'

xdg_autostart_path

  • abstract: where the XDG autostart file is located at

  • allowed values: a string

  • default: '/etc/xdg/autostart/xscreensaver-daemon.desktop'

xdg_autostart_target

  • abstract: if the file at xdg_autostart_path is a symbolic link, this is where it points to

  • allowed values: a string

  • default: '/usr/share/xscreensaver/xscreensaver-daemon.desktop'

xdg_autostart_erb

  • abstract: the template to generate the *.desktop file with

  • allowed values: a string

  • default: 'xscreensaver/xscreensaver_daemon_desktop.erb'

autostart_wrapper_path

  • allowed values: a string

  • default: '/usr/share/xscreensaver/xscreensaver-wrapper.sh'

autostart_wrapper_erb

  • allowed values: a string

  • default: 'xscreensaver/xscreensaver_wrapper.erb'

xdg_autostart_exec_args

  • allowed values: a string

  • default: '-nosplash'

splash

  • Whether to display a splash screen at startup. Default true.

  • allowed values: splash ∊ {true, false, undef}

  • example: true

  • default: undef

splash_heading_label

  • abstract: what the top line in the splash screen reads

  • allowed values: a string with no literal newlines, or undef

  • example: 'XScreenSaver %s', where %s is replaced by the version

  • default: undef

splash_body_label

  • abstract: what the second line on the splash screen reads

  • allowed values: a string with no literal newlines, or undef

  • example: 'copyright \251 1991-2014 by' (\251 is octal; it's the copyright sign in ISO 8859-1)

  • default: undef

splash_body2_label

  • abstract: what the third line on the splash screen reads

  • allowed values: a string with no literal newlines, or undef

  • example: 'Jamie Zawinski <jwz\100jwz\056org>'

  • default: undef

splash_demo_label

  • abstract: the label on the demo button

  • allowed values: a string without any literal newline, or undef

  • example: 'settings'

  • default: undef

demo_command

  • abstract: what the “Demo” button on the splash screen runs (/bin/sh syntax)

  • behavior: This is the shell command run when the “Demo” button on the splash window is pressed. It defaults to xscreensaver-demo(1).

  • allowed values: a string, where newlines, if any, are escaped by backslashes, or just undef

  • example: '/usr/bin/xscreensaver-demo'

  • default: undef

prefs_command

  • abstract: what the “Prefs” button on the splash screen runs (/bin/sh syntax)

  • behavior: This is the shell command run when the “Prefs” button on the splash window is pressed. It defaults to xscreensaver-demo -prefs.

  • allowed values: a string, where newlines, if any, are escaped by a backslash, or just undef

  • example: '/usr/bin/xscreensaver-demo -prefs'

  • default: undef

splash_help_label

  • abstract: the string, the help button on the splash screen reads

  • allowed values: a string with no literal newline characters, or undef

  • example: 'help'

  • default: undef

splash_duration

  • How long the splash screen should remain visible; default 5 seconds.

  • allowed values: undef, or {('hours', h ∊ ℕ₀ ∧ h < 10), ('minutes', m ∊ ℕ₀ ∧ m < 60), ('seconds', s ∊ ℕ₀ ∧ s < 60)}

  • example: {hours => 0, minutes => 0, seconds => 5}

  • default: undef

timeout

  • abstract: the period of time with no activity marking the idle state

  • behavior: The screensaver will activate (blank the screen) after the keyboard and mouse have been idle for this amount of time. Default 10 minutes (ten, not two, you nerd).

  • allowed values: undef, or {('hours', h ∊ ℕ₀ ∧ h < 10), ('minutes', m ∊ ℕ₀ ∧ m < 60), ('seconds', s ∊ ℕ₀ ∧ s < 60)}

  • example: {hours => 0, minutes => 10, seconds => 0}

  • default: undef

pointer_poll_time

  • When server extensions are not in use, this controls how frequently xscreensaver(1) checks to see if the mouse position or buttons have changed. Default 5 seconds.

  • allowed values: undef, or {('hours', h ∊ ℕ₀ ∧ h < 10), ('minutes', m ∊ ℕ₀ ∧ m < 60), ('seconds', s ∊ ℕ₀ ∧ s < 60)}

  • example: {hours => 0, minutes => 0, seconds => 5}

  • default: undef

pointer_hysteresis

  • If the mouse moves less than this-many pixels in a second, ignore it (do not consider that to be “activity.”) This is so that the screen doesn't un-blank (or fail to blank) just because you bumped the desk. Default: 10 pixels.

  • allowed values: pointer_hysteresis ∊ ℤ ∪ {undef}

  • example: 16 (more, because of high PPI [pixels per inch] densities)

  • default: undef

sgi_saver_extension

  • the default is to use these extensions if available

  • allowed values: sgi_saver_extension ∊ {true, false, undef}

  • default: undef

xidle_extension

  • the default is to use these extensions if available

  • allowed values: xidle_extension ∊ {true, false, undef}

  • default: undef

proc_interrupts

  • abstract: whether the /proc/interrupts file should be consulted to decide whether the user is idle. See xscreensaver(1) for more details.

  • allowed values: proc_interrupts ∊ {true, false, undef}

  • default: undef

xinput_extension_dev

  • Note: Turning this on makes pointerHysteresis not work.

  • allowed values: xinput_extension_dev ∊ {true, false, undef}

  • default: undef

fade

  • abstract: whether to fade in into screen saving mode and fade between each hack

  • behavior: If this is true, then when the screensaver activates, the current contents of the screen will fade to black instead of simply winking out. This only works on certain systems. A fade will also be done when switching graphics hacks (when the cycle timer expires.) Default: true.

  • allowed values: fade ∊ {true, false, undef}

  • default: undef

fade_seconds

  • abstract: fade duration

  • behavior: If fade is true, this is how long the fade will be in seconds (default 3 seconds.)

  • allowed values: undef, or fade_seconds ∊ ℕ₀ ∧ fade_seconds < 60

  • default: undef

fade_ticks

  • behavior: If fade is true, this is how many times a second the colormap will be changed to effect a fade. Higher numbers yield smoother fades, but may make the fades take longer than the specified fadeSeconds if your server isn't fast enough to keep up. Default 20.

  • allowed values: fade_ticks ∊ ℕ₀ ∪ {undef}

  • default: undef

mode

  • abstract: controls the behavior of xscreensaver(1)

  • behavior

    • 'random': When blanking the screen, select a random display mode from among those that are enabled and applicable. This is the default.

    • 'random-same': Like random, but if there are multiple screens, each screen will run the same random display mode, instead of each screen running a different one.

    • 'one': When blanking the screen, only ever use one particular display mode (the one indicated by the selected setting.)

    • 'blank': When blanking the screen, just go black: don't run any graphics hacks.

    • 'off': Don't ever blank the screen, and don't ever allow the monitor to power down.

  • allowed values: mode ∊ {'random', 'random-same', 'one', 'blank', 'off', undef}

  • default: undef

visual_id

  • abstract: specify which X visual to use by default. see xscreensaver(1) for details

  • allowed values: visual_id ∊ {'best', 'mono', 'gray', 'color', 'GL', 'default'} ∪ {'StaticGray', 'StaticColor', 'TrueColor', 'GrayScale', 'PseudoColor', 'DirectColor'} ∪ ℕ₀ ∪ {undef}

  • default: undef

cycle

  • After the screensaver has been running for this many minutes, the currently running graphics-hack sub-process will be killed (with SIGTERM), and a new one started. If this is 0, then the graphics hack will never be changed: only one demo will run until the screensaver is deactivated by user activity. Default 10 minutes.

  • allowed values: undef, or {('hours', h ∊ ℕ₀ ∧ h < 10), ('minutes', m ∊ ℕ₀ ∧ m < 60), ('seconds', s ∊ ℕ₀ ∧ s < 60)}

  • example: {hours => 0, minutes => 10, seconds => 0}

  • default: undef

ignore_uninstalled_programs

  • behavior: There may be programs in the list that are not installed on the system, yet are marked as “enabled.” If this preference is true, then such programs will simply be ignored. If false, then a warning will be printed if an attempt is made to run the nonexistent program. Also, the xscreensaver-demo(1) program will suppress the non-existent programs from the list if this is true. Default: false.

  • allowed values: ignore_uninstalled_programs ∊ {true, false, undef}

  • default: undef

get_view_port_is_full_of_lies

  • behavior: Set this to true if the xscreensaver(1) window doesn't cover the whole screen. This works around a longstanding XFree86 bug #421. See the xscreensaver FAQ for details.

  • allowed values: get_view_port_is_full_of_lies ∊ {true, false, undef}

  • default: undef

install_colormap

  • On PseudoColor (8-bit) displays, install a private colormap while the screensaver is active, so that the graphics hacks can get as many colors as possible. This is the default. See xscreensaver(1) for details.

  • allowed values: install_colormap ∊ {true, false, undef}

  • default: undef

text_mode

  • see xscreensaver-demo(1) for an explanation

  • allowed values: text_mode ∊ {'date', 'literal', 'file', 'program', 'url', undef}

  • default: undef

text_literal

  • allowed values: undef or a string with no literal newlines

  • default: undef

text_file

  • allowed values: undef, or a string with no literal newlines or blanks

  • example: '/etc/motd'

  • default: undef

text_program

  • allowed values: undef, or a string, where newlines are escaped with a backslash

  • example: '/usr/games/fortune'

  • default: undef

text_url

  • allowed values: undef, or a string without any blanks or literal newlines

  • default: undef

grab_desktop_images

  • Whether it is acceptable to grab snapshots of the desktop.

  • The security paranoid/aware might want to turn this off, to avoid letting people see (but not touch!) your desktop while the screen is locked.

  • allowed values: grab_desktop_images ∊ {true, false, undef}

  • default: undef

grab_video_frames

  • Whether it is acceptable to grab frames of video from the system's video input.

  • Grabbing of video is done by invoking the xscreensaver-getimage-video(1) program

  • allowed values: grab_video_frames ∊ {true, false, undef}

  • default: undef

choose_random_images

  • Whether it is acceptable to display random images found on disk.

  • Selection and loading of images is done by invoking the xscreensaver-getimage-file(1) program.

  • allowed values: choose_random_images ∊ {true, false, undef}

  • default: undef

image_directory

  • This can be a local directory name, or the URL of an RSS or Atom feed.

  • When loading images from disk, this is the directory to find them in. The directory will be searched recursively for images.

  • It may also be the URL of an RSS or Atom feed, in which case a random image from that feed will be selected instead. The contents of the feed will be cached locally and refreshed periodically as needed.

  • allowed values: undef, or a string without any blanks

  • default: undef

nice

  • The sub-processes created by xscreensaver will be “niced” to this level, so that they are given lower priority than other processes on the system, and don't increase the load unnecessarily. The default is 10. (Higher numbers mean lower priority; see nice(1) for details.)

  • allowed values: undef, or nice ∊ ℤ ∧ -20 ≤ nice ∧ nice < 20

  • default: undef

memory_limit

  • allowed values: memory_limit ∊ ℕ₀ ∪ {undef}

  • default: undef

dpms_enabled

  • abstract: whether power management is enabled

  • allowed values: dpms_enabled ∊ {true, false, undef}

  • default: undef

dpms_quickoff_enabled

  • abstract: whether to turn off directly in screensaving mode

  • behavior: If mode is blank and this is true, then the screen will be powered down immediately upon blanking, regardless of other power-management settings.

  • allowed values: dpms_quickoff_enabled ∊ {true, false, undef}

  • default: undef

dpms_standby

  • abstract: If power management is enabled, how long until the monitor goes solid black.

  • allowed values: undef, or {('hours', h ∊ ℕ₀ ∧ h < 10), ('minutes', m ∊ ℕ₀ ∧ m < 60), ('seconds', s ∊ ℕ₀ ∧ s < 60)}

  • example: {hours => 2, minutes => 0, seconds => 0}

  • default: undef

dpms_suspend

  • abstract: If power management is enabled, how long until the monitor goes into power-saving mode.

  • allowed values: undef, or {('hours', h ∊ ℕ₀ ∧ h < 10), ('minutes', m ∊ ℕ₀ ∧ m < 60), ('seconds', s ∊ ℕ₀ ∧ s < 60)}

  • example: {hours => 2, minutes => 0, seconds => 0}

  • default: undef

dpms_off

  • abstract: If power management is enabled, how long until the monitor powers down completely.

  • allowed values: undef, or {('hours', h ∊ ℕ₀ ∧ h < 10), ('minutes', m ∊ ℕ₀ ∧ m < 60), ('seconds', s ∊ ℕ₀ ∧ s < 60)}

  • example: {hours => 4, minutes => 0, seconds => 0}

  • default: undef

lock

  • behavio: Enable locking: before the screensaver will turn off, it will require you to type the password of the logged-in user (really, the person who ran xscreensaver), or the root password.

  • allowed values: lock ∊ {true, false, undef}

  • default: undef

lock_timeout

  • abstract: If locking is enabled, this controls the length of the “grace period” between when the screensaver activates, and when the screen becomes locked. see xscreensaver(1) for an explained example

  • allowed values: undef, or {('hours', h ∊ ℕ₀ ∧ h < 10), ('minutes', m ∊ ℕ₀ ∧ m < 60), ('seconds', s ∊ ℕ₀ ∧ s < 60)}

  • example: {hours => 0, minutes => 0, seconds => 0}

  • default: undef

unfade

  • behavior: If this is true, then when the screensaver deactivates, the original contents of the screen will fade in from black instead of appearing immediately. This only works on certain systems, and if fade is true as well. Default false.

  • allowed values: unfade ∊ {true, false, undef}

  • default: undef

passwd_heading_label

  • abstract: What the password prompt says in its top line.

  • allowed values: undef, or a string without literal newlines

  • example: 'XScreenSaver %s', where %s is replaced by the version

  • default: undef

passwd_body_label

  • allowed values: undef, or a string without literal newlines

  • example: 'enter your palabra'

  • default: undef

passwd_uname

  • abstract: whether to print the hostname in the password prompt (uname --nodename)

  • allowed values: passwd_uname ∊ {true, false, undef}

  • default: undef

passwd_user_label

  • abstract: the label in front of the user name text input field

  • allowed values: undef, or a string without literal newlines

  • example: 'utilisateur:'

  • default: undef

passwd_passwd_label

  • abstract: the label in front of the password text input field

  • allowed values: undef, or a string without literal newlines

  • example: 'palabra:'

  • default: undef

passwd_thermometer_background

  • abstract: the bar slowly fills with this color

  • allowed values: undef, or (r, g, b), where ∀ n ∊ {r, g, b}: n ∊ ℕ₀ ∧ n < 256

  • example: [0xFF, 0xFF, 0xFF]

  • default: undef

passwd_thermometer_foreground

  • abstract: the bar slowly becomes less colored with this color

  • allowed values: undef, or (r, g, b), where ∀ n ∊ {r, g, b}: n ∊ ℕ₀ ∧ n < 256

  • example: [0x44, 0x64, 0xAC]

  • default: undef

passwd_thermometer_width

  • abstract: the width of the password timeout bar

  • allowed values: passwd_thermometer_width ∊ ℕ₀ ∪ {undef}

  • default: undef

passwd_timeout

  • abstract: the period of time the user has to enter his password

  • allowed values: undef, or {('hours', h ∊ ℕ₀ ∧ h < 10), ('minutes', m ∊ ℕ₀ ∧ m < 60), ('seconds', s ∊ ℕ₀ ∧ s < 60)}

  • example: {hours => 0, minutes => 0, seconds => 30}

  • default: undef

passwd_passwd_font

  • abstract: the font used to display characters (if any) in the password text input field

  • allowed values: undef, or a string without any blanks

  • example: '*-courier-medium-r-*-*-*-140-*-*-*-iso8859-1'

  • default: undef

passwd_asterisks

  • abstract: what to show in the password text input field

  • behavior

    • true: an asterisk * is printed for each typed character

    • false: no characters are shown while typing

  • allowed values: passwd_uname ∊ {true, false, undef}

  • default: undef

passwd_unlock_label

  • abstract: if hitting Enter wasn't intuitive enough, the user can click the button labeled with the hereby specified string, in order to tell she finished entering the password

  • allowed values: undef, or a string without any newlines

  • example: 'check!'

  • default: undef

passwd_login_label

  • abstract: what the button in the password prompt associated with new_login_command reads

  • allowed values: undef, or a string without any newlines

  • example: 'switch user' (somewhat more dumb user compatible [default would be 'New Login'])

  • default: undef

new_login_command

  • behavior: If set, this is the shell command that is run when the “New Login” button is pressed on the unlock dialog box, in order to create a new desktop session without logging out the user who has locked the screen. Typically this will be some variant of gdmflexiserver(1) or kdmctl(1).

  • allowed values: undef, or a string where newlines, if any, are escaped by a backslash

  • example: 'gdmflexiserver -ls'

  • default: undef

auth_warning_slack

  • behavior: If all failed unlock attempts (incorrect password entered) were made within this period of time, the usual dialog that warns about such attempts after a successful login will be suppressed. The assumption is that incorrect passwords entered within a few seconds of a correct one are user error, rather than hostile action. Default 20 seconds.

  • allowed values: auth_warning_slack ∊ ℤ ∪ {undef}

  • default: undef

help_url

  • This is the URL loaded by the “Help” button on the splash screen, and by the “Documentation” menu item in xscreensaver-demo.

  • The splash screen has a Help button on it. When you press it, it will display the hereby given web page in your web browser.

  • allowed values: undef, or a string, where newlines, if any, are escaped by a backslash

  • example: 'https://www.jwz.org/xscreensaver/man.html' (old packages had plain unencrypted HTTP)

  • default: undef

load_url

  • abstract: how the “Help” buttons load the helpURL (/bin/sh syntax)

  • This is the shell command used to load a URL into your web browser. The default setting will load it into Mozilla/Netscape if it is already running, otherwise, will launch a new browser looking at the helpURL.

  • allowed values: undef, or a string, where newlines, if any, are escaped by a backslash

  • example: '/usr/bin/x-www-browser \'%s\'' where %s gets replaced by the helpURL

  • default: undef

manual_command

  • how the “Documentation” buttons display man pages.

  • allowed values: a string, where newlines, if any, are escaped by a backslash, or undef

  • example: '/usr/bin/mlterm --title "%s manual" -e /usr/bin/man %s' where %s gets replaced by the manual page title

  • default: undef

hacks_doc_is_installed

  • abstract: old xscreensaver versions artifact

  • allowed values: hacks_doc_is_installed ∊ {true, false, undef}

  • default: undef

verbose

  • abstract: print diagnostics on stderr and on the xscreensaver window. default false

  • allowed values: verbose ∊ {true, false, undef}

  • default: undef

timestamp

  • abstract: whether to print the time of day along with any other diagnostic messages. default true

  • allowed values: timestamp ∊ {true, false, undef}

  • default: undef

dialog_background

  • abstract: general color for dialogs

  • allowed values: undef, or (r, g, b), where ∀ n ∊ {r, g, b}: n ∊ ℕ₀ ∧ n < 256

  • example: [0xE6, 0xE6, 0xE6]

  • default: undef

dialog_foreground

  • abstract: color of letters in the dialog

  • allowed values: undef, or (r, g, b), where ∀ n ∊ {r, g, b}: n ∊ ℕ₀ ∧ n < 256

  • example: [0x00, 0x00, 0x00]

  • default: undef

dialog_internal_border_width

  • allowed values: dialog_internal_border_width ∊ ℕ₀ ∪ {undef}

  • default: undef

dialog_border_width

  • allowed values: dialog_border_width ∊ ℕ₀ ∪ {undef}

  • default: undef

dialog_shadow_thickness

  • allowed values: dialog_shadow_thickness ∊ ℕ₀ ∪ {undef}

  • default: undef

dialog_top_shadow_color

  • abstract: left and top face colors

  • a brighter color than dialog_background immitates an embossed dialog (assuming fictional light comes from the top left)

  • allowed values: undef, or (r, g, b), where ∀ n ∊ {r, g, b}: n ∊ ℕ₀ ∧ n < 256

  • example: [0xFF, 0xFF, 0xFF]

  • default: undef

dialog_bottom_shadow_color

  • abstract: right and bottom face colors

  • a darker color than dialog_background immitates an embossed dialog (assuming fictional light comes from the top left)

  • allowed values: undef, or (r, g, b), where ∀ n ∊ {r, g, b}: n ∊ ℕ₀ ∧ n < 256

  • example: [0xCE, 0xCE, 0xCE]

  • default: undef

dialog_logo_width

  • abstract: the minimum width reserved for the logo

  • allowed values: dialog_logo_width ∊ ℕ₀ ∪ {undef}

  • default: undef

dialog_logo_height

  • abstract: the minimum height for the logo panel

  • allowed values: dialog_logo_height ∊ ℕ₀ ∪ {undef}

  • default: undef

dialog_text_background

  • abstract: the filling color of text input fields (password/username field)

  • allowed values: undef, or (r, g, b), where ∀ n ∊ {r, g, b}: n ∊ ℕ₀ ∧ n < 256

  • example: [0xFF, 0xFF, 0xFF]

  • default: undef

dialog_text_foreground

  • abstract: the color of characters in text input fields

  • allowed values: undef, or (r, g, b), where ∀ n ∊ {r, g, b}: n ∊ ℕ₀ ∧ n < 256

  • example: [0x00, 0x00, 0x00]

  • default: undef

dialog_body_font

dialog_heading_font

  • abstract: the font used to print splash_heading_label, and passwd_heading_label

  • allowed values: undef, or a string without any blank

  • example: '*-helvetica-bold-r-*-*-*-180-*-*-*-iso8859-1'

  • default: undef

dialog_label_font

  • abstract: the font used to print passwd_user_label, and passwd_passwd_label

  • allowed values: undef, or a string without any blank

  • example: '*-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1'

  • default: undef

dialog_uname_font

  • abstract: the font used to print passwd_uname

  • allowed values: undef, or a string without any blank

  • example: '*-helvetica-bold-r-*-*-*-120-*-*-*-iso8859-1'

  • default: undef

dialog_date_font

  • abstract: the font used to print the date in the password dialog box

  • allowed values: undef, or a string without any blank

  • example: '*-helvetica-medium-r-*-*-*-80-*-*-*-iso8859-1'

  • default: undef

dialog_button_font

dialog_button_background

  • allowed values: undef, or (r, g, b), where ∀ n ∊ {r, g, b}: n ∊ ℕ₀ ∧ n < 256

  • example: [0xF5, 0xF5, 0xF5]

  • default: undef

dialog_button_foreground

  • abstract: the color of letters on buttons

  • allowed values: undef, or (r, g, b), where ∀ n ∊ {r, g, b}: n ∊ ℕ₀ ∧ n < 256

  • example: [0x00, 0x00, 0x00]

  • default: undef

dialog_button_point_bg

  • abstract: unknown

  • allowed values: undef, or (r, g, b), where ∀ n ∊ {r, g, b}: n ∊ ℕ₀ ∧ n < 256

  • example: [0xEA, 0xEA, 0xEA]

  • default: undef

dialog_button_click_bg

  • abstract: unknown

  • allowed values: undef, or (r, g, b), where ∀ n ∊ {r, g, b}: n ∊ ℕ₀ ∧ n < 256

  • example: [0xC3, 0xC3, 0xC3]

  • default: undef

capture_stderr

  • abstract: Whether xscreensaver(1) should redirect its stdout and stderr streams to the window itself. See xscreensaver(1) for details.

  • allowed values: capture_stderr ∊ {true, false, undef}

  • default: undef

overlay_stderr

  • If captureStderr is true, and your server supports “overlay” visuals, then the text will be written into one of the higher layers instead of into the same layer as the running screenhack. Set this to false to disable that (though you shouldn't need to.)

  • allowed values: overlay_stderr ∊ {true, false, undef}

  • default: undef

font

  • The font used for the stdout/stderr text, if captureStderr is true. Default *-medium-r-*-140-*-m-* (a 14 point fixed-width font.)

  • allowed values: undef, or a string without blanks

  • default: undef

overlay_text_background

  • The background color used for the stdout/stderr text, if captureStderr is true. Default: black.

  • allowed values: undef, or (r, g, b), where ∀ n ∊ {r, g, b}: n ∊ ℕ₀ ∧ n < 256

  • example: [0x00, 0x00, 0x00]

  • default: undef

overlay_text_foreground

  • The foreground color used for the stdout/stderr text, if captureStderr is true. Default: Yellow.

  • allowed values: undef, or (r, g, b), where ∀ n ∊ {r, g, b}: n ∊ ℕ₀ ∧ n < 256

  • example: [0xFF, 0xFF, 0x00]

  • default: undef

date_format

  • abstract: the format used for printing the date and time in the password dialog box

  • allowed values: undef, or a string w/o literal newlines

  • examples

    • original upstream format: '%d-%b-%y (%a); %I:%M %p' renders 01-Jan-70 (Thu); 12:00 AM (depending on your LC_TIME locale)

    • to show the time only: '%I:%M %p'

    • for 24 hour time: '%H:%M'

  • default: undef

initial_delay

  • When server extensions are not in use, xscreensaver(1) will wait this many seconds before selecting events on existing windows, under the assumption that xscreensaver(1) is started during your login procedure, and the window state may be in flux. Default 0. (This used to default to 30, but that was back in the days when slow machines and X terminals were more common …)

  • example: {seconds => 2}

  • default: undef

window_creation_timeout

  • behavior: When server extensions are not in use, this controls the delay between when windows are created and when xscreensaver selects events on them. Default 30 seconds.

  • allowed values: undef, or {('hours', h ∊ ℕ₀ ∧ h < 10), ('minutes', m ∊ ℕ₀ ∧ m < 60), ('seconds', s ∊ ℕ₀ ∧ s < 60)}

  • example: {hours => 0, minutes => 0, seconds => 30}

  • default: undef

bourne_shell

  • behavior: The pathname of the shell that xscreensaver uses to start subprocesses. This must be whatever your local variant of /bin/sh is: in particular, it must not be csh.

  • allowed values: undef, or a string without any newlines

  • example: '/bin/dash'

  • default: undef

programs

  • abstract: list of installed screen saver modes

  • acceptable values: it's an optional hash. The hash has ASCII words as keys. Their values are hashes again. Each of them can have inactive and visuals as keys. inactive is an optional boolean. visuals is optionally one of 'mono', 'color', 'PseudoColor', 'TrueColor', or 'GL'.

  • note: you usually want to populate this setting otherwise your users aren't able to select those fancy screensavers via the graphical user interface xscreensaver-demo(1)

  • example: {'ScreensaverName' => {inactive => false}}

  • default: undef

hacks__name

  • abstract: pretty names for the hacks that have unusual capitalization

  • allowed values: undef, or a non-empty hash, with non-empty strings as keys and values

  • example: {'dnalogo' => 'DNA Logo', 'morph3d' => 'Morph3D'},

  • default: undef


limitations

  • Autostart functionality requires consideration of /etc/xdg/autostart/.

  • This module does not manage the xscreensaver service in the PAM stack.

  • this module manages only one xscreensaver_defaults_profile. You can re-use the template xscreensaver/xscreensaver_defaults.erb, though. It looks for the configuration variables in the current module scope (thus prepending ${module_name}:: before each of the configuration variable's name).

development

Write me a GnuPG encrypted message to Kai Burghardt <wiz at KaiBurghardt.de>.