SF.net SVN: geany:[5871] trunk

colombanw at users.sourceforge.net colombanw at xxxxx
Thu Jul 28 17:59:22 UTC 2011


Revision: 5871
          http://geany.svn.sourceforge.net/geany/?rev=5871&view=rev
Author:   colombanw
Date:     2011-07-28 17:59:22 +0000 (Thu, 28 Jul 2011)

Log Message:
-----------
Allow editing of formerly hidden preferences in the preferences dialog

Patch by Dimitar Zhekov, thanks! (closes P#3313315)

Modified Paths:
--------------
    trunk/ChangeLog
    trunk/doc/geany.html
    trunk/doc/geany.txt
    trunk/geany.glade
    trunk/src/build.c
    trunk/src/build.h
    trunk/src/editor.c
    trunk/src/interface.c
    trunk/src/keyfile.c
    trunk/src/prefs.c
    trunk/src/stash.c
    trunk/src/stash.h
    trunk/src/ui_utils.c

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2011-07-28 15:45:25 UTC (rev 5870)
+++ trunk/ChangeLog	2011-07-28 17:59:22 UTC (rev 5871)
@@ -1,3 +1,12 @@
+2011-07-28  Colomban Wendling  <colomban(at)geany(dot)org>
+
+ * src/build.c, src/build.h, src/editor.c, src/interface.c,
+   src/keyfile.c, src/prefs.c, src/stash.c, src/stash.h,
+   src/ui_utils.c, geany.glade, doc/geany.txt, doc/geany.html:
+   Allow to edit formerly hidden preferences in the prefs dialog
+   (closes #3313315, patch by Dimitar Zhekov, thanks!).
+
+
 2011-06-26  Colomban Wendling  <colomban(at)geany(dot)org>
 
  * src/highlighting.c:

Modified: trunk/doc/geany.html
===================================================================
--- trunk/doc/geany.html	2011-07-28 15:45:25 UTC (rev 5870)
+++ trunk/doc/geany.html	2011-07-28 17:59:22 UTC (rev 5871)
@@ -6,7 +6,7 @@
 <meta name="generator" content="Docutils 0.7: http://docutils.sourceforge.net/" />
 <title>Geany</title>
 <meta name="authors" content="Enrico Tröger  Nick Treleaven  Frank Lanitz" />
-<meta name="date" content="2011-06-20" />
+<meta name="date" content="$Date$" />
 <style type="text/css">
 
 /*
@@ -139,7 +139,7 @@
 <br />Nick Treleaven
 <br />Frank Lanitz</td></tr>
 <tr><th class="docinfo-name">Date:</th>
-<td>2011-06-20</td></tr>
+<td>$Date$</td></tr>
 <tr><th class="docinfo-name">Version:</th>
 <td>0.21</td></tr>
 </tbody>
@@ -335,115 +335,115 @@
 </li>
 <li><a class="reference internal" href="#keybinding-preferences" id="id123">Keybinding preferences</a></li>
 <li><a class="reference internal" href="#printing-preferences" id="id124">Printing preferences</a></li>
-<li><a class="reference internal" href="#terminal-vte-preferences" id="id125">Terminal (VTE) preferences</a><ul>
-<li><a class="reference internal" href="#terminal-widget" id="id126">Terminal widget</a></li>
+<li><a class="reference internal" href="#various-preferences" id="id125">Various preferences</a></li>
+<li><a class="reference internal" href="#terminal-vte-preferences" id="id126">Terminal (VTE) preferences</a><ul>
+<li><a class="reference internal" href="#terminal-widget" id="id127">Terminal widget</a></li>
 </ul>
 </li>
 </ul>
 </li>
-<li><a class="reference internal" href="#project-management" id="id127">Project management</a><ul>
-<li><a class="reference internal" href="#new-project" id="id128">New project</a></li>
-<li><a class="reference internal" href="#project-properties" id="id129">Project properties</a></li>
-<li><a class="reference internal" href="#open-project" id="id130">Open project</a></li>
-<li><a class="reference internal" href="#close-project" id="id131">Close project</a></li>
+<li><a class="reference internal" href="#project-management" id="id128">Project management</a><ul>
+<li><a class="reference internal" href="#new-project" id="id129">New project</a></li>
+<li><a class="reference internal" href="#project-properties" id="id130">Project properties</a></li>
+<li><a class="reference internal" href="#open-project" id="id131">Open project</a></li>
+<li><a class="reference internal" href="#close-project" id="id132">Close project</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#build-menu" id="id132">Build menu</a><ul>
-<li><a class="reference internal" href="#indicators" id="id133">Indicators</a></li>
-<li><a class="reference internal" href="#default-build-menu-items" id="id134">Default build menu items</a><ul>
-<li><a class="reference internal" href="#compile" id="id135">Compile</a></li>
-<li><a class="reference internal" href="#build" id="id136">Build</a></li>
-<li><a class="reference internal" href="#make" id="id137">Make</a></li>
-<li><a class="reference internal" href="#make-custom-target" id="id138">Make custom target</a></li>
-<li><a class="reference internal" href="#make-object" id="id139">Make object</a></li>
-<li><a class="reference internal" href="#next-error" id="id140">Next error</a></li>
-<li><a class="reference internal" href="#previous-error" id="id141">Previous error</a></li>
-<li><a class="reference internal" href="#execute" id="id142">Execute</a></li>
-<li><a class="reference internal" href="#stopping-running-processes" id="id143">Stopping running processes</a><ul>
-<li><a class="reference internal" href="#terminal-emulators" id="id144">Terminal emulators</a></li>
+<li><a class="reference internal" href="#build-menu" id="id133">Build menu</a><ul>
+<li><a class="reference internal" href="#indicators" id="id134">Indicators</a></li>
+<li><a class="reference internal" href="#default-build-menu-items" id="id135">Default build menu items</a><ul>
+<li><a class="reference internal" href="#compile" id="id136">Compile</a></li>
+<li><a class="reference internal" href="#build" id="id137">Build</a></li>
+<li><a class="reference internal" href="#make" id="id138">Make</a></li>
+<li><a class="reference internal" href="#make-custom-target" id="id139">Make custom target</a></li>
+<li><a class="reference internal" href="#make-object" id="id140">Make object</a></li>
+<li><a class="reference internal" href="#next-error" id="id141">Next error</a></li>
+<li><a class="reference internal" href="#previous-error" id="id142">Previous error</a></li>
+<li><a class="reference internal" href="#execute" id="id143">Execute</a></li>
+<li><a class="reference internal" href="#stopping-running-processes" id="id144">Stopping running processes</a><ul>
+<li><a class="reference internal" href="#terminal-emulators" id="id145">Terminal emulators</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#set-build-commands" id="id145">Set build commands</a></li>
+<li><a class="reference internal" href="#set-build-commands" id="id146">Set build commands</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#build-menu-configuration" id="id146">Build menu configuration</a></li>
-<li><a class="reference internal" href="#build-menu-commands-dialog" id="id147">Build menu commands dialog</a><ul>
-<li><a class="reference internal" href="#substitutions-in-commands-and-working-directories" id="id148">Substitutions in commands and working directories</a></li>
-<li><a class="reference internal" href="#build-menu-keyboard-shortcuts" id="id149">Build menu keyboard shortcuts</a></li>
-<li><a class="reference internal" href="#old-settings" id="id150">Old settings</a></li>
+<li><a class="reference internal" href="#build-menu-configuration" id="id147">Build menu configuration</a></li>
+<li><a class="reference internal" href="#build-menu-commands-dialog" id="id148">Build menu commands dialog</a><ul>
+<li><a class="reference internal" href="#substitutions-in-commands-and-working-directories" id="id149">Substitutions in commands and working directories</a></li>
+<li><a class="reference internal" href="#build-menu-keyboard-shortcuts" id="id150">Build menu keyboard shortcuts</a></li>
+<li><a class="reference internal" href="#old-settings" id="id151">Old settings</a></li>
 </ul>
 </li>
 </ul>
 </li>
-<li><a class="reference internal" href="#printing-support" id="id151">Printing support</a></li>
-<li><a class="reference internal" href="#plugins" id="id152">Plugins</a><ul>
-<li><a class="reference internal" href="#plugin-manager" id="id153">Plugin manager</a></li>
+<li><a class="reference internal" href="#printing-support" id="id152">Printing support</a></li>
+<li><a class="reference internal" href="#plugins" id="id153">Plugins</a><ul>
+<li><a class="reference internal" href="#plugin-manager" id="id154">Plugin manager</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#keybindings" id="id154">Keybindings</a><ul>
-<li><a class="reference internal" href="#switching-documents" id="id155">Switching documents</a></li>
-<li><a class="reference internal" href="#configurable-keybindings" id="id156">Configurable keybindings</a><ul>
-<li><a class="reference internal" href="#file-keybindings" id="id157">File keybindings</a></li>
-<li><a class="reference internal" href="#editor-keybindings" id="id158">Editor keybindings</a></li>
-<li><a class="reference internal" href="#clipboard-keybindings" id="id159">Clipboard keybindings</a></li>
-<li><a class="reference internal" href="#select-keybindings" id="id160">Select keybindings</a></li>
-<li><a class="reference internal" href="#insert-keybindings" id="id161">Insert keybindings</a></li>
-<li><a class="reference internal" href="#format-keybindings" id="id162">Format keybindings</a></li>
-<li><a class="reference internal" href="#settings-keybindings" id="id163">Settings keybindings</a></li>
-<li><a class="reference internal" href="#search-keybindings" id="id164">Search keybindings</a></li>
-<li><a class="reference internal" href="#go-to-keybindings" id="id165">Go to keybindings</a></li>
-<li><a class="reference internal" href="#view-keybindings" id="id166">View keybindings</a></li>
-<li><a class="reference internal" href="#focus-keybindings" id="id167">Focus keybindings</a></li>
-<li><a class="reference internal" href="#notebook-tab-keybindings" id="id168">Notebook tab keybindings</a></li>
-<li><a class="reference internal" href="#document-keybindings" id="id169">Document keybindings</a></li>
-<li><a class="reference internal" href="#build-keybindings" id="id170">Build keybindings</a></li>
-<li><a class="reference internal" href="#tools-keybindings" id="id171">Tools keybindings</a></li>
-<li><a class="reference internal" href="#help-keybindings" id="id172">Help keybindings</a></li>
+<li><a class="reference internal" href="#keybindings" id="id155">Keybindings</a><ul>
+<li><a class="reference internal" href="#switching-documents" id="id156">Switching documents</a></li>
+<li><a class="reference internal" href="#configurable-keybindings" id="id157">Configurable keybindings</a><ul>
+<li><a class="reference internal" href="#file-keybindings" id="id158">File keybindings</a></li>
+<li><a class="reference internal" href="#editor-keybindings" id="id159">Editor keybindings</a></li>
+<li><a class="reference internal" href="#clipboard-keybindings" id="id160">Clipboard keybindings</a></li>
+<li><a class="reference internal" href="#select-keybindings" id="id161">Select keybindings</a></li>
+<li><a class="reference internal" href="#insert-keybindings" id="id162">Insert keybindings</a></li>
+<li><a class="reference internal" href="#format-keybindings" id="id163">Format keybindings</a></li>
+<li><a class="reference internal" href="#settings-keybindings" id="id164">Settings keybindings</a></li>
+<li><a class="reference internal" href="#search-keybindings" id="id165">Search keybindings</a></li>
+<li><a class="reference internal" href="#go-to-keybindings" id="id166">Go to keybindings</a></li>
+<li><a class="reference internal" href="#view-keybindings" id="id167">View keybindings</a></li>
+<li><a class="reference internal" href="#focus-keybindings" id="id168">Focus keybindings</a></li>
+<li><a class="reference internal" href="#notebook-tab-keybindings" id="id169">Notebook tab keybindings</a></li>
+<li><a class="reference internal" href="#document-keybindings" id="id170">Document keybindings</a></li>
+<li><a class="reference internal" href="#build-keybindings" id="id171">Build keybindings</a></li>
+<li><a class="reference internal" href="#tools-keybindings" id="id172">Tools keybindings</a></li>
+<li><a class="reference internal" href="#help-keybindings" id="id173">Help keybindings</a></li>
 </ul>
 </li>
 </ul>
 </li>
 </ul>
 </li>
-<li><a class="reference internal" href="#configuration-files" id="id173">Configuration files</a><ul>
-<li><a class="reference internal" href="#configuration-file-paths" id="id174">Configuration file paths</a><ul>
-<li><a class="reference internal" href="#paths-on-unix-like-systems" id="id175">Paths on Unix-like systems</a></li>
+<li><a class="reference internal" href="#configuration-files" id="id174">Configuration files</a><ul>
+<li><a class="reference internal" href="#configuration-file-paths" id="id175">Configuration file paths</a><ul>
+<li><a class="reference internal" href="#paths-on-unix-like-systems" id="id176">Paths on Unix-like systems</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#tools-menu-items" id="id176">Tools menu items</a></li>
-<li><a class="reference internal" href="#global-configuration-file" id="id177">Global configuration file</a></li>
-<li><a class="reference internal" href="#filetype-definition-files" id="id178">Filetype definition files</a><ul>
-<li><a class="reference internal" href="#filenames" id="id179">Filenames</a></li>
-<li><a class="reference internal" href="#system-files" id="id180">System files</a></li>
-<li><a class="reference internal" href="#user-files" id="id181">User files</a></li>
-<li><a class="reference internal" href="#custom-filetypes" id="id182">Custom filetypes</a><ul>
-<li><a class="reference internal" href="#creating-a-custom-filetype-from-an-existing-filetype" id="id183">Creating a custom filetype from an existing filetype</a></li>
+<li><a class="reference internal" href="#tools-menu-items" id="id177">Tools menu items</a></li>
+<li><a class="reference internal" href="#global-configuration-file" id="id178">Global configuration file</a></li>
+<li><a class="reference internal" href="#filetype-definition-files" id="id179">Filetype definition files</a><ul>
+<li><a class="reference internal" href="#filenames" id="id180">Filenames</a></li>
+<li><a class="reference internal" href="#system-files" id="id181">System files</a></li>
+<li><a class="reference internal" href="#user-files" id="id182">User files</a></li>
+<li><a class="reference internal" href="#custom-filetypes" id="id183">Custom filetypes</a><ul>
+<li><a class="reference internal" href="#creating-a-custom-filetype-from-an-existing-filetype" id="id184">Creating a custom filetype from an existing filetype</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#filetype-configuration" id="id184">Filetype configuration</a><ul>
-<li><a class="reference internal" href="#styling-section" id="id185">[styling] section</a><ul>
-<li><a class="reference internal" href="#using-a-named-style" id="id186">Using a named style</a></li>
-<li><a class="reference internal" href="#reading-styles-from-another-filetype" id="id187">Reading styles from another filetype</a></li>
+<li><a class="reference internal" href="#filetype-configuration" id="id185">Filetype configuration</a><ul>
+<li><a class="reference internal" href="#styling-section" id="id186">[styling] section</a><ul>
+<li><a class="reference internal" href="#using-a-named-style" id="id187">Using a named style</a></li>
+<li><a class="reference internal" href="#reading-styles-from-another-filetype" id="id188">Reading styles from another filetype</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#keywords-section" id="id188">[keywords] section</a></li>
-<li><a class="reference internal" href="#lexer-properties-section" id="id189">[lexer_properties] section</a></li>
-<li><a class="reference internal" href="#settings-section" id="id190">[settings] section</a></li>
-<li><a class="reference internal" href="#build-settings-section" id="id191">[build_settings] section</a></li>
+<li><a class="reference internal" href="#keywords-section" id="id189">[keywords] section</a></li>
+<li><a class="reference internal" href="#lexer-properties-section" id="id190">[lexer_properties] section</a></li>
+<li><a class="reference internal" href="#settings-section" id="id191">[settings] section</a></li>
+<li><a class="reference internal" href="#build-settings-section" id="id192">[build_settings] section</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#special-file-filetypes-common" id="id192">Special file filetypes.common</a><ul>
-<li><a class="reference internal" href="#named-styles-section" id="id193">[named_styles] section</a></li>
-<li><a class="reference internal" href="#id4" id="id194">[styling] section</a></li>
-<li><a class="reference internal" href="#id5" id="id195">[settings] section</a></li>
+<li><a class="reference internal" href="#special-file-filetypes-common" id="id193">Special file filetypes.common</a><ul>
+<li><a class="reference internal" href="#named-styles-section" id="id194">[named_styles] section</a></li>
+<li><a class="reference internal" href="#id4" id="id195">[styling] section</a></li>
+<li><a class="reference internal" href="#id5" id="id196">[settings] section</a></li>
 </ul>
 </li>
 </ul>
 </li>
-<li><a class="reference internal" href="#filetype-extensions" id="id196">Filetype extensions</a></li>
-<li><a class="reference internal" href="#filetype-group-membership" id="id197">Filetype group membership</a></li>
-<li><a class="reference internal" href="#preferences-file-format" id="id198">Preferences file format</a><ul>
-<li><a class="reference internal" href="#hidden-preferences" id="id199">Hidden preferences</a></li>
+<li><a class="reference internal" href="#filetype-extensions" id="id197">Filetype extensions</a></li>
+<li><a class="reference internal" href="#filetype-group-membership" id="id198">Filetype group membership</a></li>
+<li><a class="reference internal" href="#preferences-file-format" id="id199">Preferences file format</a><ul>
 <li><a class="reference internal" href="#build-menu-section" id="id200">[build-menu] section</a></li>
 </ul>
 </li>
@@ -1641,7 +1641,7 @@
 <p>The <em>Find Next/Previous Selection</em> commands perform a search for the
 current selected text. If nothing is selected, by default the current
 word is used instead. This can be customized by the
-<em>find_selection_type</em> hidden pref - see <a class="reference internal" href="#hidden-preferences">Hidden preferences</a>.</p>
+<em>find_selection_type</em> preference - see <a class="reference internal" href="#various-preferences">Various preferences</a>.</p>
 <table border="1" class="docutils">
 <colgroup>
 <col width="10%" />
@@ -2100,7 +2100,6 @@
 persist between Geany sessions. The settings under the Document menu,
 however, are only for the current document and revert to defaults
 when restarting Geany.</p>
-<p>There are also some rarer <a class="reference internal" href="#hidden-preferences">Hidden preferences</a>.</p>
 <div class="note">
 <p class="first admonition-title">Note</p>
 <p class="last">In the paragraphs that follow, the text describing a dialog tab
@@ -2726,12 +2725,263 @@
 see <a class="reference external" href="http://man.cx/strftime">http://man.cx/strftime</a>.</dd>
 </dl>
 </div>
+<div class="section" id="various-preferences">
+<h3><a class="toc-backref" href="#id125">Various preferences</a></h3>
+<img alt="./images/pref_dialog_various.png" src="./images/pref_dialog_various.png" />
+<p>Rarely used preferences, explained in the table below. A few of them require
+restart to take effect, and a few other will only affect newly opened or created
+documents before restart.</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="34%" />
+<col width="44%" />
+<col width="11%" />
+<col width="12%" />
+</colgroup>
+<thead valign="bottom">
+<tr><th class="head">Key</th>
+<th class="head">Description</th>
+<th class="head">Default</th>
+<th class="head">Applies</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr><td><strong>Editor related</strong></td>
+<td> </td>
+<td> </td>
+<td> </td>
+</tr>
+<tr><td>use_gtk_word_boundaries</td>
+<td>Whether to look for the end of a word
+when using word-boundary related
+Scintilla commands (see <a class="reference internal" href="#scintilla-keyboard-commands">Scintilla
+keyboard commands</a>).</td>
+<td>true</td>
+<td>to new
+documents</td>
+</tr>
+<tr><td>brace_match_ltgt</td>
+<td>Whether to highlight <, > angle brackets.</td>
+<td>false</td>
+<td>immediately</td>
+</tr>
+<tr><td>complete_snippets_whilst_editing</td>
+<td>Whether to allow completion of snippets
+when editing an existing line (i.e. there
+is some text after the current cursor
+position on the line). Only used when the
+keybinding <cite>Complete snippet</cite> is set to
+<tt class="docutils literal">Space</tt>.</td>
+<td>false</td>
+<td>immediately</td>
+</tr>
+<tr><td>show_editor_scrollbars</td>
+<td>Whether to display scrollbars. If set to
+false, the horizontal and vertical
+scrollbars are hidden completely.</td>
+<td>true</td>
+<td>immediately</td>
+</tr>
+<tr><td>indent_hard_tab_width</td>
+<td>The size of a tab character. Don't change
+it unless you really need to; use the
+indentation settings instead.</td>
+<td>8</td>
+<td>immediately</td>
+</tr>
+<tr><td><strong>Interface related</strong></td>
+<td> </td>
+<td> </td>
+<td> </td>
+</tr>
+<tr><td>show_symbol_list_expanders</td>
+<td>Whether to show or hide the small
+expander icons on the symbol list</td>
+<td>true</td>
+<td>to new
+documents</td>
+</tr>
+<tr><td>allow_always_save</td>
+<td>treeview. Whether files can be saved
+always, even if they don't have any
+changes. By default, the Save button and
+menu item are disabled when a file is
+unchanged. When setting this option to
+true, the Save button and menu item are
+always active and files can be saved.</td>
+<td>false</td>
+<td>immediately</td>
+</tr>
+<tr><td>compiler_tab_autoscroll</td>
+<td>Whether to automatically scroll to the
+last line of the output in the Compiler
+tab.</td>
+<td>true</td>
+<td>immediately</td>
+</tr>
+<tr><td>statusbar_template</td>
+<td>The status bar statistics line format.
+(Search in src/ui_utils.c for details).</td>
+<td>See below.</td>
+<td>immediately</td>
+</tr>
+<tr><td>new_document_after_close</td>
+<td>Whether to open a new document after all
+documents have been closed.</td>
+<td>false</td>
+<td>immediately</td>
+</tr>
+<tr><td>msgwin_status_visible</td>
+<td>Whether to show the Status tab in the
+Messages Window</td>
+<td>true</td>
+<td>immediately</td>
+</tr>
+<tr><td>msgwin_compiler_visible</td>
+<td>Whether to show the Compiler tab in the
+Messages Window</td>
+<td>true</td>
+<td>immediately</td>
+</tr>
+<tr><td>msgwin_messages_visible</td>
+<td>Whether to show the Messages tab in the
+Messages Window</td>
+<td>true</td>
+<td>immediately</td>
+</tr>
+<tr><td>msgwin_scribble_visible</td>
+<td>Whether to show the Scribble tab in the
+Messages Window</td>
+<td>true</td>
+<td>immediately</td>
+</tr>
+</tbody>
+</table>
+<p>By default, statusbar_template is empty. This tells Geany to use its
+internal default, which is currently:</p>
+<p><tt class="docutils literal">line: %l / %L\t col: %c\t sel: %s\t %w      %t      %mmode: %M      encoding: %e      filetype: %f      scope: %S</tt></p>
+<p>Note that <tt class="docutils literal">\t</tt> = tab.</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="34%" />
+<col width="46%" />
+<col width="9%" />
+<col width="12%" />
+</colgroup>
+<thead valign="bottom">
+<tr><th class="head">Key</th>
+<th class="head">Description</th>
+<th class="head">Default</th>
+<th class="head">Applies</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr><td><strong>VTE related</strong></td>
+<td> </td>
+<td> </td>
+<td> </td>
+</tr>
+<tr><td>emulation</td>
+<td>Terminal emulation mode. Only change this
+if you have VTE termcap files other than
+<tt class="docutils literal">vte/termcap/xterm</tt>.</td>
+<td>xterm</td>
+<td>immediately</td>
+</tr>
+<tr><td>send_selection_unsafe</td>
+<td>By default, Geany strips any trailing
+newline characters from the current
+selection before sending it to the terminal
+to not execute arbitrary code. This is
+mainly a security feature.
+If, for whatever reasons, you really want
+it to be executed directly, set this option
+to true.</td>
+<td>false</td>
+<td>immediately</td>
+</tr>
+<tr><td><strong>File related</strong></td>
+<td> </td>
+<td> </td>
+<td> </td>
+</tr>
+<tr><td>use_safe_file_saving</td>
+<td>Defines the mode how Geany saves files to
+disk. If disabled, Geany directly writes
+the content of the document to disk. This
+might cause in loss of data when there is
+no more free space on disk to save the
+file. When set to true, Geany first saves
+the contents into a temporary file and if
+this succeeded, the temporary file is
+moved to the real file to save.
+This gives better error checking in case of
+no more free disk space. But it also
+destroys hard links of the original file
+and its permissions (e.g. executable flags
+are reset). Use this with care as it can
+break things seriously.
+The better approach would be to ensure your
+disk won't run out of free space.</td>
+<td>false</td>
+<td>immediately</td>
+</tr>
+<tr><td>use_gio_unsafe_file_saving</td>
+<td>Whether to use GIO as the unsafe file
+saving backend. It is better on most
+situations but is known not to work
+correctly on some complex setups.</td>
+<td>true</td>
+<td>immediately</td>
+</tr>
+<tr><td>gio_unsafe_save_backup</td>
+<td>Make a backup when using GIO unsafe file
+saving. Backup is named <cite>filename~</cite>.</td>
+<td>false</td>
+<td>immediately</td>
+</tr>
+<tr><td><strong>Search related</strong></td>
+<td> </td>
+<td> </td>
+<td> </td>
+</tr>
+<tr><td>find_selection_type</td>
+<td>See <a class="reference internal" href="#find-selection">Find selection</a>.</td>
+<td>0</td>
+<td>immediately</td>
+</tr>
+<tr><td><strong>Build Menu related</strong></td>
+<td> </td>
+<td> </td>
+<td> </td>
+</tr>
+<tr><td>number_ft_menu_items</td>
+<td>The maximum number of menu items in the
+filetype section of the Build menu.</td>
+<td>2</td>
+<td>on restart</td>
+</tr>
+<tr><td>number_non_ft_menu_items</td>
+<td>The maximum number of menu items in the
+independent section of the Build menu.</td>
+<td>3</td>
+<td>on restart</td>
+</tr>
+<tr><td>number_exec_menu_items</td>
+<td>The maximum number of menu items in the
+execute section of the Build menu.</td>
+<td>2</td>
+<td>on restart</td>
+</tr>
+</tbody>
+</table>
+</div>
 <div class="section" id="terminal-vte-preferences">
-<h3><a class="toc-backref" href="#id125">Terminal (VTE) preferences</a></h3>
+<h3><a class="toc-backref" href="#id126">Terminal (VTE) preferences</a></h3>
 <p>See also: <a class="reference internal" href="#virtual-terminal-emulator-widget-vte">Virtual terminal emulator widget (VTE)</a>.</p>
 <img alt="./images/pref_dialog_vte.png" src="./images/pref_dialog_vte.png" />
 <div class="section" id="terminal-widget">
-<h4><a class="toc-backref" href="#id126">Terminal widget</a></h4>
+<h4><a class="toc-backref" href="#id127">Terminal widget</a></h4>
 <dl class="docutils">
 <dt>Terminal font</dt>
 <dd>Select the font that will be used in the terminal emulation control.</dd>
@@ -2770,7 +3020,7 @@
 </div>
 </div>
 <div class="section" id="project-management">
-<h2><a class="toc-backref" href="#id127">Project management</a></h2>
+<h2><a class="toc-backref" href="#id128">Project management</a></h2>
 <p>Project management is optional in Geany. Currently it can be used for:</p>
 <ul class="simple">
 <li>Storing and opening session files on a project basis.</li>
@@ -2788,7 +3038,7 @@
 file that was in use at the end of the last session will be reopened.</p>
 <p>The project menu items are detailed below.</p>
 <div class="section" id="new-project">
-<h3><a class="toc-backref" href="#id128">New project</a></h3>
+<h3><a class="toc-backref" href="#id129">New project</a></h3>
 <p>To create a new project, fill in the <em>Name</em> field. By default this
 will setup a new project file <tt class="docutils literal">~/projects/name.geany</tt>. Usually it's
 best to store all your project files in the same directory (they are
@@ -2798,7 +3048,7 @@
 structure contained in it.</p>
 </div>
 <div class="section" id="project-properties">
-<h3><a class="toc-backref" href="#id129">Project properties</a></h3>
+<h3><a class="toc-backref" href="#id130">Project properties</a></h3>
 <p>You can set an optional description for the project. Currently it's
 only used for a template wildcard - see <a class="reference internal" href="#template-wildcards">Template wildcards</a>.</p>
 <p>The <em>Base path</em> field is used as the directory to run the Build menu commands.
@@ -2810,7 +3060,7 @@
 <a class="reference internal" href="#indentation">Indentation</a> settings.</p>
 </div>
 <div class="section" id="open-project">
-<h3><a class="toc-backref" href="#id130">Open project</a></h3>
+<h3><a class="toc-backref" href="#id131">Open project</a></h3>
 <p>The Open command displays a standard file chooser, starting in
 <tt class="docutils literal">~/projects</tt>. Choose a project file named with the <tt class="docutils literal">.geany</tt>
 extension.</p>
@@ -2818,14 +3068,14 @@
 open files and open the session files associated with the project.</p>
 </div>
 <div class="section" id="close-project">
-<h3><a class="toc-backref" href="#id131">Close project</a></h3>
+<h3><a class="toc-backref" href="#id132">Close project</a></h3>
 <p>Project file settings are saved when the project is closed.</p>
 <p>When project session support is enabled, Geany will close the project
 session files and open any previously closed default session files.</p>
 </div>
 </div>
 <div class="section" id="build-menu">
-<h2><a class="toc-backref" href="#id132">Build menu</a></h2>
+<h2><a class="toc-backref" href="#id133">Build menu</a></h2>
 <p>After editing code with Geany, the next step is to compile, link, build,
 interpret, run etc.  As Geany supports many languages each with a different
 approach to such operations, and as there are also many language independent
@@ -2852,7 +3102,7 @@
 Dialog, see <a class="reference internal" href="#build-menu-configuration">Build Menu Configuration</a>.</p>
 </div>
 <div class="section" id="indicators">
-<h3><a class="toc-backref" href="#id133">Indicators</a></h3>
+<h3><a class="toc-backref" href="#id134">Indicators</a></h3>
 <p>Indicators are red squiggly underlines which are used to highlight
 errors which occurred while compiling the current file. So you can
 easily see where your code failed to compile. You can remove them by
@@ -2861,7 +3111,7 @@
 preferences</a>.</p>
 </div>
 <div class="section" id="default-build-menu-items">
-<h3><a class="toc-backref" href="#id134">Default build menu items</a></h3>
+<h3><a class="toc-backref" href="#id135">Default build menu items</a></h3>
 <p>Depending on the current file's filetype, the default Build menu will contain
 the following items:</p>
 <ul class="simple">
@@ -2876,7 +3126,7 @@
 <li>Set Build Menu Commands</li>
 </ul>
 <div class="section" id="compile">
-<h4><a class="toc-backref" href="#id135">Compile</a></h4>
+<h4><a class="toc-backref" href="#id136">Compile</a></h4>
 <p>The Compile command has different uses for different kinds of files.</p>
 <p>For compilable languages such as C and C++, the Compile command is
 set up to compile the current source file into a binary object file.</p>
@@ -2886,7 +3136,7 @@
 or if that is not available will run the file in its language interpreter.</p>
 </div>
 <div class="section" id="build">
-<h4><a class="toc-backref" href="#id136">Build</a></h4>
+<h4><a class="toc-backref" href="#id137">Build</a></h4>
 <p>For compilable languages such as C and C++, the Build command will link
 the current source file's equivalent object file into an executable. If
 the object file does not exist, the source will be compiled and linked
@@ -2901,32 +3151,32 @@
 </div>
 </div>
 <div class="section" id="make">
-<h4><a class="toc-backref" href="#id137">Make</a></h4>
+<h4><a class="toc-backref" href="#id138">Make</a></h4>
 <p>This runs "make" in the same directory as the
 current file.</p>
 </div>
 <div class="section" id="make-custom-target">
-<h4><a class="toc-backref" href="#id138">Make custom target</a></h4>
+<h4><a class="toc-backref" href="#id139">Make custom target</a></h4>
 <p>This is similar to running 'Make' but you will be prompted for
 the make target name to be passed to the Make tool. For example,
 typing 'clean' in the dialog prompt will run "make clean".</p>
 </div>
 <div class="section" id="make-object">
-<h4><a class="toc-backref" href="#id139">Make object</a></h4>
+<h4><a class="toc-backref" href="#id140">Make object</a></h4>
 <p>Make object will run "make current_file.o" in the same directory as
 the current file, using the filename for 'current_file'. It is useful
 for building just the current file without building the whole project.</p>
 </div>
 <div class="section" id="next-error">
-<h4><a class="toc-backref" href="#id140">Next error</a></h4>
+<h4><a class="toc-backref" href="#id141">Next error</a></h4>
 <p>The next error item will move to the next detected error in the file.</p>
 </div>
 <div class="section" id="previous-error">
-<h4><a class="toc-backref" href="#id141">Previous error</a></h4>
+<h4><a class="toc-backref" href="#id142">Previous error</a></h4>
 <p>The previous error item will move to the previous detected error in the file.</p>
 </div>
 <div class="section" id="execute">
-<h4><a class="toc-backref" href="#id142">Execute</a></h4>
+<h4><a class="toc-backref" href="#id143">Execute</a></h4>
 <p>Execute will run the corresponding executable file, shell script or
 interpreted script in a terminal window. Note that the Terminal tool
 path must be correctly set in the Tools tab of the Preferences dialog -
@@ -2943,7 +3193,7 @@
 </div>
 </div>
 <div class="section" id="stopping-running-processes">
-<h4><a class="toc-backref" href="#id143">Stopping running processes</a></h4>
+<h4><a class="toc-backref" href="#id144">Stopping running processes</a></h4>
 <p>When there is a running program, the Execute menu item in the menu and
 the Run button in the toolbar
 each become a stop button so you can stop the current running program (and
@@ -2952,7 +3202,7 @@
 cannot be stopped. For example this can happen when the process creates
 more than one child process.</p>
 <div class="section" id="terminal-emulators">
-<h5><a class="toc-backref" href="#id144">Terminal emulators</a></h5>
+<h5><a class="toc-backref" href="#id145">Terminal emulators</a></h5>
 <p>Xterm is known to work properly. If you are using "Terminal"
 (the terminal program of Xfce), you should add the command line
 option <tt class="docutils literal"><span class="pre">--disable-server</span></tt> otherwise the started process cannot be
@@ -2961,7 +3211,7 @@
 </div>
 </div>
 <div class="section" id="set-build-commands">
-<h4><a class="toc-backref" href="#id145">Set build commands</a></h4>
+<h4><a class="toc-backref" href="#id146">Set build commands</a></h4>
 <p>By default Compile, Build and Execute are fairly basic commands. You
 may wish to customise them using <em>Set Build Commands</em>.</p>
 <p>E.g. for C you can add any include paths and compile flags for the
@@ -2970,7 +3220,7 @@
 </div>
 </div>
 <div class="section" id="build-menu-configuration">
-<h3><a class="toc-backref" href="#id146">Build menu configuration</a></h3>
+<h3><a class="toc-backref" href="#id147">Build menu configuration</a></h3>
 <p>The build menu has considerable flexibility and configurability, allowing
 both menu labels the commands they execute and the directory they execute
 in to be configured.</p>
@@ -2997,9 +3247,9 @@
 </li>
 </ul>
 <p>The maximum numbers of items in each of the configurable groups can be
-configured when Geany starts using hidden settings (see <a class="reference internal" href="#preferences-file-format">Preferences file format</a>).
-Even though the maximum number of items may have been increased, only
-those menu items that have values configured are shown in the menu.</p>
+configured in the <a class="reference internal" href="#various-preferences">Various preferences</a>. Even though the maximum number of
+items may have been increased, only those menu items that have values
+configured are shown in the menu.</p>
 <p>The groups of menu items obtain their configuration from four potential
 sources.  The highest priority source that has the menu item defined will
 be used. The sources in decreasing priority are:</p>
@@ -3129,7 +3379,7 @@
 </ul>
 </div>
 <div class="section" id="build-menu-commands-dialog">
-<h3><a class="toc-backref" href="#id147">Build menu commands dialog</a></h3>
+<h3><a class="toc-backref" href="#id148">Build menu commands dialog</a></h3>
 <p>Most of the configuration of the build menu is done through the Build Menu
 Commands Dialog.  You edit the configuration sourced from preferences in the
 dialog opened from the Build->Build Menu Commands item and you edit the
@@ -3161,7 +3411,7 @@
 To hide lower priority menu items without having anything show in the menu
 configure with a nothing in the label but at least one character in the command.</p>
 <div class="section" id="substitutions-in-commands-and-working-directories">
-<h4><a class="toc-backref" href="#id148">Substitutions in commands and working directories</a></h4>
+<h4><a class="toc-backref" href="#id149">Substitutions in commands and working directories</a></h4>
 <p>The first occurence of each of the following character sequences in each of the
 command and working directory fields is substituted by the items specified below
 before the command is run.</p>
@@ -3182,7 +3432,7 @@
 </div>
 </div>
 <div class="section" id="build-menu-keyboard-shortcuts">
-<h4><a class="toc-backref" href="#id149">Build menu keyboard shortcuts</a></h4>
+<h4><a class="toc-backref" href="#id150">Build menu keyboard shortcuts</a></h4>
 <p>Keyboard shortcuts can be defined for the first two filetype menu items, the first three
 independent menu items, the first two execute menu items and the fixed menu items.
 In the keybindings configuration dialog (see <a class="reference internal" href="#keybinding-preferences">Keybinding preferences</a>)
@@ -3191,7 +3441,7 @@
 <p>You can also use underlines in the labels to set mnemonic characters.</p>
 </div>
 <div class="section" id="old-settings">
-<h4><a class="toc-backref" href="#id150">Old settings</a></h4>
+<h4><a class="toc-backref" href="#id151">Old settings</a></h4>
 <p>The configurable Build Menu capability was introduced in Geany 0.19 and
 required a new section to be added to the configuration files (See
 <a class="reference internal" href="#preferences-file-format">Preferences file format</a>).  Geany will still load older format project,
@@ -3207,7 +3457,7 @@
 </div>
 </div>
 <div class="section" id="printing-support">
-<h2><a class="toc-backref" href="#id151">Printing support</a></h2>
+<h2><a class="toc-backref" href="#id152">Printing support</a></h2>
 <p>Since Geany 0.13 there has been printing support using GTK's printing API.
 The printed page(s) will look nearly the same as on your screen in Geany.
 Additionally, there are some options to modify the printed page(s).</p>
@@ -3258,7 +3508,7 @@
 gtklp or similar programs can be used.</p>
 </div>
 <div class="section" id="plugins">
-<h2><a class="toc-backref" href="#id152">Plugins</a></h2>
+<h2><a class="toc-backref" href="#id153">Plugins</a></h2>
 <p>Plugins are loaded at startup, if the <em>Enable plugin support</em>
 general preference is set. There is also a command-line option,
 <tt class="docutils literal"><span class="pre">-p</span></tt>, which prevents plugins being loaded. Plugins are scanned in
@@ -3273,7 +3523,7 @@
 <p>See also <a class="reference internal" href="#plugin-documentation">Plugin documentation</a> for information about single plugins
 which are included in Geany.</p>
 <div class="section" id="plugin-manager">
-<h3><a class="toc-backref" href="#id153">Plugin manager</a></h3>
+<h3><a class="toc-backref" href="#id154">Plugin manager</a></h3>
 <p>The Plugin Manager dialog lets you choose which plugins
 should be loaded at startup. You can also load and unload plugins on the
 fly using this dialog. Once you click the checkbox for a specific plugin
@@ -3284,13 +3534,13 @@
 </div>
 </div>
 <div class="section" id="keybindings">
-<h2><a class="toc-backref" href="#id154">Keybindings</a></h2>
+<h2><a class="toc-backref" href="#id155">Keybindings</a></h2>
 <p>Geany supports the default keyboard shortcuts for the Scintilla
 editing widget. For a list of these commands, see <a class="reference internal" href="#scintilla-keyboard-commands">Scintilla
 keyboard commands</a>. The Scintilla keyboard shortcuts will be overridden
 by any custom keybindings with the same keyboard shortcut.</p>
 <div class="section" id="switching-documents">
-<h3><a class="toc-backref" href="#id155">Switching documents</a></h3>
+<h3><a class="toc-backref" href="#id156">Switching documents</a></h3>
 <p>There are a few non-configurable bindings to switch between documents,
 listed below. These can also be overridden by custom keybindings.</p>
 <table border="1" class="docutils">
@@ -3320,7 +3570,7 @@
 </table>
 </div>
 <div class="section" id="configurable-keybindings">
-<h3><a class="toc-backref" href="#id156">Configurable keybindings</a></h3>
+<h3><a class="toc-backref" href="#id157">Configurable keybindings</a></h3>
 <p>For all actions listed below you can define your own keybindings. Open
 the Preferences dialog, select the desired action and click on
 change. In the resulting dialog you can press the key combination you
@@ -3338,7 +3588,7 @@
 which are common to many applications are marked with (C) after the
 shortcut.</p>
 <div class="section" id="file-keybindings">
-<h4><a class="toc-backref" href="#id157">File keybindings</a></h4>
+<h4><a class="toc-backref" href="#id158">File keybindings</a></h4>
 <table border="1" class="docutils">
 <colgroup>
 <col width="29%" />
@@ -3401,7 +3651,7 @@
 </table>
 </div>
 <div class="section" id="editor-keybindings">
-<h4><a class="toc-backref" href="#id158">Editor keybindings</a></h4>
+<h4><a class="toc-backref" href="#id159">Editor keybindings</a></h4>
 <table border="1" class="docutils">
 <colgroup>
 <col width="29%" />
@@ -3523,7 +3773,7 @@
 </table>
 </div>
 <div class="section" id="clipboard-keybindings">
-<h4><a class="toc-backref" href="#id159">Clipboard keybindings</a></h4>
+<h4><a class="toc-backref" href="#id160">Clipboard keybindings</a></h4>
 <table border="1" class="docutils">
 <colgroup>
 <col width="29%" />
@@ -3563,7 +3813,7 @@
 </table>
 </div>
 <div class="section" id="select-keybindings">
-<h4><a class="toc-backref" href="#id160">Select keybindings</a></h4>
+<h4><a class="toc-backref" href="#id161">Select keybindings</a></h4>
 <table border="1" class="docutils">
 <colgroup>
 <col width="29%" />
@@ -3608,7 +3858,7 @@
 </table>
 </div>
 <div class="section" id="insert-keybindings">
-<h4><a class="toc-backref" href="#id161">Insert keybindings</a></h4>
+<h4><a class="toc-backref" href="#id162">Insert keybindings</a></h4>
 <table border="1" class="docutils">
 <colgroup>
 <col width="29%" />
@@ -3645,7 +3895,7 @@
 </table>
 </div>
 <div class="section" id="format-keybindings">
-<h4><a class="toc-backref" href="#id162">Format keybindings</a></h4>
+<h4><a class="toc-backref" href="#id163">Format keybindings</a></h4>
 <table border="1" class="docutils">
 <colgroup>
 <col width="29%" />
@@ -3733,7 +3983,7 @@
 </table>
 </div>
 <div class="section" id="settings-keybindings">
-<h4><a class="toc-backref" href="#id163">Settings keybindings</a></h4>
+<h4><a class="toc-backref" href="#id164">Settings keybindings</a></h4>
 <table border="1" class="docutils">
 <colgroup>
 <col width="29%" />
@@ -3759,7 +4009,7 @@
 </table>
 </div>
 <div class="section" id="search-keybindings">
-<h4><a class="toc-backref" href="#id164">Search keybindings</a></h4>
+<h4><a class="toc-backref" href="#id165">Search keybindings</a></h4>
 <table border="1" class="docutils">
 <colgroup>
 <col width="29%" />
@@ -3836,7 +4086,7 @@
 </table>
 </div>
 <div class="section" id="go-to-keybindings">
-<h4><a class="toc-backref" href="#id165">Go to keybindings</a></h4>
+<h4><a class="toc-backref" href="#id166">Go to keybindings</a></h4>
 <table border="1" class="docutils">
 <colgroup>
 <col width="29%" />
@@ -3934,7 +4184,7 @@
 </table>
 </div>
 <div class="section" id="view-keybindings">
-<h4><a class="toc-backref" href="#id166">View keybindings</a></h4>
+<h4><a class="toc-backref" href="#id167">View keybindings</a></h4>
 <table border="1" class="docutils">
 <colgroup>
 <col width="29%" />
@@ -3983,7 +4233,7 @@
 </table>
 </div>
 <div class="section" id="focus-keybindings">
-<h4><a class="toc-backref" href="#id167">Focus keybindings</a></h4>
+<h4><a class="toc-backref" href="#id168">Focus keybindings</a></h4>
 <table border="1" class="docutils">
 <colgroup>
 <col width="30%" />
@@ -4046,7 +4296,7 @@
 </table>
 </div>
 <div class="section" id="notebook-tab-keybindings">
-<h4><a class="toc-backref" href="#id168">Notebook tab keybindings</a></h4>
+<h4><a class="toc-backref" href="#id169">Notebook tab keybindings</a></h4>
 <table border="1" class="docutils">
 <colgroup>
 <col width="28%" />
@@ -4100,7 +4350,7 @@
 </table>
 </div>
 <div class="section" id="document-keybindings">
-<h4><a class="toc-backref" href="#id169">Document keybindings</a></h4>
+<h4><a class="toc-backref" href="#id170">Document keybindings</a></h4>
 <table border="1" class="docutils">
 <colgroup>
 <col width="33%" />
@@ -4167,7 +4417,7 @@
 </table>
 </div>
 <div class="section" id="build-keybindings">
-<h4><a class="toc-backref" href="#id170">Build keybindings</a></h4>
+<h4><a class="toc-backref" href="#id171">Build keybindings</a></h4>
 <table border="1" class="docutils">
 <colgroup>
 <col width="29%" />
@@ -4225,7 +4475,7 @@
 </table>
 </div>
 <div class="section" id="tools-keybindings">
-<h4><a class="toc-backref" href="#id171">Tools keybindings</a></h4>
+<h4><a class="toc-backref" href="#id172">Tools keybindings</a></h4>
 <table border="1" class="docutils">
 <colgroup>
 <col width="29%" />
@@ -4247,7 +4497,7 @@
 </table>
 </div>
 <div class="section" id="help-keybindings">
-<h4><a class="toc-backref" href="#id172">Help keybindings</a></h4>
+<h4><a class="toc-backref" href="#id173">Help keybindings</a></h4>
 <table border="1" class="docutils">
 <colgroup>
 <col width="29%" />
@@ -4272,13 +4522,13 @@
 </div>
 </div>
 <div class="section" id="configuration-files">
-<h1><a class="toc-backref" href="#id173">Configuration files</a></h1>
+<h1><a class="toc-backref" href="#id174">Configuration files</a></h1>
 <div class="warning">
 <p class="first admonition-title">Warning</p>
 <p class="last">You must use UTF-8 encoding <em>without BOM</em> for configuration files.</p>
 </div>
 <div class="section" id="configuration-file-paths">
-<h2><a class="toc-backref" href="#id174">Configuration file paths</a></h2>
+<h2><a class="toc-backref" href="#id175">Configuration file paths</a></h2>
 <p>Geany has default configuration files installed for the system and
 also per-user configuration files.</p>
 <p>The system files should not normally be edited because they will be
@@ -4297,7 +4547,7 @@
 Geany-INFO: User config dir: /home/username/.config/geany
 </pre>
 <div class="section" id="paths-on-unix-like-systems">
-<h3><a class="toc-backref" href="#id175">Paths on Unix-like systems</a></h3>
+<h3><a class="toc-backref" href="#id176">Paths on Unix-like systems</a></h3>
 <p>The system path is <tt class="docutils literal">$prefix/share/geany</tt>, where <tt class="docutils literal">$prefix</tt> is the
 path where Geany is installed (see <a class="reference internal" href="#installation-prefix">Installation prefix</a>).</p>
 <p>The user configuration directory is normally
@@ -4305,7 +4555,7 @@
 </div>
 </div>
 <div class="section" id="tools-menu-items">
-<h2><a class="toc-backref" href="#id176">Tools menu items</a></h2>
+<h2><a class="toc-backref" href="#id177">Tools menu items</a></h2>
 <p>There's a <em>Configuration files</em> submenu in the <em>Tools</em> menu that
 contains items for some of the available user configuration files.
 Clicking on one opens it in the editor for you to update. Geany will
@@ -4328,7 +4578,7 @@
 </div>
 </div>
 <div class="section" id="global-configuration-file">
-<h2><a class="toc-backref" href="#id177">Global configuration file</a></h2>
+<h2><a class="toc-backref" href="#id178">Global configuration file</a></h2>
 <p>System administrators can add a global configuration file for Geany
 which will be used when starting Geany and a user configuration file
 does not exist.</p>
@@ -4345,14 +4595,14 @@
 </div>
 </div>
 <div class="section" id="filetype-definition-files">
-<h2><a class="toc-backref" href="#id178">Filetype definition files</a></h2>
+<h2><a class="toc-backref" href="#id179">Filetype definition files</a></h2>
 <p>All color definitions and other filetype specific settings are
 stored in the filetype definition files. Those settings are colors
 for syntax highlighting, general settings like comment characters or
 word delimiter characters as well as compiler and linker settings.</p>
 <p>See also <a class="reference internal" href="#configuration-file-paths">Configuration file paths</a>.</p>
 <div class="section" id="filenames">
-<h3><a class="toc-backref" href="#id179">Filenames</a></h3>
+<h3><a class="toc-backref" href="#id180">Filenames</a></h3>
 <p>Each filetype has a corresponding filetype definition file. The format
 for built-in filetype <cite>Foo</cite> is:</p>
 <pre class="literal-block">
@@ -4393,7 +4643,7 @@
 <p>See the link for details.</p>
 </div>
 <div class="section" id="system-files">
-<h3><a class="toc-backref" href="#id180">System files</a></h3>
+<h3><a class="toc-backref" href="#id181">System files</a></h3>
 <p>The system-wide filetype configuration files can be found in the
 system configuration path and are called <tt class="docutils literal"><span class="pre">filetypes.$ext</span></tt>,
 where $ext is the name of the filetype. For every
@@ -4407,7 +4657,7 @@
 </div>
 </div>
 <div class="section" id="user-files">
-<h3><a class="toc-backref" href="#id181">User files</a></h3>
+<h3><a class="toc-backref" href="#id182">User files</a></h3>
 <p>To change the settings, copy a file from the system configuration
 path to the subdirectory <tt class="docutils literal">filedefs</tt> in your user configuration
 directory. Then you can edit the file and the changes will still be
@@ -4417,7 +4667,7 @@
 the corresponding system configuration file.</p>
 </div>
 <div class="section" id="custom-filetypes">
-<h3><a class="toc-backref" href="#id182">Custom filetypes</a></h3>
+<h3><a class="toc-backref" href="#id183">Custom filetypes</a></h3>
 <p>At startup Geany looks for <tt class="docutils literal"><span class="pre">filetypes.*.conf</span></tt> files in the system and
 user filetype paths, adding any filetypes found with the name matching
 the '<tt class="docutils literal">*</tt>' wildcard - e.g. <tt class="docutils literal">filetypes.Bar.conf</tt>.</p>
@@ -4443,7 +4693,7 @@
 </ul>
 <p>See <a class="reference internal" href="#filetype-configuration">Filetype configuration</a> for details on each setting.</p>
 <div class="section" id="creating-a-custom-filetype-from-an-existing-filetype">
-<h4><a class="toc-backref" href="#id183">Creating a custom filetype from an existing filetype</a></h4>
+<h4><a class="toc-backref" href="#id184">Creating a custom filetype from an existing filetype</a></h4>
 <p>Because most filetype settings will relate to the syntax
 highlighting (e.g. styling, keywords, <tt class="docutils literal">lexer_properties</tt>
 sections), it is best to copy an existing filetype file that uses
@@ -4464,11 +4714,11 @@
 </div>
 </div>
 <div class="section" id="filetype-configuration">
-<h3><a class="toc-backref" href="#id184">Filetype configuration</a></h3>
+<h3><a class="toc-backref" href="#id185">Filetype configuration</a></h3>
 <p>As well as the sections listed below, each filetype file can contain
 a [build-menu] section as described in <a class="reference internal" href="#build-menu-section">[build-menu] section</a>.</p>
 <div class="section" id="styling-section">
-<h4><a class="toc-backref" href="#id185">[styling] section</a></h4>
+<h4><a class="toc-backref" href="#id186">[styling] section</a></h4>
 <p>In this section the colors for syntax highlighting are defined. The
 manual format is:</p>
 <ul class="simple">
@@ -4484,7 +4734,7 @@
 <p>This makes the key style have red foreground text, default background
 color text and bold emphasis.</p>
 <div class="section" id="using-a-named-style">
-<h5><a class="toc-backref" href="#id186">Using a named style</a></h5>
+<h5><a class="toc-backref" href="#id187">Using a named style</a></h5>
 <p>The second format uses a <em>named style</em> name to reference a style
 defined in filetypes.common.</p>
 <ul class="simple">
@@ -4502,7 +4752,7 @@
 Section</a>.</p>
 </div>
 <div class="section" id="reading-styles-from-another-filetype">
-<h5><a class="toc-backref" href="#id187">Reading styles from another filetype</a></h5>
+<h5><a class="toc-backref" href="#id188">Reading styles from another filetype</a></h5>
 <p>You can automatically copy all of the styles from another filetype
 definition file by using the following syntax for the <tt class="docutils literal">[styling]</tt>
 group:</p>
@@ -4521,7 +4771,7 @@
 </div>
 </div>
 <div class="section" id="keywords-section">
-<h4><a class="toc-backref" href="#id188">[keywords] section</a></h4>
+<h4><a class="toc-backref" href="#id189">[keywords] section</a></h4>
 <p>This section contains keys for different keyword lists specific to
 the filetype. Some filetypes do not support keywords, so adding a
 new key will not work. You can only add or remove keywords to/from
@@ -4532,7 +4782,7 @@
 </div>
 </div>
 <div class="section" id="lexer-properties-section">
-<h4><a class="toc-backref" href="#id189">[lexer_properties] section</a></h4>
+<h4><a class="toc-backref" href="#id190">[lexer_properties] section</a></h4>
 <p>Here any special properties for the Scintilla lexer can be set in the
 format <tt class="docutils literal">key.name.field=some.value</tt>.</p>
 <p>Properties Geany uses are listed in the system filetype files. To find
@@ -4542,7 +4792,7 @@
 </pre>
 </div>
 <div class="section" id="settings-section">
-<h4><a class="toc-backref" href="#id190">[settings] section</a></h4>
+<h4><a class="toc-backref" href="#id191">[settings] section</a></h4>
 <dl class="docutils">
 <dt>extension</dt>
 <dd><p class="first">This is the default file extension used when saving files, not
@@ -4665,7 +4915,7 @@
 </dl>
 </div>
 <div class="section" id="build-settings-section">
-<h4><a class="toc-backref" href="#id191">[build_settings] section</a></h4>
+<h4><a class="toc-backref" href="#id192">[build_settings] section</a></h4>
 <p>As of Geany 0.19 this section is supplemented by the <a class="reference internal" href="#build-menu-section">[build-menu] section</a>.
 Values that are set in the [build-menu] section will override those in this section.</p>
 <dl class="docutils">
@@ -4718,7 +4968,7 @@
 </div>
 </div>
 <div class="section" id="special-file-filetypes-common">
-<h3><a class="toc-backref" href="#id192">Special file filetypes.common</a></h3>
+<h3><a class="toc-backref" href="#id193">Special file filetypes.common</a></h3>
 <p>There is a special filetype definition file called
 filetypes.common. This file defines some general non-filetype-specific
 settings.</p>
@@ -4733,7 +4983,7 @@
 <p class="last">See the <a class="reference internal" href="#filetype-configuration">Filetype configuration</a> section for how to define styles.</p>
 </div>
 <div class="section" id="named-styles-section">
-<h4><a class="toc-backref" href="#id193">[named_styles] section</a></h4>
+<h4><a class="toc-backref" href="#id194">[named_styles] section</a></h4>
 <p>Named styles declared here can be used in the [styling] section of any
 filetypes.* file.</p>
 <p>For example:</p>
@@ -4760,7 +5010,7 @@
 schemes menu</a>.</p>
 </div>
 <div class="section" id="id4">
-<h4><a class="toc-backref" href="#id194">[styling] section</a></h4>
+<h4><a class="toc-backref" href="#id195">[styling] section</a></h4>
 <dl class="docutils">
 <dt>default</dt>
 <dd><p class="first">This is the default style. It is used for styling files without a
@@ -4944,7 +5194,7 @@
 </dl>
 </div>
 <div class="section" id="id5">
-<h4><a class="toc-backref" href="#id195">[settings] section</a></h4>
+<h4><a class="toc-backref" href="#id196">[settings] section</a></h4>
 <dl class="docutils">
 <dt>whitespace_chars</dt>
 <dd><p class="first">Characters to treat as whitespace. These characters are ignored
@@ -4958,7 +5208,7 @@
 </div>
 </div>
 <div class="section" id="filetype-extensions">
-<h2><a class="toc-backref" href="#id196">Filetype extensions</a></h2>
+<h2><a class="toc-backref" href="#id197">Filetype extensions</a></h2>
 <p>To change the default filetype extension used when saving a new file,
 see <a class="reference internal" href="#filetype-definition-files">Filetype definition files</a>.</p>
 <p>You can override the list of file extensions that Geany uses to detect
@@ -4978,7 +5228,7 @@
 </pre>
 </div>
 <div class="section" id="filetype-group-membership">
-<h2><a class="toc-backref" href="#id197">Filetype group membership</a></h2>
+<h2><a class="toc-backref" href="#id198">Filetype group membership</a></h2>
 <p>Group membership is also stored in <tt class="docutils literal">filetype_extensions.conf</tt>. This
 file is used to store information Geany needs at startup, whereas the
 separate filetype definition files hold information only needed when
@@ -4999,230 +5249,11 @@
 </div>
 </div>
 <div class="section" id="preferences-file-format">
-<h2><a class="toc-backref" href="#id198">Preferences file format</a></h2>
+<h2><a class="toc-backref" href="#id199">Preferences file format</a></h2>
 <p>The user preferences file <tt class="docutils literal">geany.conf</tt> holds settings for all the items configured
 in the preferences dialog. This file should not be edited while Geany is running
 as the file will be overwritten when the preferences in Geany are changed or Geany
 is quit.</p>
-<div class="section" id="hidden-preferences">
-<h3><a class="toc-backref" href="#id199">Hidden preferences</a></h3>
-<p>There are some rarely used preferences that are not shown in the Preferences
-dialog. These can be set by editing the preferences file, then
-restarting Geany. Search for the key name, then edit the value. Example:</p>
-<blockquote>
-<tt class="docutils literal">brace_match_ltgt=true</tt></blockquote>
-<div class="note">
-<p class="first admonition-title">Note</p>
-<p class="last">If you just installed or updated Geany, you should restart it
-first so Geany can write/update the config file and you can find
-the key lines.</p>
-</div>
-<p>The table below show the key names of hidden preferences in the
-configuration file.</p>
-<table border="1" class="docutils">
-<colgroup>
-<col width="34%" />
-<col width="46%" />
-<col width="19%" />
-</colgroup>
-<thead valign="bottom">
-<tr><th class="head">Key</th>
-<th class="head">Description</th>
-<th class="head">Default</th>
-</tr>
-</thead>
-<tbody valign="top">
-<tr><td><strong>Editor related</strong></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr><td>brace_match_ltgt</td>
-<td>Whether to highlight <, > angle brackets.</td>
-<td>false</td>
-</tr>
-<tr><td>use_gtk_word_boundaries</td>
-<td>Whether to look for the end of a word when
-using word-boundary related Scintilla
-commands (see <a class="reference internal" href="#scintilla-keyboard-commands">Scintilla keyboard
-commands</a>).</td>
-<td>true</td>
-</tr>
-<tr><td>complete_snippets_whilst_editing</td>
-<td>Whether to allow completion of snippets
-when editing an existing line (i.e. there
-is some text after the current cursor
-position on the line). Only used when the
-keybinding <cite>Complete snippet</cite> is set to
-<tt class="docutils literal">Space</tt>.</td>
-<td>false</td>
-</tr>
-<tr><td>show_editor_scrollbars</td>
-<td>Whether to display scrollbars. If set to
-false, the horizontal and vertical
-scrollbars are hidden completely.</td>
-<td>true</td>
-</tr>
-<tr><td><strong>Interface related</strong></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr><td>show_symbol_list_expanders</td>
-<td>Whether to show or hide the small expander
-icons on the symbol list treeview.</td>
-<td>true</td>
-</tr>
-<tr><td>allow_always_save</td>
-<td>Whether files can be saved always, even if
-they don't have any changes. By default,
-the Save button and menu item are disabled
-when a file is unchanged. When setting
-this option to true, the Save button and
-menu item are always active and files can
-be saved.</td>
-<td>false</td>
-</tr>
-<tr><td>compiler_tab_autoscroll</td>
-<td>Whether to automatically scroll to the
-last line of the output in the Compiler
-tab.</td>
-<td>true</td>
-</tr>
-<tr><td>statusbar_template</td>
-<td>The status bar statistics line format.
-(Search in src/ui_utils.c for details).</td>
-<td>See below.</td>
-</tr>
-<tr><td>new_document_after_close</td>
-<td>Whether to open a new document after all
-documents have been closed.</td>
-<td>false</td>
-</tr>
-<tr><td>msgwin_status_visible</td>
-<td>Whether to show the Status tab in the
-Messages Window</td>
-<td>true</td>
-</tr>
-<tr><td>msgwin_compiler_visible</td>
-<td>Whether to show the Compiler tab in the
-Messages Window</td>
-<td>true</td>
-</tr>
-<tr><td>msgwin_messages_visible</td>
-<td>Whether to show the Messages tab in the
-Messages Window</td>
-<td>true</td>
-</tr>
-<tr><td>msgwin_scribble_visible</td>
-<td>Whether to show the Scribble tab in the
-Messages Window</td>
-<td>true</td>
-</tr>
-</tbody>
-</table>
-<p>By default, statusbar_template is empty. This tells Geany to use its
-internal default, which is currently:</p>
-<p><tt class="docutils literal">line: %l / %L\t col: %c\t sel: %s\t %w      %t      %mmode: %M      encoding: %e      filetype: %f      scope: %S</tt></p>
-<p>Note that <tt class="docutils literal">\t</tt> = tab.</p>
-<table border="1" class="docutils">
-<colgroup>
-<col width="34%" />
-<col width="46%" />
-<col width="19%" />
-</colgroup>
-<thead valign="bottom">
-<tr><th class="head">Key</th>
-<th class="head">Description</th>
-<th class="head">Default</th>
-</tr>
-</thead>
-<tbody valign="top">
-<tr><td><strong>VTE related</strong></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr><td>emulation</td>
-<td>Terminal emulation mode. Only change this
-if you have VTE termcap files other than
-<tt class="docutils literal">vte/termcap/xterm</tt>.</td>
-<td>xterm</td>
-</tr>
-<tr><td>send_selection_unsafe</td>
-<td>By default, Geany strips any trailing
-newline characters from the current
-selection before sending it to the terminal
-to not execute arbitrary code. This is
-mainly a security feature.
-If, for whatever reasons, you really want
-it to be executed directly, set this option
-to true.</td>
-<td>false</td>
-</tr>
-<tr><td><strong>File related</strong></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr><td>use_safe_file_saving</td>
-<td>Defines the mode how Geany saves files to
-disk. If disabled, Geany directly writes
-the content of the document to disk. This
-might cause in loss of data when there is
-no more free space on disk to save the
-file. When set to true, Geany first saves
-the contents into a temporary file and if
-this succeeded, the temporary file is
-moved to the real file to save.
-This gives better error checking in case of
-no more free disk space. But it also
-destroys hard links of the original file
-and its permissions (e.g. executable flags
-are reset). Use this with care as it can
-break things seriously.
-The better approach would be to ensure your
-disk won't run out of free space.</td>
-<td>false</td>
-</tr>
-<tr><td>use_gio_unsafe_file_saving</td>
-<td>Whether to use GIO as the unsafe file
-saving backend. It is better on most
-situations but is know not to work
-correctly on some complex setups.</td>
-<td>true</td>
-</tr>
-<tr><td>gio_unsafe_save_backup</td>
-<td>Make a backup when using GIO unsafe file
-saving. Backup is named <cite>filename~</cite>.</td>
-<td>false</td>
-</tr>
-<tr><td><strong>Search related</strong></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr><td>find_selection_type</td>
-<td>See <a class="reference internal" href="#find-selection">Find selection</a>.</td>
-<td>0</td>
-</tr>
-<tr><td><strong>Build Menu related</strong></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr><td>number_ft_menu_items</td>
-<td>The maximum number of menu items in the
-filetype section of the Build menu.</td>
-<td>2</td>
-</tr>
-<tr><td>number_non_ft_menu_items</td>
-<td>The maximum number of menu items in the
-independent section of the Build menu.</td>
-<td>3</td>
-</tr>
-<tr><td>number_exec_menu_items</td>
-<td>The maximum number of menu items in the
-execute section of the Build menu.</td>
-<td>2</td>
-</tr>
-</tbody>
-</table>
-</div>
 <div class="section" id="build-menu-section">
 <h3><a class="toc-backref" href="#id200">[build-menu] section</a></h3>
 <p>The [build-menu] section contains the configuration of the build menu.
@@ -6579,7 +6610,7 @@
 <div class="footer">
 <hr class="footer" />
 <a class="reference external" href="geany.txt">View document source</a>.
-Generated on: 2011-06-26 21:26 UTC.
+Generated on: 2011-07-28 17:42 UTC.
 Generated by <a class="reference external" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
 
 </div>

Modified: trunk/doc/geany.txt
===================================================================
--- trunk/doc/geany.txt	2011-07-28 15:45:25 UTC (rev 5870)
+++ trunk/doc/geany.txt	2011-07-28 17:59:22 UTC (rev 5871)
@@ -1233,7 +1233,7 @@
 The *Find Next/Previous Selection* commands perform a search for the
 current selected text. If nothing is selected, by default the current
 word is used instead. This can be customized by the
-*find_selection_type* hidden pref - see `Hidden preferences`_.
+*find_selection_type* preference - see `Various preferences`_.
 
 =====   =============================================
 Value   *find_selection_type* behaviour
@@ -1717,8 +1717,6 @@
 however, are only for the current document and revert to defaults
 when restarting Geany.
 
-There are also some rarer `Hidden preferences`_.
-
 .. note::
     In the paragraphs that follow, the text describing a dialog tab
     comes after the screenshot of that tab.
@@ -2420,6 +2418,121 @@
     see http://man.cx/strftime.
 
 
+Various preferences
+^^^^^^^^^^^^^^^^^^^
+
+.. image:: ./images/pref_dialog_various.png
+
+Rarely used preferences, explained in the table below. A few of them require
+restart to take effect, and a few other will only affect newly opened or created
+documents before restart.
+
+================================  =========================================  ==========  ===========
+Key                               Description                                Default     Applies
+================================  =========================================  ==========  ===========
+**Editor related**
+use_gtk_word_boundaries           Whether to look for the end of a word      true        to new
+                                  when using word-boundary related                       documents
+                                  Scintilla commands (see `Scintilla
+                                  keyboard commands`_).
+brace_match_ltgt                  Whether to highlight <, > angle brackets.  false       immediately
+complete_snippets_whilst_editing  Whether to allow completion of snippets    false       immediately
+                                  when editing an existing line (i.e. there
+                                  is some text after the current cursor
+                                  position on the line). Only used when the
+                                  keybinding `Complete snippet` is set to
+                                  ``Space``.
+show_editor_scrollbars            Whether to display scrollbars. If set to   true        immediately
+                                  false, the horizontal and vertical
+                                  scrollbars are hidden completely.
+indent_hard_tab_width             The size of a tab character. Don't change  8           immediately
+                                  it unless you really need to; use the
+                                  indentation settings instead.
+**Interface related**
+show_symbol_list_expanders        Whether to show or hide the small          true        to new
+                                  expander icons on the symbol list                      documents
+allow_always_save                 treeview. Whether files can be saved       false       immediately
+                                  always, even if they don't have any
+                                  changes. By default, the Save button and
+                                  menu item are disabled when a file is
+                                  unchanged. When setting this option to
+                                  true, the Save button and menu item are
+                                  always active and files can be saved.
+compiler_tab_autoscroll           Whether to automatically scroll to the     true        immediately
+                                  last line of the output in the Compiler
+                                  tab.
+statusbar_template                The status bar statistics line format.     See below.  immediately
+                                  (Search in src/ui_utils.c for details).
+new_document_after_close          Whether to open a new document after all   false       immediately
+                                  documents have been closed.
+msgwin_status_visible             Whether to show the Status tab in the      true        immediately
+                                  Messages Window
+msgwin_compiler_visible           Whether to show the Compiler tab in the    true        immediately
+                                  Messages Window
+msgwin_messages_visible           Whether to show the Messages tab in the    true        immediately
+                                  Messages Window
+msgwin_scribble_visible           Whether to show the Scribble tab in the    true        immediately
+                                  Messages Window
+================================  =========================================  ==========  ===========
+
+By default, statusbar_template is empty. This tells Geany to use its
+internal default, which is currently:
+
+``line: %l / %L\t col: %c\t sel: %s\t %w      %t      %mmode: %M      encoding: %e      filetype: %f      scope: %S``
+
+Note that ``\t`` = tab.
+
+================================  ===========================================  ========  ===========
+Key                               Description                                  Default   Applies
+================================  ===========================================  ========  ===========
+**VTE related**
+emulation                         Terminal emulation mode. Only change this    xterm     immediately
+                                  if you have VTE termcap files other than
+                                  ``vte/termcap/xterm``.
+send_selection_unsafe             By default, Geany strips any trailing        false     immediately
+                                  newline characters from the current
+                                  selection before sending it to the terminal
+                                  to not execute arbitrary code. This is
+                                  mainly a security feature.
+                                  If, for whatever reasons, you really want
+                                  it to be executed directly, set this option
+                                  to true.
+**File related**
+use_safe_file_saving              Defines the mode how Geany saves files to    false     immediately
+                                  disk. If disabled, Geany directly writes
+                                  the content of the document to disk. This
+                                  might cause in loss of data when there is
+                                  no more free space on disk to save the
+                                  file. When set to true, Geany first saves
+                                  the contents into a temporary file and if
+                                  this succeeded, the temporary file is
+                                  moved to the real file to save.
+                                  This gives better error checking in case of
+                                  no more free disk space. But it also
+                                  destroys hard links of the original file
+                                  and its permissions (e.g. executable flags
+                                  are reset). Use this with care as it can
+                                  break things seriously.
+                                  The better approach would be to ensure your
+                                  disk won't run out of free space.
+use_gio_unsafe_file_saving        Whether to use GIO as the unsafe file        true      immediately
+                                  saving backend. It is better on most
+                                  situations but is known not to work
+                                  correctly on some complex setups.
+gio_unsafe_save_backup            Make a backup when using GIO unsafe file     false     immediately
+                                  saving. Backup is named `filename~`.
+**Search related**
+find_selection_type               See `Find selection`_.                       0         immediately
+**Build Menu related**
+number_ft_menu_items              The maximum number of menu items in the      2         on restart
+                                  filetype section of the Build menu.
+number_non_ft_menu_items          The maximum number of menu items in the      3         on restart
+                                  independent section of the Build menu.
+number_exec_menu_items            The maximum number of menu items in the      2         on restart
+                                  execute section of the Build menu.
+================================  ===========================================  ========  ===========
+
+
 Terminal (VTE) preferences
 ^^^^^^^^^^^^^^^^^^^^^^^^^^
 
@@ -2751,9 +2864,9 @@
   * Show the build menu commands dialog.
 
 The maximum numbers of items in each of the configurable groups can be
-configured when Geany starts using hidden settings (see `Preferences file format`_).
-Even though the maximum number of items may have been increased, only
-those menu items that have values configured are shown in the menu.
+configured in the `Various preferences`_. Even though the maximum number of
+items may have been increased, only those menu items that have values
+configured are shown in the menu.
 
 The groups of menu items obtain their configuration from four potential
 sources.  The highest priority source that has the menu item defined will
@@ -4323,125 +4436,6 @@
 is quit.
 
 
-Hidden preferences
-^^^^^^^^^^^^^^^^^^
-
-There are some rarely used preferences that are not shown in the Preferences
-dialog. These can be set by editing the preferences file, then
-restarting Geany. Search for the key name, then edit the value. Example:
-
-    ``brace_match_ltgt=true``
-
-.. note::
-    If you just installed or updated Geany, you should restart it
-    first so Geany can write/update the config file and you can find
-    the key lines.
-
-The table below show the key names of hidden preferences in the
-configuration file.
-
-================================  ===========================================  ==================
-Key                               Description                                  Default
-================================  ===========================================  ==================
-**Editor related**
-brace_match_ltgt                  Whether to highlight <, > angle brackets.    false
-use_gtk_word_boundaries           Whether to look for the end of a word when   true
-                                  using word-boundary related Scintilla
-                                  commands (see `Scintilla keyboard
-                                  commands`_).
-complete_snippets_whilst_editing  Whether to allow completion of snippets      false
-                                  when editing an existing line (i.e. there
-                                  is some text after the current cursor
-                                  position on the line). Only used when the
-                                  keybinding `Complete snippet` is set to
-                                  ``Space``.
-show_editor_scrollbars            Whether to display scrollbars. If set to     true
-                                  false, the horizontal and vertical
-                                  scrollbars are hidden completely.
-**Interface related**
-show_symbol_list_expanders        Whether to show or hide the small expander   true
-                                  icons on the symbol list treeview.
-allow_always_save                 Whether files can be saved always, even if   false
-                                  they don't have any changes. By default,
-                                  the Save button and menu item are disabled
-                                  when a file is unchanged. When setting
-                                  this option to true, the Save button and
-                                  menu item are always active and files can
-                                  be saved.
-compiler_tab_autoscroll           Whether to automatically scroll to the       true
-                                  last line of the output in the Compiler
-                                  tab.
-statusbar_template                The status bar statistics line format.       See below.
-                                  (Search in src/ui_utils.c for details).
-new_document_after_close          Whether to open a new document after all     false
-                                  documents have been closed.
-msgwin_status_visible             Whether to show the Status tab in the        true
-                                  Messages Window
-msgwin_compiler_visible           Whether to show the Compiler tab in the      true
-                                  Messages Window
-msgwin_messages_visible           Whether to show the Messages tab in the      true
-                                  Messages Window
-msgwin_scribble_visible           Whether to show the Scribble tab in the      true
-                                  Messages Window
-================================  ===========================================  ==================
-
-By default, statusbar_template is empty. This tells Geany to use its
-internal default, which is currently:
-
-``line: %l / %L\t col: %c\t sel: %s\t %w      %t      %mmode: %M      encoding: %e      filetype: %f      scope: %S``
-
-Note that ``\t`` = tab.
-
-================================  ===========================================  ==================
-Key                               Description                                  Default
-================================  ===========================================  ==================
-**VTE related**
-emulation                         Terminal emulation mode. Only change this    xterm
-                                  if you have VTE termcap files other than
-                                  ``vte/termcap/xterm``.
-send_selection_unsafe             By default, Geany strips any trailing        false
-                                  newline characters from the current
-                                  selection before sending it to the terminal
-                                  to not execute arbitrary code. This is
-                                  mainly a security feature.
-                                  If, for whatever reasons, you really want
-                                  it to be executed directly, set this option
-                                  to true.
-**File related**
-use_safe_file_saving              Defines the mode how Geany saves files to    false
-                                  disk. If disabled, Geany directly writes
-                                  the content of the document to disk. This
-                                  might cause in loss of data when there is
-                                  no more free space on disk to save the
-                                  file. When set to true, Geany first saves
-                                  the contents into a temporary file and if
-                                  this succeeded, the temporary file is
-                                  moved to the real file to save.
-                                  This gives better error checking in case of
-                                  no more free disk space. But it also
-                                  destroys hard links of the original file
-                                  and its permissions (e.g. executable flags
-                                  are reset). Use this with care as it can
-                                  break things seriously.
-                                  The better approach would be to ensure your
-                                  disk won't run out of free space.
-use_gio_unsafe_file_saving        Whether to use GIO as the unsafe file        true
-                                  saving backend. It is better on most
-                                  situations but is know not to work
-                                  correctly on some complex setups.
-gio_unsafe_save_backup            Make a backup when using GIO unsafe file     false
-                                  saving. Backup is named `filename~`.
-**Search related**
-find_selection_type               See `Find selection`_.                       0
-**Build Menu related**
-number_ft_menu_items              The maximum number of menu items in the      2
-                                  filetype section of the Build menu.
-number_non_ft_menu_items          The maximum number of menu items in the      3
-                                  independent section of the Build menu.
-number_exec_menu_items            The maximum number of menu items in the      2
-                                  execute section of the Build menu.
-================================  ===========================================  ==================
-
 [build-menu] section
 ^^^^^^^^^^^^^^^^^^^^
 

Modified: trunk/geany.glade
===================================================================
--- trunk/geany.glade	2011-07-28 15:45:25 UTC (rev 5870)
+++ trunk/geany.glade	2011-07-28 17:59:22 UTC (rev 5871)
@@ -10063,6 +10063,204 @@
 	      <property name="type">tab</property>
 	    </packing>
 	  </child>
+
+	  <child>
+	    <widget class="GtkFrame" id="frame24">
+	      <property name="border_width">5</property>
+	      <property name="visible">True</property>
+	      <property name="label_xalign">0</property>
+	      <property name="label_yalign">0.5</property>
+	      <property name="shadow_type">GTK_SHADOW_NONE</property>
+
+	      <child>
+		<widget class="GtkAlignment" id="alignment14">
+		  <property name="visible">True</property>
+		  <property name="xalign">0.5</property>
+		  <property name="yalign">0.5</property>
+		  <property name="xscale">1</property>
+		  <property name="yscale">1</property>
+		  <property name="top_padding">0</property>
+		  <property name="bottom_padding">0</property>
+		  <property name="left_padding">12</property>
+		  <property name="right_padding">0</property>
+
+		  <child>
+		    <widget class="GtkVBox" id="vbox50">
+		      <property name="visible">True</property>
+		      <property name="homogeneous">False</property>
+		      <property name="spacing">5</property>
+
+		      <child>
+			<widget class="GtkVBox" id="vbox51">
+			  <property name="visible">True</property>
+			  <property name="homogeneous">False</property>
+			  <property name="spacing">0</property>
+
+			  <child>
+			    <placeholder/>
+			  </child>
+			</widget>
+			<packing>
+			  <property name="padding">0</property>
+			  <property name="expand">False</property>
+			  <property name="fill">True</property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkScrolledWindow" id="scrolledwindow9">
+			  <property name="visible">True</property>
+			  <property name="can_focus">True</property>
+			  <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+			  <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+			  <property name="shadow_type">GTK_SHADOW_IN</property>
+			  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+			  <child>
+			    <widget class="GtkTreeView" id="various_treeview">
+			      <property name="visible">True</property>
+			      <property name="can_focus">True</property>
+			      <property name="headers_visible">True</property>
+			      <property name="rules_hint">True</property>
+			      <property name="reorderable">False</property>
+			      <property name="enable_search">True</property>
+			      <property name="fixed_height_mode">False</property>
+			      <property name="hover_selection">False</property>
+			      <property name="hover_expand">False</property>
+			    </widget>
+			  </child>
+			</widget>
+			<packing>
+			  <property name="padding">0</property>
+			  <property name="expand">True</property>
+			  <property name="fill">True</property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkVBox" id="vbox28">
+			  <property name="visible">True</property>
+			  <property name="homogeneous">False</property>
+			  <property name="spacing">0</property>
+
+			  <child>
+			    <placeholder/>
+			  </child>
+			</widget>
+			<packing>
+			  <property name="padding">0</property>
+			  <property name="expand">False</property>
+			  <property name="fill">True</property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkAlignment" id="alignment16">
+			  <property name="visible">True</property>
+			  <property name="xalign">0</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xscale">1</property>
+			  <property name="yscale">1</property>
+			  <property name="top_padding">0</property>
+			  <property name="bottom_padding">5</property>
+			  <property name="left_padding">0</property>
+			  <property name="right_padding">0</property>
+
+			  <child>
+			    <widget class="GtkHBox" id="hbox15">
+			      <property name="visible">True</property>
+			      <property name="homogeneous">False</property>
+			      <property name="spacing">5</property>
+
+			      <child>
+				<widget class="GtkLabel" id="label140">
+				  <property name="visible">True</property>
+				  <property name="label" translatable="yes"><i>Please refer to the manual for more details about these preferences.</i></property>
+				  <property name="use_underline">False</property>
+				  <property name="use_markup">True</property>
+				  <property name="justify">GTK_JUSTIFY_LEFT</property>
+				  <property name="wrap">False</property>
+				  <property name="selectable">False</property>
+				  <property name="xalign">0.5</property>
+				  <property name="yalign">0.5</property>
+				  <property name="xpad">0</property>
+				  <property name="ypad">0</property>
+				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+				  <property name="width_chars">-1</property>
+				  <property name="single_line_mode">False</property>
+				  <property name="angle">0</property>
+				</widget>
+				<packing>
+				  <property name="padding">0</property>
+				  <property name="expand">False</property>
+				  <property name="fill">False</property>
+				</packing>
+			      </child>
+			    </widget>
+			  </child>
+			</widget>
+			<packing>
+			  <property name="padding">0</property>
+			  <property name="expand">False</property>
+			  <property name="fill">False</property>
+			</packing>
+		      </child>
+		    </widget>
+		  </child>
+		</widget>
+	      </child>
+
+	      <child>
+		<widget class="GtkLabel" id="label139">
+		  <property name="visible">True</property>
+		  <property name="label" translatable="yes"><b>Various preferences</b></property>
+		  <property name="use_underline">False</property>
+		  <property name="use_markup">True</property>
+		  <property name="justify">GTK_JUSTIFY_LEFT</property>
+		  <property name="wrap">False</property>
+		  <property name="selectable">False</property>
+		  <property name="xalign">0.5</property>
+		  <property name="yalign">0.5</property>
+		  <property name="xpad">0</property>
+		  <property name="ypad">0</property>
+		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+		  <property name="width_chars">-1</property>
+		  <property name="single_line_mode">False</property>
+		  <property name="angle">0</property>
+		</widget>
+		<packing>
+		  <property name="type">label_item</property>
+		</packing>
+	      </child>
+	    </widget>
+	    <packing>
+	      <property name="tab_expand">False</property>
+	      <property name="tab_fill">True</property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkLabel" id="label138">
+	      <property name="visible">True</property>
+	      <property name="label" translatable="yes">Various</property>
+	      <property name="use_underline">False</property>
+	      <property name="use_markup">False</property>
+	      <property name="justify">GTK_JUSTIFY_LEFT</property>
+	      <property name="wrap">False</property>
+	      <property name="selectable">False</property>
+	      <property name="xalign">0.5</property>
+	      <property name="yalign">0.5</property>
+	      <property name="xpad">0</property>
+	      <property name="ypad">0</property>
+	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+	      <property name="width_chars">-1</property>
+	      <property name="single_line_mode">False</property>
+	      <property name="angle">0</property>
+	    </widget>
+	    <packing>
+	      <property name="type">tab</property>
+	    </packing>
+	  </child>
 	</widget>
 	<packing>
 	  <property name="padding">6</property>

Modified: trunk/src/build.c
===================================================================
--- trunk/src/build.c	2011-07-28 15:45:25 UTC (rev 5870)
+++ trunk/src/build.c	2011-07-28 17:59:22 UTC (rev 5871)
@@ -70,6 +70,8 @@
 
 GeanyBuildInfo build_info = {GEANY_GBG_FT, 0, 0, NULL, GEANY_FILETYPES_NONE, NULL, 0};
 
+GeanyBuildMenuPrefs build_menu_prefs;
+
 static gchar *current_dir_entered = NULL;
 
 typedef struct RunInfo

Modified: trunk/src/build.h
===================================================================
--- trunk/src/build.h	2011-07-28 15:45:25 UTC (rev 5870)
+++ trunk/src/build.h	2011-07-28 17:59:22 UTC (rev 5871)
@@ -158,6 +158,15 @@
 /* opaque pointers returned from build functions and passed back to them */
 typedef struct BuildTableFields *BuildTableData;
 
+typedef struct GeanyBuildMenuPrefs
+{
+	int number_ft_menu_items;
+	int number_non_ft_menu_items;
+	int number_exec_menu_items;
+} GeanyBuildMenuPrefs;
+
+extern GeanyBuildMenuPrefs build_menu_prefs;
+
 void build_init(void);
 
 void build_finalize(void);

Modified: trunk/src/editor.c
===================================================================
--- trunk/src/editor.c	2011-07-28 15:45:25 UTC (rev 5870)
+++ trunk/src/editor.c	2011-07-28 17:59:22 UTC (rev 5871)
@@ -4687,7 +4687,6 @@
 
 	sci_set_symbol_margin(sci, editor_prefs.show_markers_margin);
 	sci_set_lines_wrapped(sci, editor_prefs.line_wrapping);
-	sci_set_scrollbar_mode(sci, editor_prefs.show_scrollbars);
 	sci_set_caret_policy_x(sci, CARET_JUMPS | CARET_EVEN, 0);
 	/*sci_set_caret_policy_y(sci, CARET_JUMPS | CARET_EVEN, 0);*/
 	SSM(sci, SCI_AUTOCSETSEPARATOR, '\n', 0);
@@ -4933,6 +4932,8 @@
 
 	/* (dis)allow scrolling past end of document */
 	sci_set_scroll_stop_at_last_line(sci, editor_prefs.scroll_stop_at_last_line);
+
+	sci_set_scrollbar_mode(sci, editor_prefs.show_scrollbars);
 }
 
 

Modified: trunk/src/interface.c
===================================================================
--- trunk/src/interface.c	2011-07-28 15:45:25 UTC (rev 5870)
+++ trunk/src/interface.c	2011-07-28 17:59:22 UTC (rev 5871)
@@ -2895,6 +2895,18 @@
   GtkWidget *radio_print_gtk;
   GtkWidget *label243;
   GtkWidget *label201;
+  GtkWidget *frame24;
+  GtkWidget *alignment14;
+  GtkWidget *vbox50;
+  GtkWidget *vbox51;
+  GtkWidget *scrolledwindow9;
+  GtkWidget *various_treeview;
+  GtkWidget *vbox28;
+  GtkWidget *alignment16;
+  GtkWidget *hbox15;
+  GtkWidget *label140;
+  GtkWidget *label139;
+  GtkWidget *label138;
   GtkWidget *dialog_action_area3;
   GtkWidget *button3;
   GtkWidget *button4;
@@ -5007,6 +5019,63 @@
   gtk_widget_show (label201);
   gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook2), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook2), 7), label201);
 
