4 a screen saver and locker for the X window system
10 http://www.jwz.org/xscreensaver/
12 -----------------------------------------------------------------------
14 This directory contains XML files that describe each of the screenhacks;
15 the per-hack user interface is constructed based on the things in these
16 files. The files are loaded at run-time by xscreensaver-demo (also
17 known as "the Control Center screensaver properties capplet".)
19 The tags and parameters used here are:
21 -----------------------------------------------------------------------
23 <screensaver name="PROGRAM-NAME" _label="PRETTY NAME">
27 This encloses the whole file: all of the tags described below
30 -----------------------------------------------------------------------
32 <command arg="-SWITCH"/>
34 specifies that "-SWITCH" always appears on the command line.
35 You'll most often see this with "-root".
37 -----------------------------------------------------------------------
39 <boolean id="SYMBOLIC NAME"
40 _label="USER VISIBLE STRING"
45 This creates a checkbox.
47 "id" is currently unused, but may eventually be used for
48 letting other widgets refer to this one.
50 "_label" is the string printed next to the checkbox.
52 "arg-set" is what to insert into the command line if the
55 "arg-unset" is what to insert into the command line if the
58 You will probably never specify both "arg-set" and "arg-unset",
59 because the setting that is the default should insert nothing
60 into the command line (that's what makes it the default.)
63 <boolean _label="foo" arg-set="-foo" />
65 or if "foo" is the default, and must be explicity turned off,
67 <boolean _label="foo" arg-unset="-no-foo" />
69 -----------------------------------------------------------------------
71 <number id="SYMBOLIC NAME"
74 _label="HEADING LABEL"
75 _low-label="LEFT LABEL"
76 _high-label="RIGHT LABEL"
79 default="DEFAULT VALUE"
83 This creates a slider.
85 The _label is printed above the slider. The _low-label and
86 _high-label are printed to the left and right, respectively.
88 If any of the numbers you type has a decimal point, then
89 the range is assumed to be a floating-point value; otherwise,
90 only integral values will be used. So be careful about "1"
93 If convert="invert" is specified, then the value that the
94 user tweaks goes the other way from the value the command
95 line expects: e.g., if the slider goes from 10-20 and the
96 user picks 13, the converted value goes from 20-10 (and
97 would be 17.) This is useful for converting between the
98 concepts of "delay" and "speed".
100 In the "arg" string, the first occurence of "%" is replaced
101 with the numeric value, when creating the command line.
103 -----------------------------------------------------------------------
105 <number id="SYMBOLIC NAME"
108 _label="HEADING LABEL"
111 default="DEFAULT VALUE"
115 This creates a spinbox (a text field with a number in it,
116 and up/down arrows next to it.)
118 Arguments are exactly like type="slider", except that
119 _low-label and _high-label are not used. Also, _label
120 appears to the left of the box, instead of above it.
122 -----------------------------------------------------------------------
124 <select id="SYMBOLIC NAME">
125 <option id="SYMBOLIC NAME"
126 _label="USER VISIBLE STRING"
129 [ ... more <options> ... ]
132 This creates a selection popup menu.
134 Options should have arg-set (arg-unset is not used here.)
136 One of the menu items (the default) should have no arg-set.
138 Each arg-set should begin with the same switch: that is,
139 all the args in a given menu should look like:
151 -----------------------------------------------------------------------
153 <string id="SYMBOLIC NAME"
154 _label="USER VISIBLE STRING"
158 This creates a text entry field.
160 -----------------------------------------------------------------------
162 <file id="SYMBOLIC NAME"
163 _label="USER VISIBLE STRING"
167 This creates a file entry field (a text field with a "Browse"
170 -----------------------------------------------------------------------
172 <xscreensaver-text />
174 This indicates that this screen saver displays text via the
175 "xscreensaver-text" program.
177 In the X11 version, this tag does nothing: the text-related
178 preferences are in the main Screen Saver Preferences window,
179 not in the per-display-mode preferences.
181 In the MacOS version, the text-related preferences appear
182 in this pane, and this tag emits those several controls.
184 -----------------------------------------------------------------------
186 <xscreensaver-image />
188 This indicates that this screen saver displays images via the
189 "xscreensaver-getimage" program.
191 In the X11 version, this tag does nothing: the image-loading
192 and screen-grabbing-related preferences are in the main
193 Screen Saver Preferences window, not in the per-display-mode
196 In the MacOS version, the image-related preferences appear
197 in this pane, and this tag emits those several controls.
199 -----------------------------------------------------------------------
201 <xscreensaver-updater />
203 Where to position the "Check for Updates" options.
204 This is used on MacOS and ignored on X11.
206 -----------------------------------------------------------------------
210 A link to a Youtube preview of this screen saver.
212 -----------------------------------------------------------------------
215 [ ... <boolean>s ... ]
216 [ ... <number>s ... ]
217 [ ... <select>s ... ]
218 [ ... <string>s ... ]
220 [ ... <vgroup>s ... ]
223 A horizontal group of widgets/groups. No more than 4 widgets
224 or groups should be used in a row.
226 -----------------------------------------------------------------------
229 [ ... <boolean>s ... ]
230 [ ... <number>s ... ]
231 [ ... <select>s ... ]
232 [ ... <string>s ... ]
234 [ ... <hgroup>s ... ]
237 A vertical group of widgets/groups. No more than 10 widgets
238 or groups should be used in a column.
240 Since the default alignment of widgets is a column, the
241 <vgroup> element is only of use inside an <hgroup> element.
243 -----------------------------------------------------------------------
249 This is the description of the hack that appears in the right
250 part of the window. Lines are wrapped; paragraphs are separated
251 by blank lines. Lines that begin with whitespace will not be
252 wrapped (see "munch.xml" for an example of why.)
254 Make sure you use "<" instead of "<", etc. Character
255 entities are allowed; HTML (and other markup) is not.
257 -----------------------------------------------------------------------
259 If you are DTD-minded, you may also find the included files "xss.dtd"
260 and "xss.xsd" useful.
262 -----------------------------------------------------------------------