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