+  frame24 = gtk_frame_new (NULL);
+  gtk_widget_show (frame24);
+  gtk_container_add (GTK_CONTAINER (notebook2), frame24);
+  gtk_container_set_border_width (GTK_CONTAINER (frame24), 5);
+  gtk_frame_set_shadow_type (GTK_FRAME (frame24), GTK_SHADOW_NONE);
+
+  alignment14 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_widget_show (alignment14);
+  gtk_container_add (GTK_CONTAINER (frame24), alignment14);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment14), 0, 0, 12, 0);
+
+  vbox50 = gtk_vbox_new (FALSE, 5);
+  gtk_widget_show (vbox50);
+  gtk_container_add (GTK_CONTAINER (alignment14), vbox50);
+
+  vbox51 = gtk_vbox_new (FALSE, 0);
+  gtk_widget_show (vbox51);
+  gtk_box_pack_start (GTK_BOX (vbox50), vbox51, FALSE, TRUE, 0);
+
+  scrolledwindow9 = gtk_scrolled_window_new (NULL, NULL);
+  gtk_widget_show (scrolledwindow9);
+  gtk_box_pack_start (GTK_BOX (vbox50), scrolledwindow9, TRUE, TRUE, 0);
+  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow9), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
+  gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow9), GTK_SHADOW_IN);
+
+  various_treeview = gtk_tree_view_new ();
+  gtk_widget_show (various_treeview);
+  gtk_container_add (GTK_CONTAINER (scrolledwindow9), various_treeview);
+  gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (various_treeview), TRUE);
+
+  vbox28 = gtk_vbox_new (FALSE, 0);
+  gtk_widget_show (vbox28);
+  gtk_box_pack_start (GTK_BOX (vbox50), vbox28, FALSE, TRUE, 0);
+
+  alignment16 = gtk_alignment_new (0, 0.5, 1, 1);
+  gtk_widget_show (alignment16);
+  gtk_box_pack_start (GTK_BOX (vbox50), alignment16, FALSE, FALSE, 0);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment16), 0, 5, 0, 0);
+
+  hbox15 = gtk_hbox_new (FALSE, 5);
+  gtk_widget_show (hbox15);
+  gtk_container_add (GTK_CONTAINER (alignment16), hbox15);
+
+  label140 = gtk_label_new (_("<i>Please refer to the manual for more details about these preferences.</i>"));
+  gtk_widget_show (label140);
+  gtk_box_pack_start (GTK_BOX (hbox15), label140, FALSE, FALSE, 0);
+  gtk_label_set_use_markup (GTK_LABEL (label140), TRUE);
+
+  label139 = gtk_label_new (_("<b>Various preferences</b>"));
+  gtk_widget_show (label139);
+  gtk_frame_set_label_widget (GTK_FRAME (frame24), label139);
+  gtk_label_set_use_markup (GTK_LABEL (label139), TRUE);
+
+  label138 = gtk_label_new (_("Various"));
+  gtk_widget_show (label138);
+  gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook2), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook2), 8), label138);
+
   dialog_action_area3 = GTK_DIALOG (prefs_dialog)->action_area;
   gtk_widget_show (dialog_action_area3);
   gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area3), GTK_BUTTONBOX_END);
