Fix manual page markup
[pipeglade.git] / pipeglade.1
bloba854e7e013e980c9b883af3a025d2a5e7e9a4c5c
1 .\" Copyright (c) 2014-2016 Bert Burgemeister <trebbu@googlemail.com>
2 .\"
3 .\" Permission is hereby granted, free of charge, to any person obtaining
4 .\" a copy of this software and associated documentation files (the
5 .\" "Software"), to deal in the Software without restriction, including
6 .\" without limitation the rights to use, copy, modify, merge, publish,
7 .\" distribute, sublicense, and/or sell copies of the Software, and to
8 .\" permit persons to whom the Software is furnished to do so, subject to
9 .\" the following conditions:
10 .\"
11 .\" The above copyright notice and this permission notice shall be
12 .\" included in all copies or substantial portions of the Software.
13 .\"
14 .\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 .\" EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 .\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 .\" NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18 .\" LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19 .\" OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20 .\" WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21 .\"
22 .Dd Jun 05, 2016
23 .Dt PIPEGLADE 1 PRM
24 .Os BSD
25 .Sh NAME
26 .Nm pipeglade
27 .Nd pipe-driven GTK+ interface
28 .Sh SYNOPSIS
29 .Nm
30 .Oo
31 .Op Fl i Ar in-fifo
32 .Op Fl o Ar out-fifo
33 .Op Fl b
34 .Op Fl u Ar builder-file
35 .Op Fl e Ar parent-xid
36 .Op Fl l Ar log-file
37 .Op Fl O Ar err-file
38 .Op Fl -display Ar X-server
39 .Oc |
40 .Op Fl h | G | V
41 .Sh DESCRIPTION
42 .Nm
43 is a helper program that displays graphical user
44 interfaces for other programs.
45 It renders the GUI definition found in a GtkBuilder XML file
46 (typically created using the
47 .Xr glade 1
48 interface designer), and communicates with the main program solely
49 through plain text messages via pipes or fifos.
50 It provides access to a subset of features of a subset of widgets of
51 GTK+ 3.
52 Simple one-shot dialogs as well as more complex, long-running programs
53 can be built using
54 .Nm ;
55 see
56 .Sx EXAMPLES .
57 .Sh OPTIONS
58 .Bl -tag -width Ds
59 .It Fl i Ar in-fifo
60 Creates a named pipe
61 .Ar in-fifo
62 if necessary, sets its permissions to
63 .Li 0600 ,
64 and uses it for command input.
65 .Pp
66 A command is a line of text.
67 Its format is
68 .Qq Ar id Ns Cm \&: Ns Ar action Bq Ar data ,
69 .Ar id
70 being the name of the receiving widget;
71 .Ar data
72 is separated from the rest of the command by a single whitespace
73 character.
74 Commands whose first non-whitespace character is
75 .Cm #
76 are considered comments and ignored silently, as are empty input lines.
77 Any occurences of the two-character sequences
78 .Cm \en
79 and
80 .Cm \er
81 will be converted into newline or carriage return, respectively.
82 Every other character following a backslash will be left unchanged,
83 but the backslash will be removed.
84 Invalid commands are reported on
85 .Va stderr
86 and are otherwise ignored.
87 See
88 .Sx WIDGETS
89 for applicable commands.
90 .Pp
91 It is an error if
92 .Ar in-fifo
93 exists but is not a named pipe.
94 The named pipe
95 .Ar in-fifo
96 is deleted upon successful program termination.
97 .Pp
98 Default command input is
99 .Va stdin .
100 .It Fl o Ar out-fifo
101 Creates a named pipe
102 .Ar out-fifo
103 if necessary, sets its permissions to
104 .Li 0600 ,
105 and uses it for output of feedback messages from the
106 graphical user interface.
108 A feedback message is a line of text; its format is
109 .Qq Ar id Ns Cm \&: Ns Ar info Bq Ar data ,
110 .Ar id
111 being the name of the sending widget.
113 .Sx WIDGETS
114 for possible feedback messages.
116 It is an error if
117 .Ar out-fifo
118 exists but is not a named pipe.
119 The named pipe
120 .Ar out-fifo
121 is deleted upon successful program termination.
123 Default feedback-message output is
124 .Va stdout .
125 .It Fl b
126 Runs
128 in the background after printing its process ID to
129 .Va stdout .
131 It is an error if option
132 .Fl b
133 is used and not both
134 .Fl i Ar in-fifo
136 .Fl o Ar out-fifo
137 are specified.
138 .It Fl u Ar builder-file
139 Displays the graphical user interface
140 .Ar builder-file
141 which should be created using the
142 .Xr glade 1
143 user interface designer and saved in GtkBuilder (.ui) format.
144 Widget ids should consist of alphanumeric ASCII characters including
145 hyphens and underscores.
146 The main window must must be given the id
147 .Cm main .
149 Default is
150 .Pa ./pipeglade.ui .
151 .It Fl e Ar parent-xid
152 Embeds the main window into the XEmbed socket
153 .Ar parent-xid
154 of another process.
155 .It Fl l Ar log-file
156 Appends for each command a line of
157 .Qq Ar time activity
159 .Ar log-file ,
160 .Ar time
161 being the number of microseconds elapsed during
162 .Ar activity .
163 .Ar time
165 .Ar activity
166 are separated by a tab character.
167 Permissions of
168 .Ar log-file
169 are set to
170 .Li 0600 .
172 .Ar log-file
173 name of
174 .Ql -
175 means
176 .Va stderr .
177 .It Fl O Ar err-file
178 Redirects
179 .Va stderr ,
180 appending its output to
181 .Ar err-file .
182 Permissions of
183 .Ar err-file
184 are set to
185 .Li 0600 .
186 .It Fl -display Ar X-server
187 Uses the display on
188 .Ar X-server
189 for user interaction.
190 .It Fl h
191 Prints a help message and exits.
192 .It Fl G
193 Prints the versions of the underlying GTK+ and cairo libraries and
194 exits.
195 .It Fl V
196 Prints the
198 version and exits.
200 .Sh WIDGETS
201 The widget classes able to communicate through
204 .Sx GtkButton ,
205 .Sx GtkCalendar ,
206 .Sx GtkCheckButton ,
207 .Sx GtkColorButton ,
208 .Sx GtkComboBoxText ,
209 .Sx GtkDialog ,
210 .Sx GtkDrawingArea ,
211 .Sx GtkEntry ,
212 .Sx GtkEventBox ,
213 .Sx GtkExpander ,
214 .Sx GtkFileChooserButton ,
215 .Sx GtkFileChooserDialog ,
216 .Sx GtkFontButton ,
217 .Sx GtkFrame ,
218 .Sx GtkImage ,
219 .Sx GtkLabel ,
220 .Sx GtkMenuItem, GtkImageMenuItem ,
221 .Sx GtkNotebook ,
222 .Sx GtkPrintUnixDialog ,
223 .Sx GtkProgressBar ,
224 .Sx GtkRadioButton ,
225 .Sx GtkScale ,
226 .Sx GtkScrolledWindow
227 .Sx GtkSocket ,
228 .Sx GtkSpinButton ,
229 .Sx GtkSpinner ,
230 .Sx GtkStatusbar ,
231 .Sx GtkSwitch ,
232 .Sx GtkTextView ,
233 .Sx GtkToggleButton ,
234 .Sx GtkTreeView ,
235 .Sx GtkTreeViewColumn ,
237 .Sx GtkWindow .
240 references a widget by the
241 .Ar id
242 attribute it is given in Glade.
243 In the
244 .Pa .ui
245 file, a
246 .Cm GtkWindow
247 named
248 .Li foo
249 would appear as
250 .Dl <object class="GtkWindow" id="foo"> .
251 .Ss Unspecific Widget
252 .Bl -tag -width "commands "
253 .It Commands
255 .Qq Ar id Ns Cm :load Ar file
256 reads arbitrary
258 commands from
259 .Ar file .
260 A non-empty
261 .Ar id
262 is required but ignored.
263 .Cm :load
264 commands may be nested but on attempts to read from the same file, the
265 inner
266 .Cm :load
267 is ignored.
268 There is also a
269 .Cm :save
270 command; see
271 .Sx GtkTextView
273 .Sx GtkTreeView .
275 .Qq Ar id Ns Cm :main_quit
276 kills the user interface.
277 A non-empty
278 .Ar id
279 is required but ignored.
281 .Ss GtkButton
282 .Bl -tag -width "commands "
283 .It Commands
284 .Qq Ar id Ns Cm :set_label Ar string
285 replaces the button text with
286 .Ar string .
288 .Qq Ar id Ns Cm :grab_focus
289 puts the keyboard focus onto the button.
291 .Qq Ar id Ns Cm :set_sensitive Brq Cm 0 Ns | Ns Cm 1
292 makes the button grayed out
293 .Pq Cm 0
294 or responsive
295 .Pq Cm 1 .
297 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
298 hides
299 .Pq Cm 0
300 the widget, or makes it visible
301 .Pq Cm 1 .
303 .Qq Ar id Ns Cm :block Brq Cm 0 Ns | Ns Cm 1
304 blocks
305 .Pq Cm 1
306 or unblocks
307 .Pq Cm 0
308 feedback messages.
309 Initially, the button is unblocked.
311 .Qq Ar id Ns Cm :set_tooltip_text Bq Ar text
312 sets the button's tooltip.
313 Default is disabling the tooltip.
315 .Qq Ar id Ns Cm :force
316 simulates a click on the button.
318 .Qq Ar id Ns Cm :snapshot Ar file Ns Brq Cm .ps Ns | Ns Cm .eps Ns | Ns Cm .epsf Ns | Ns Cm .pdf Ns | Ns Cm .svg
319 writes a snapshot of the button to an image file of the specified
320 type.
322 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
323 sets the button's minimum size to
324 .Ar width
326 .Ar height .
327 Default is the button's natural size.
330 .Ar id Ns Cm :style
331 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
333 sets the style.
335 .Sx Style .
336 .It Feedback
337 .Qq Ar id Ns Cm \&:clicked
339 .Cm GtkButton Ns
340 s with ids ending in
341 .Cm _ok , _apply , _cancel , _send_text ,
343 .Cm _send_selection
344 may work differently; see
345 .Sx GtkDialog , GtkFileChooserDialog ,
347 .Sx GtkTextView
348 for details.
350 .Ss GtkCalendar
351 .Bl -tag -width "commands "
352 .It Commands
353 .Qq Ar id Ns Cm :select_date Ar yyyy Ns Cm - Ns Ar mm Ns Cm - Ns Ar dd
354 selects the date on the calendar.
356 .Qq Ar id Ns Cm :mark_day Ar day
357 marks
358 .Ar day Pq 1-31
359 on the calendar.
361 .Qq Ar id Ns Cm :clear_marks
362 unmarks all days on the calendar.
364 .Qq Ar id Ns Cm :set_sensitive Brq Cm 0 Ns | Ns Cm 1
365 makes the calendar grayed out
366 .Pq Cm 0
367 or responsive
368 .Pq Cm 1 .
370 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
371 hides
372 .Pq Cm 0
373 the calendar, or makes it visible
374 .Pq Cm 1 .
376 .Qq Ar id Ns Cm :block Brq Cm 0 Ns | Ns Cm 1
377 blocks
378 .Pq Cm 1
379 or unblocks
380 .Pq Cm 0
381 feedback messages.
382 Initially, the calendar is unblocked.
384 .Qq Ar id Ns Cm :set_tooltip_text Bq Ar text
385 sets the calendar's tooltip.
386 Default is disabling the tooltip.
388 .Qq Ar id Ns Cm :force
389 simulates a click on the currently selected date.
391 .Qq Ar id Ns Cm :snapshot Ar file Ns Brq Cm .ps Ns | Ns Cm .eps Ns | Ns Cm .epsf Ns | Ns Cm .pdf Ns | Ns Cm .svg
392 writes a snapshot of the calendar to an image file of the specified
393 type.
395 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
396 sets the calendar's minimum size to
397 .Ar width
399 .Ar height .
400 Default is the widget's natural size.
403 .Ar id Ns Cm :style
404 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
406 sets the calendar's style.
408 .Sx Style .
409 .It Feedback
410 .Qq Ar id Ns Cm \&:clicked Ar yyyy Ns Cm - Ns Ar mm Ns Cm - Ns Ar dd
412 .Qq Ar id Ns Cm \&:doubleclicked Ar yyyy Ns Cm - Ns Ar mm Ns Cm - Ns Ar dd
414 .Ss GtkCheckButton
415 .Bl -tag -width "commands "
416 .It Commands
417 .Qq Ar id Ns Cm :set_active Brq Cm 0 Ns | Ns Cm 1
418 switches the check mark off
419 .Pq Cm 0
420 or on
421 .Pq Cm 1 .
423 .Qq Ar id Ns Cm :set_label Ar string
424 replaces the button text with
425 .Ar string .
427 .Qq Ar id Ns Cm :grab_focus
428 puts the keyboard focus onto the button.
430 .Qq Ar id Ns Cm :set_sensitive Brq Cm 0 Ns | Ns Cm 1
431 makes the button grayed out
432 .Pq Cm 0
433 or responsive
434 .Pq Cm 1 .
436 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
437 hides
438 .Pq Cm 0
439 the button, or makes it visible
440 .Pq Cm 1 .
442 .Qq Ar id Ns Cm :block Brq Cm 0 Ns | Ns Cm 1
443 blocks
444 .Pq Cm 1
445 or unblocks
446 .Pq Cm 0
447 feedback messages.
448 Initially, the button is unblocked.
450 .Qq Ar id Ns Cm :set_tooltip_text Bq Ar text
451 sets the button's tooltip.
452 Default is disabling the tooltip.
454 .Qq Ar id Ns Cm :force
455 simulates a click on the button.
457 .Qq Ar id Ns Cm :snapshot Ar file Ns Brq Cm .ps Ns | Ns Cm .eps Ns | Ns Cm .epsf Ns | Ns Cm .pdf Ns | Ns Cm .svg
458 writes a snapshot of the button to an image file of the specified
459 type.
461 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
462 sets the button's minimum size to
463 .Ar width
465 .Ar height .
466 Default is the widget's natural size.
469 .Ar id Ns Cm :style
470 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
472 sets the button's style.
474 .Sx Style .
475 .It Feedback
476 .Qq Ar id Ns Cm \&:1
477 if switched on, or
478 .Qq Ar id Ns Cm \&:0
479 otherwise.
481 .Ss GtkColorButton
482 .Bl -tag -width "commands "
483 .It Commands
484 .Qq Ar id Ns Cm :set_color Ar color
485 preselects the color; see
486 .Sx Color .
488 .Qq Ar id Ns Cm :grab_focus
489 puts the keyboard focus onto the button.
491 .Qq Ar id Ns Cm :set_sensitive Brq Cm 0 Ns | Ns Cm 1
492 makes the button grayed out
493 .Pq Cm 0
494 or responsive
495 .Pq Cm 1 .
497 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
498 hides
499 .Pq Cm 0
500 the button, or makes it visible
501 .Pq Cm 1 .
503 .Qq Ar id Ns Cm :block Brq Cm 0 Ns | Ns Cm 1
504 blocks
505 .Pq Cm 1
506 or unblocks
507 .Pq Cm 0
508 feedback messages.
509 Initially, the button is unblocked.
511 .Qq Ar id Ns Cm :set_tooltip_text Bq Ar text
512 sets the button's tooltip.
513 Default is disabling the tooltip.
515 .Qq Ar id Ns Cm :force
516 opens the dialog window.
518 .Qq Ar id Ns Cm :snapshot Ar file Ns Brq Cm .ps Ns | Ns Cm .eps Ns | Ns Cm .epsf Ns | Ns Cm .pdf Ns | Ns Cm .svg
519 writes a snapshot of the button to an image file of the specified
520 type.
522 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
523 sets the button's minimum size to
524 .Ar width
526 .Ar height .
527 Default is the widget's natural size.
530 .Ar id Ns Cm :style
531 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
533 sets the button's style.
535 .Sx Style .
536 .It Feedback
537 .Qq Ar id Ns Cm \&:color Cm rgb( Ns Ar red Ns Cm \&, Ns Ar green Ns Cm \&, Ns Ar blue Ns Cm \&)
539 .Qq Ar id Ns Cm \&:color Cm rgba( Ns Ar red Ns Cm \&, Ns Ar green Ns Cm \&, Ns Ar blue Ns Cm \&, Ns Ar alpha Ns Cm \&) .
540 .Ar red , green ,
542 .Ar blue
543 lie between 0 and 255, and
544 .Ar alpha
545 between 0 and 1.
547 .Ss GtkComboBoxText
549 .Cm GtkComboBoxText
550 should contain a
551 .Cm GtkEntry .
552 .Bl -tag -width "commands "
553 .It Commands
554 .Qq Ar id Ns Cm :prepend_text Ar string
556 .Qq Ar id Ns Cm :append_text Ar string
557 prepend/append a new selectable item marked
558 .Ar string .
560 .Qq Ar id Ns Cm :insert_text Ar position string
561 inserts item
562 .Ar string
564 .Ar position .
566 .Qq Ar id Ns Cm :remove Ar position
567 removes the item at
568 .Ar position .
570 .Qq Ar id Ns Cm :grab_focus
571 puts the keyboard focus onto the combo box.
573 .Qq Ar id Ns Cm :set_sensitive Brq Cm 0 Ns | Ns Cm 1
574 makes the combo box grayed out
575 .Pq Cm 0
576 or responsive
577 .Pq Cm 1 .
579 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
580 hides
581 .Pq Cm 0
582 the combo box, or makes it visible
583 .Pq Cm 1 .
585 .Qq Ar id Ns Cm :block Brq Cm 0 Ns | Ns Cm 1
586 blocks
587 .Pq Cm 1
588 or unblocks
589 .Pq Cm 0
590 feedback messages.
591 Initially, the combo box is unblocked.
593 .Qq Ar id Ns Cm :set_tooltip_text Bq Ar text
594 sets the tooltip.
595 Default is disabling the tooltip.
597 .Qq Ar id Ns Cm :snapshot Ar file Ns Brq Cm .ps Ns | Ns Cm .eps Ns | Ns Cm .epsf Ns | Ns Cm .pdf Ns | Ns Cm .svg
598 writes a snapshot of the combo box to an image file of the specified
599 type.
601 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
602 sets the combo box's minimum size to
603 .Ar width
605 .Ar height .
606 Default is the natural size.
609 .Ar id Ns Cm :style
610 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
612 sets the style.
614 .Sx Style .
615 .It Feedback
616 .Qq Ar entry_id Ns Cm \&:text Ar text ,
617 .Ar entry_id
618 being the id of the child
619 .Cm GtkEntry .
621 .Ss GtkDialog
623 .Cm GtkDialog
624 with id
625 .Ar foo
626 will be invoked by a
627 .Sx GtkMenuItem
628 or a
629 .Sx GtkImageMenuItem
630 with id
631 .Ar foo Ns Cm _invoke .
634 .Cm GtkDialog
635 should have a
636 .Sq Cancel
637 .Sx GtkButton
638 with id
639 .Ar foo Ns Cm _cancel
640 .Po Cm main_cancel
641 if the dialog is the sole window of the GUI and therefore named
642 .Cm main
643 .Pc .
645 If the
646 .Cm GtkDialog
647 has an
648 .Sq Ok
649 .Sx GtkButton
650 with id
651 .Ar foo Ns Cm _ok ,
652 it will take care of hiding the dialog window.
653 .Bl -tag -width "commands "
654 .It Commands
655 .Qq Ar id Ns Cm :set_title Ar string
656 replaces the text in the title bar with
657 .Ar string .
659 .Qq Ar id Ns Cm :resize Bq Ar width height
660 changes the size of the dialog window to
661 .Ar width
663 .Ar height
664 pixels if specified, or to the default size.
666 .Qq Ar id Ns Cm :move Ar x y
667 moves the dialog window to position
668 .Pq Ar x , y .
670 .Qq Ar id Ns Cm :fullscreen
672 .Qq Ar id Ns Cm :unfullscreen
673 switch fullscreen mode on and off.
675 .Qq Ar id Ns Cm :set_sensitive Brq Cm 0 Ns | Ns Cm 1
676 makes the dialog grayed out
677 .Pq Cm 0
678 or responsive
679 .Pq Cm 1 .
681 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
682 hides
683 .Pq Cm 0
684 the dialog, or makes it visible
685 .Pq Cm 1 .
687 .Qq Ar id Ns Cm :block Brq Cm 0 Ns | Ns Cm 1
688 blocks
689 .Pq Cm 1
690 or unblocks
691 .Pq Cm 0
692 feedback messages from the dialog window.
693 Initially, the window is unblocked.
695 .Qq Ar id Ns Cm :set_tooltip_text Bq Ar text
696 sets the dialog window's tooltip.
697 Default is disabling the tooltip.
699 .Qq Ar id Ns Cm :snapshot Ar file Ns Brq Cm .ps Ns | Ns Cm .eps Ns | Ns Cm .epsf Ns | Ns Cm .pdf Ns | Ns Cm .svg
700 writes a snapshot of the dialog window to an image file of the
701 specified type.
703 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
704 sets the dialog window's minimum size to
705 .Ar width
707 .Ar height .
708 Default is its natural size.
711 .Ar id Ns Cm :style
712 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
714 sets the dialog window's style.
716 .Sx Style .
717 .It Feedback
718 .Qq Ar id Ns Cm \&:closed
719 if the
720 .Cm GtkDialog
721 window was closed by the window manager.
723 .Ss GtkDrawingArea
724 Drawing commands
725 expect a context parameter of the form
726 .Bro Ar n Ns | Ns Cm = Ns Ar n Ns | Ns Ar n Ns Cm < Ns Ar m Brc
727 where
728 .Ar n
729 is an arbitrary non-negative integer that can be used later to
730 reference the command.
731 The first form,
732 .Ar n ,
733 appends its command to the current list of drawing operations.
734 The second form,
735 .Cm = Ns Ar n ,
736 replaces the first drawing operation with context parameter
737 .Ar n
738 by the new command.
739 The third form,
740 .Ar n Ns Cm < Ns Ar m ,
741 inserts its command before the first drawing operation with context
742 parameter
743 .Ar m .
744 Both second and third form fall back to appending.
746 The default coordinate system is a left-handed system with its origin
747 in the upper-left corner.
748 Angles increase from the positive X axis towards the positve Y axis
749 .Pq clockwise in the default system .
750 .Bl -tag -width "commands "
751 .It Commands
752 .Qq Ar id Ns Cm :arc Bro Ar n Ns | Ns Cm = Ns Ar n Ns | Ns Ar n Ns Cm < Ns Ar m Brc x y radius angle1 angle2
753 adds a circular arc to the current path.
754 The arc is centered at
755 .Pq Ar x , y
756 and proceeds from
757 .Ar angle1
759 .Ar angle2
760 .Pq in degrees .
762 .Qq Ar id Ns Cm :arc_negative Bro Ar n Ns | Ns Cm = Ns Ar n Ns | Ns Ar n Ns Cm < Ns Ar m Brc x y radius angle1 angle2
763 adds a circular arc to the current path.
764 The arc is centered at
765 .Pq Ar x , y
766 and proceeds in the direction of decreasing angles from
767 .Ar angle1
769 .Ar angle2
770 .Pq in degrees .
772 .Qq Ar id Ns Cm :close_path Bro Ar n Ns | Ns Cm = Ns Ar n Ns | Ns Ar n Ns Cm < Ns Ar m Brc
773 adds a line segment from the current point to the point most recently
774 passed to
775 .Ar id Ns Cm :move_to
777 .Ar id Ns Cm :rel_move_to .
779 .Qq Ar id Ns Cm :curve_to Bro Ar n Ns | Ns Cm = Ns Ar n Ns | Ns Ar n Ns Cm < Ns Ar m Brc x1 y1 x2 y2 x3 y3
780 adds a cubic Bezier spline from the current point to
781 .Pq Ar x3 , y3 ,
782 using
783 .Pq Ar x1 , y1
785 .Pq Ar x2 , y2
786 as control points.
787 If there is no current point, the curve will start at
788 .Pq Ar x1 , y1 .
790 .Qq Ar id Ns Cm :fill Bro Ar n Ns | Ns Cm = Ns Ar n Ns | Ns Ar n Ns Cm < Ns Ar m Brc
791 fills the current path and clears it.
793 .Qq Ar id Ns Cm :fill_preserve Bro Ar n Ns | Ns Cm = Ns Ar n Ns | Ns Ar n Ns Cm < Ns Ar m Brc
794 fills the current path without clearing it.
796 .Qq Ar id Ns Cm :line_to Bro Ar n Ns | Ns Cm = Ns Ar n Ns | Ns Ar n Ns Cm < Ns Ar m Brc x y
797 adds a line from the current point to
798 .Pq Ar x , y ,
799 or creates a new current point at
800 .Pq Ar x , y .
802 .Qq Ar id Ns Cm :move_to Bro Ar n Ns | Ns Cm = Ns Ar n Ns | Ns Ar n Ns Cm < Ns Ar m Brc x y
803 sets the current point to
804 .Pq Ar x , y .
806 .Qq Ar id Ns Cm :rectangle Bro Ar n Ns | Ns Cm = Ns Ar n Ns | Ns Ar n Ns Cm < Ns Ar m Brc x y width height
807 adds a rectangle to the current path.
808 The top left corner is at
809 .Pq Ar x , y .
811 .Qq Ar id Ns Cm :rel_curve_to Bro Ar n Ns | Ns Cm = Ns Ar n Ns | Ns Ar n Ns Cm < Ns Ar m Brc dx1 dy1 dx2 dy2 dx3 dy3
812 adds a cubic Bezier spline from the current point to
813 .Pq Ar dx3 , dy3 ,
814 using
815 .Pq Ar dx1 , dy1
817 .Pq Ar dx2 , dy2
818 as control points.
819 All coordinates are offsets relative to the current point.
821 .Qq Ar id Ns Cm :rel_line_to Bro Ar n Ns | Ns Cm = Ns Ar n Ns | Ns Ar n Ns Cm < Ns Ar m Brc dx dy
822 adds a line from the current point to a point offset from there by
823 .Pq Ar dx , dy .
825 .Qo Ar id Ns Cm :rel_move_for Bro Ar n Ns | Ns Cm = Ns Ar n Ns | Ns Ar n Ns Cm < Ns Ar m Brc
826 .Brq Cm c Ns | Ns Cm e Ns | Ns Cm n Ns | Ns Cm ne Ns | Ns Cm nw Ns | Ns Cm s Ns | Ns Cm se Ns | Ns Cm sw Ns | Ns Cm w
827 .Ar text
829 moves the current point such that
830 .Qq Ar id Ns Cm :show_text Ar n text
831 will place the specified reference point of
832 .Ar text
833 on the original current point.
835 .Qq Ar id Ns Cm :rel_move_to Bro Ar n Ns | Ns Cm = Ns Ar n Ns | Ns Ar n Ns Cm < Ns Ar m Brc dx dy
836 moves the current point by
837 .Pq Ar dx , dy .
839 .Qq Ar id Ns Cm :remove Ar n
840 removes the elements with context parameter
841 .Ar n
842 from the
843 .Cm GtkDrawingArea Ar id .
845 .Qq Ar id Ns Cm :rotate Bro Ar n Ns | Ns Cm = Ns Ar n Ns | Ns Ar n Ns Cm < Ns Ar m Brc Ar angle
846 rotates the user space axes by
847 .Ar angle
848 .Pq in degrees .
850 .Qq Ar id Ns Cm :scale Bro Ar n Ns | Ns Cm = Ns Ar n Ns | Ns Ar n Ns Cm < Ns Ar m Brc Ar sx sy
851 scales the user space axes by
852 .Pq Ar sx , sy .
854 .Qq Ar id Ns Cm :set_dash Bro Ar n Ns | Ns Cm = Ns Ar n Ns | Ns Ar n Ns Cm < Ns Ar m Brc l
855 sets the dash pattern to
856 .Ar l
858 .Ar l
859 off.
861 .Qq Ar id Ns Cm :set_dash Bro Ar n Ns | Ns Cm = Ns Ar n Ns | Ns Ar n Ns Cm < Ns Ar m Brc l1on l1off l2on l2off ...
862 resets the dash pattern to a line with arbitrary on/off portions.
864 .Qq Ar id Ns Cm :set_dash Bro Ar n Ns | Ns Cm = Ns Ar n Ns | Ns Ar n Ns Cm < Ns Ar m Brc
865 resets the dash pattern to a solid line.
867 .Qo Ar id Ns Cm :set_font_face Bro Ar n Ns | Ns Cm = Ns Ar n Ns | Ns Ar n Ns Cm < Ns Ar m Brc
868 .Brq Cm normal | italic | oblique
869 .Brq Cm normal | bold
870 .Bq Cm family
872 sets the font face for subsequent calls of
873 .Ar id Ns Cm :show_text .
875 .Qq Ar id Ns Cm :set_font_size Bro Ar n Ns | Ns Cm = Ns Ar n Ns | Ns Ar n Ns Cm < Ns Ar m Brc size
876 sets the font size for subsequent calls of
877 .Ar id Ns Cm :show_text .
879 .Qq Ar id Ns Cm :set_line_cap Bro Ar n Ns | Ns Cm = Ns Ar n Ns | Ns Ar n Ns Cm < Ns Ar m Brc Brq Cm butt | round | square
880 sets the line cap style.
881 Default is
882 .Cm butt .
884 .Qq Ar id Ns Cm :set_line_join Bro Ar n Ns | Ns Cm = Ns Ar n Ns | Ns Ar n Ns Cm < Ns Ar m Brc Brq Cm miter | round | bevel
885 sets the line junction style.
886 Default is
887 .Cm miter .
889 .Qq Ar id Ns Cm :set_line_width Bro Ar n Ns | Ns Cm = Ns Ar n Ns | Ns Ar n Ns Cm < Ns Ar m Brc width
890 sets the line width.
891 Default
892 .Ar width
893 is 2.
895 .Qq Ar id Ns Cm :set_source_rgba Bro Ar n Ns | Ns Cm = Ns Ar n Ns | Ns Ar n Ns Cm < Ns Ar m Brc color
896 sets the color.
897 .Ar color
898 is in the format used with
899 .Sx GtkColorButton .
901 .Qq Ar id Ns Cm :show_text Bro Ar n Ns | Ns Cm = Ns Ar n Ns | Ns Ar n Ns Cm < Ns Ar m Brc text
902 writes
903 .Ar text ,
904 beginning at the current point.
906 .Qq Ar id Ns Cm :stroke Bro Ar n Ns | Ns Cm = Ns Ar n Ns | Ns Ar n Ns Cm < Ns Ar m Brc
907 strokes the current path and clears it.
909 .Qq Ar id Ns Cm :stroke_preserve Bro Ar n Ns | Ns Cm = Ns Ar n Ns | Ns Ar n Ns Cm < Ns Ar m Brc
910 strokes the current path without clearing it.
912 .Qq Ar id Ns Cm :transform Bro Ar n Ns | Ns Cm = Ns Ar n Ns | Ns Ar n Ns Cm < Ns Ar m Brc Bq Ar xx yx xy yy x0 y0
913 modifies the current transformation matrix such that
915 .Dl Va x' Li = Ar xx Va x Li + Ar xy Va y Li + Ar x0 ,
916 .Dl Va y' Li = Ar yx Va y Li + Ar yy Va y Li + Ar y0 .
918 Default is resetting the current transformation matrix.
920 .Qq Ar id Ns Cm :translate Bro Ar n Ns | Ns Cm = Ns Ar n Ns | Ns Ar n Ns Cm < Ns Ar m Brc Ar tx ty
921 translates the user space origin by
922 .Pq Ar tx , ty .
924 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
925 hides
926 .Pq Cm 0
927 the drawing area, or makes it visible
928 .Pq Cm 1 .
930 .Qq Ar id Ns Cm :set_tooltip_text Bq Ar text
931 sets the drawing area's tooltip.
932 Default is disabling the tooltip.
934 .Qq Ar id Ns Cm :snapshot Ar file Ns Brq Cm .ps Ns | Ns Cm .eps Ns | Ns Cm .epsf Ns | Ns Cm .pdf Ns | Ns Cm .svg
935 writes a snapshot of the drawing area to an image file of the specified
936 type.
938 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
939 sets the drawing areas's minimum size to
940 .Ar width
942 .Ar height .
943 Default is the natural size.
944 .It Feedback
945 none
947 .Ss GtkEntry
948 .Bl -tag -width "commands "
949 .It Commands
950 .Qq Ar id Ns Cm :set_text Ar string
951 replaces the user-editable text with
952 .Ar string .
954 .Qq Ar id Ns Cm :set_placeholder_text Ar string
955 sets the
956 .Ar string
957 that is displayed when the entry is empty and unfocused.
959 .Qq Ar id Ns Cm :grab_focus
960 puts the keyboard focus into the entry.
962 .Qq Ar id Ns Cm :set_sensitive Brq Cm 0 Ns | Ns Cm 1
963 makes the entry grayed out
964 .Pq Cm 0
965 or responsive
966 .Pq Cm 1 .
968 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
969 hides
970 .Pq Cm 0
971 the entry, or makes it visible
972 .Pq Cm 1 .
974 .Qq Ar id Ns Cm :block Brq Cm 0 Ns | Ns Cm 1
975 blocks
976 .Pq Cm 1
977 or unblocks
978 .Pq Cm 0
979 feedback messages.
980 Initially, the entry is unblocked.
982 .Qq Ar id Ns Cm :set_tooltip_text Bq Ar text
983 sets the entry's tooltip.
984 Default is disabling the tooltip.
986 .Qq Ar id Ns Cm :force
987 lets the entry report its current content.
989 .Qq Ar id Ns Cm :snapshot Ar file Ns Brq Cm .ps Ns | Ns Cm .eps Ns | Ns Cm .epsf Ns | Ns Cm .pdf Ns | Ns Cm .svg
990 writes a snapshot of the entry to an image file of the specified
991 type.
993 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
994 sets the entry's minimum size to
995 .Ar width
997 .Ar height .
998 Default is the entry's natural size.
1001 .Ar id Ns Cm :style
1002 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
1004 sets the style.
1006 .Sx Style .
1007 .It Feedback
1008 .Qq Ar id Ns Cm \&:text Ar text ,
1009 once for each change of
1010 .Ar text .
1012 .Ss GtkEventBox
1013 .Ar x , y
1014 are mouse pointer coordinates relative to the
1015 .Cm GtkEventBox .
1016 .Bl -tag -width "commands "
1017 .It Commands
1018 .Qq Ar id Ns Cm :grab_focus
1019 puts the keyboard focus onto the event box.
1021 .Qq Ar id Ns Cm :set_sensitive Brq Cm 0 Ns | Ns Cm 1
1022 makes the event box insensitive
1023 .Pq Cm 0
1024 or responsive
1025 .Pq Cm 1 .
1027 .Qq Ar id Ns Cm :block Brq Cm 0 Ns | Ns Cm 1
1028 blocks
1029 .Pq Cm 1
1030 or unblocks
1031 .Pq Cm 0
1032 feedback messages.
1033 Initially, the event box is unblocked.
1035 .Qq Ar id Ns Cm :set_tooltip_text Bq Ar text
1036 sets the tooltip of the event box.
1037 Default is disabling the tooltip.
1039 .Qq Ar id Ns Cm :snapshot Ar file Ns Brq Cm .ps Ns | Ns Cm .eps Ns | Ns Cm .epsf Ns | Ns Cm .pdf Ns | Ns Cm .svg
1040 writes a snapshot of the event box to an image file of the specified
1041 type.
1043 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
1044 sets the minimum size to
1045 .Ar width
1047 .Ar height .
1048 Default is the natural size of the event box.
1051 .Ar id Ns Cm :style
1052 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
1054 sets the widget style.
1056 .Sx Style .
1057 .It Feedback
1058 .Qq Ar id Ns Cm \&:button_press Ar b x y ,
1059 .Qq Ar id Ns Cm \&:button_release Ar b x y
1060 where
1061 .Ar b
1062 is the mouse button (normally 1, 2, or 3 for the left, middle, and
1063 right button; others may exist).
1065 .Qq Ar id Ns Cm \&:motion Ar x y
1066 is reported repeatedly while the mouse is being moved with a button
1067 pressed.
1069 .Qq Ar id Ns Cm \&:key_press Ar key ,
1070 .Ar key
1071 being the key's name
1072 .Po e.g.
1073 .Ql Control_L ,
1074 .Ql Tab ,
1075 .Ql a
1076 .Pc .
1078 .Ss GtkExpander
1079 .Bl -tag -width "commands "
1080 .It Commands
1081 .Qq Ar id Ns Cm :set_label Ar string
1082 replaces the expander label text with
1083 .Ar string .
1085 .Qq Ar id Ns Cm :set_expanded Brq Cm 0 Ns | Ns  1
1086 hides
1087 .Pq Cm 0
1088 the child widget, or makes it visible
1089 .Pq Cm 1 .
1091 .Qq Ar id Ns Cm :grab_focus
1092 puts the keyboard focus onto the expander.
1094 .Qq Ar id Ns Cm :set_sensitive Brq Cm 0 Ns | Ns Cm 1
1095 makes the expander grayed out
1096 .Pq Cm 0
1097 or responsive
1098 .Pq Cm 1 .
1100 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
1101 hides
1102 .Pq Cm 0
1103 the expander, or makes it visible
1104 .Pq Cm 1 .
1106 .Qq Ar id Ns Cm :set_tooltip_text Bq Ar text
1107 sets the expander's tooltip.
1108 Default is disabling the tooltip.
1110 .Qq Ar id Ns Cm :force
1111 toggles the expansion state.
1113 .Qq Ar id Ns Cm :snapshot Ar file Ns Brq Cm .ps Ns | Ns Cm .eps Ns | Ns Cm .epsf Ns | Ns Cm .pdf Ns | Ns Cm .svg
1114 writes a snapshot of the expander to an image file of the specified
1115 type.
1117 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
1118 sets the expander's minimum size to
1119 .Ar width
1121 .Ar height .
1122 Default is the natural size.
1125 .Ar id Ns Cm :style
1126 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
1128 sets the style.
1130 .Sx Style .
1131 .It Feedback
1132 none
1134 .Ss GtkFileChooserButton
1135 .Bl -tag -width "commands "
1136 .It Commands
1137 .Qq Ar id Ns Cm :set_filename Ar path
1138 preselects
1139 .Ar path
1140 to the extent it exists.
1142 .Qq Ar id Ns Cm :grab_focus
1143 puts the keyboard focus onto the button.
1145 .Qq Ar id Ns Cm :set_sensitive Brq Cm 0 Ns | Ns Cm 1
1146 makes the button grayed out
1147 .Pq Cm 0
1148 or responsive
1149 .Pq Cm 1 .
1151 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
1152 hides
1153 .Pq Cm 0
1154 the button, or makes it visible
1155 .Pq Cm 1 .
1157 .Qq Ar id Ns Cm :block Brq Cm 0 Ns | Ns Cm 1
1158 blocks
1159 .Pq Cm 1
1160 or unblocks
1161 .Pq Cm 0
1162 feedback messages.
1163 Initially, the button is unblocked.
1165 .Qq Ar id Ns Cm :set_tooltip_text Bq Ar text
1166 sets the button's tooltip.
1167 Default is disabling the tooltip.
1169 .Qq Ar id Ns Cm :force
1170 simulates fresh selection of the currently selected pathname.
1172 .Qq Ar id Ns Cm :snapshot Ar file Ns Brq Cm .ps Ns | Ns Cm .eps Ns | Ns Cm .epsf Ns | Ns Cm .pdf Ns | Ns Cm .svg
1173 writes a snapshot of the button to an image file of the specified
1174 type.
1176 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
1177 sets the button's minimum size to
1178 .Ar width
1180 .Ar height .
1181 Default is the widget's natural size.
1184 .Ar id Ns Cm :style
1185 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
1187 sets the style.
1189 .Sx Style .
1190 .It Feedback
1191 .Qq Ar id Ns Cm \&:file Ar pathname
1192 if the selection has changed.
1194 .Ss GtkFileChooserDialog
1196 .Cm GtkFileChooserDialog
1197 with id
1198 .Ar foo
1199 will be invoked by a
1200 .Sx GtkMenuItem
1201 or a
1202 .Sx GtkImageMenuItem
1203 with id
1204 .Ar foo Ns Cm _invoke .
1207 .Cm GtkFileChooserDialog
1208 should have an
1209 .Sq OK
1210 .Sx GtkButton
1211 with id
1212 .Ar foo Ns Cm _ok
1213 .Po Cm main_ok
1214 if the dialog is the sole window of the GUI and therefore named
1215 .Cm main
1216 .Pc .
1219 .Cm GtkFileChooserDialog
1220 may have a
1221 .Sq Cancel
1222 .Sx GtkButton
1223 with id
1224 .Ar foo Ns Cm _cancel
1225 .Po Cm main_cancel
1226 if the dialog is the sole window of the GUI and therefore named
1227 .Cm main
1228 .Pc .
1231 .Cm GtkFileChooserDialog
1232 may have an
1233 .Sq Apply
1234 .Sx GtkButton
1235 with id
1236 .Ar foo Ns Cm _apply
1237 .Po Cm main_apply
1238 if the dialog is the sole window of the GUI and therefore named
1239 .Cm main
1240 .Pc .
1241 .Bl -tag -width "commands "
1242 .It Commands
1243 .Qq Ar id Ns Cm :set_filename Ar path
1244 preselects
1245 .Ar path
1246 to the extent it exists.
1248 .Qq Ar id Ns Cm :set_current_name Ar string
1249 makes
1250 .Ar string
1251 the suggested filename, which may not yet exist.
1252 .Ar string
1253 should either resemble an absolute path, or the
1254 .Ar directory
1255 must be set separately by
1256 .Ar id Ns Cm :set_filename Ar directory .
1258 .Qq Ar id Ns Cm :set_title Ar string
1259 replaces the text in the title bar with
1260 .Ar string .
1262 .Qq Ar id Ns Cm :resize Bq Ar width height
1263 changes the size of the dialog window to
1264 .Ar width
1266 .Ar height
1267 pixels if specified, or to the default size.
1269 .Qq Ar id Ns Cm :move Ar x y
1270 moves the dialog window to position
1271 .Pq Ar x , y .
1273 .Qq Ar id Ns Cm :fullscreen
1275 .Qq Ar id Ns Cm :unfullscreen
1276 switch fullscreen mode on and off.
1278 .Qq Ar id Ns Cm :set_sensitive Brq Cm 0 Ns | Ns Cm 1
1279 makes the dialog grayed out
1280 .Pq Cm 0
1281 or responsive
1282 .Pq Cm 1 .
1284 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
1285 hides
1286 .Pq Cm 0
1287 the dialog, or makes it visible
1288 .Pq Cm 1 .
1290 .Qq Ar id Ns Cm :block Brq Cm 0 Ns | Ns Cm 1
1291 blocks
1292 .Pq Cm 1
1293 or unblocks
1294 .Pq Cm 0
1295 feedback messages form the dialog window.
1296 Initially, the widget is unblocked.
1298 .Qq Ar id Ns Cm :set_tooltip_text Bq Ar text
1299 sets the dialog window's tooltip.
1300 Default is disabling the tooltip.
1302 .Qq Ar id Ns Cm :snapshot Ar file Ns Brq Cm .ps Ns | Ns Cm .eps Ns | Ns Cm .epsf Ns | Ns Cm .pdf Ns | Ns Cm .svg
1303 writes a snapshot of the widget to an image file of the specified
1304 type.
1306 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
1307 sets the widget's minimum size to
1308 .Ar width
1310 .Ar height .
1311 Default is the widget's natural size.
1314 .Ar id Ns Cm :style
1315 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
1317 sets the widget style.
1319 .Sx Style .
1320 .It Feedback
1321 .Qq Ar id Ns Cm :file Ar pathname
1322 and/or
1323 .Qq Ar id Ns Cm :folder Ar pathname
1325 .Qq Ar id Ns Cm \&:closed
1326 if the
1327 .Cm GtkFileChooserDialog
1328 window was closed by the window manager.
1330 .Ss GtkFontButton
1331 .Bl -tag -width "commands "
1332 .It Commands
1333 .Qq Ar id Ns Cm :set_font_name Ar fontname
1334 preselects the font.
1336 .Qq Ar id Ns Cm :grab_focus
1337 puts the keyboard focus onto the button.
1339 .Qq Ar id Ns Cm :set_sensitive Brq Cm 0 Ns | Ns Cm 1
1340 makes the button grayed out
1341 .Pq Cm 0
1342 or responsive
1343 .Pq Cm 1 .
1345 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
1346 hides
1347 .Pq Cm 0
1348 the button, or makes it visible
1349 .Pq Cm 1 .
1351 .Qq Ar id Ns Cm :block Brq Cm 0 Ns | Ns Cm 1
1352 blocks
1353 .Pq Cm 1
1354 or unblocks
1355 .Pq Cm 0
1356 feedback messages.
1357 Initially, the button is unblocked.
1359 .Qq Ar id Ns Cm :set_tooltip_text Bq Ar text
1360 sets the button's tooltip.
1361 Default is disabling the tooltip.
1363 .Qq Ar id Ns Cm :force
1364 opens the dialog window.
1366 .Qq Ar id Ns Cm :snapshot Ar file Ns Brq Cm .ps Ns | Ns Cm .eps Ns | Ns Cm .epsf Ns | Ns Cm .pdf Ns | Ns Cm .svg
1367 writes a snapshot of the button to an image file of the specified
1368 type.
1370 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
1371 sets the button's minimum size to
1372 .Ar width
1374 .Ar height .
1375 Default is the button's natural size.
1378 .Ar id Ns Cm :style
1379 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
1381 sets the style.
1383 .Sx Style .
1384 .It Feedback
1385 .Qq Ar id Ns Cm \&:font Ar fontname
1387 .Ss GtkFrame
1388 .Bl -tag -width "commands "
1389 .It Commands
1390 .Qq Ar id Ns Cm :set_label Ar text
1391 replaces the frame label text with
1392 .Ar string .
1394 .Qq Ar id Ns Cm :set_sensitive Brq Cm 0 Ns | Ns Cm 1
1395 makes the frame and its content grayed out
1396 .Pq Cm 0
1397 or responsive
1398 .Pq Cm 1 .
1400 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
1401 hides
1402 .Pq Cm 0
1403 the frame, or makes it visible
1404 .Pq Cm 1 .
1406 .Qq Ar id Ns Cm :set_tooltip_text Bq Ar text
1407 sets the frame's tooltip.
1408 Default is disabling the tooltip.
1410 .Qq Ar id Ns Cm :snapshot Ar file Ns Brq Cm .ps Ns | Ns Cm .eps Ns | Ns Cm .epsf Ns | Ns Cm .pdf Ns | Ns Cm .svg
1411 writes a snapshot of the frame to an image file of the specified
1412 type.
1414 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
1415 sets the widget's minimum size to
1416 .Ar width
1418 .Ar height .
1419 Default is the frame's natural size.
1422 .Ar id Ns Cm :style
1423 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
1425 sets the style.
1427 .Sx Style .
1428 .It Feedback
1429 none
1431 .Ss GtkImage
1432 .Bl -tag -width "commands "
1433 .It Commands
1434 .Qq Ar id Ns Cm :set_from_icon_name Ar icon-name
1435 replaces the image with one of the standard icons.
1437 .Qq Ar id Ns Cm :set_from_file Ar path
1438 replaces the image by the one found at
1439 .Ar path Ns .
1441 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
1442 hides
1443 .Pq Cm 0
1444 the image, or makes it visible
1445 .Pq Cm 1 .
1447 .Qq Ar id Ns Cm :set_tooltip_text Bq Ar text
1448 sets the image's tooltip.
1449 Default is disabling the tooltip.
1451 .Qq Ar id Ns Cm :snapshot Ar file Ns Brq Cm .ps Ns | Ns Cm .eps Ns | Ns Cm .epsf Ns | Ns Cm .pdf Ns | Ns Cm .svg
1452 writes a snapshot of the image to an image file of the specified
1453 type.
1455 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
1456 sets the images's minimum size to
1457 .Ar width
1459 .Ar height .
1460 Default is the image's natural size.
1463 .Ar id Ns Cm :style
1464 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
1466 sets the style.
1468 .Sx Style .
1469 .It Feedback
1470 none
1472 .Ss GtkLabel
1473 .Bl -tag -width "commands "
1474 .It Commands
1475 .Qq Ar id Ns Cm :set_text Ar string
1476 replaces the label text with
1477 .Ar string .
1479 .Qq Ar id Ns Cm :set_sensitive Brq Cm 0 Ns | Ns Cm 1
1480 makes the label grayed out
1481 .Pq Cm 0
1482 or clearly visible
1483 .Pq Cm 1 .
1485 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
1486 hides
1487 .Pq Cm 0
1488 the label, or makes it visible
1489 .Pq Cm 1 .
1491 .Qq Ar id Ns Cm :set_tooltip_text Bq Ar text
1492 sets the label's tooltip.
1493 Default is disabling the tooltip.
1495 .Qq Ar id Ns Cm :snapshot Ar file Ns Brq Cm .ps Ns | Ns Cm .eps Ns | Ns Cm .epsf Ns | Ns Cm .pdf Ns | Ns Cm .svg
1496 writes a snapshot of the label to an image file of the specified
1497 type.
1499 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
1500 sets the label's minimum size to
1501 .Ar width
1503 .Ar height .
1504 Default is the natural size.
1507 .Ar id Ns Cm :style
1508 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
1510 sets the label's style.
1512 .Sx Style .
1513 .It Feedback
1514 none
1516 .Ss GtkMenuItem, GtkImageMenuItem
1517 .Bl -tag -width "commands "
1518 .It Commands
1519 .Qq Ar id Ns Cm :set_sensitive Brq Cm 0 Ns | Ns Cm 1
1520 makes the item grayed out
1521 .Pq Cm 0
1522 or responsive
1523 .Pq Cm 1 .
1525 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
1526 hides
1527 .Pq Cm 0
1528 the item, or makes it visible
1529 .Pq Cm 1 .
1531 .Qq Ar id Ns Cm :block Brq Cm 0 Ns | Ns Cm 1
1532 blocks
1533 .Pq Cm 1
1534 or unblocks
1535 .Pq Cm 0
1536 feedback messages.
1537 Initially, the item is unblocked.
1539 .Qq Ar id Ns Cm :set_tooltip_text Bq Ar text
1540 sets the item's tooltip.
1541 Default is disabling the tooltip.
1543 .Qq Ar id Ns Cm :force
1544 simulates a click on the menu item.
1546 .Qq Ar id Ns Cm :snapshot Ar file Ns Brq Cm .ps Ns | Ns Cm .eps Ns | Ns Cm .epsf Ns | Ns Cm .pdf Ns | Ns Cm .svg
1547 writes a snapshot of the menu item to an image file of the specified
1548 type.
1550 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
1551 sets the item's minimum size to
1552 .Ar width
1554 .Ar height .
1555 Default is the item's natural size.
1558 .Ar id Ns Cm :style
1559 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
1561 sets the item's style.
1563 .Sx Style .
1564 .It Feedback
1566 .Cm GtkMenuItem
1568 .Cm GtkImageMenuItem
1569 with id
1570 .Ar foo Ns Cm _invoke
1571 will invoke the
1572 .Sx GtkDialog
1574 .Sx GtkFileChooserDialog
1575 with id
1576 .Ar foo
1577 if it exists.
1578 If there isn't any dialog attached to the
1579 .Cm GtkMenuItem ,
1580 it reports
1581 .Qq Ar id Ns Cm \&:active Ar label .
1583 .Ss GtkNotebook
1584 .Bl -tag -width "commands "
1585 .It Commands
1586 .Qq Ar id Ns Cm :set_current_page Ar n
1587 switches to zero-based page number
1588 .Ar n .
1590 .Qq Ar id Ns Cm :grab_focus
1591 puts the keyboard focus onto the notebook.
1593 .Qq Ar id Ns Cm :set_sensitive Brq Cm 0 Ns | Ns Cm 1
1594 makes the notebook grayed out
1595 .Pq Cm 0
1596 or responsive
1597 .Pq Cm 1 .
1599 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
1600 hides
1601 .Pq Cm 0
1602 the notebook, or makes it visible
1603 .Pq Cm 1 .
1605 .Qq Ar id Ns Cm :set_tooltip_text Bq Ar text
1606 sets the notebook's tooltip.
1607 Default is disabling the tooltip.
1609 .Qq Ar id Ns Cm :snapshot Ar file Ns Brq Cm .ps Ns | Ns Cm .eps Ns | Ns Cm .epsf Ns | Ns Cm .pdf Ns | Ns Cm .svg
1610 writes a snapshot of the notebook to an image file of the specified
1611 type.
1613 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
1614 sets the notebooks's minimum size to
1615 .Ar width
1617 .Ar height .
1618 Default is the widget's natural size.
1621 .Ar id Ns Cm :style
1622 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
1624 sets the notebook's style.
1626 .Sx Style .
1627 .It Feedback
1628 none
1630 .Ss GtkPrintUnixDialog
1631 .Bl -tag -width "commands "
1632 .It Commands
1633 .Qq Ar id Ns Cm :print Ar file.ps
1634 opens the print dialog.
1635 Pressing the
1636 .Ql Print
1637 button sends
1638 .Ar file.ps
1639 to the printer the user selected in the dialog.
1641 .Qq Ar id Ns Cm :set_sensitive Brq Cm 0 Ns | Ns Cm 1
1642 makes the dialog grayed out
1643 .Pq Cm 0
1644 or responsive
1645 .Pq Cm 1 .
1647 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
1648 hides
1649 .Pq Cm 0
1650 the dialog, or makes it visible
1651 .Pq Cm 1 .
1653 .Qq Ar id Ns Cm :block Brq Cm 0 Ns | Ns Cm 1
1654 blocks
1655 .Pq Cm 1
1656 or unblocks
1657 .Pq Cm 0
1658 feedback messages.
1659 Initially, the dialog is unblocked.
1661 .Qq Ar id Ns Cm :set_tooltip_text Bq Ar text
1662 sets the dialog's tooltip.
1663 Default is disabling the tooltip.
1665 .Qq Ar id Ns Cm :snapshot Ar file Ns Brq Cm .ps Ns | Ns Cm .eps Ns | Ns Cm .epsf Ns | Ns Cm .pdf Ns | Ns Cm .svg
1666 writes a snapshot of the dialog to an image file of the specified
1667 type.
1669 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
1670 sets the dialog's minimum size to
1671 .Ar width
1673 .Ar height .
1674 Default is the dialog's natural size.
1677 .Ar id Ns Cm :style
1678 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
1680 sets the widget style.
1682 .Sx Style .
1683 .It Feedback
1684 .Qq Ar id Ns Cm \&:closed
1685 if the
1686 .Cm GtkPrintUnixDialog
1687 window was closed by the window manager.
1689 .Ss GtkProgressBar
1690 .Bl -tag -width "commands "
1691 .It Commands
1692 .Qq Ar id Ns Cm :set_fraction Ar x
1693 moves the progress bar to
1694 .Ar x
1695 .Pq between 0 and 1 .
1697 .Qq Ar id Ns Cm :set_text Bq Ar string
1698 replaces the text of the progress bar with
1699 .Ar string .
1700 Default is the progress percentage.
1702 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
1703 hides
1704 .Pq Cm 0
1705 the progress bar, or makes it visible
1706 .Pq Cm 1 .
1708 .Qq Ar id Ns Cm :set_tooltip_text Bq Ar text
1709 sets the tooltip of the progressbar.
1710 Default is disabling the tooltip.
1712 .Qq Ar id Ns Cm :snapshot Ar file Ns Brq Cm .ps Ns | Ns Cm .eps Ns | Ns Cm .epsf Ns | Ns Cm .pdf Ns | Ns Cm .svg
1713 writes a snapshot of the progress bar to an image file of the
1714 specified type.
1716 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
1717 sets the minimum size of the progress bar to
1718 .Ar width
1720 .Ar height .
1721 Default is the natural size.
1724 .Ar id Ns Cm :style
1725 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
1727 sets the style.
1729 .Sx Style .
1730 .It Feedback
1731 none
1733 .Ss GtkRadioButton
1734 .Bl -tag -width "commands "
1735 .It Commands
1736 .Qq Ar id Ns Cm :set_active 1
1737 switches the button on.
1738 All other buttons of the same group will go off automatically.
1740 .Qq Ar id Ns Cm :set_label Ar string
1741 replaces the button text with
1742 .Ar string .
1744 .Qq Ar id Ns Cm :grab_focus
1745 puts the keyboard focus onto the button.
1747 .Qq Ar id Ns Cm :set_sensitive Brq Cm 0 Ns | Ns Cm 1
1748 makes the button grayed out
1749 .Pq Cm 0
1750 or responsive
1751 .Pq Cm 1 .
1753 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
1754 hides
1755 .Pq Cm 0
1756 the button, or makes it visible
1757 .Pq Cm 1 .
1759 .Qq Ar id Ns Cm :block Brq Cm 0 Ns | Ns Cm 1
1760 blocks
1761 .Pq Cm 1
1762 or unblocks
1763 .Pq Cm 0
1764 feedback messages.
1765 Initially, the button is unblocked.
1767 .Qq Ar id Ns Cm :set_tooltip_text Bq Ar text
1768 sets the button's tooltip.
1769 Default is disabling the tooltip.
1771 .Qq Ar id Ns Cm :force
1772 simulates a click on the button.
1774 .Qq Ar id Ns Cm :snapshot Ar file Ns Brq Cm .ps Ns | Ns Cm .eps Ns | Ns Cm .epsf Ns | Ns Cm .pdf Ns | Ns Cm .svg
1775 writes a snapshot of the button to an image file of the specified
1776 type.
1778 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
1779 sets the button's minimum size to
1780 .Ar width
1782 .Ar height .
1783 Default is the button's natural size.
1786 .Ar id Ns Cm :style
1787 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
1789 sets the style.
1791 .Sx Style .
1792 .It Feedback
1793 .Qq Ar id Ns Cm \&:1
1794 if switched on, or
1795 .Qq Ar id Ns Cm \&:0
1796 otherwise.
1798 .Ss GtkScale
1799 .Bl -tag -width "commands "
1800 .It Commands
1801 .Qq Ar id Ns Cm :set_value Ar x
1802 moves the slider to value
1803 .Ar x .
1805 .Qq Ar id Ns Cm :set_fill_level Bq Ar x
1806 moves the fill level indicator to value
1807 .Ar x .
1808 Default is hiding the fill level indicator.
1810 .Qq Ar id Ns Cm :set_range Ar min max
1811 changes the range.
1813 .Qq Ar id Ns Cm :set_increments Ar step page
1814 sets the steps the slider moves while pressing arrow keys and
1815 .Ql Page_Up Ns
1816 .Pf / Ql Page_Down ,
1817 respectively.
1819 .Qq Ar id Ns Cm :grab_focus
1820 puts the keyboard focus onto the scale.
1822 .Qq Ar id Ns Cm :set_sensitive Brq Cm 0 Ns | Ns Cm 1
1823 makes the scale grayed out
1824 .Pq Cm 0
1825 or responsive
1826 .Pq Cm 1 .
1828 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
1829 hides
1830 .Pq Cm 0
1831 the scale, or makes it visible
1832 .Pq Cm 1 .
1834 .Qq Ar id Ns Cm :block Brq Cm 0 Ns | Ns Cm 1
1835 blocks
1836 .Pq Cm 1
1837 or unblocks
1838 .Pq Cm 0
1839 feedback messages.
1840 Initially, the scale is unblocked.
1842 .Qq Ar id Ns Cm :set_tooltip_text Bq Ar text
1843 sets the scale's tooltip.
1844 Default is disabling the tooltip.
1846 .Qq Ar id Ns Cm :force
1847 simulates fresh selection of the current value.
1849 .Qq Ar id Ns Cm :snapshot Ar file Ns Brq Cm .ps Ns | Ns Cm .eps Ns | Ns Cm .epsf Ns | Ns Cm .pdf Ns | Ns Cm .svg
1850 writes a snapshot of the scale to an image file of the specified
1851 type.
1853 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
1854 sets the scale's minimum size to
1855 .Ar width
1857 .Ar height .
1858 Default is the natural size.
1861 .Ar id Ns Cm :style
1862 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
1864 sets the style.
1866 .Sx Style .
1867 .It Feedback
1868 .Qq Ar id Ns Cm \&:value Ar number
1870 .Ss GtkScrolledWindow
1871 .Bl -tag -width "commands "
1872 .It Commands
1873 .Qq Ar id Ns Cm :hscroll Ar position
1875 .Qq Ar id Ns Cm :vscroll Ar position
1876 scroll
1877 .Ar position
1878 to the left or top edge of the
1879 .Cm GtkScrolledWindow ,
1880 respectively.
1882 .Qq Ar id Ns Cm :hscroll_to_range Ar pos0 pos1
1884 .Qq Ar id Ns Cm :vscroll_to_range Ar pos0 pos1
1885 scroll, if necessary, the range between
1886 .Ar pos0
1888 .Ar pos1
1889 into the
1890 .Cm GtkScrolledWindow .
1891 If the range is greater than the window, the initial part of the range
1892 will be visible.
1894 .Qq Ar id Ns Cm :grab_focus
1895 puts the keyboard focus onto the widget.
1897 .Qq Ar id Ns Cm :set_sensitive Brq Cm 0 Ns | Ns Cm 1
1898 makes the widget grayed out
1899 .Pq Cm 0
1900 or responsive
1901 .Pq Cm 1 .
1903 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
1904 hides
1905 .Pq Cm 0
1906 the widget, or makes it visible
1907 .Pq Cm 1 .
1909 .Qq Ar id Ns Cm :set_tooltip_text Bq Ar text
1910 sets the widget's tooltip.
1911 Default is disabling the tooltip.
1913 .Qq Ar id Ns Cm :snapshot Ar file Ns Brq Cm .ps Ns | Ns Cm .eps Ns | Ns Cm .epsf Ns | Ns Cm .pdf Ns | Ns Cm .svg
1914 writes a snapshot of the widget to an image file of the specified
1915 type.
1917 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
1918 sets the minimum size to
1919 .Ar width
1921 .Ar height .
1922 Default is the widget's natural size.
1925 .Ar id Ns Cm :style
1926 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
1928 sets the style.
1930 .Sx Style .
1931 .It Feedback
1932 none
1934 .Ss GtkSocket
1935 .Cm GtkSocket
1936 may be unsupported by Glade, but its definition can be inserted
1937 manually into the GtkBuilder
1938 .Pq Pa .ui
1939 file:
1940 .Bd -literal -offset indent
1941 <child>
1942   <object class="GtkSocket" id="socket1">
1943     <property name="visible">True</property>
1944     <property name="can_focus">True</property>
1945   </object>
1946   <packing>
1947     <property name="expand">True</property>
1948     <property name="fill">True</property>
1949     <property name="position">1</property>
1950   </packing>
1951 </child>
1953 .Bl -tag -width "commands "
1954 .It Commands
1955 .Qq Ar id Ns Cm :id
1956 requests a feedback message containing the socket
1957 .Ar xid .
1959 .Qq Ar id Ns Cm :grab_focus
1960 puts the keyboard focus onto the socket.
1962 .Qq Ar id Ns Cm :set_sensitive Brq Cm 0 Ns | Ns Cm 1
1963 makes the socket grayed out
1964 .Pq Cm 0
1965 or responsive
1966 .Pq Cm 1 .
1968 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
1969 hides
1970 .Pq Cm 0
1971 the socket, or makes it visible
1972 .Pq Cm 1 .
1974 .Qq Ar id Ns Cm :set_tooltip_text Bq Ar text
1975 sets the socket's tooltip.
1976 Default is disabling the tooltip.
1977 .Qq Ar id Ns Cm :snapshot Ar file Ns Brq Cm .ps Ns | Ns Cm .eps Ns | Ns Cm .epsf Ns | Ns Cm .pdf Ns | Ns Cm .svg
1978 writes a snapshot of the socket to an image file of the specified
1979 type.
1981 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
1982 sets the socket's minimum size to
1983 .Ar width
1985 .Ar height .
1986 Default is the socket's natural size.
1989 .Ar id Ns Cm :style
1990 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
1992 sets the style.
1994 .Sx Style .
1995 .It Feedback
1996 .Qq Ar id Ns Cm :id Ar xid
1997 can be used by another process to XEmbed its widgets into the
1998 .Cm GtkSocket .
2000 .Qq Ar id Ns Cm :plug-added ,
2002 .Ar id Ns
2003 .Cm :plug-removed
2004 .Qc .
2005 Notification that the other process has inserted its widgets into or
2006 removed them from the
2007 .Cm GtkSocket .
2009 .Ss GtkSpinButton
2010 .Bl -tag -width "commands "
2011 .It Commands
2012 .Qq Ar id Ns Cm :set_text Ar string
2013 sets the selected value to
2014 .Ar string .
2016 .Qq Ar id Ns Cm :set_range Ar min max
2017 changes the range.
2019 .Qq Ar id Ns Cm :set_increments Ar step page
2020 sets the steps the value changes while pressing arrow keys/left mouse
2021 button, and
2022 .Ql Page_Up Ns
2023 .Pf / Ql Page_Down Ns
2024 /middle mouse button,
2025 respectively.
2027 .Qq Ar id Ns Cm :grab_focus
2028 puts the keyboard focus onto the button.
2030 .Qq Ar id Ns Cm :set_sensitive Brq Cm 0 Ns | Ns Cm 1
2031 makes the button grayed out
2032 .Pq Cm 0
2033 or responsive
2034 .Pq Cm 1 .
2036 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
2037 hides
2038 .Pq Cm 0
2039 the button, or makes it visible
2040 .Pq Cm 1 .
2042 .Qq Ar id Ns Cm :block Brq Cm 0 Ns | Ns Cm 1
2043 blocks
2044 .Pq Cm 1
2045 or unblocks
2046 .Pq Cm 0
2047 feedback messages.
2048 Initially, the button is unblocked.
2050 .Qq Ar id Ns Cm :set_tooltip_text Bq Ar text
2051 sets the button's tooltip.
2052 Default is disabling the tooltip.
2054 .Qq Ar id Ns Cm :force
2055 simulates fresh selection of the current value
2057 .Qq Ar id Ns Cm :snapshot Ar file Ns Brq Cm .ps Ns | Ns Cm .eps Ns | Ns Cm .epsf Ns | Ns Cm .pdf Ns | Ns Cm .svg
2058 writes a snapshot of the button to an image file of the specified
2059 type.
2061 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
2062 sets the button's minimum size to
2063 .Ar width
2065 .Ar height .
2066 Default is the widget's natural size.
2069 .Ar id Ns Cm :style
2070 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
2072 sets the button's style.
2074 .Sx Style .
2075 .It Feedback
2076 .Qq Ar id Ns Cm \&:text Ar text
2078 .Ss GtkSpinner
2079 .Bl -tag -width "commands "
2080 .It Commands
2081 .Qq Ar id Ns Cm :start
2083 .Qq Ar id Ns Cm :stop
2084 start and stop the spinner.
2086 .Qq Ar id Ns Cm :set_sensitive Brq Cm 0 Ns | Ns Cm 1
2087 makes the spinner grayed out
2088 .Pq Cm 0
2089 or clearly visible
2090 .Pq Cm 1 .
2092 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
2093 hides
2094 .Pq Cm 0
2095 the spinner, or makes it visible
2096 .Pq Cm 1 .
2098 .Qq Ar id Ns Cm :set_tooltip_text Bq Ar text
2099 sets the spinner's tooltip.
2100 Default is disabling the tooltip.
2102 .Qq Ar id Ns Cm :snapshot Ar file Ns Brq Cm .ps Ns | Ns Cm .eps Ns | Ns Cm .epsf Ns | Ns Cm .pdf Ns | Ns Cm .svg
2103 writes a snapshot of the spinner to an image file of the specified
2104 type.
2106 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
2107 sets the spinner's minimum size to
2108 .Ar width
2110 .Ar height .
2111 Default is the natural size.
2114 .Ar id Ns Cm :style
2115 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
2117 sets the style.
2119 .Sx Style .
2120 .It Feedback
2121 none
2123 .Ss GtkStatusbar
2124 The context parameter
2125 .Ar c
2126 is an arbitrary non-whitespace string.
2127 .Bl -tag -width "commands "
2128 .It Commands
2129 .Qq Ar id Ns Cm :push_id Ar c string ,
2130 .Qq Ar id Ns Cm :push Ar string
2131 associate
2132 .Ar string
2133 with context parameter
2134 .Ar c
2136 .Ql 0 ,
2137 respectively, and display it in the statusbar.
2139 .Qq Ar id Ns Cm :pop_id Ar c ,
2140 .Qq Ar id Ns Cm :pop
2141 remove the latest entry associated with context parameter
2142 .Ar c
2144 .Ql 0 ,
2145 respectively, from the statusbar.
2147 .Qq Ar id Ns Cm :remove_all_id Ar c ,
2148 .Qq Ar id Ns Cm :remove_all
2149 remove the entries associated with context parameter
2150 .Ar c
2152 .Ql 0 ,
2153 respectively, from the statusbar.
2155 .Qq Ar id Ns Cm :set_sensitive Brq Cm 0 Ns | Ns Cm 1
2156 makes the statusbar grayed out
2157 .Pq Cm 0
2158 or clearly visible
2159 .Pq Cm 1 .
2161 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
2162 hides
2163 .Pq Cm 0
2164 the statusbar, or makes it visible
2165 .Pq Cm 1 .
2167 .Qq Ar id Ns Cm :set_tooltip_text Bq Ar text
2168 sets the statusbar's tooltip.
2169 Default is disabling the tooltip.
2171 .Qq Ar id Ns Cm :snapshot Ar file Ns Brq Cm .ps Ns | Ns Cm .eps Ns | Ns Cm .epsf Ns | Ns Cm .pdf Ns | Ns Cm .svg
2172 writes a snapshot of the statusbar to an image file of the specified
2173 type.
2175 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
2176 sets the statusbar's minimum size to
2177 .Ar width
2179 .Ar height .
2180 Default is the natural size.
2183 .Ar id Ns Cm :style
2184 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
2186 sets the statusbar's style.
2188 .Sx Style .
2189 .It Feedback
2190 none
2192 .Ss GtkSwitch
2193 .Bl -tag -width "commands "
2194 .It Commands
2195 .Qq Ar id Ns Cm :set_active Brq Cm 0 Ns | Ns Cm 1
2196 turns the switch off
2197 .Pq Cm 0
2198 or on
2199 .Pq Cm 1 .
2201 .Qq Ar id Ns Cm :grab_focus
2202 puts the keyboard focus onto the switch.
2204 .Qq Ar id Ns Cm :set_sensitive Brq Cm 0 Ns | Ns Cm 1
2205 makes the switch grayed out
2206 .Pq Cm 0
2207 or responsive
2208 .Pq Cm 1 .
2210 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
2211 hides
2212 .Pq Cm 0
2213 the switch, or makes it visible
2214 .Pq Cm 1 .
2216 .Qq Ar id Ns Cm :block Brq Cm 0 Ns | Ns Cm 1
2217 blocks
2218 .Pq Cm 1
2219 or unblocks
2220 .Pq Cm 0
2221 feedback messages.
2222 Initially, the switch is unblocked.
2224 .Qq Ar id Ns Cm :set_tooltip_text Bq Ar text
2225 sets the tooltip of the switch.
2226 Default is disabling the tooltip.
2228 .Qq Ar id Ns Cm :force
2229 simulates a click on the switch.
2231 .Qq Ar id Ns Cm :snapshot Ar file Ns Brq Cm .ps Ns | Ns Cm .eps Ns | Ns Cm .epsf Ns | Ns Cm .pdf Ns | Ns Cm .svg
2232 writes a snapshot of the switch to an image file of the specified
2233 type.
2235 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
2236 sets the switch's minimum size to
2237 .Ar width
2239 .Ar height .
2240 Default is the natural size.
2243 .Ar id Ns Cm :style
2244 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
2246 sets the style.
2248 .Sx Style .
2249 .It Feedback
2250 .Qq Ar id Ns Cm \&:1
2251 if switched on, or
2252 .Qq Ar id Ns Cm \&:0
2253 otherwise.
2255 .Ss GtkTextView
2256 There should be a dedicated
2257 .Sx GtkButton
2258 for sending (parts of) the text.
2259 If the id of the
2260 .Cm GtkTextView
2262 .Ar foo ,
2264 .Sx GtkButton
2265 with id
2266 .Ar foo Ns Cm _send_text
2267 will send the content of the
2268 .Cm GtkTextView ;
2270 .Sx GtkButton
2271 with id
2272 .Ar foo Ns Cm _send_selection
2273 will send the highlighted part the
2274 .Cm GtkTextView .
2275 .Bl -tag -width "commands "
2276 .It Commands
2277 .Qq Ar id Ns Cm :set_text Ar string
2278 replaces the user-editable text with (potentially empty)
2279 .Ar string Ns .
2281 .Qq Ar id Ns Cm :delete
2282 deletes the text.
2284 .Qq Ar id Ns Cm :insert_at_cursor Ar string
2285 inserts
2286 .Ar string
2287 at cursor position.
2289 .Qq Ar id Ns Cm :place_cursor Brq Ar position | Cm end
2290 places the text cursor at
2291 .Ar position
2292 or at the end of the text.
2294 .Qq Ar id Ns Cm :place_cursor_at_line Ar line
2295 places the text cursor at the beginning of
2296 .Ar line .
2298 .Qq Ar id Ns Cm :scroll_to_cursor
2299 scrolls to the cursor position if necessary.
2301 .Qq Ar id Ns Cm :save Ar file
2302 stores in
2303 .Ar file
2306 command containing the text.
2308 .Qq Ar id Ns Cm :grab_focus
2309 puts the keyboard focus into the textview.
2311 .Qq Ar id Ns Cm :set_sensitive Brq Cm 0 Ns | Ns Cm 1
2312 makes the text view grayed out
2313 .Pq Cm 0
2314 or responsive
2315 .Pq Cm 1 .
2317 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
2318 hides
2319 .Pq Cm 0
2320 the text view, or makes it visible
2321 .Pq Cm 1 .
2323 .Qq Ar id Ns Cm :set_tooltip_text Bq Ar text
2324 sets the tooltip of the text view.
2325 Default is disabling the tooltip.
2327 .Qq Ar id Ns Cm :snapshot Ar file Ns Brq Cm .ps Ns | Ns Cm .eps Ns | Ns Cm .epsf Ns | Ns Cm .pdf Ns | Ns Cm .svg
2328 writes a snapshot of the text view to an image file of the specified
2329 type.
2331 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
2332 sets the minimum size to
2333 .Ar width
2335 .Ar height .
2336 Default is the natural size.
2339 .Ar id Ns Cm :style
2340 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
2342 sets the style.
2344 .Sx Style .
2345 .It Feedback
2346 .Qq Ar button_id Ns Cm :text Ar text ,
2347 .Ar button_id
2348 being the id of the
2349 .Sx GtkButton .
2350 Line endings in
2351 .Ar text
2352 are replaced by
2353 .Cm \en ,
2354 and backslashes are replaced by
2355 .Cm \e\e .
2357 .Ss GtkToggleButton
2358 .Bl -tag -width "commands "
2359 .It Commands
2360 .Qq Ar id Ns Cm :set_active Brq Cm 0 Ns | Ns Cm 1
2361 switches the button off
2362 .Pq Cm 0
2363 or on
2364 .Pq Cm 1 .
2366 .Qq Ar id Ns Cm :set_label Ar string
2367 replaces the button text with
2368 .Ar string .
2370 .Qq Ar id Ns Cm :grab_focus
2371 puts the keyboard focus onto the button.
2373 .Qq Ar id Ns Cm :set_sensitive Brq Cm 0 Ns | Ns Cm 1
2374 makes the button grayed out
2375 .Pq Cm 0
2376 or responsive
2377 .Pq Cm 1 .
2379 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
2380 hides
2381 .Pq Cm 0
2382 the button, or makes it visible
2383 .Pq Cm 1 .
2385 .Qq Ar id Ns Cm :block Brq Cm 0 Ns | Ns Cm 1
2386 blocks
2387 .Pq Cm 1
2388 or unblocks
2389 .Pq Cm 0
2390 feedback messages.
2391 Initially, the button is unblocked.
2393 .Qq Ar id Ns Cm :set_tooltip_text Bq Ar text
2394 sets the button's tooltip.
2395 Default is disabling the tooltip.
2397 .Qq Ar id Ns Cm :force
2398 simulates a click on the button.
2400 .Qq Ar id Ns Cm :snapshot Ar file Ns Brq Cm .ps Ns | Ns Cm .eps Ns | Ns Cm .epsf Ns | Ns Cm .pdf Ns | Ns Cm .svg
2401 writes a snapshot of the button to an image file of the specified
2402 type.
2404 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
2405 sets the button's minimum size to
2406 .Ar width
2408 .Ar height .
2409 Default is the button's natural size.
2412 .Ar id Ns Cm :style
2413 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
2415 sets the button's style.
2417 .Sx Style .
2418 .It Feedback
2419 .Qq Ar id Ns Cm \&:1
2420 if switched on, or
2421 .Qq Ar id Ns Cm \&:0
2422 otherwise.
2424 .Ss GtkTreeView
2426 can deal with columns of type
2427 .Cm gboolean , gint , guint , glong , gulong , gint64 , guint64 , gfloat , gdouble ,
2429 .Cm gchararray .
2431 .Ar row
2433 .Ar column
2434 refer to the underlying model
2435 .Cm ( GtkListStore
2437 .Cm GtkTreeStore ) .
2438 .Ar row
2439 is a sequence of one or more colon-separated integers, e.g.
2440 .Ql 3
2442 .Ql 0:0:1 .
2443 .Bl -tag -width "commands "
2444 .It Commands
2445 .Qq Ar id Ns Cm :set Ar row column data
2446 replaces the content at
2447 .Pq Ar row , column
2448 with
2449 .Ar data
2450 (which should be compatible with the type of
2451 .Ar column ) .
2452 If necessary, new tree nodes are created to obtain the minimal tree
2453 structure needed to support
2454 .Ar row .
2456 .Qq Ar id Ns Cm :insert_row Brq Ar row Bo Cm as_child Bc | Cm end
2457 inserts a new, empty row; either as a sibling of
2458 .Ar row
2459 at position
2460 .Ar row ,
2461 or as a child of
2462 .Ar row ,
2463 or at the end of the list, respectively.
2465 .Qq Ar id Ns Cm :move_row Ar origin Brq Ar destination | Cm end
2466 moves the row at
2467 .Ar origin
2468 within its current level to
2469 .Ar destination
2470 or to the end.
2472 .Qq Ar id Ns Cm :remove_row Ar row
2473 removes the row at position
2474 .Ar row .
2476 .Qq Ar id Ns Cm :clear
2477 removes all rows.
2479 .Qq Ar id Ns Cm :expand Ar row
2480 expands one level of the subtree below
2481 .Ar row .
2483 .Qq Ar id Ns Cm :expand_all Bq Ar row
2484 expands the subtree below
2485 .Ar row ,
2486 or the whole tree.
2488 .Qq Ar id Ns Cm :collapse Bq Ar row
2489 collapses the subtree below
2490 .Ar row ,
2491 or the whole tree.
2493 .Qq Ar id Ns Cm :set_cursor Bq Ar row
2494 sets the cursor to
2495 .Ar row ,
2496 or unsets it.
2498 .Qq Ar id Ns Cm :scroll Ar row column
2499 scrolls the cell at
2500 .Pq Ar row , column
2501 into view.
2503 .Qq Ar id Ns Cm :save Ar file
2504 stores the content of the underlying model as a sequence of
2506 commands into
2507 .Ar file .
2509 .Qq Ar id Ns Cm :grab_focus
2510 puts the keyboard focus onto the tree view.
2512 .Qq Ar id Ns Cm :set_sensitive Brq Cm 0 Ns | Ns Cm 1
2513 makes the tree view grayed out
2514 .Pq Cm 0
2515 or responsive
2516 .Pq Cm 1 .
2518 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
2519 hides
2520 .Pq Cm 0
2521 the tree view, or makes it visible
2522 .Pq Cm 1 .
2524 .Qq Ar id Ns Cm :block Brq Cm 0 Ns | Ns Cm 1
2526 with
2527 .Ar id
2528 from the underlying
2529 .Cm GtkTreeSelection
2531 blocks
2532 .Pq Cm 1
2533 or unblocks
2534 .Pq Cm 0
2535 feedback messages.
2536 Initially, the widget is unblocked.
2538 .Qq Ar id Ns Cm :set_tooltip_text Bq Ar text
2539 sets the tooltip of the tree view.
2540 Default is disabling the tooltip.
2542 .Qq Ar id Ns Cm :snapshot Ar file Ns Brq Cm .ps Ns | Ns Cm .eps Ns | Ns Cm .epsf Ns | Ns Cm .pdf Ns | Ns Cm .svg
2543 writes a snapshot of the tree view to an image file of the specified
2544 type.
2546 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
2547 sets the minimum size of the tree view to
2548 .Ar width
2550 .Ar height .
2551 Default is the widget's natural size.
2554 .Ar id Ns Cm :style
2555 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
2557 sets the style.
2559 .Sx Style .
2560 .It Feedback
2561 .Qq Ar id Ns Cm \&:clicked
2563 .Qq Ar id Ns Cm \&: Ns Ar column_type row column value ,
2564 one message per cell in the underlying model for each selected row; or
2566 .Qq Ar id Ns Cm \&: Ns Ar column_type row column new_value ,
2567 if the cell at
2568 .Pq Ar row , column
2569 has been edited.
2571 .Ss GtkTreeViewColumn
2572 .Bl -tag -width "commands "
2573 .It Commands
2574 .Qq Ar id Ns Cm :block Brq Cm 0 Ns | Ns Cm 1
2575 blocks
2576 .Pq Cm 1
2577 or unblocks
2578 .Pq Cm 0
2579 feedback messages.
2580 Initially, the widget is unblocked.
2581 .It Feedback
2582 .Qq Ar id Ns Cm \&:clicked
2584 .Ss GtkWindow
2585 .Bl -tag -width "commands "
2586 .It Commands
2587 .Qq Ar id Ns Cm :set_title Ar string
2588 replaces the text in the title bar with
2589 .Ar string .
2591 .Qq Ar id Ns Cm :resize Bq Ar width height
2592 changes the window size to
2593 .Ar width
2595 .Ar height
2596 pixels if specified, or to the default size.
2598 .Qq Ar id Ns Cm :move Ar x y
2599 moves the window to position
2600 .Pq Ar x , y .
2602 .Qq Ar id Ns Cm :fullscreen
2604 .Qq Ar id Ns Cm :unfullscreen
2605 switch fullscreen mode on and off.
2607 .Qq Ar id Ns Cm :set_sensitive Brq Cm 0 Ns | Ns Cm 1
2608 makes the widget grayed out
2609 .Pq Cm 0
2610 or responsive
2611 .Pq Cm 1 .
2613 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
2614 hides
2615 .Pq Cm 0
2616 the widget, or makes it visible
2617 .Pq Cm 1 .
2619 .Qq Ar id Ns Cm :block Brq Cm 0 Ns | Ns Cm 1
2620 blocks
2621 .Pq Cm 1
2622 or unblocks
2623 .Pq Cm 0
2624 feedback messages.
2625 Initially, the widget is unblocked.
2627 .Qq Ar id Ns Cm :set_tooltip_text Bq Ar text
2628 sets the window's tooltip.
2629 Default is disabling the tooltip.
2630 .Qq Ar id Ns Cm :snapshot Ar file Ns Brq Cm .ps Ns | Ns Cm .eps Ns | Ns Cm .epsf Ns | Ns Cm .pdf Ns | Ns Cm .svg
2631 writes a snapshot of the window to an image file of the specified
2632 type.
2634 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
2635 sets the window's minimum size to
2636 .Ar width
2638 .Ar height .
2639 Default is the widget's natural size.
2642 .Ar id Ns Cm :style
2643 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
2645 sets the style.
2647 .Sx Style .
2648 .It Feedback
2649 .Qq Ar id Ns Cm \&:closed
2650 if the
2651 .Cm GtkWindow
2652 was closed by the window manager.
2654 .Sh SPECIAL SYNTAX
2655 .Ss Style
2657 .Ar id Ns Cm :style
2658 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
2660 sets properties
2661 .Ar prop
2662 of the widget style to
2663 .Ar val .
2664 Properties not explicitly specified are reset to their default values.
2665 Examples:
2666 .Bl -dash -offset indent -compact
2668 .Ql label1:style font:Bold 11; background-color:green
2670 .Ql label1:style font-style:italic; font-weight:bold; color:blue
2672 .Ql frame1:style border-color:red yellow; border-width:5px
2674 .Ql frame1:style border-radius:10px; transition:10s
2676 For a description of possible color notations see
2677 .Sx Color .
2678 .Ss Color
2679 .Ar color
2680 can be
2681 .Bl -dash -offset indent -compact
2683 a standard X11 color name, like
2684 .Ql Dark Sea Green ,
2686 a hexadecimal value in the form
2687 .Cm # Ns Ar rgb , Cm # Ns Ar rrggbb , Cm # Ns Ar rrrgggbbb ,
2689 .Cm # Ns Ar rrrrggggbbbb ,
2691 an RGB color in the form
2692 .Cm rgb( Ns Ar red Ns Cm \&, Ns Ar green Ns Cm \&, Ns Ar blue Ns Cm \&) ,
2695 an RGBA color in the form
2696 .Cm rgba( Ns Ar red Ns Cm \&, Ns Ar green Ns Cm \&, Ns
2697 .Ar blue Ns Cm \&, Ns Ar alpha Ns Cm \&) .
2699 .Sh EXIT STATUS
2700 .Ex -std
2701 .Sh EXAMPLES
2702 .Ss Discovering Pipeglade Interactively
2703 Suppose the interface in
2704 .Pa ./pipeglade.ui
2705 has a
2706 .Sx GtkLabel Ql label1
2707 and a
2708 .Sx GtkButton Ql button1 .
2709 After invoking
2711 .Dl pipeglade
2713 and clicking the
2714 .Sx GtkButton , Ql button1:clicked
2715 will be reported on the terminal.
2716 Typing
2718 .Dl label1:set_text The Button
2720 will change the text shown on the label into
2721 .Ql The Button .
2722 .Ss One-Shot File Dialog
2723 Suppose the interface in
2724 .Pa ./simple_open.ui
2725 contains a
2726 .Sx GtkFileChooserDialog
2727 with an
2728 .Sq OK
2729 .Sx GtkButton
2730 whose id is
2731 .Ql main_ok .
2732 Invoking
2734 .Dl pipeglade -u simple_open.ui
2736 will open the dialog; pressing
2737 .Sq OK
2738 will close it after sending the selected filename to
2739 .Va stdout .
2740 .Ss One-Shot User Notification
2741 If the interface in
2742 .Pa ./simple_dialog.ui
2743 contains a
2744 .Sx GtkLabel Ql label1 ,
2745 then
2746 .Bd -literal -offset indent
2747 pipeglade -u simple_dialog.ui <<< \e
2748     "label1:set_text NOW READ THIS!"
2750 will set the label text accordingly and wait for user input.
2751 .Ss Continuous Input
2752 The following shell command displays a running clock:
2753 .Bd -literal -offset indent
2754 while true; do
2755     echo "label1:set_text `date`";
2756     sleep 1;
2757 done | pipeglade -u simple_dialog.ui
2759 .Ss Continuous Input and Output
2760 The following shell script fragment sets up
2762 for continuous communication with another program,
2763 .Pa main_prog :
2764 .Bd -literal -offset indent
2765 pipeglade -i in.fifo -o out.fifo -b
2766 main_prog <out.fifo >in.fifo
2768 .Sh SEE ALSO
2769 .Xr dialog 1 ,
2770 .Xr glade 1 ,
2771 .Xr gxmessage 1 ,
2772 .Xr kdialog 1 ,
2773 .Xr whiptail 1 ,
2774 .Xr xmessage 1 ,
2775 .Xr zenity 1
2776 .Sh AUTHOR
2778 was written by
2779 .An Bert Burgemeister
2780 .Aq Mt trebbu@googlemail.com .
2781 .Sh BUGS
2782 Due to what appears to be a bug in cairo v1.14.0,
2784 used with this library version occasionally crashes on
2785 .Cm GtkDrawingArea
2786 commands.