1 .\" Copyright (c) 2014-2016 Bert Burgemeister <trebbu@googlemail.com>
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:
11 .\" The above copyright notice and this permission notice shall be
12 .\" included in all copies or substantial portions of the Software.
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.
27 .Nd pipe-driven GTK+ interface
34 .Op Fl u Ar builder-file
35 .Op Fl e Ar parent-xid
38 .Op Fl -display Ar X-server
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
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
52 Simple one-shot dialogs as well as more complex, long-running programs
62 if necessary, sets its permissions to
64 and uses it for command input.
66 A command is a line of text.
68 .Qq Ar id Ns Cm \&: Ns Ar action Bq Ar data ,
70 being the name of the receiving widget;
72 is separated from the rest of the command by a single whitespace
74 Commands whose first non-whitespace character is
76 are considered comments and ignored silently, as are empty input lines.
77 Any occurences of the two-character sequences
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
86 and are otherwise ignored.
89 for applicable commands.
93 exists but is not a named pipe.
96 is deleted upon successful program termination.
98 Default command input is
103 if necessary, sets its permissions to
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 ,
111 being the name of the sending widget.
114 for possible feedback messages.
118 exists but is not a named pipe.
121 is deleted upon successful program termination.
123 Default feedback-message output is
128 in the background after printing its process ID to
131 It is an error if option
138 .It Fl u Ar builder-file
139 Displays the graphical user interface
141 which should be created using the
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
151 .It Fl e Ar parent-xid
152 Embeds the main window into the XEmbed socket
156 Appends for each command a line of
161 being the number of microseconds elapsed during
166 are separated by a tab character.
180 appending its output to
186 .It Fl -display Ar X-server
189 for user interaction.
191 Prints a help message and exits.
193 Prints the versions of the underlying GTK+ and cairo libraries and
201 The widget classes able to communicate through
208 .Sx GtkComboBoxText ,
214 .Sx GtkFileChooserButton ,
215 .Sx GtkFileChooserDialog ,
220 .Sx GtkMenuItem, GtkImageMenuItem ,
222 .Sx GtkPrintUnixDialog ,
226 .Sx GtkScrolledWindow
233 .Sx GtkToggleButton ,
235 .Sx GtkTreeViewColumn ,
240 references a widget by the
242 attribute it is given in Glade.
250 .Dl <object class="GtkWindow" id="foo"> .
251 .Ss Unspecific Widget
252 .Bl -tag -width "commands "
255 .Qq Ar id Ns Cm :load Ar file
262 is required but ignored.
264 commands may be nested but on attempts to read from the same file, the
275 .Qq Ar id Ns Cm :main_quit
276 kills the user interface.
279 is required but ignored.
282 .Bl -tag -width "commands "
284 .Qq Ar id Ns Cm :set_label Ar string
285 replaces the button text with
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
297 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
300 the widget, or makes it visible
303 .Qq Ar id Ns Cm :block Brq Cm 0 Ns | Ns Cm 1
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
322 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
323 sets the button's minimum size to
327 Default is the button's natural size.
331 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
337 .Qq Ar id Ns Cm \&:clicked
341 .Cm _ok , _apply , _cancel , _send_text ,
344 may work differently; see
345 .Sx GtkDialog , GtkFileChooserDialog ,
351 .Bl -tag -width "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
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
370 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
373 the calendar, or makes it visible
376 .Qq Ar id Ns Cm :block Brq Cm 0 Ns | Ns Cm 1
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
395 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
396 sets the calendar's minimum size to
400 Default is the widget's natural size.
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.
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
415 .Bl -tag -width "commands "
417 .Qq Ar id Ns Cm :set_active Brq Cm 0 Ns | Ns Cm 1
418 switches the check mark off
423 .Qq Ar id Ns Cm :set_label Ar string
424 replaces the button text with
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
436 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
439 the button, or makes it visible
442 .Qq Ar id Ns Cm :block Brq Cm 0 Ns | Ns Cm 1
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
461 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
462 sets the button's minimum size to
466 Default is the widget's natural size.
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.
482 .Bl -tag -width "commands "
484 .Qq Ar id Ns Cm :set_color Ar color
485 preselects the color; see
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
497 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
500 the button, or makes it visible
503 .Qq Ar id Ns Cm :block Brq Cm 0 Ns | Ns Cm 1
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
522 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
523 sets the button's minimum size to
527 Default is the widget's natural size.
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.
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 \&) .
543 lie between 0 and 255, and
552 .Bl -tag -width "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
560 .Qq Ar id Ns Cm :insert_text Ar position string
566 .Qq Ar id Ns Cm :remove 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
579 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
582 the combo box, or makes it visible
585 .Qq Ar id Ns Cm :block Brq Cm 0 Ns | Ns Cm 1
591 Initially, the combo box is unblocked.
593 .Qq Ar id Ns Cm :set_tooltip_text Bq Ar text
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
601 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
602 sets the combo box's minimum size to
606 Default is the natural size.
610 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
616 .Qq Ar entry_id Ns Cm \&:text Ar text ,
618 being the id of the child
631 .Ar foo Ns Cm _invoke .
639 .Ar foo Ns Cm _cancel
641 if the dialog is the sole window of the GUI and therefore named
652 it will take care of hiding the dialog window.
653 .Bl -tag -width "commands "
655 .Qq Ar id Ns Cm :set_title Ar string
656 replaces the text in the title bar with
659 .Qq Ar id Ns Cm :resize Bq Ar width height
660 changes the size of the dialog window to
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
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
681 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
684 the dialog, or makes it visible
687 .Qq Ar id Ns Cm :block Brq Cm 0 Ns | Ns Cm 1
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
703 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
704 sets the dialog window's minimum size to
708 Default is its natural size.
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.
718 .Qq Ar id Ns Cm \&:closed
721 window was closed by the window manager.
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
729 is an arbitrary non-negative integer that can be used later to
730 reference the command.
733 appends its command to the current list of drawing operations.
736 replaces the first drawing operation with context parameter
740 .Ar n Ns Cm < Ns Ar m ,
741 inserts its command before the first drawing operation with context
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 "
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
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
766 and proceeds in the direction of decreasing angles from
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
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
787 If there is no current point, the curve will start at
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
799 or creates a new current point at
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
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
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
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
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
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
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
839 .Qq Ar id Ns Cm :remove Ar n
840 removes the elements with context parameter
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
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
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
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
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.
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.
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
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
898 is in the format used with
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
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
924 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
927 the drawing area, or makes it visible
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
938 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
939 sets the drawing areas's minimum size to
943 Default is the natural size.
948 .Bl -tag -width "commands "
950 .Qq Ar id Ns Cm :set_text Ar string
951 replaces the user-editable text with
954 .Qq Ar id Ns Cm :set_placeholder_text 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
968 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
971 the entry, or makes it visible
974 .Qq Ar id Ns Cm :block Brq Cm 0 Ns | Ns Cm 1
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
993 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
994 sets the entry's minimum size to
998 Default is the entry's natural size.
1002 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
1008 .Qq Ar id Ns Cm \&:text Ar text ,
1009 once for each change of
1014 are mouse pointer coordinates relative to the
1016 .Bl -tag -width "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
1027 .Qq Ar id Ns Cm :block Brq Cm 0 Ns | Ns Cm 1
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
1043 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
1044 sets the minimum size to
1048 Default is the natural size of the event box.
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.
1058 .Qq Ar id Ns Cm \&:button_press Ar b x y ,
1059 .Qq Ar id Ns Cm \&:button_release Ar b x y
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
1069 .Qq Ar id Ns Cm \&:key_press Ar key ,
1071 being the key's name
1079 .Bl -tag -width "commands "
1081 .Qq Ar id Ns Cm :set_label Ar string
1082 replaces the expander label text with
1085 .Qq Ar id Ns Cm :set_expanded Brq Cm 0 Ns | Ns 1
1088 the child widget, or makes it visible
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
1100 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
1103 the expander, or makes it visible
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
1117 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
1118 sets the expander's minimum size to
1122 Default is the natural size.
1126 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
1134 .Ss GtkFileChooserButton
1135 .Bl -tag -width "commands "
1137 .Qq Ar id Ns Cm :set_filename 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
1151 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
1154 the button, or makes it visible
1157 .Qq Ar id Ns Cm :block Brq Cm 0 Ns | Ns Cm 1
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
1176 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
1177 sets the button's minimum size to
1181 Default is the widget's natural size.
1185 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
1191 .Qq Ar id Ns Cm \&:file Ar pathname
1192 if the selection has changed.
1194 .Ss GtkFileChooserDialog
1196 .Cm GtkFileChooserDialog
1199 will be invoked by a
1202 .Sx GtkImageMenuItem
1204 .Ar foo Ns Cm _invoke .
1207 .Cm GtkFileChooserDialog
1214 if the dialog is the sole window of the GUI and therefore named
1219 .Cm GtkFileChooserDialog
1224 .Ar foo Ns Cm _cancel
1226 if the dialog is the sole window of the GUI and therefore named
1231 .Cm GtkFileChooserDialog
1236 .Ar foo Ns Cm _apply
1238 if the dialog is the sole window of the GUI and therefore named
1241 .Bl -tag -width "commands "
1243 .Qq Ar id Ns Cm :set_filename Ar path
1246 to the extent it exists.
1248 .Qq Ar id Ns Cm :set_current_name Ar string
1251 the suggested filename, which may not yet exist.
1253 should either resemble an absolute path, or the
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
1262 .Qq Ar id Ns Cm :resize Bq Ar width height
1263 changes the size of the dialog window to
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
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
1284 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
1287 the dialog, or makes it visible
1290 .Qq Ar id Ns Cm :block Brq Cm 0 Ns | Ns Cm 1
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
1306 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
1307 sets the widget's minimum size to
1311 Default is the widget's natural size.
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.
1321 .Qq Ar id Ns Cm :file Ar pathname
1323 .Qq Ar id Ns Cm :folder Ar pathname
1325 .Qq Ar id Ns Cm \&:closed
1327 .Cm GtkFileChooserDialog
1328 window was closed by the window manager.
1331 .Bl -tag -width "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
1345 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
1348 the button, or makes it visible
1351 .Qq Ar id Ns Cm :block Brq Cm 0 Ns | Ns Cm 1
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
1370 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
1371 sets the button's minimum size to
1375 Default is the button's natural size.
1379 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
1385 .Qq Ar id Ns Cm \&:font Ar fontname
1388 .Bl -tag -width "commands "
1390 .Qq Ar id Ns Cm :set_label Ar text
1391 replaces the frame label text with
1394 .Qq Ar id Ns Cm :set_sensitive Brq Cm 0 Ns | Ns Cm 1
1395 makes the frame and its content grayed out
1400 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
1403 the frame, or makes it visible
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
1414 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
1415 sets the widget's minimum size to
1419 Default is the frame's natural size.
1423 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
1432 .Bl -tag -width "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
1441 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
1444 the image, or makes it visible
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
1455 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
1456 sets the images's minimum size to
1460 Default is the image's natural size.
1464 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
1473 .Bl -tag -width "commands "
1475 .Qq Ar id Ns Cm :set_text Ar string
1476 replaces the label text with
1479 .Qq Ar id Ns Cm :set_sensitive Brq Cm 0 Ns | Ns Cm 1
1480 makes the label grayed out
1485 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
1488 the label, or makes it visible
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
1499 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
1500 sets the label's minimum size to
1504 Default is the natural size.
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.
1516 .Ss GtkMenuItem, GtkImageMenuItem
1517 .Bl -tag -width "commands "
1519 .Qq Ar id Ns Cm :set_sensitive Brq Cm 0 Ns | Ns Cm 1
1520 makes the item grayed out
1525 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
1528 the item, or makes it visible
1531 .Qq Ar id Ns Cm :block Brq Cm 0 Ns | Ns Cm 1
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
1550 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
1551 sets the item's minimum size to
1555 Default is the item's natural size.
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.
1568 .Cm GtkImageMenuItem
1570 .Ar foo Ns Cm _invoke
1574 .Sx GtkFileChooserDialog
1578 If there isn't any dialog attached to the
1581 .Qq Ar id Ns Cm \&:active Ar label .
1584 .Bl -tag -width "commands "
1586 .Qq Ar id Ns Cm :set_current_page Ar n
1587 switches to zero-based page number
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
1599 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
1602 the notebook, or makes it visible
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
1613 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
1614 sets the notebooks's minimum size to
1618 Default is the widget's natural size.
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.
1630 .Ss GtkPrintUnixDialog
1631 .Bl -tag -width "commands "
1633 .Qq Ar id Ns Cm :print Ar file.ps
1634 opens the print dialog.
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
1647 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
1650 the dialog, or makes it visible
1653 .Qq Ar id Ns Cm :block Brq Cm 0 Ns | Ns Cm 1
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
1669 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
1670 sets the dialog's minimum size to
1674 Default is the dialog's natural size.
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.
1684 .Qq Ar id Ns Cm \&:closed
1686 .Cm GtkPrintUnixDialog
1687 window was closed by the window manager.
1690 .Bl -tag -width "commands "
1692 .Qq Ar id Ns Cm :set_fraction Ar x
1693 moves the progress bar to
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
1700 Default is the progress percentage.
1702 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
1705 the progress bar, or makes it visible
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
1716 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
1717 sets the minimum size of the progress bar to
1721 Default is the natural size.
1725 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
1734 .Bl -tag -width "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
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
1753 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
1756 the button, or makes it visible
1759 .Qq Ar id Ns Cm :block Brq Cm 0 Ns | Ns Cm 1
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
1778 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
1779 sets the button's minimum size to
1783 Default is the button's natural size.
1787 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
1793 .Qq Ar id Ns Cm \&:1
1795 .Qq Ar id Ns Cm \&:0
1799 .Bl -tag -width "commands "
1801 .Qq Ar id Ns Cm :set_value Ar x
1802 moves the slider to value
1805 .Qq Ar id Ns Cm :set_fill_level Bq Ar x
1806 moves the fill level indicator to value
1808 Default is hiding the fill level indicator.
1810 .Qq Ar id Ns Cm :set_range Ar min max
1813 .Qq Ar id Ns Cm :set_increments Ar step page
1814 sets the steps the slider moves while pressing arrow keys and
1816 .Pf / Ql Page_Down ,
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
1828 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
1831 the scale, or makes it visible
1834 .Qq Ar id Ns Cm :block Brq Cm 0 Ns | Ns Cm 1
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
1853 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
1854 sets the scale's minimum size to
1858 Default is the natural size.
1862 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
1868 .Qq Ar id Ns Cm \&:value Ar number
1870 .Ss GtkScrolledWindow
1871 .Bl -tag -width "commands "
1873 .Qq Ar id Ns Cm :hscroll Ar position
1875 .Qq Ar id Ns Cm :vscroll Ar position
1878 to the left or top edge of the
1879 .Cm GtkScrolledWindow ,
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
1890 .Cm GtkScrolledWindow .
1891 If the range is greater than the window, the initial part of the range
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
1903 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
1906 the widget, or makes it visible
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
1917 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
1918 sets the minimum size to
1922 Default is the widget's natural size.
1926 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
1936 may be unsupported by Glade, but its definition can be inserted
1937 manually into the GtkBuilder
1940 .Bd -literal -offset indent
1942 <object class="GtkSocket" id="socket1">
1943 <property name="visible">True</property>
1944 <property name="can_focus">True</property>
1947 <property name="expand">True</property>
1948 <property name="fill">True</property>
1949 <property name="position">1</property>
1953 .Bl -tag -width "commands "
1956 requests a feedback message containing the socket
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
1968 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
1971 the socket, or makes it visible
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
1981 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
1982 sets the socket's minimum size to
1986 Default is the socket's natural size.
1990 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
1996 .Qq Ar id Ns Cm :id Ar xid
1997 can be used by another process to XEmbed its widgets into the
2000 .Qq Ar id Ns Cm :plug-added ,
2005 Notification that the other process has inserted its widgets into or
2006 removed them from the
2010 .Bl -tag -width "commands "
2012 .Qq Ar id Ns Cm :set_text Ar string
2013 sets the selected value to
2016 .Qq Ar id Ns Cm :set_range Ar min max
2019 .Qq Ar id Ns Cm :set_increments Ar step page
2020 sets the steps the value changes while pressing arrow keys/left mouse
2023 .Pf / Ql Page_Down Ns
2024 /middle mouse button,
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
2036 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
2039 the button, or makes it visible
2042 .Qq Ar id Ns Cm :block Brq Cm 0 Ns | Ns Cm 1
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
2061 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
2062 sets the button's minimum size to
2066 Default is the widget's natural size.
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.
2076 .Qq Ar id Ns Cm \&:text Ar text
2079 .Bl -tag -width "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
2092 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
2095 the spinner, or makes it visible
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
2106 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
2107 sets the spinner's minimum size to
2111 Default is the natural size.
2115 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
2124 The context parameter
2126 is an arbitrary non-whitespace string.
2127 .Bl -tag -width "commands "
2129 .Qq Ar id Ns Cm :push_id Ar c string ,
2130 .Qq Ar id Ns Cm :push Ar string
2133 with context parameter
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
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
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
2161 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
2164 the statusbar, or makes it visible
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
2175 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
2176 sets the statusbar's minimum size to
2180 Default is the natural size.
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.
2193 .Bl -tag -width "commands "
2195 .Qq Ar id Ns Cm :set_active Brq Cm 0 Ns | Ns Cm 1
2196 turns the switch off
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
2210 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
2213 the switch, or makes it visible
2216 .Qq Ar id Ns Cm :block Brq Cm 0 Ns | Ns Cm 1
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
2235 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
2236 sets the switch's minimum size to
2240 Default is the natural size.
2244 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
2250 .Qq Ar id Ns Cm \&:1
2252 .Qq Ar id Ns Cm \&:0
2256 There should be a dedicated
2258 for sending (parts of) the text.
2266 .Ar foo Ns Cm _send_text
2267 will send the content of the
2272 .Ar foo Ns Cm _send_selection
2273 will send the highlighted part the
2275 .Bl -tag -width "commands "
2277 .Qq Ar id Ns Cm :set_text Ar string
2278 replaces the user-editable text with (potentially empty)
2281 .Qq Ar id Ns Cm :delete
2284 .Qq Ar id Ns Cm :insert_at_cursor Ar string
2289 .Qq Ar id Ns Cm :place_cursor Brq Ar position | Cm end
2290 places the text cursor at
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
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
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
2317 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
2320 the text view, or makes it visible
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
2331 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
2332 sets the minimum size to
2336 Default is the natural size.
2340 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
2346 .Qq Ar button_id Ns Cm :text Ar text ,
2354 and backslashes are replaced by
2358 .Bl -tag -width "commands "
2360 .Qq Ar id Ns Cm :set_active Brq Cm 0 Ns | Ns Cm 1
2361 switches the button off
2366 .Qq Ar id Ns Cm :set_label Ar string
2367 replaces the button text with
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
2379 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
2382 the button, or makes it visible
2385 .Qq Ar id Ns Cm :block Brq Cm 0 Ns | Ns Cm 1
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
2404 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
2405 sets the button's minimum size to
2409 Default is the button's natural size.
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.
2419 .Qq Ar id Ns Cm \&:1
2421 .Qq Ar id Ns Cm \&:0
2426 can deal with columns of type
2427 .Cm gboolean , gint , guint , glong , gulong , gint64 , guint64 , gfloat , gdouble ,
2434 refer to the underlying model
2437 .Cm GtkTreeStore ) .
2439 is a sequence of one or more colon-separated integers, e.g.
2443 .Bl -tag -width "commands "
2445 .Qq Ar id Ns Cm :set Ar row column data
2446 replaces the content at
2450 (which should be compatible with the type of
2452 If necessary, new tree nodes are created to obtain the minimal tree
2453 structure needed to support
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
2463 or at the end of the list, respectively.
2465 .Qq Ar id Ns Cm :move_row Ar origin Brq Ar destination | Cm end
2468 within its current level to
2472 .Qq Ar id Ns Cm :remove_row Ar row
2473 removes the row at position
2476 .Qq Ar id Ns Cm :clear
2479 .Qq Ar id Ns Cm :expand Ar row
2480 expands one level of the subtree below
2483 .Qq Ar id Ns Cm :expand_all Bq Ar row
2484 expands the subtree below
2488 .Qq Ar id Ns Cm :collapse Bq Ar row
2489 collapses the subtree below
2493 .Qq Ar id Ns Cm :set_cursor Bq Ar row
2498 .Qq Ar id Ns Cm :scroll Ar row column
2503 .Qq Ar id Ns Cm :save Ar file
2504 stores the content of the underlying model as a sequence of
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
2518 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
2521 the tree view, or makes it visible
2524 .Qq Ar id Ns Cm :block Brq Cm 0 Ns | Ns Cm 1
2529 .Cm GtkTreeSelection
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
2546 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
2547 sets the minimum size of the tree view to
2551 Default is the widget's natural size.
2555 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
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 ,
2571 .Ss GtkTreeViewColumn
2572 .Bl -tag -width "commands "
2574 .Qq Ar id Ns Cm :block Brq Cm 0 Ns | Ns Cm 1
2580 Initially, the widget is unblocked.
2582 .Qq Ar id Ns Cm \&:clicked
2585 .Bl -tag -width "commands "
2587 .Qq Ar id Ns Cm :set_title Ar string
2588 replaces the text in the title bar with
2591 .Qq Ar id Ns Cm :resize Bq Ar width height
2592 changes the window size to
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
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
2613 .Qq Ar id Ns Cm :set_visible Brq Cm 0 Ns | Ns Cm 1
2616 the widget, or makes it visible
2619 .Qq Ar id Ns Cm :block Brq Cm 0 Ns | Ns Cm 1
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
2634 .Qq Ar id Ns Cm :set_size_request Bq Ar width height
2635 sets the window's minimum size to
2639 Default is the widget's natural size.
2643 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
2649 .Qq Ar id Ns Cm \&:closed
2652 was closed by the window manager.
2658 .Bo Ar prop Ns Cm \&: Ns Ar val Ns Bo Cm \&; Ar prop Ns Cm \&: Ns Ar val ... Bc Bc
2662 of the widget style to
2664 Properties not explicitly specified are reset to their default values.
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
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 \&) .
2702 .Ss Discovering Pipeglade Interactively
2703 Suppose the interface in
2706 .Sx GtkLabel Ql label1
2708 .Sx GtkButton Ql button1 .
2714 .Sx GtkButton , Ql button1:clicked
2715 will be reported on the terminal.
2718 .Dl label1:set_text The Button
2720 will change the text shown on the label into
2722 .Ss One-Shot File Dialog
2723 Suppose the interface in
2724 .Pa ./simple_open.ui
2726 .Sx GtkFileChooserDialog
2734 .Dl pipeglade -u simple_open.ui
2736 will open the dialog; pressing
2738 will close it after sending the selected filename to
2740 .Ss One-Shot User Notification
2742 .Pa ./simple_dialog.ui
2744 .Sx GtkLabel Ql label1 ,
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
2755 echo "label1:set_text `date`";
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,
2764 .Bd -literal -offset indent
2765 pipeglade -i in.fifo -o out.fifo -b
2766 main_prog <out.fifo >in.fifo
2779 .An Bert Burgemeister
2780 .Aq Mt trebbu@googlemail.com .
2782 Due to what appears to be a bug in cairo v1.14.0,
2784 used with this library version occasionally crashes on