@@ -5420,6 +5489,18 @@
   GLADE_HOOKUP_OBJECT (prefs_dialog, radio_print_gtk, "radio_print_gtk");
   GLADE_HOOKUP_OBJECT (prefs_dialog, label243, "label243");
   GLADE_HOOKUP_OBJECT (prefs_dialog, label201, "label201");
+  GLADE_HOOKUP_OBJECT (prefs_dialog, frame24, "frame24");
+  GLADE_HOOKUP_OBJECT (prefs_dialog, alignment14, "alignment14");
+  GLADE_HOOKUP_OBJECT (prefs_dialog, vbox50, "vbox50");
+  GLADE_HOOKUP_OBJECT (prefs_dialog, vbox51, "vbox51");
+  GLADE_HOOKUP_OBJECT (prefs_dialog, scrolledwindow9, "scrolledwindow9");
+  GLADE_HOOKUP_OBJECT (prefs_dialog, various_treeview, "various_treeview");
+  GLADE_HOOKUP_OBJECT (prefs_dialog, vbox28, "vbox28");
+  GLADE_HOOKUP_OBJECT (prefs_dialog, alignment16, "alignment16");
+  GLADE_HOOKUP_OBJECT (prefs_dialog, hbox15, "hbox15");
+  GLADE_HOOKUP_OBJECT (prefs_dialog, label140, "label140");
+  GLADE_HOOKUP_OBJECT (prefs_dialog, label139, "label139");
+  GLADE_HOOKUP_OBJECT (prefs_dialog, label138, "label138");
   GLADE_HOOKUP_OBJECT_NO_REF (prefs_dialog, dialog_action_area3, "dialog_action_area3");
   GLADE_HOOKUP_OBJECT (prefs_dialog, button3, "button3");
   GLADE_HOOKUP_OBJECT (prefs_dialog, button4, "button4");

