1FvwmForm(1) Fvwm Modules FvwmForm(1)
2
3
4
6 FvwmForm - input form module for Fvwm
7
9 Module FvwmForm [ Alias ]
10
11 FvwmForm must be spawned by Fvwm. If invoked from the command line,
12 FvwmForm prints its version number and exits.
13
15 FvwmForm provides a mechanism to get user input and act accordingly.
16 This is achieved by means of a form that the user can fill out, and
17 from which the user can select actions he wants Fvwm to take. A form
18 consists of five types of items: text labels, single-line text inputs,
19 mutually-exclusive selections, multiple-choice selections, and action
20 buttons. These items are arranged into several lines, with a very
21 flexible layout.
22
23 A text label only serves the purpose of explanation. It cannot accept
24 any input.
25
26 A timeout entry provides a mechanism for timing out the form and per‐
27 forming a certain action when the timeout occurs. The countdown is
28 displayed similar to a text label except that it updates with the
29 amount of time left.
30
31 A text input field can be used to edit a single-line string. FvwmForm
32 accepts Emacs-style cursor movement keys. See FvwmFormInput for de‐
33 tails. Mouse copy is not supported, but you can paste.
34
35 A selection consists of several choices.
36
37 The selection itself is a logical entity that doesn't have any display
38 feature.
39
40 Each choice is displayed as a push-button followed by a explanatory
41 text label. When selected, an exclusive choice shows a circle in the
42 middle, while a multiple choice shows a check.
43
44 An action button, when activated sends one or more commands to Fvwm or
45 executes shell commands. The shell commands can contain the content of
46 the input fields on the form and reflect the setting of choices on the
47 form.
48
49 The action buttons can be activated thru keyboard or mouse.
50
52 FvwmForm invoked without an alias uses configuration commands starting
53 with "*FvwmForm".
54
55 Normally you would invoke FvwmForm with an alias representing the name
56 of a form, its configuration commands and configuration file. For ex‐
57 ample, the command "Module FvwmForm Rlogin" uses configuration commands
58 starting with "*Rlogin", and reads the optional configuration file
59 "Rlogin".
60
61 All forms, regardless of alias, scan first for configuration commands
62 that start with "*FvwmFormDefault". These commands normally come
63 from the builtin form "FvwmForm-Form" which saves commands to the file
64 ".FvwmForm".
65
66 The physical reading of the optional input file, ".FvwmForm", is done
67 only the first time FvwmForm is invoked, or after "FvwmForm-Form" up‐
68 dates the file.
69
70 When the file ".FvwmForm" is read, it is done by sending the command
71 "Read .FvwmForm Quiet" to fvwm. Because of the way the "read"
72 command works, the file can reside in your personal fvwm user direc‐
73 tory, or be in the fvwm data directory. See the description of the
74 read command in the fvwm man page for more information about the envi‐
75 ronment variable $FVWM_USERDIR.
76
77 Then FvwmForm reads the rest of the configuration fvwm has stored up.
78 Fvwm stores configuration on an ongoing basis. The initial configura‐
79 tion comes from the .fvwm2rc file. Other sources, including "Read"
80 commands can define a form.
81
82 When letting FvwmForm and fvwm read files, remember that these files
83 contain commands that can execute shell commands, so you should be
84 careful about setting permissions on these files.
85
86 When FvwmForm is invoked with a window context, e.g. from a window
87 menu, all commands it sends to Fvwm will have that window context.
88 This would allow FvwmForm to control the window it is invoked from.
89
90 After all the configuration commands have been read, FvwmForm displays
91 the form defined by the commands.
92
93
95 FvwmForm creates a built-in form named "FvwmForm-Form" that creates a
96 file called ".FvwmForm". This file contains saved default form colors
97 and fonts. Other forms use these defaults unless they are overridden
98 within the form.
99
100 The default creating form would normally be invoked from a "module
101 menu". For example, if you call your module menu "Module-Popup", you
102 would add the line:
103 AddToMenu "Module-Popup" "FvwmForm Defaults" FvwmForm FvwmForm-Form
104 When you select "FvwmForm Defaults" from your module menu, a form is
105 displayed that shows the current defaults and allows you to change
106 them. If you activate the "Save Restart Me" button, the ".FvwmForm"
107 file is written and "FvwmForm-Form" exits and restarts to show the new
108 defaults.
109
110 An example of what this file might contain after a save is:
111 # This file last created by FvwmForm-Form on Sun Nov 28 11:18:26 EST 1999.
112 *FvwmFormDefault: Font 10x20
113 *FvwmFormDefault: InputFont 8x13bold
114 *FvwmFormDefault: ButtonFont 10x20
115 *FvwmFormDefault: TimeoutFont 10x20
116 *FvwmFormDefault: Fore white
117 *FvwmFormDefault: Back cornflowerblue
118 *FvwmFormDefault: Colorset -1
119 *FvwmFormDefault: ItemFore green
120 *FvwmFormDefault: ItemBack gray40
121 *FvwmFormDefault: ItemColorset -1
122 *FvwmFormDefault: ButtonPointer hand2
123 *FvwmFormDefault: ButtonInPointer star
124 *FvwmFormDefault: InputPointer gumby
125 *FvwmFormDefault: ButtonPointerFore blue
126 *FvwmFormDefault: ButtonPointerBack gray
127 *FvwmFormDefault: ButtonInPointerFore gray
128 *FvwmFormDefault: ButtonInPointerBack blue
129 *FvwmFormDefault: InputPointerFore
130 *FvwmFormDefault: InputPointerBack
131 The commands in this file are just like any other FvwmForm command ex‐
132 cept that they start with "*FvwmFormDefault".
133
134 FvwmForm only reads the file ".FvwmForm" the first time it is started
135 or after the file is changed by "FvwmForm-Form". It does so by sending
136 the command "*FvwmFormDefault: Read x". With "x" set to "y" or "n".
137 "n" makes FvwmForm send a "read .FvwmForm quiet" command to fvwm.
138
139
141 If you supply variables and values on the command line used to start
142 FvwmForm (like this):
143
144 Module FvwmForm MyForm ACTION=Browse "TITLE=Browse Form"
145
146 Then all FvwmForm input commands undergo variable substitution. The
147 variables from the command line are exported. Then every command gets
148 expanded using the variables from the environment. For example, assum‐
149 ing the above invocation of "MyForm", commands would be changed like
150 this:
151
152 Before *MyForm: Text "$TITLE, Home $HOME, Going to $ACTION"
153 After *MyForm: TEXT "Browse Form, Home /home/me, Going to Browse"
154
155 Using this facility should make it possible for one form to be used for
156 different sets of input data.
157
158
160 The following commands can be set in the .fvwm2rc file or thru any of
161 the other ways that fvwm can accept commands. The simplest technique
162 is to create a file in the read-only architecture-independent data di‐
163 rectory, [PREFIX/share/fvwm] or your personal fvwm directory
164 [$HOME/.fvwm], that matches the form alias.
165
166 In the following paragraphs the string "FvwmForm" would normally be the
167 form alias.
168
169 FvwmForm reads commands before the form is ever displayed, and while
170 the form is being displayed.
171
172 The following commands are accepted before the form is displayed:
173 Back
174 Button
175 ButtonFont
176 ButtonInPointer
177 ButtonInPointerFore
178 ButtonInPointerBack
179 ButtonPointer
180 ButtonPointerFore
181 ButtonPointerBack
182 Choice
183 Command
184 Colorset
185 Font
186 Fore
187 GrabServer
188 Input
189 InputFont
190 InputPointer
191 ItemBack
192 ItemColorset
193 ItemFore
194 InputPointerFore
195 InputPointerBack
196 Line
197 Message
198 PadVText
199 Position
200 Selection
201 Separator
202 Text
203 Timeout
204 TimeoutFont
205 Title
206 UseData
207 WarpPointer
208
209 The following commands are accepted while the form is displayed:
210 Map
211 Stop
212 UnMap
213
214 The "Map", "UnMap" and "Stop" facility is under development and is cur‐
215 rently not explained in this document, since it is likely to change.
216
217 The order of the options DOES matter. The first background text color,
218 "*FvwmFormBack", encountered before a displayable item sets the default
219 background color for the entire form.
220
221 Other than that, colors, fonts, text, choices and buttons can be inter‐
222 mixed in any order. The are no builtin limits on form size, number of
223 items on a form, or number of fonts or colors used.
224
225
226 *FvwmForm: GrabServer
227 This option makes FvwmForm grab the mouse pointer on startup. This
228 feature is useful for things like logout verification.
229
230 *FvwmForm: WarpPointer
231 This option makes FvwmForm warp the mouse pointer into its window
232 on startup. It saves the user some mouse-travelling.
233
234 *FvwmForm: Geometry geometry
235 Specifies the FvwmForm window location. This is similar to what
236 the Position option does but is more flexible.
237
238 *FvwmForm: Position x y
239 Puts the FvwmForm window at location (x, y) on the screen. By con‐
240 vention, a negative x (y) value measures distance from the right
241 (bottom) of the screen.
242
243 If this option is omitted, FvwmForm starts at the center of the
244 screen.
245
246 *FvwmForm: Colorset n
247 Tells the module to use colorset n.
248
249 *FvwmForm: Back color
250 Specifies the background color of the FvwmForm window and any text
251 in the window. The first background color FvwmForm reads deter‐
252 mines the overall screen background color. Switches off the Col‐
253 orset option. See DEFAULTS.
254
255 *FvwmForm: Fore color
256 Specifies the foreground color for displaying text labels.
257 Switches off the Colorset option. See DEFAULTS.
258
259 *FvwmForm: ItemColorset n
260 Tells the module to use colorset n for items.
261
262 *FvwmForm: ItemBack color
263 Specifies the background color for the text input windows, and the
264 buttons. Buttons are displayed as 3D depressable buttons. Inputs
265 are displayed as 3D indented fields. Medium shade background col‐
266 ors work best. Switches off the ItemColorset option. See DE‐
267 FAULTS.
268
269 *FvwmForm: ItemFore color
270 Specifies the foreground color for the text input strings and but‐
271 ton text. Switches off the ItemColorset option. See DEFAULTS.
272
273 *FvwmForm: Font font
274 Specifies the font for displaying plain text. See DEFAULTS.
275
276 *FvwmForm: ButtonFont font
277 Specifies the font for text in the action buttons. See DEFAULTS.
278
279 *FvwmForm: InputFont font
280 Specifies the font for text input. See DEFAULTS.
281
282 *FvwmForm: TimeoutFont font
283 Specifies the font for display the timeout counter and related
284 text. See DEFAULTS.
285
286 *FvwmForm: Line justification
287 Starts a new line. A line can contain any number of text, input,
288 buttons and choice items. A FvwmForm window can have any number of
289 lines. The width of the window is that of the longest line.
290
291 Justification of items in the line is specified by justification,
292 which can be one of the following:
293
294 left Items are justified to the left of the window.
295
296 right Items are justified to the right of the window.
297
298 center Items are placed in the center of the window.
299
300 expand If there is only one item in the line, the item is cen‐
301 tered in the window. If two or more items are present,
302 they are spread to fill the whole width of the window.
303
304 *FvwmForm: Message
305 Defines a text area on the form that contains the last error mes‐
306 sage from fvwm. For purposes of determining form size, the message
307 area is considered to be 80 bytes long. Its actual length is the
308 same as the message received. If the message exceeds 80 bytes, you
309 can see the rest of the message by resizing the form.
310
311 You should not attempt to put any text, buttons or input fields on
312 the same line after a message field. Messages greater than 80
313 bytes will overlay the remainder of the line.
314
315 *FvwmForm: PadVText Pixels
316 The number of pixels used as vertical padding between text items,
317 line to line. The default is 6 which looks good on lines contain‐
318 ing text intermixed with input boxes, choices or buttons.
319
320 For straight text, such as might appear on a help form, padding of
321 zero looks better.
322
323 (There are lots of other padding values used in form layout which
324 can't currently be changed with commands.)
325
326 *FvwmForm: Text string
327 Displays string as plain text. Line breaks must be achieved by
328 multiple *FvwmForm: Line and *FvwmForm: Text options. Blanks may
329 be used to provide extra padding between items.
330
331 *FvwmForm: Title string
332 Displays string as the window's title. The string must be enclosed
333 in double quotes. Using this command with anything other than a
334 string enclosed in quotes creates a blank title. If this command
335 is not used, the window title is the form alias.
336
337 *FvwmForm: Input name size init_string
338 Specifies a text input item with name name. A sub window of size
339 characters in width is used for editing. If init_string is
340 present, it is the initial string when FvwmForm starts or resets
341 itself. The default initial string is "".
342
343 You can mouse paste into an input field using button 2. Buttons 1
344 and 3 move the cursor in an input field.
345
346 Input fields are always in insert mode, overtyping is not sup‐
347 ported.
348
349 Emacs type keystrokes are supported.
350
351 Control-a, Home and Begin move to the front of an input field.
352 Control-e and End move to the end of an input field. Control-b and
353 Left move left in an input field. Control-f and Right move right
354 in an input field. Control-p, Up, and Shift-Tab move to a previous
355 input field if any, if the form has one input field, recall previ‐
356 ous value. Control-n, Down, Return, Line-feed and Tab move to the
357 next input field if any, if the form has one input field, for con‐
358 trol-n and Down, restore previous input value. Control-h moves
359 backward in an input field erasing a character. Control-d and
360 Delete delete the next character in an input field. Control-k
361 erases for the cursor to the end of an input field. Control-u
362 erases the entire input field.
363
364 When a form executes a command, all the input values are saved in a
365 ring of input history 50 items deep.
366
367 Meta(mod2)-"<" retrieves the previous value of an input field.
368 Meta(mod2)-">" retrieves the next value of an input field.
369
370 (For forms with one input field, use the much easier arrow keys.)
371
372
373 *FvwmForm: Selection name type
374 This option starts a selection item with name name. Its choices
375 are specified in following configuration commands. The option type
376 is one of the following:
377
378 single The selections are mutually exclusive.
379
380 multiple This is a multiple-choice selection.
381
382
383 *FvwmForm: Separator
384 Draws a 2 pixel shaded line across the form as a visual indication
385 of a separate area.
386
387
388 *FvwmForm: Choice name value on | off string
389 Specifies a choice for a proceeding selection. The choice item has
390 a name and a value these are used in commands. See *FvwmForm: Com‐
391 mand. The string is displayed to the right of the choice button as
392 a label.
393
394 The choice assumes the specified initial state ("on" means se‐
395 lected) when FvwmForm starts or resets. If the selections are mu‐
396 tually exclusive, FvwmForm does NOT detect inconsistencies in the
397 initial states of the choices, i.e. two or none of the choices can
398 be selected. However, once the user selects a choice, FvwmForm
399 assures only one is selected.
400
401 *FvwmForm: Button type string [key]
402 This option specifies an action button. The button has string as a
403 label, and executes a set of Fvwm command when it is activated.
404 The commands are the following *FvwmForm: Commands.
405
406 The optional key specifies a keyboard shortcut that activates the
407 button. It is in either a control character, specified as ^@, ^A,
408 ..., ^_, or a function key, specified as F1, F2, ..., F35. Control
409 keys that are used for cursor movement in text input fields cannot
410 activate any buttons, with the exception of TAB (^I), RETURN (^M),
411 LINEFEED (^J), which can activate a button when the cursor is in
412 the last text input field.
413
414 The behavior of the button is determined by type:
415
416 continue FvwmForm continues execution after sending the com‐
417 mands.
418
419 restart After sending the commands, FvwmForm resets all the
420 values to the initial ones, and then continues execu‐
421 tion.
422
423 quit FvwmForm quits after sending the commands.
424
425 *FvwmForm: Command command
426 This option specifies an Fvwm command associated with the current
427 button. There can be more than one command attached to a button.
428 Commands that appear before any *FvwmForm: Button option are exe‐
429 cuted at start-up time. This is usually a beep that gets the
430 user's attention.
431
432 Commands starting with an exclamation mark (!) are executed by
433 FvwmForm, all other commands are sent to Fvwm for execution. Be‐
434 fore sending each command to Fvwm, FvwmForm recognizes variables of
435 the following forms, and supply values to them.
436
437 $(name) If name corresponds to a text input field, the result
438 is the user's input string. The special chars single-
439 quote, double-quote and backslash are preceded by a
440 backslash.
441
442 If name corresponds to a choice, the result is the
443 value of the choice (as specified in *FvwmForm: Choice)
444 if the choice is selected. If the choice is not se‐
445 lected, the result is a blank string.
446
447 If name corresponds to a selection, the result will be
448 a list of the selected values of all its choices sepa‐
449 rated by spaces.
450
451 $(name?string) If name is a text input field and its value is not an
452 empty string, the result is string, with recursive
453 variable substitution applied. If the input value is
454 empty, the result is empty.
455
456 If name is a choice and it is selected, the result is
457 string, with recursive variable substitution applied.
458 If the choice is not selected, the result is empty.
459
460 $(name!string) The same as the above, except that the converse condi‐
461 tions are taken.
462
463 When using the "?" and "!" forms to pass a string, the
464 string is delimited by a right parenthesis. If you
465 need to put a right parenthesis in a string, precede
466 the right parenthesis with a backslash.
467
468
469 *FvwmForm: UseData datafile leading
470 Tells FvwmForm to read a data file and extract data from module
471 commands that match the "leading" argument and an input, choice, or
472 selection variable in a form.
473
474 This lets a form display current fvwm module configuration data.
475 For an example of how this works, examine the file "FvwmForm-
476 Rlogin" which is installed in read-only architecture-independent
477 data directory, [PREFIX/share/fvwm] and shown below.
478
479 For choices, the setting of the button is represented as the word
480 "on", all other values for a setting are treated as off.
481
482 For selections, the setting of each choice button is determined by
483 matching the current value of the selection against each choice.
484 Currently, this only works correctly for selections that allow a
485 single choice.
486
487 *FvwmForm: ButtonPointer pointername
488 Change the default mouse pointer (hand2) used when hovering over a
489 button. The pointername must be one of the names defined in the
490 include file X11/cursorfont.h (without the XC_ prefix). See DE‐
491 FAULTS.
492
493
494 *FvwmForm: ButtonInPointer pointername
495 Change the default mouse pointer (hand1) used while a button is
496 pressed in. The pointername must be one of the names defined in
497 the include file X11/cursorfont.h (without the XC_ prefix). See
498 DEFAULTS.
499
500
501 *FvwmForm: InputPointer pointername
502 Change the default mouse pointer (xterm) used while the pointer is
503 over a text field. The pointername must be one of the names de‐
504 fined in the include file X11/cursorfont.h (without the XC_ pre‐
505 fix). See DEFAULTS.
506
507
508 *FvwmForm: ButtonPointerFore|Back color
509 Change the default mouse pointer foreground and background colors
510 used when hovering over a button. See DEFAULTS.
511
512
513 *FvwmForm: ButtonInPointerFore|Back color
514 Change the default mouse pointer foreground and background colors
515 used while a button is pressed in. See DEFAULTS.
516
517
518 *FvwmForm: InputPointerFore|Back color
519 Change the default mouse pointer foreground and background colors
520 used while the pointer is over a text field. See DEFAULTS.
521
522
523 *FvwmForm: Timeout seconds command "text"
524 Set up FvwmForm to time out after the amount of seconds specified.
525 When the timer hits zero, command executes. The text field is dis‐
526 played much like a Text field, except that a '%%' in the line is
527 replaced automatically by the amount of time left on the timer.
528 The value gets updated every second as the timer counts down.
529 There can only be one timeout field per form.
530
531
533 All of the following "examples" are installed in the read-only archi‐
534 tecture-independent data directory, [PREFIX/share/fvwm], during fvwm
535 installation.
536
537 The following commands create a menu to invoke the examples:
538
539 DestroyMenu Forms
540 AddToMenu Forms "&Q. QuitVerify" Module FvwmForm FvwmForm-QuitVerify
541 AddToMenu Forms "&C. Capture" Module FvwmForm FvwmForm-Capture
542 AddToMenu Forms "&R. Rlogin" Module FvwmForm FvwmForm-Rlogin
543 AddToMenu Forms "&T. Talk" Module FvwmForm FvwmForm-Talk
544
546 This example simulates the mwm way of confirming logout. Return does
547 the logout, Escape cancels logout. It times out after 20 seconds and
548 performs the equivalent of the 'Logout' button.
549 DestroyModuleConfig FvwmForm-QuitVerify: *
550 *FvwmForm-QuitVerify: GrabServer
551 *FvwmForm-QuitVerify: WarpPointer
552 *FvwmForm-QuitVerify: Command Beep
553 *FvwmForm-QuitVerify: Line center
554 *FvwmForm-QuitVerify: Text "Do you really want to logout?"
555 *FvwmForm-QuitVerify: Line expand
556 *FvwmForm-QuitVerify: Button quit "Logout" ^M
557 *FvwmForm-QuitVerify: Command Quit
558 *FvwmForm-QuitVerify: Button restart "Restart" ^R
559 *FvwmForm-QuitVerify: Command Restart
560 *FvwmForm-QuitVerify: Button quit "Cancel" ^[
561 *FvwmForm-QuitVerify: Command Nop
562 *FvwmForm-QuitVerify: Timeout 20 Quit "Automatic logout will occur in %% seconds."
563
564
566 This example lets the user type in a host name, an optional user name,
567 and opens an xterm window from the remote host.
568 DestroyModuleConfig FvwmForm-Rlogin: *
569 *FvwmForm-Rlogin: WarpPointer
570 *FvwmForm-Rlogin: Line center
571 *FvwmForm-Rlogin: Text "Login to Remote Host"
572 *FvwmForm-Rlogin: Line center
573 *FvwmForm-Rlogin: Text "Host:"
574 *FvwmForm-Rlogin: Input HostName 20 ""
575 *FvwmForm-Rlogin: Line center
576 *FvwmForm-Rlogin: Selection UserSel single
577 *FvwmForm-Rlogin: Choice Default Default on "same user"
578 *FvwmForm-Rlogin: Choice Custom Custom off "user:"
579 *FvwmForm-Rlogin: Input UserName 10 ""
580 *FvwmForm-Rlogin: Line expand
581 *FvwmForm-Rlogin: Button quit "Login" ^M
582 *FvwmForm-Rlogin: Command Exec exec ssh $(Custom?-l $(UserName)) $(HostName) xterm -T xterm@$(HostName) -display $HOSTDISPLAY &
583 # Before saving the data, remove any previously saved data:
584 *FvwmForm-Rlogin: Command DestroyModuleConfig FvwmForm-RloginDefault: *
585 # The "Login" button causes a login and a saving of the current data:
586 *FvwmForm-Rlogin: Command !( /bin/echo \
587 "# Created by FvwmForm-Rlogin on: `/bin/date`."; /bin/echo \
588 '*FvwmForm-RloginDefault: HostName $(HostName)'; /bin/echo \
589 '*FvwmForm-RloginDefault: UserName $(UserName)'; /bin/echo \
590 '*FvwmForm-RloginDefault: Default $(Default?on)'; /bin/echo \
591 '*FvwmForm-RloginDefault: Custom $(Custom?on)' \
592 ) > ${FVWM_USERDIR}/.FvwmForm-Rlogin
593 *FvwmForm-Rlogin: Button restart "Reset"
594 *FvwmForm-Rlogin: Button quit "Cancel" ^[
595 *FvwmForm-Rlogin: Command Nop
596 # Tell FvwmForm to read vars from the .FvwmForm-RloginDefault file:
597 *FvwmForm-Rlogin: UseData .FvwmForm-Rlogin *FvwmForm-RloginDefault
598
599
601 This example provides a front-end to xwd, xwud, and xpr.
602 DestroyModuleConfig FvwmForm-Capture: *
603 *FvwmForm-Capture: Line center
604 *FvwmForm-Capture: Text "Capture Window"
605 *FvwmForm-Capture: Line left
606 *FvwmForm-Capture: Text "File: "
607 *FvwmForm-Capture: Input file 25 "/tmp/Capture"
608 *FvwmForm-Capture: Line left
609 *FvwmForm-Capture: Text "Printer: "
610 *FvwmForm-Capture: Input printer 20 "$PRINTER"
611 *FvwmForm-Capture: Line expand
612 *FvwmForm-Capture: Selection PtrType single
613 *FvwmForm-Capture: Choice PS ps on "PostScript"
614 *FvwmForm-Capture: Choice Ljet ljet off "HP LaserJet"
615 *FvwmForm-Capture: Line left
616 *FvwmForm-Capture: Text "xwd options:"
617 *FvwmForm-Capture: Line expand
618 *FvwmForm-Capture: Selection Options multiple
619 *FvwmForm-Capture: Choice Brd -nobdrs off "No border"
620 *FvwmForm-Capture: Choice Frm -frame on "With frame"
621 *FvwmForm-Capture: Choice XYZ -xy off "XY format"
622 *FvwmForm-Capture: Line expand
623 *FvwmForm-Capture: Button continue "Capture" ^M
624 *FvwmForm-Capture: Command Exec exec xwd -out $(file) $(Options) &
625 *FvwmForm-Capture: Button continue "Preview"
626 *FvwmForm-Capture: Command Exec exec xwud -in $(file) &
627 *FvwmForm-Capture: Button continue "Print"
628 *FvwmForm-Capture: Command Exec exec xpr -device $(PtrType) $(file) | lpr -P $(printer) &
629 *FvwmForm-Capture: Button quit "Quit"
630
631
633 This example provides a replacement for the module FvwmTalk. There are
634 2 forms, "FvwmForm-Talk." which executes commands, or sends commands to
635 fvwm for execution, and "FvwmForm-TalkHelp." which is a help form.
636
637 In the help form, notice how vertical line spacing is changed. Normal
638 FvwmForm line spacing assumes text is intermixed with buttons, help
639 forms require different spacing.
640
641 # FvwmForm-Talk - Basic replacement for FvwmTalk
642 DestroyModuleConfig FvwmForm-Talk: *
643 *FvwmForm-Talk: WarpPointer
644 # Layout
645 *FvwmForm-Talk: Line center
646 *FvwmForm-Talk: Text "Talk to Fvwm"
647 *FvwmForm-Talk: Line left
648 *FvwmForm-Talk: Text "Command:"
649 *FvwmForm-Talk: Input Command 80 ""
650 *FvwmForm-Talk: Line left
651 *FvwmForm-Talk: Text "Msg:"
652 *FvwmForm-Talk: Message
653 *FvwmForm-Talk: Line center
654 # Buttons
655 *FvwmForm-Talk: Button restart "Return - Execute" ^M
656 *FvwmForm-Talk: Command $(Command)
657 *FvwmForm-Talk: Button continue "F1 - Help" F1
658 *FvwmForm-Talk: Command Module FvwmForm FvwmForm-TalkHelp
659 *FvwmForm-Talk: Button restart "F3 - Reset input" F3
660 *FvwmForm-Talk: Command Nop
661 *FvwmForm-Talk: Button quit "F4 - Dismiss" F4
662 *FvwmForm-Talk: Command Nop
663
664 # FvwmForm-TalkHelp - Help Text for FvwmForm-Talk
665 DestroyModuleConfig FvwmForm-TalkHelp: *
666 *FvwmForm-TalkHelp: WarpPointer
667 # Layout
668 *FvwmForm-TalkHelp: Line center
669 *FvwmForm-TalkHelp: Text "Talk to Fvwm - Help"
670 *FvwmForm-TalkHelp: Line left
671 *FvwmForm-TalkHelp: Text " "
672 *FvwmForm-TalkHelp: Line left
673 *FvwmForm-TalkHelp: PadVText 0
674 *FvwmForm-TalkHelp: Text "Enter commands in the
675 *FvwmForm-TalkHelp: Line left
676 *FvwmForm-TalkHelp: Text "Commands beginning with
677 *FvwmForm-TalkHelp: Line left
678 *FvwmForm-TalkHelp: Text "shell as a sub-process of the form."
679 *FvwmForm-TalkHelp: Line left
680 *FvwmForm-TalkHelp: Text "All other commands are sent to fvwm for execution."
681 *FvwmForm-TalkHelp: Line left
682 *FvwmForm-TalkHelp: Text ""
683 *FvwmForm-TalkHelp: Line left
684 *FvwmForm-TalkHelp: Text "Fvwm error messages are shown on the
685 *FvwmForm-TalkHelp: Line left
686 *FvwmForm-TalkHelp: Text ""
687 # Buttons
688 *FvwmForm-TalkHelp: Line center
689 *FvwmForm-TalkHelp: Button quit "Return - Dismiss" ^M
690 *FvwmForm-TalkHelp: Command Nop
691
692
694 FvwmForm is a fairly simple method of providing input. There is no in‐
695 put validation facility. FvwmForm has no way of dealing with lists.
696
697 Report bugs to the fvwm-workers list.
698
699
701 FvwmForm is original work of Thomas Zuwei Feng (ztfeng@math.prince‐
702 ton.edu).
703
704 Copyright Feb 1995, Thomas Zuwei Feng. No guarantees or warranties are
705 provided or implied in any way whatsoever. Use this program at your
706 own risk. Permission to use, modify, and redistribute this program is
707 hereby given, provided that this copyright is kept intact.
708
709
711 During the fall of 1998, Dan Espen removed all form size limits, added
712 unlimited font and color changing, form spacing control, configuration
713 file reading, global control of appearance, synchronous command execu‐
714 tion, Error message display, variable substitution, configurable point‐
715 ers, and lots of other damage. No additional copyright is imposed.
716
717
718
719Fvwm 19 October 2022 (2.7.0) FvwmForm(1)