1. ----------------------------------------------------------------------- 
  2. --               GtkAda - Ada95 binding for Gtk+/Gnome               -- 
  3. --                                                                   -- 
  4. --                Copyright (C) 2006-2013, AdaCore                   -- 
  5. --                                                                   -- 
  6. -- This library is free software; you can redistribute it and/or     -- 
  7. -- modify it under the terms of the GNU General Public               -- 
  8. -- License as published by the Free Software Foundation; either      -- 
  9. -- version 2 of the License, or (at your option) any later version.  -- 
  10. --                                                                   -- 
  11. -- This library is distributed in the hope that it will be useful,   -- 
  12. -- but WITHOUT ANY WARRANTY; without even the implied warranty of    -- 
  13. -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -- 
  14. -- General Public License for more details.                          -- 
  15. --                                                                   -- 
  16. -- You should have received a copy of the GNU General Public         -- 
  17. -- License along with this library; if not, write to the             -- 
  18. -- Free Software Foundation, Inc., 59 Temple Place - Suite 330,      -- 
  19. -- Boston, MA 02111-1307, USA.                                       -- 
  20. --                                                                   -- 
  21. -- As a special exception, if other files instantiate generics from  -- 
  22. -- this unit, or you link this unit with other files to produce an   -- 
  23. -- executable, this  unit  does not  by itself cause  the resulting  -- 
  24. -- executable to be covered by the GNU General Public License. This  -- 
  25. -- exception does not however invalidate any other reasons why the   -- 
  26. -- executable file  might be covered by the  GNU Public License.     -- 
  27. ----------------------------------------------------------------------- 
  28.  
  29. --  <description> 
  30. --  This package contains various subprograms to easily share settings between 
  31. --  applications, or even between various parts of your application. 
  32. --  </description> 
  33. --  <c_version>2.8.17</c_version> 
  34. --  <group>Configuration and Themes</group> 
  35.  
  36. with Gdk; 
  37. with Glib.Object; 
  38. with Glib.Properties; 
  39. with Glib.Values; 
  40. with Gtk.Style; 
  41. with Interfaces.C.Strings; 
  42.  
  43. package Gtk.Settings is 
  44.  
  45.    type Gtk_Settings_Record is new Glib.Object.GObject_Record with null record; 
  46.    type Gtk_Settings is access all Gtk_Settings_Record'Class; 
  47.  
  48.    function Get_Default return Gtk_Settings; 
  49.    --  Gets the settings object for the default GDK screen, creating 
  50.    --  it if necessary. 
  51.  
  52.    function Get_For_Screen (Screen : Gdk.Gdk_Screen) return Gtk_Settings; 
  53.    --  Gets the settings object for Screen, creating it if necessary. 
  54.  
  55.    function Get_Type return Glib.GType; 
  56.    --  Return the internal type used to identify a Gtk_Settings 
  57.  
  58.    procedure Install_Property (Pspec : Glib.Param_Spec); 
  59.    --  Declares a property that can be shared among various parts of the 
  60.    --  application 
  61.  
  62.    procedure Install_Property_Parser 
  63.      (Pspec  : Glib.Param_Spec; 
  64.       Parser : Gtk.Style.Gtk_Rc_Property_Parser); 
  65.    --  Install a new parser for the given property. This parser is responsible 
  66.    --  for reading the property's value in a gtk configuration file, and 
  67.    --  convert it to a suitable value. 
  68.  
  69.    -------------------------------- 
  70.    -- Precoded parsing functions -- 
  71.    -------------------------------- 
  72.  
  73.    function Parse_Color 
  74.      (Pspec     : Glib.Param_Spec; 
  75.       Rc_String : Interfaces.C.Strings.chars_ptr; 
  76.       Value     : access Glib.Values.GValue) return Gboolean; 
  77.    function Parse_Enum 
  78.      (Pspec     : Glib.Param_Spec; 
  79.       Rc_String : Interfaces.C.Strings.chars_ptr; 
  80.       Value     : access Glib.Values.GValue) return Gboolean; 
  81.    function Parse_Flags 
  82.      (Pspec     : Glib.Param_Spec; 
  83.       Rc_String : Interfaces.C.Strings.chars_ptr; 
  84.       Value     : access Glib.Values.GValue) return Gboolean; 
  85.    function Parse_Requisition 
  86.      (Pspec     : Glib.Param_Spec; 
  87.       Rc_String : Interfaces.C.Strings.chars_ptr; 
  88.       Value     : access Glib.Values.GValue) return Gboolean; 
  89.    function Parse_Border 
  90.      (Pspec     : Glib.Param_Spec; 
  91.       Rc_String : Interfaces.C.Strings.chars_ptr; 
  92.       Value     : access Glib.Values.GValue) return Gboolean; 
  93.    --  These functions parse some of the predefined property types 
  94.  
  95.    ----------------------------------- 
  96.    -- Setting predefined properties -- 
  97.    ----------------------------------- 
  98.  
  99.    procedure Set_Property_Value 
  100.      (Settings : access Gtk_Settings_Record; 
  101.       Name     : String; 
  102.       Value    : Glib.Values.GValue; 
  103.       Origin   : String); 
  104.    procedure Set_String_Property 
  105.      (Settings : access Gtk_Settings_Record; 
  106.       Name     : String; 
  107.       Value    : String; 
  108.       Origin   : String); 
  109.    procedure Set_Long_Property 
  110.      (Settings : access Gtk_Settings_Record; 
  111.       Name     : String; 
  112.       Value    : Glong; 
  113.       Origin   : String); 
  114.    procedure Set_Double_Property 
  115.      (Settings : access Gtk_Settings_Record; 
  116.       Name     : String; 
  117.       Value    : Gdouble; 
  118.       Origin   : String); 
  119.    --  Set the value of a property. This automatically propagates the new 
  120.    --  value to all listeners, so that they can refresh themselves. 
  121.    --  Origin should be something like "filename:line" for rc files, or the 
  122.    --  name of the function that sets it otherwise 
  123.  
  124.    ---------------- 
  125.    -- Properties -- 
  126.    ---------------- 
  127.    --  The following settings are predefined: 
  128.  
  129.    use Glib.Properties; 
  130.  
  131.    Gtk_Alternative_Button_Order     : constant Property_Boolean; 
  132.    --  Whether buttons in dialogs should use the alternative button order. 
  133.    -- 
  134.    --  Default value: FALSE 
  135.  
  136.    Gtk_Alternative_Sort_Arrows      : constant Property_Boolean; 
  137.    --  Controls the direction of the sort indicators in sorted list and tree 
  138.    --  views. By default an arrow pointing down means the column is sorted in 
  139.    --  ascending order. When set to TRUE, this order will be inverted. 
  140.    -- 
  141.    --  Default value: FALSE 
  142.  
  143.    Gtk_Auto_Mnemonics               : constant Property_Boolean; 
  144.    --  Controls the direction of the sort indicators in sorted list and tree 
  145.    --  views. By default an arrow pointing down means the column is sorted in 
  146.    --  ascending order. When set to TRUE, this order will be inverted. 
  147.    --  Default value: FALSE 
  148.  
  149.    Gtk_Button_Images                : constant Property_Boolean; 
  150.    --  Whether images should be shown on buttons. 
  151.    --  Default value: TRUE 
  152.  
  153.    Gtk_Can_Change_Accels            : constant Property_Boolean; 
  154.    --  Whether menu accelerators can be changed by pressing a key over the menu 
  155.    --  item. 
  156.    --  Default value: FALSE 
  157.  
  158.    Gtk_Color_Palette                : constant Property_String; 
  159.    --  Palette to use in the color selector. 
  160.    -- 
  161.    --  Default value: "black:white:gray50:red:purple:blue:light 
  162.    --  blue:green:yellow:orange:lavender:brown:goldenrod4:dodger 
  163.    --  blue:pink:light green:gray10:gray30:gray75:gray90" 
  164.  
  165.    Gtk_Color_Scheme                 : constant Property_String; 
  166.    --  A palette of named colors for use in themes. The format of the string is 
  167.    --    name1: color1 
  168.    --    name2: color2 
  169.    --    ... 
  170.    --  Color names must be acceptable as identifiers in the gtkrc syntax, and 
  171.    --  color specifications must be in the format accepted by Gdk.Color.Parse. 
  172.    -- 
  173.    --  Note that due to the way the color tables from different sources are 
  174.    --  merged, color specifications will be converted to hexadecimal form 
  175.    --  when getting this property. 
  176.    -- 
  177.    --  Starting with GTK+ 2.12, the entries can alternatively be separated by 
  178.    --  ';' instead of newlines: 
  179.    --    name1: color1; name2: color2; ... 
  180.    -- 
  181.    --  Default value: "" 
  182.  
  183.    Gtk_Cursor_Blink                 : constant Property_Boolean; 
  184.    --  Whether the cursor should blink. 
  185.    -- 
  186.    --  Also see the Gtk_Cursor_Blink_Timeout setting, which allows more 
  187.    --  flexible control over cursor blinking. 
  188.    -- 
  189.    --  Default value: TRUE 
  190.  
  191.    Gtk_Cursor_Blink_Time            : constant Property_Int; 
  192.    --  Length of the cursor blink cycle, in milliseconds. 
  193.    -- 
  194.    --  Allowed values: >= 100 
  195.    -- 
  196.    --  Default value: 1200 
  197.  
  198.    Gtk_Cursor_Blink_Timeout         : constant Property_Int; 
  199.    --  Time after which the cursor stops blinking, in seconds. The timer is 
  200.    --  reset after each user interaction. 
  201.    -- 
  202.    --  Setting this to zero has the same effect as setting Gtk_Cursor_Blink to 
  203.    --  FALSE. 
  204.    -- 
  205.    --  Allowed values: >= 1 
  206.    -- 
  207.    --  Default value: 2147483647 
  208.  
  209.    Gtk_Cursor_Theme_Name            : constant Property_String; 
  210.    --  Name of the cursor theme to use, or NULL to use the default theme. 
  211.    -- 
  212.    --  Default value: NULL 
  213.  
  214.    Gtk_Cursor_Theme_Size            : constant Property_Int; 
  215.    --  Size to use for cursors, or 0 to use the default size. 
  216.    -- 
  217.    --  Allowed values: [0,128] 
  218.    -- 
  219.    --  Default value: 0 
  220.  
  221.    Gtk_Dnd_Drag_Threshold           : constant Property_Int; 
  222.    --  Number of pixels the cursor can move before dragging. 
  223.    -- 
  224.    --  Allowed values: >= 1 
  225.    -- 
  226.    --  Default value: 8 
  227.  
  228.    Gtk_Double_Click_Distance        : constant Property_Int; 
  229.    --  Maximum distance allowed between two clicks for them to be considered a 
  230.    --  double click (in pixels). 
  231.    -- 
  232.    --  Allowed values: >= 0 
  233.    -- 
  234.    --  Default value: 5 
  235.  
  236.    Gtk_Double_Click_Time            : constant Property_Int; 
  237.    --  Maximum time allowed between two clicks for them to be considered a 
  238.    --  double click (in milliseconds). 
  239.    -- 
  240.    --  Allowed values: >= 0 
  241.    -- 
  242.    --  Default value: 250 
  243.  
  244.    Gtk_Enable_Accels                : constant Property_Boolean; 
  245.    --  Whether menu items should have visible accelerators which can be 
  246.    --  activated. 
  247.    -- 
  248.    --  Default value: TRUE 
  249.  
  250.    Gtk_Enable_Animations            : constant Property_Boolean; 
  251.    --  Whether to enable toolkit-wide animations. 
  252.    -- 
  253.    --  Default value: TRUE 
  254.  
  255.    Gtk_Enable_Event_Sounds          : constant Property_Boolean; 
  256.    --  Whether to play any event sounds at all. 
  257.    -- 
  258.    --  See the Sound Theme spec for more information on event sounds and sound 
  259.    --  themes. 
  260.    -- 
  261.    --  GTK+ itself does not support event sounds, you have to use a loadable 
  262.    --  module like the one that comes with libcanberra. 
  263.    -- 
  264.    --  Default value: TRUE 
  265.  
  266.    Gtk_Enable_Input_Feedback_Sounds : constant Property_Boolean; 
  267.    --  Whether to play event sounds as feedback to user input. 
  268.    -- 
  269.    --  See the Sound Theme spec for more information on event sounds and sound 
  270.    --  themes. 
  271.    -- 
  272.    --  GTK+ itself does not support event sounds, you have to use a loadable 
  273.    --  module like the one that comes with libcanberra. 
  274.    -- 
  275.    --  Default value: TRUE 
  276.  
  277.    Gtk_Enable_Mnemonics             : constant Property_Boolean; 
  278.    --  Whether labels and menu items should have visible mnemonics which can be 
  279.    --  activated. 
  280.    -- 
  281.    --  Default value: TRUE 
  282.  
  283.    Gtk_Enable_Tooltips              : constant Property_Boolean; 
  284.    --  Whether tooltips should be shown on widgets. 
  285.    -- 
  286.    --  Default value: TRUE 
  287.  
  288.    Gtk_Entry_Password_Hint_Timeout  : constant Property_Uint; 
  289.    --  How long to show the last input character in hidden entries. This value 
  290.    --  is in milliseconds. 0 disables showing the last char. 600 is a good 
  291.    --  value for enabling it. 
  292.    -- 
  293.    --  Default value: 0 
  294.  
  295.    Gtk_Entry_Select_On_Focus        : constant Property_Boolean; 
  296.    --  Whether to select the contents of an entry when it is focused. 
  297.    -- 
  298.    --  Default value: TRUE 
  299.  
  300.    Gtk_Error_Bell                   : constant Property_Boolean; 
  301.    --  When TRUE, keyboard navigation and other input-related errors will cause 
  302.    --  a beep. Since the error bell is implemented using gdk_window_beep(), the 
  303.    --  windowing system may offer ways to configure the error bell in many 
  304.    --  ways, such as flashing the window or similar visual effects. 
  305.    -- 
  306.    --  Default value: TRUE 
  307.  
  308.    Gtk_Fallback_Icon_Theme          : constant Property_String; 
  309.    --  Name of a icon theme to fall back to. 
  310.    -- 
  311.    --  Default value: NULL 
  312.  
  313.    Gtk_File_Chooser_Backend         : constant Property_String; 
  314.    --  Name of the GtkFileChooser backend to use by default. 
  315.    -- 
  316.    --  Default value: NULL 
  317.  
  318.    Gtk_Font_Name                    : constant Property_String; 
  319.    --  Name of default font to use. 
  320.    -- 
  321.    --  Default value: "Sans 10" 
  322.  
  323.    Gtk_Fontconfig_Timestamp         : constant Property_Uint; 
  324.    --  Timestamp of current fontconfig configuration. 
  325.    -- 
  326.    --  Default value: 0 
  327.  
  328.    Gtk_Icon_Sizes                   : constant Property_String; 
  329.    --  A list of icon sizes. The list is separated by colons, and item has the 
  330.    --  form: 
  331.    -- 
  332.    --  size-name = width , height 
  333.    -- 
  334.    --  E.g. "gtk-menu=16,16:gtk-button=20,20:gtk-dialog=48,48". GTK+ itself use 
  335.    --  the following named icon sizes: gtk-menu, gtk-button, gtk-small-toolbar, 
  336.    --  gtk-large-toolbar, gtk-dnd, gtk-dialog. Applications can register their 
  337.    --  own named icon sizes with gtk_icon_size_register(). 
  338.    -- 
  339.    --  Default value: NULL 
  340.  
  341.    Gtk_Icon_Theme_Name              : constant Property_String; 
  342.    --  Name of icon theme to use. 
  343.    -- 
  344.    --  Default value: "hicolor" 
  345.  
  346.    Gtk_Im_Module                    : constant Property_String; 
  347.    --  Which IM (input method) module should be used by default. This is the 
  348.    --  input method that will be used if the user has not explicitly chosen 
  349.    --  another input method from the IM context menu. 
  350.    -- 
  351.    --  See GtkIMContext and see the "gtk-show-input-method-menu" property. 
  352.    -- 
  353.    --  Default value: NULL 
  354.  
  355.    Gtk_Key_Theme_Name               : constant Property_String; 
  356.    --  Name of key theme RC file to load. 
  357.    -- 
  358.    --  Default value: NULL 
  359.  
  360.    Gtk_Keynav_Cursor_Only           : constant Property_Boolean; 
  361.    --  When TRUE, keyboard navigation should be able to reach all widgets by 
  362.    --  using the cursor keys only. Tab, Shift etc. keys can't be expected to 
  363.    --  be present on the used input device. 
  364.    -- 
  365.    --  Default value: FALSE 
  366.  
  367.    Gtk_Keynav_Wrap_Around           : constant Property_Boolean; 
  368.    --  When TRUE, some widgets will wrap around when doing keyboard navigation, 
  369.    --  such as menus, menubars and notebooks. 
  370.    -- 
  371.    --  Default value: TRUE 
  372.  
  373.    Gtk_Label_Select_On_Focus        : constant Property_Boolean; 
  374.    --  Whether to select the contents of a selectable label when it is focused. 
  375.    -- 
  376.    --  Default value: TRUE 
  377.  
  378.    Gtk_Menu_Bar_Accel               : constant Property_String; 
  379.    --  Keybinding to activate the menu bar. 
  380.    -- 
  381.    --  Default value: "F10" 
  382.  
  383.    Gtk_Menu_Bar_Popup_Delay         : constant Property_Int; 
  384.    --  Delay before the submenus of a menu bar appear. 
  385.    -- 
  386.    --  Allowed values: >= 0 
  387.    -- 
  388.    --  Default value: 0 
  389.  
  390.    Gtk_Menu_Images                  : constant Property_Boolean; 
  391.    --  Whether images should be shown in menus. 
  392.    -- 
  393.    --  Default value: TRUE 
  394.  
  395.    Gtk_Menu_Popdown_Delay           : constant Property_Int; 
  396.    --  The time before hiding a submenu when the pointer is moving towards the 
  397.    --  submenu. 
  398.    -- 
  399.    --  Allowed values: >= 0 
  400.    -- 
  401.    --  Default value: 1000 
  402.  
  403.    Gtk_Menu_Popup_Delay             : constant Property_Int; 
  404.    --  Minimum time the pointer must stay over a menu item before the submenu 
  405.    --  appear. 
  406.    -- 
  407.    --  Allowed values: >= 0 
  408.    -- 
  409.    --  Default value: 225 
  410.  
  411.    Gtk_Modules                      : constant Property_String; 
  412.    --  List of currently active GTK modules. 
  413.    -- 
  414.    --  Default value: NULL 
  415.  
  416.    Gtk_Print_Backend                : constant Property_String; 
  417.    --  A comma-separated list of print backends to use in the print dialog. 
  418.    --  Available print backends depend on the GTK+ installation, and may 
  419.    --  include "file", "cups", "lpr" or "papi". 
  420.    -- 
  421.    --  Default value: "file,cups" 
  422.  
  423.    Gtk_Print_Preview_Command        : constant Property_String; 
  424.    --  A command to run for displaying the print preview. The command should 
  425.    --  contain a f placeholder, which will get replaced by the path to the 
  426.    --  pdf file. The command may also contain a s placeholder, which will get 
  427.    --  replaced by the path to a file containing the print settings in the 
  428.    --  format produced by Gtk.Print_Settings.To_File. 
  429.    -- 
  430.    --  The preview application is responsible for removing the pdf file and the 
  431.    --  print settings file when it is done. 
  432.    -- 
  433.    --  Default value: 
  434.    --    "evince --unlink-tempfile --preview --print-settings %s %f" 
  435.  
  436.    Gtk_Recent_Files_Limit           : constant Property_Int; 
  437.    --  The number of recently used files that should be displayed by default by 
  438.    --  GtkRecentChooser implementations and by the GtkFileChooser. A value of 
  439.    --  -1 means every recently used file stored. 
  440.    -- 
  441.    --  Allowed values: >= G_MAXULONG 
  442.    -- 
  443.    --  Default value: 50 
  444.  
  445.    Gtk_Recent_Files_Max_Age         : constant Property_Int; 
  446.    --  The maximum age, in days, of the items inside the recently used 
  447.    --  resources list. Items older than this setting will be excised from the 
  448.    --  list. If set to 0, the list will always be empty; if set to -1, no item 
  449.    --  will be removed. 
  450.    -- 
  451.    --  Allowed values: >= G_MAXULONG 
  452.    -- 
  453.    --  Default value: 30 
  454.  
  455.    Gtk_Show_Input_Method_Menu       : constant Property_Boolean; 
  456.    --  Whether the context menus of entries and text views should offer to 
  457.    --  change the input method. 
  458.    -- 
  459.    --  Default value: TRUE 
  460.  
  461.    Gtk_Show_Unicode_Menu            : constant Property_Boolean; 
  462.    --  Whether the context menus of entries and text views should offer to 
  463.    --  insert control characters. 
  464.    -- 
  465.    --  Default value: TRUE 
  466.  
  467.    Gtk_Sound_Theme_Name             : constant Property_String; 
  468.    --  The XDG sound theme to use for event sounds. 
  469.    -- 
  470.    --  See the Sound Theme spec for more information on event sounds and sound 
  471.    --  themes. 
  472.    -- 
  473.    --  GTK+ itself does not support event sounds, you have to use a loadable 
  474.    --  module like the one that comes with libcanberra. 
  475.    -- 
  476.    --  Default value: "freedesktop" 
  477.  
  478.    Gtk_Split_Cursor                 : constant Property_Boolean; 
  479.    --  Whether two cursors should be displayed for mixed left-to-right and 
  480.    --  right-to-left text. 
  481.    -- 
  482.    --  Default value: TRUE 
  483.  
  484.    Gtk_Theme_Name                   : constant Property_String; 
  485.    --  Name of theme RC file to load. 
  486.    -- 
  487.    --  Default value: "Raleigh" 
  488.  
  489.    Gtk_Timeout_Expand               : constant Property_Int; 
  490.    --  Expand value for timeouts, when a widget is expanding a new region. 
  491.    -- 
  492.    --  Allowed values: >= 0 
  493.    -- 
  494.    --  Default value: 500 
  495.  
  496.    Gtk_Timeout_Initial              : constant Property_Int; 
  497.    --  Starting value for timeouts, when button is pressed. 
  498.    -- 
  499.    --  Allowed values: >= 0 
  500.    -- 
  501.    --  Default value: 200 
  502.  
  503.    Gtk_Timeout_Repeat               : constant Property_Int; 
  504.    --  Repeat value for timeouts, when button is pressed. 
  505.    -- 
  506.    --  Allowed values: >= 0 
  507.    -- 
  508.    --  Default value: 20 
  509.  
  510.    Gtk_Toolbar_Icon_Size            : constant Property_Enum; 
  511.    --  The size of icons in default toolbars. 
  512.    -- 
  513.    --  Default value: GTK_ICON_SIZE_LARGE_TOOLBAR 
  514.  
  515.    Gtk_Toolbar_Style                : constant Property_Enum; 
  516.    --  Whether default toolbars have text only, text and icons, icons only, 
  517.    --  etc. 
  518.    -- 
  519.    --  Default value: GTK_TOOLBAR_BOTH 
  520.  
  521.    Gtk_Tooltip_Browse_Mode_Timeout  : constant Property_Int; 
  522.    --  Amount of time, in milliseconds, after which the browse mode will be 
  523.    --  disabled. 
  524.    -- 
  525.    --  See Gtk_Tooltip_Browse_Timeout" for more information about browse mode. 
  526.    -- 
  527.    --  Allowed values: >= 0 
  528.    -- 
  529.    --  Default value: 500 
  530.  
  531.    Gtk_Tooltip_Browse_Timeout       : constant Property_Int; 
  532.    --  Controls the time after which tooltips will appear when browse mode is 
  533.    --  enabled, in milliseconds. 
  534.    -- 
  535.    --  Browse mode is enabled when the mouse pointer moves off an object 
  536.    --  where a tooltip was currently being displayed. If the mouse pointer 
  537.    --  hits another object before the browse mode timeout expires (see 
  538.    --  Gtk_Tooltip_Browse_Mode_Timeout), it will take the amount of 
  539.    --  milliseconds specified by this setting to popup the tooltip for the 
  540.    --  new object. 
  541.    -- 
  542.    --  Allowed values: >= 0 
  543.    -- 
  544.    --  Default value: 60 
  545.  
  546.    Gtk_Tooltip_Timeout              : constant Property_Int; 
  547.    --  Time, in milliseconds, after which a tooltip could appear if the cursor 
  548.    --  is hovering on top of a widget. 
  549.    -- 
  550.    --  Allowed values: >= 0 
  551.    -- 
  552.    --  Default value: 500 
  553.  
  554.    Gtk_Touchscreen_Mode             : constant Property_Boolean; 
  555.    --  When TRUE, there are no motion notify events delivered on this screen, 
  556.    --  and widgets can't use the pointer hovering them for any essential 
  557.    --  functionality. 
  558.    -- 
  559.    --  Default value: FALSE 
  560.  
  561.    Gtk_Xft_Antialias                : constant Property_Int; 
  562.    --  Whether to antialias Xft fonts; 0=no, 1=yes, -1=default. 
  563.    -- 
  564.    --  Allowed values: [G_MAXULONG,1] 
  565.    -- 
  566.    --  Default value: -1 
  567.  
  568.    Gtk_Xft_Dpi                      : constant Property_Int; 
  569.    --  Resolution for Xft, in 1024 * dots/inch. -1 to use default value. 
  570.    -- 
  571.    --  Allowed values: [G_MAXULONG,1048576] 
  572.    -- 
  573.    --  Default value: -1 
  574.  
  575.    Gtk_Xft_Hinting                  : constant Property_Int; 
  576.    --  Whether to hint Xft fonts; 0=no, 1=yes, -1=default. 
  577.    -- 
  578.    --  Allowed values: [G_MAXULONG,1] 
  579.    -- 
  580.    --  Default value: -1 
  581.  
  582.    Gtk_Xft_Hintstyle                : constant Property_String; 
  583.    --  What degree of hinting to use; hintnone, hintslight, hintmedium, or 
  584.    --  hintfull. 
  585.    -- 
  586.    --  Default value: NULL 
  587.  
  588.    Gtk_Xft_Rgba                     : constant Property_String; 
  589.    --  Type of subpixel antialiasing; none, rgb, bgr, vrgb, vbgr. 
  590.    -- 
  591.    --  Default value: NULL 
  592.  
  593. private 
  594.  
  595.    Gtk_Alternative_Button_Order     : constant Property_Boolean := 
  596.                                         Build ("gtk-alternative-button-order"); 
  597.    Gtk_Alternative_Sort_Arrows      : constant Property_Boolean := 
  598.                                         Build ("gtk-alternative-sort-arrows"); 
  599.    Gtk_Auto_Mnemonics               : constant Property_Boolean := 
  600.                                         Build ("gtk-auto-mnemonics"); 
  601.    Gtk_Button_Images                : constant Property_Boolean := 
  602.                                         Build ("gtk-button-images"); 
  603.    Gtk_Can_Change_Accels            : constant Property_Boolean := 
  604.                                         Build ("gtk-can-change-accels"); 
  605.    Gtk_Color_Palette                : constant Property_String := 
  606.                                         Build ("gtk-color-palette"); 
  607.    Gtk_Color_Scheme                 : constant Property_String := 
  608.                                         Build ("gtk-color-scheme"); 
  609.    Gtk_Cursor_Blink                 : constant Property_Boolean := 
  610.                                         Build ("gtk-cursor-blink"); 
  611.    Gtk_Cursor_Blink_Time            : constant Property_Int := 
  612.                                         Build ("gtk-cursor-blink-time"); 
  613.    Gtk_Cursor_Blink_Timeout         : constant Property_Int := 
  614.                                         Build ("gtk-cursor-blink-timeout"); 
  615.    Gtk_Cursor_Theme_Name            : constant Property_String := 
  616.                                         Build ("gtk-cursor-theme-name"); 
  617.    Gtk_Cursor_Theme_Size            : constant Property_Int := 
  618.                                         Build ("gtk-cursor-theme-size"); 
  619.    Gtk_Dnd_Drag_Threshold           : constant Property_Int := 
  620.                                         Build ("gtk-dnd-drag-threshold"); 
  621.    Gtk_Double_Click_Distance        : constant Property_Int := 
  622.                                         Build ("gtk-double-click-distance"); 
  623.    Gtk_Double_Click_Time            : constant Property_Int := 
  624.                                         Build ("gtk-double-click-time"); 
  625.    Gtk_Enable_Accels                : constant Property_Boolean := 
  626.                                         Build ("gtk-enable-accels"); 
  627.    Gtk_Enable_Animations            : constant Property_Boolean := 
  628.                                         Build ("gtk-enable-animations"); 
  629.    Gtk_Enable_Event_Sounds          : constant Property_Boolean := 
  630.                                         Build ("gtk-enable-event-sounds"); 
  631.    Gtk_Enable_Input_Feedback_Sounds : constant Property_Boolean := 
  632.                                     Build ("gtk-enable-input-feedback-sounds"); 
  633.    Gtk_Enable_Mnemonics             : constant Property_Boolean := 
  634.                                         Build ("gtk-enable-mnemonics"); 
  635.    Gtk_Enable_Tooltips              : constant Property_Boolean := 
  636.                                         Build ("gtk-enable-tooltips"); 
  637.    Gtk_Entry_Password_Hint_Timeout  : constant Property_Uint := 
  638.                                     Build ("gtk-entry-password-hint-timeout"); 
  639.    Gtk_Entry_Select_On_Focus        : constant Property_Boolean := 
  640.                                         Build ("gtk-entry-select-on-focus"); 
  641.    Gtk_Error_Bell                   : constant Property_Boolean := 
  642.                                         Build ("gtk-error-bell"); 
  643.    Gtk_Fallback_Icon_Theme          : constant Property_String := 
  644.                                         Build ("gtk-fallback-icon-theme"); 
  645.    Gtk_File_Chooser_Backend         : constant Property_String := 
  646.                                         Build ("gtk-file-chooser-backend"); 
  647.    Gtk_Font_Name                    : constant Property_String := 
  648.                                         Build ("gtk-font-name"); 
  649.    Gtk_Fontconfig_Timestamp         : constant Property_Uint := 
  650.                                         Build ("gtk-fontconfig-timestamp"); 
  651.    Gtk_Icon_Sizes                   : constant Property_String := 
  652.                                         Build ("gtk-icon-sizes"); 
  653.    Gtk_Icon_Theme_Name              : constant Property_String := 
  654.                                         Build ("gtk-icon-theme-name"); 
  655.    Gtk_Im_Module                    : constant Property_String := 
  656.                                         Build ("gtk-im-module"); 
  657.    Gtk_Key_Theme_Name               : constant Property_String := 
  658.                                         Build ("gtk-key-theme-name"); 
  659.    Gtk_Keynav_Cursor_Only           : constant Property_Boolean := 
  660.                                         Build ("gtk-keynav-cursor-only"); 
  661.    Gtk_Keynav_Wrap_Around           : constant Property_Boolean := 
  662.                                         Build ("gtk-keynav-wrap-around"); 
  663.    Gtk_Label_Select_On_Focus        : constant Property_Boolean := 
  664.                                         Build ("gtk-label-select-on-focus"); 
  665.    Gtk_Menu_Bar_Accel               : constant Property_String := 
  666.                                         Build ("gtk-menu-bar-accel"); 
  667.    Gtk_Menu_Bar_Popup_Delay         : constant Property_Int := 
  668.                                         Build ("gtk-menu-bar-popup-delay"); 
  669.    Gtk_Menu_Images                  : constant Property_Boolean := 
  670.                                         Build ("gtk-menu-images"); 
  671.    Gtk_Menu_Popdown_Delay           : constant Property_Int := 
  672.                                         Build ("gtk-menu-popdown-delay"); 
  673.    Gtk_Menu_Popup_Delay             : constant Property_Int := 
  674.                                         Build ("gtk-menu-popup-delay"); 
  675.    Gtk_Modules                      : constant Property_String := 
  676.                                         Build ("gtk-modules"); 
  677.    Gtk_Print_Backend                : constant Property_String := 
  678.                                         Build ("gtk-print-backend"); 
  679.    Gtk_Print_Preview_Command        : constant Property_String := 
  680.                                         Build ("gtk-print-preview-command"); 
  681.    Gtk_Recent_Files_Limit           : constant Property_Int := 
  682.                                         Build ("gtk-recent-files-limit"); 
  683.    Gtk_Recent_Files_Max_Age         : constant Property_Int := 
  684.                                         Build ("gtk-recent-files-max-age"); 
  685.    Gtk_Show_Input_Method_Menu       : constant Property_Boolean := 
  686.                                         Build ("gtk-show-input-method-menu"); 
  687.    Gtk_Show_Unicode_Menu            : constant Property_Boolean := 
  688.                                         Build ("gtk-show-unicode-menu"); 
  689.    Gtk_Sound_Theme_Name             : constant Property_String := 
  690.                                         Build ("gtk-sound-theme-name"); 
  691.    Gtk_Split_Cursor                 : constant Property_Boolean := 
  692.                                         Build ("gtk-split-cursor"); 
  693.    Gtk_Theme_Name                   : constant Property_String := 
  694.                                         Build ("gtk-theme-name"); 
  695.    Gtk_Timeout_Expand               : constant Property_Int := 
  696.                                         Build ("gtk-timeout-expand"); 
  697.    Gtk_Timeout_Initial              : constant Property_Int := 
  698.                                         Build ("gtk-timeout-initial"); 
  699.    Gtk_Timeout_Repeat               : constant Property_Int := 
  700.                                         Build ("gtk-timeout-repeat"); 
  701.    Gtk_Toolbar_Icon_Size            : constant Property_Enum := 
  702.                                         Build ("gtk-toolbar-icon-size"); 
  703.    Gtk_Toolbar_Style                : constant Property_Enum := 
  704.                                         Build ("gtk-toolbar-style"); 
  705.    Gtk_Tooltip_Browse_Mode_Timeout  : constant Property_Int := 
  706.                                     Build ("gtk-tooltip-browse-mode-timeout"); 
  707.    Gtk_Tooltip_Browse_Timeout       : constant Property_Int := 
  708.                                         Build ("gtk-tooltip-browse-timeout"); 
  709.    Gtk_Tooltip_Timeout              : constant Property_Int := 
  710.                                         Build ("gtk-tooltip-timeout"); 
  711.    Gtk_Touchscreen_Mode             : constant Property_Boolean := 
  712.                                         Build ("gtk-touchscreen-mode"); 
  713.    Gtk_Xft_Antialias                : constant Property_Int := 
  714.                                         Build ("gtk-xft-antialias"); 
  715.    Gtk_Xft_Dpi                      : constant Property_Int := 
  716.                                         Build ("gtk-xft-dpi"); 
  717.    Gtk_Xft_Hinting                  : constant Property_Int := 
  718.                                         Build ("gtk-xft-hinting"); 
  719.    Gtk_Xft_Hintstyle                : constant Property_String := 
  720.                                         Build ("gtk-xft-hintstyle"); 
  721.    Gtk_Xft_Rgba                     : constant Property_String := 
  722.                                         Build ("gtk-xft-rgba"); 
  723.  
  724.    pragma Import (C, Get_Type,          "gtk_settings_get_type"); 
  725.    pragma Import (C, Install_Property_Parser, 
  726.                   "gtk_settings_install_property_parser"); 
  727.    pragma Import (C, Install_Property,  "gtk_settings_install_property"); 
  728.    pragma Import (C, Parse_Color,       "gtk_rc_property_parse_color"); 
  729.    pragma Import (C, Parse_Enum,        "gtk_rc_property_parse_enum"); 
  730.    pragma Import (C, Parse_Flags,       "gtk_rc_property_parse_flags"); 
  731.    pragma Import (C, Parse_Requisition, "gtk_rc_property_parse_requisition"); 
  732.    pragma Import (C, Parse_Border,      "gtk_rc_property_parse_border"); 
  733. end Gtk.Settings;