Modified: trunk/src/keyfile.c
===================================================================
--- trunk/src/keyfile.c	2011-07-28 15:45:25 UTC (rev 5870)
+++ trunk/src/keyfile.c	2011-07-28 17:59:22 UTC (rev 5871)
@@ -179,10 +179,10 @@
 	stash_group_add_spin_button_integer(group, &file_prefs.disk_check_timeout,
 		"disk_check_timeout", GEANY_DISK_CHECK_TIMEOUT, "spin_disk_check");
 
-	/* hidden prefs (don't overwrite them so users can edit them manually) */
+	/* various geany prefs */
 	group = stash_group_new(PACKAGE);
-	configuration_add_pref_group(group, FALSE);
-	stash_group_set_write_once(group, TRUE);
+	configuration_add_pref_group(group, TRUE);
+	stash_group_set_various(group, TRUE);
 
 	stash_group_add_boolean(group, &editor_prefs.show_scrollbars,
 		"show_editor_scrollbars", TRUE);
@@ -204,7 +204,19 @@
 	stash_group_add_integer(group, (gint*)&search_prefs.find_selection_type,
 		"find_selection_type", GEANY_FIND_SEL_CURRENT_WORD);
 
-	/* Note: Interface-related hidden prefs are in ui_init_prefs() */
+	/* Note: Interface-related various prefs are in ui_init_prefs() */
+
+	/* various build-menu prefs */
+	group = stash_group_new("build-menu");
+	configuration_add_pref_group(group, TRUE);
+	stash_group_set_various(group, TRUE);
+
+	stash_group_add_integer(group, &build_menu_prefs.number_ft_menu_items,
+		"number_ft_menu_items", 0);
+	stash_group_add_integer(group, &build_menu_prefs.number_non_ft_menu_items,
+		"number_non_ft_menu_items", 0);
+	stash_group_add_integer(group, &build_menu_prefs.number_exec_menu_items,
+		"number_exec_menu_items", 0);
 }
 
 
@@ -378,10 +390,6 @@
 	g_key_file_set_boolean(config, PACKAGE, "tab_order_beside", file_prefs.tab_order_beside);
 	g_key_file_set_integer(config, PACKAGE, "tab_pos_editor", interface_prefs.tab_pos_editor);
 	g_key_file_set_integer(config, PACKAGE, "tab_pos_msgwin", interface_prefs.tab_pos_msgwin);
-	g_key_file_set_boolean(config, PACKAGE, "msgwin_status_visible", interface_prefs.msgwin_status_visible);
-	g_key_file_set_boolean(config, PACKAGE, "msgwin_compiler_visible", interface_prefs.msgwin_compiler_visible);
-	g_key_file_set_boolean(config, PACKAGE, "msgwin_messages_visible", interface_prefs.msgwin_messages_visible);
-	g_key_file_set_boolean(config, PACKAGE, "msgwin_scribble_visible", interface_prefs.msgwin_scribble_visible);
 	g_key_file_set_boolean(config, PACKAGE, "use_native_windows_dialogs", interface_prefs.use_native_windows_dialogs);
 
 	/* display */
@@ -688,10 +696,6 @@
 	interface_prefs.editor_font = utils_get_setting_string(config, PACKAGE, "editor_font", GEANY_DEFAULT_FONT_EDITOR);
 	interface_prefs.tagbar_font = utils_get_setting_string(config, PACKAGE, "tagbar_font", GEANY_DEFAULT_FONT_SYMBOL_LIST);
 	interface_prefs.msgwin_font = utils_get_setting_string(config, PACKAGE, "msgwin_font", GEANY_DEFAULT_FONT_MSG_WINDOW);
-	interface_prefs.msgwin_status_visible = utils_get_setting_boolean(config, PACKAGE, "msgwin_status_visible", TRUE);
-	interface_prefs.msgwin_compiler_visible = utils_get_setting_boolean(config, PACKAGE, "msgwin_compiler_visible", TRUE);
-	interface_prefs.msgwin_messages_visible = utils_get_setting_boolean(config, PACKAGE, "msgwin_messages_visible", TRUE);
-	interface_prefs.msgwin_scribble_visible = utils_get_setting_boolean(config, PACKAGE, "msgwin_scribble_visible", TRUE);
 	interface_prefs.use_native_windows_dialogs = utils_get_setting_boolean(config, PACKAGE, "use_native_windows_dialogs", FALSE);
 
 	/* display, editor */
@@ -840,9 +844,9 @@
 	tool_prefs.context_action_cmd = utils_get_setting_string(config, PACKAGE, "context_action_cmd", "");
 
 	/* build menu */
-	build_set_group_count(GEANY_GBG_FT, utils_get_setting_integer(config, "build-menu", "number_ft_menu_items", 0));
-	build_set_group_count(GEANY_GBG_NON_FT, utils_get_setting_integer(config, "build-menu", "number_non_ft_menu_items", 0));
-	build_set_group_count(GEANY_GBG_EXEC, utils_get_setting_integer(config, "build-menu", "number_exec_menu_items", 0));
+	build_set_group_count(GEANY_GBG_FT, build_menu_prefs.number_ft_menu_items);
+	build_set_group_count(GEANY_GBG_NON_FT, build_menu_prefs.number_non_ft_menu_items);
+	build_set_group_count(GEANY_GBG_EXEC, build_menu_prefs.number_exec_menu_items);
 	build_load_menu(config, GEANY_BCS_PREF, NULL);
 
 	/* printing */

Modified: trunk/src/prefs.c
===================================================================
--- trunk/src/prefs.c	2011-07-28 15:45:25 UTC (rev 5870)
+++ trunk/src/prefs.c	2011-07-28 17:59:22 UTC (rev 5871)
@@ -122,6 +122,12 @@
 				break;
 		}
 	}
+
+	if (action == PREF_UPDATE)
+	{
+		GtkWidget *widget = ui_lookup_widget(ui_widgets.prefs_dialog, "various_treeview");
+		stash_tree_update(pref_groups, GTK_TREE_VIEW(widget));
+	}
 }
 
 
@@ -798,6 +804,7 @@
 		guint autoclose_brackets[5];
 		gboolean old_invert_all = interface_prefs.highlighting_invert_all;
 		gboolean old_sidebar_pos = interface_prefs.sidebar_pos;

@@ Diff output truncated at 100000 characters. @@

This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.



More information about the Commits mailing list