SF.net SVN: geany: [1551] trunk

eht16 at users.sourceforge.net eht16 at xxxxx
Mon May 21 15:24:28 UTC 2007


Revision: 1551
          http://svn.sourceforge.net/geany/?rev=1551&view=rev
Author:   eht16
Date:     2007-05-21 08:24:27 -0700 (Mon, 21 May 2007)

Log Message:
-----------
Updated for Geany 0.11.

Modified Paths:
--------------
    trunk/ChangeLog
    trunk/NEWS
    trunk/doc/geany.1.in
    trunk/doc/geany.docbook
    trunk/doc/geany.txt
    trunk/doc/html/apa.html
    trunk/doc/html/apb.html
    trunk/doc/html/apbs02.html
    trunk/doc/html/apbs03.html
    trunk/doc/html/apc.html
    trunk/doc/html/ch01.html
    trunk/doc/html/ch01s02.html
    trunk/doc/html/ch01s03.html
    trunk/doc/html/ch01s04.html
    trunk/doc/html/ch02.html
    trunk/doc/html/ch02s02.html
    trunk/doc/html/ch02s03.html
    trunk/doc/html/ch03.html
    trunk/doc/html/ch03s02.html
    trunk/doc/html/ch03s03.html
    trunk/doc/html/ch03s04.html
    trunk/doc/html/ch03s05.html
    trunk/doc/html/ch03s06.html
    trunk/doc/html/ch03s07.html
    trunk/doc/html/ch03s08.html
    trunk/doc/html/ch03s09.html
    trunk/doc/html/ch03s10.html
    trunk/doc/html/ch04.html
    trunk/doc/html/ch04s02.html
    trunk/doc/html/ch04s03.html
    trunk/doc/html/index.html
    trunk/doc/images/find_dialog.png
    trunk/doc/images/find_in_files_dialog.png
    trunk/doc/images/pref_dialog_edit.png
    trunk/doc/images/pref_dialog_files.png
    trunk/doc/images/pref_dialog_gen.png
    trunk/doc/images/pref_dialog_interface.png
    trunk/doc/images/pref_dialog_keys.png
    trunk/doc/images/pref_dialog_templ.png
    trunk/doc/images/pref_dialog_toolbar.png
    trunk/doc/images/pref_dialog_tools.png
    trunk/doc/images/pref_dialog_vte.png
    trunk/doc/images/replace_dialog.png
    trunk/geany.nsi
    trunk/geany_private.rc
    trunk/win32-config.h

Added Paths:
-----------
    trunk/doc/html/apcs02.html
    trunk/doc/html/apcs03.html
    trunk/doc/html/apd.html
    trunk/doc/html/apds02.html
    trunk/doc/html/apds03.html
    trunk/doc/html/ape.html
    trunk/doc/html/ch03s11.html
    trunk/doc/html/ch03s12.html

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2007-05-21 14:26:18 UTC (rev 1550)
+++ trunk/ChangeLog	2007-05-21 15:24:27 UTC (rev 1551)
@@ -1,3 +1,10 @@
+2007-05-21  Enrico Tröger  <enrico.troeger at uvena.de>
+
+ * NEWS, geany_private.rc, win32-config.h, doc/geany.1.in,
+   doc/geany.docbook, doc/geany.txt, doc/images/*, doc/html/*:
+   Updated for Geany 0.11.
+
+
 2007-05-16  Enrico Tröger  <enrico.troeger at uvena.de>
 
  * THANKS, src/about.c, po/LINGUAS, po/bg.po:
@@ -681,7 +688,7 @@
  * geany.glade, doc/geany.docbook, src/document.c, src/document.h,
    src/geany.h, src/interface.c, src/keyfile.c, src/main.c, src/prefs.c,
    src/sci_cb.c, src/ui_utils.c:
-   Added different auto indention modes to select who should Geany
+   Added different auto indention modes to select how should Geany
    indent new lines (closes #1615605).
 
 

Modified: trunk/NEWS
===================================================================
--- trunk/NEWS	2007-05-21 14:26:18 UTC (rev 1550)
+++ trunk/NEWS	2007-05-21 15:24:27 UTC (rev 1551)
@@ -1,4 +1,4 @@
-Geany 0.11 (TBA)
+Geany 0.11 (May 21, 2007)
 
     Notes for existing users:
     * Tab is now used for construct completion (for, if, etc.), but it
@@ -9,6 +9,8 @@
     * Inserting a file header is now optional for filetype templates.
       Use the string '{fileheader}' to mark where the file header should
       be placed.
+    * Drag'n'Drop of text inside the editor widget will now move the
+      text instead of copying it.
 
     Bugs fixed:
     * Fix segfault when pressing Ctrl-Enter when there are no workspace
@@ -62,6 +64,22 @@
     * Make backspace unindent when using spaces for indentation.
     * Wrap notebook pages when switching tabs.
     * Speed up loading multiple C-like files slightly.
+    * New filetypes: JavaScript, Lua and Haskell.
+    * Set several widget names to allow users to define custom styles
+      in .gtkrc-2.0.
+    * Add context actions to run custom commands on current selection
+      or the current word below cursor.
+    * Add different auto indention modes.
+    * Improve replacing in rectangle selections.
+    * Add custom commands to send selected text through some definable
+      commands and replace the selection with the output.
+    * Add command line option --column to allow setting the initial
+      column for the first opened file on command line.
+    * Improve the auto scrolling of documents.
+    * Improve loading of the VTE library.
+    * Add an option for using spaces or tabulators when inserting some
+      whitespace.
+    * Add an option to disable Drag'n'Drop in the editor widget.
 
     Documentation:
     * Add Project Management, Global Tags, Construct Completion
@@ -69,7 +87,11 @@
     * Add Bookmarks section (thanks to John Gabriele).
     * Update Filetype Templates, Search sections.
 
+    Internationalisation:
+    * New translations: bg.
+    * Updated translations: ca, cs, de, es, fr, zh_CN.
 
+
 Geany 0.10.2 (February 25, 2007)
 
     Bugs fixed:

Modified: trunk/doc/geany.1.in
===================================================================
--- trunk/doc/geany.1.in	2007-05-21 14:26:18 UTC (rev 1550)
+++ trunk/doc/geany.1.in	2007-05-21 15:24:27 UTC (rev 1551)
@@ -1,4 +1,4 @@
-.TH "GEANY" "1" "February 21, 2007" "@PACKAGE@ @VERSION@" ""
+.TH "GEANY" "1" "May 21, 2007" "@PACKAGE@ @VERSION@" ""
 .SH "NAME"
 Geany \(em a small and lightweight IDE
 .SH "SYNOPSIS"

Modified: trunk/doc/geany.docbook
===================================================================
--- trunk/doc/geany.docbook	2007-05-21 14:26:18 UTC (rev 1550)
+++ trunk/doc/geany.docbook	2007-05-21 15:24:27 UTC (rev 1551)
@@ -5,7 +5,7 @@
 <!ENTITY appversion "0.11">
 <!ENTITY appurl "http://geany.uvena.de">
 <!ENTITY author_mail "enrico.troeger at uvena.de">
-<!ENTITY date "May 11, 2007">
+<!ENTITY date "May 21, 2007">
 <!ENTITY legal SYSTEM "geany_gpl.docbook">
 <!ENTITY scikeybinding SYSTEM "scikeybinding.docbook">
 ]>

Modified: trunk/doc/geany.txt
===================================================================
--- trunk/doc/geany.txt	2007-05-21 14:26:18 UTC (rev 1550)
+++ trunk/doc/geany.txt	2007-05-21 15:24:27 UTC (rev 1551)
@@ -1,1685 +1,2691 @@
+Geany 0.11
 
-Geany 0.9
-
 Enrico Tröger
 
 Nick Treleaven
 
 Frank Lanitz
 
-   Copyright \xA9 2005-2006
+Copyright © 2005-2007
 
-   This document is distributed under the terms of the GNU
-   General Public License as published by the Free Software
-   Foundation; either version 2 of the License, or (at your
-   option) any later version. A copy of this license can be found
-   in the file COPYING included with the source code of this
-   program and see Appendix B.
-     _________________________________________________________
+This document is distributed under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2 of the License,
+or (at your option) any later version. A copy of this license can be found in
+the file COPYING included with the source code of this program and see
+Appendix D, GNU General Public License.
 
-   Table of Contents
-   1. Introduction
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
-        1.1. About Geany
-        1.2. About this document
-        1.3. Where to get it
-        1.4. License
+Table of Contents
 
-   2. Installation
+1. Introduction
 
-        2.1. Requirements
-        2.2. Source compilation
-        2.3. Binary packages
+    About Geany
+    About this document
+    Where to get it
+    License
 
-              2.3.1. Fedora
-              2.3.2. Debian
-              2.3.3. SuSE
-              2.3.4. Gentoo
+2. Installation
 
-   3. Usage
+    Requirements
+    Source compilation
+    Binary packages
 
-        3.1. Getting started
-        3.2. Command line options
-        3.3. General
+        Fedora
+        Debian
+        SuSE
+        Gentoo
 
-              3.3.1. Startup
-              3.3.2. Opening files from the command-line in a
-                      running instance
+3. Usage
 
-              3.3.3. Virtual terminal emulator widget (VTE)
+    Getting started
+    Command line options
+    General
 
-        3.4. Character sets and Unicode Byte-Order-Mark (BOM)
-        3.5. Search, replace and go to
+        Startup
+        Opening files from the command-line in a running instance
+        Virtual terminal emulator widget (VTE)
+        Defining own widget styles using .gtkrc-2.0
 
-              3.5.1. Find
-              3.5.2. Find usage
-              3.5.3. Find in files
-              3.5.4. Replace
-              3.5.5. Go to tag definition
-              3.5.6. Go to tag declaration
-              3.5.7. Go to line
-              3.5.8. Regular expressions
+    Character sets and Unicode Byte-Order-Mark (BOM)
 
-        3.6. Preferences
+        Using character sets
+        Special encoding "None"
+        Unicode Byte-Order-Mark (BOM)
 
-              3.6.1. Compile time options
+    Editing
 
-        3.7. Build system
+        Drag and drop of text
+        Auto indentation
+        Construct completion
+        Bookmarks
+        Send text through definable commands
+        Context actions
 
-              3.7.1. Compile
-              3.7.2. Build
-              3.7.3. Make all
-              3.7.4. Make custom target
-              3.7.5. Make object
-              3.7.6. Execute
-              3.7.7. Set Includes and Arguments
-              3.7.8. Indicators
-              3.7.9. File type configuration settings
+    Search, replace and go to
 
-        3.8. Printing support
-        3.9. Keybindings
+        Find
+        Find usage
+        Find in files
+        Replace
+        Go to tag definition
+        Go to tag declaration
+        Go to line
+        Regular expressions
 
-   4. Configuration files
+    Tags
 
-        4.1. Filetype definition files
+        Workspace tags
+        Global tags
 
-              4.1.1. Format
-              4.1.2. Special file filetypes.common
+    Preferences
+    Project Management
 
-        4.2. Filetype extensions
-        4.3. Templates
+        New Project
+        Project Properties
+        Close Project
+        Open Project
 
-   A. Scintilla keyboard commands
+    Build system
 
-        A.1. Keyboard commands
+        Compile
+        Build
+        Make all
+        Make custom target
+        Make object
+        Execute
+        Stopping running processes
+        Set Includes and Arguments
+        Indicators
+        File type configuration settings
 
-   B. GNU General Public License
+    Printing support
+    Keybindings
 
-        B.1. Preamble
-        B.2. TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND
-                MODIFICATION
+4. Configuration files
 
-              B.2.1. Section 0
-              B.2.2. Section 1
-              B.2.3. Section 2
-              B.2.4. Section 3
-              B.2.5. Section 4
-              B.2.6. Section 5
-              B.2.7. Section 6
-              B.2.8. Section 7
-              B.2.9. Section 8
-              B.2.10. Section 9
-              B.2.11. Section 10
-              B.2.12. Section 11 NO WARRANTY
-              B.2.13. Section 12
+    Filetype definition files
 
-        B.3. How to Apply These Terms to Your New Programs
+        Format
+        Special file filetypes.common
 
-   C. License for Scintilla and SciTE
+    Filetype extensions
+    Templates
 
-   List of Tables
-   3-1. Command line Options
-   3-2. Regular expressions
-   3-3. Compile time options
-   3-4. Keybindings action table
-   4-1. General settings
-   4-2. Build settings
-   4-3. General settings
-   4-4. Template wildcards
-   A-1. Scintilla keyboard commands
+        Template metadata
+        Filetype templates
+        Customizing templates
 
-   List of Figures
-   3-1. Find dialog
-   3-2. General tab in preferences dialog
-   3-3. Interface tab in preferences dialog
-   3-4. Toolbar tab in preferences dialog
-   3-5. Editor tab in preferences dialog
-   3-6. Tools tab in preferences dialog
-   3-7. Template tab in preferences dialog
-   3-8. Keybinding tab in preferences dialog
-   3-9. VTE tab in preferences dialog
+A. Contributing to this document
+B. Scintilla keyboard commands
 
-   List of Examples
-   4-1. Comment indentation
-     _________________________________________________________
+    Keyboard commands
 
-Chapter 1. Introduction
+C. Compile time options
+D. GNU General Public License
 
-1.1. About Geany
+    Preamble
+    TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
 
-   Geany is a small and lightweight Integrated Development
-   Environment. It was developed to provide a small and fast IDE,
-   which has only a few dependencies from other packages. Another
-   goal was to be as independent as possible from a special
-   Desktop Environment like KDE or GNOME, so Geany only requires
-   the GTK2 toolkit and therefore you only need the GTK2 runtime
-   libraries installed to run it.
+        Section 0
+        Section 1
+        Section 2
+        Section 3
+        Section 4
+        Section 5
+        Section 6
+        Section 7
+        Section 8
+        Section 9
+        Section 10
+        Section 11 NO WARRANTY
+        Section 12
 
-   The basic features of Geany are:
+    How to Apply These Terms to Your New Programs
 
-     * Syntax highlighting
-     * Code completion
-     * Auto completion of often used constructs like if, for and
-       while
-     * Auto completion of XML and HTML tags
-     * Call tips
-     * Many supported filetypes like C, Java, PHP, HTML, Python,
-       Perl, Pascal
-     * Tag/Symbol lists
-     _________________________________________________________
+E. License for Scintilla and SciTE
 
-1.2. About this document
+List of Figures
 
-   This documentation is available in various formats like HTML,
-   text and PDF. The latest version is always available at
-   http://geany.uvena.de.
-     _________________________________________________________
+3.1. Find dialog
+3.2. Find in files dialog
+3.3. Replace dialog
+3.4. General tab in preferences dialog
+3.5. Interface tab in preferences dialog
+3.6. Toolbar tab in preferences dialog
+3.7. Files tab in preferences dialog
+3.8. Editor tab in preferences dialog
+3.9. Tools tab in preferences dialog
+3.10. Template tab in preferences dialog
+3.11. Keybinding tab in preferences dialog
+3.12. VTE tab in preferences dialog
 
-1.3. Where to get it
+List of Tables
 
-   You can obtain Geany from http://geany.uvena.de or perhaps
-   from your distributor.
-     _________________________________________________________
+3.1. Command line Options
+3.2. Regular expressions
+3.3. Keybindings action table
+4.1. General settings
+4.2. Build settings
+4.3. General settings
+4.4. Template wildcards
+B.1. Scintilla keyboard commands
+C.1. Compile time options
 
-1.4. License
+List of Examples
 
-   Geany is distributed under the terms of the GNU General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later
-   version. A copy of this license can be found in the file
-   COPYING included with the source code of this program or see
-   Appendix B.
+4.1. Comment indentation
 
-   The included Scintilla library (found in the subdirectory
-   scintilla/) has its own license, which can be found in the
-   appendix (see Appendix C).
-     _________________________________________________________
+Chapter 1.  Introduction
 
-Chapter 2. Installation
+Table of Contents
 
-2.1. Requirements
+About Geany
+About this document
+Where to get it
+License
 
-   For compiling Geany yourself, you will need the GTK (>= 2.6.0)
-   libraries and header files. You will also need the Pango, Glib
-   and ATK libraries and header files. All these files are
-   available at http://www.gtk.org.
+About Geany
 
-   Furthermore you need, of course, a C compiler and the Make
-   tool; a C++ compiler is also required for the included
-   Scintilla library. The GNU versions of these tools are
-   recommended.
-     _________________________________________________________
+Geany is a small and lightweight Integrated Development Environment. It was
+developed to provide a small and fast IDE, which has only a few dependencies
+from other packages. Another goal was to be as independent as possible from a
+special Desktop Environment like KDE or GNOME, so Geany only requires the GTK2
+toolkit and therefore you only need the GTK2 runtime libraries installed to run
+it.
 
-2.2. Source compilation
+The basic features of Geany are:
 
-   Compiling Geany is quite easy. The following should do it:
+  ● Syntax highlighting
+
+  ● Code completion
+
+  ● Auto completion of often-used constructs like "if", "for" and "while"
+
+  ● Auto completion of XML and HTML tags
+
+  ● Call tips
+
+  ● Many supported filetypes including C, Java, PHP, HTML, Python, Perl,
+    Pascal, and others
+
+  ● Tag/Symbol lists
+
+About this document
+
+This documentation is available in various formats like HTML, text and PDF. The
+latest version is always available at http://geany.uvena.de.
+
+Where to get it
+
+You can obtain Geany from http://geany.uvena.de or perhaps from your
+distributor.
+
+License
+
+Geany is distributed under the terms of the GNU General Public License as
+published by the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version. A copy of this license can be found in the
+file COPYING included with the source code of this program or see Appendix D,
+GNU General Public License.
+
+The included Scintilla library (found in the subdirectory scintilla/) has its
+own license, which can be found in the appendix (see Appendix E, License for
+Scintilla and SciTE).
+
+Chapter 2.  Installation
+
+Table of Contents
+
+Requirements
+Source compilation
+Binary packages
+
+    Fedora
+    Debian
+    SuSE
+    Gentoo
+
+Requirements
+
+For compiling Geany yourself, you will need the GTK (>= 2.6.0) libraries and
+header files. You will also need the Pango, Glib and ATK libraries and header
+files. All these files are available at http://www.gtk.org.
+
+Furthermore you need, of course, a C compiler and the Make tool; a C++ compiler
+is also required for the included Scintilla library. The GNU versions of these
+tools are recommended.
+
+Source compilation
+
+Compiling Geany is quite easy. The following should do it:
+
                                         % ./configure
                                         % make
                                         % make install
 
-   The configure script supports several common options, for a
-   detailed list, type
+The configure script supports several common options, for a detailed list, type
+
                                         % ./configure --help
 
-   In the case that your system lacks dynamic linking loader
-   support, you probably want to pass the option --disable-vte to
-   the configure script. This prevents compiling Geany with
-   dynamic linking loader support to automatically load
-   libvte.so.4 if available.
+There also some compile time options which can be found in src/geany.h. Please
+see Appendix C, Compile time options for more information.
 
-   Geany has been successfully compiled and tested under Debian
-   3.1 Sarge, Debian 3.2 Etch, Fedora Core 4, LinuxFromScratch
-   and FreeBSD 6.0. It also compiles under Microsoft Windows(TM),
-   but there are lots of changes to the makefiles necessary.
+In the case that your system lacks dynamic linking loader support, you probably
+want to pass the option --disable-vte to the configure script. This prevents
+compiling Geany with dynamic linking loader support to automatically load
+libvte.so.4 if available.
 
-   If there are any errors during compilation, check your build
-   environment and try to find the error, otherwise contact the
-   author at <enrico.troeger at uvena.de>.
-     _________________________________________________________
+Geany has been successfully compiled and tested under Debian 3.1 Sarge, Debian
+4.0 Etch, Fedora Core 3/4/5, LinuxFromScratch and FreeBSD 6.0. It also compiles
+under Microsoft Windows™.
 
-2.3. Binary packages
+If there are any errors during compilation, check your build environment and
+try to find the error, otherwise contact the author at <enrico.troeger at uvena.de
+>.
 
-2.3.1. Fedora
+Binary packages
 
-   You can use the Fedora Core 4 repository from
-   http://naturidentisch.de/packages/fc4/.
+Fedora
 
-   You can also use the Fedora Core 5 repository from
-   http://naturidentisch.de/packages/fc5/.
-     _________________________________________________________
+You can use the Fedora Core 4 repository from http://naturidentisch.de/packages
+/fc4/.
 
-2.3.2. Debian
+You can also use the Fedora Core 5 repository from http://naturidentisch.de/
+packages/fc5/.
 
-   Geany is available through the official Debian archives.
+Debian
 
-   apt-get install geany
-     _________________________________________________________
+Geany is available through the official Debian archives.
 
-2.3.3. SuSE
+apt-get install geany
 
-   Packages for SuSE are not yet available.
-     _________________________________________________________
+SuSE
 
-2.3.4. Gentoo
+Packages for SuSE are not yet available.
 
-   An ebuild for Gentoo can be found on http://bugs.gentoo.de.
-     _________________________________________________________
+Gentoo
 
-Chapter 3. Usage
+An ebuild for Gentoo can be found on http://bugs.gentoo.de.
 
-3.1. Getting started
+Chapter 3. Usage
 
-   You can start Geany in the following ways:
+Table of Contents
 
-     * From the Desktop Environment menu
-       Choose in your application menu of your used Desktop
-       Environment: Development->Geany.
-     * From the command line
-       To start Geany from a command line, type the following and
-       press Return:
-                                                                % geany
-     _________________________________________________________
+Getting started
+Command line options
+General
 
-3.2. Command line options
+    Startup
+    Opening files from the command-line in a running instance
+    Virtual terminal emulator widget (VTE)
+    Defining own widget styles using .gtkrc-2.0
 
-   Table 3-1. Command line Options
-   Short option Long option Function
-   -s --no-session Don't load the previous session's files.
-   -n --no-ctags Do not load auto completion and call tip data.
-   Use this option if you do not want to use them.
-   -m --no-msgwin Do not show the message window. Use this option
-   if you do not need compiler messages or VTE support.
-   -i --new-instance Do not open files in a running instance,
-   force opening a new instance.
-   -t --no-terminal Do not load terminal support. Use this option
-   if you do not want to load the virtual terminal emulator
-   widget at startup. If you do not have libvte.so.4 installed,
-   then terminal-support is automatically disabled.
-   -l --vte-lib Specify explicitly the path including filename or
-   only the filename to the VTE library, e.g. /usr/lib/libvte.so
-   or libvte.so. This option is only needed when the
-   autodetection does not work.
-   -c directory_name --config=directory_name Use an alternate
-   configuration directory. Default configuration directory is
-   ~/.geany/ and there resides geany.conf and other configuration
-   files.
-   -d --debug Run Geany in debug mode, which means being verbose
-   and printing lots of information.
-   -? --help Show help information and exit.
-   -v --version Show version information and exit.
-     [files ...] Open all given files at startup. This option
-   causes Geany to ignore loading stored files from the last
-   session (if enabled).
-   Geany supports all generic GTK options, a list is available on
-   the help screen.
-     _________________________________________________________
+Character sets and Unicode Byte-Order-Mark (BOM)
 
-3.3. General
+    Using character sets
+    Special encoding "None"
+    Unicode Byte-Order-Mark (BOM)
 
-3.3.1. Startup
+Editing
 
-   At startup, Geany loads the first 15 files from the last time
-   Geany was launched. You can disable this feature in the
-   preferences dialog(see Figure 3-2). If you specify some files
-   on the command line, only these files will be opened, but you
-   can find the files from the last session in the file menu
-   under the "Recent files" item. This contains the last 15
-   recently opened files. It may be that Geany loads not exactly
-   15 session files, this depends on the compile time option
-   GEANY_SESSION_FILES; the default is 15. For details see
-   Section 3.6.1.
+    Drag and drop of text
+    Auto indentation
+    Construct completion
+    Bookmarks
+    Send text through definable commands
+    Context actions
 
-   You can start several instances of Geany, but only the first
-   will load files from the last session. To run a second
-   instance of Geany, do not specify any filenames on the
-   command-line, or disable opening files in a running instance
-   using the appropriate command line option.
-     _________________________________________________________
+Search, replace and go to
 
-3.3.2. Opening files from the command-line in a running instance
+    Find
+    Find usage
+    Find in files
+    Replace
+    Go to tag definition
+    Go to tag declaration
+    Go to line
+    Regular expressions
 
-   Geany detects an already running instance of itself and opens
-   files from the command-line in the already running instance.
-   So, Geany can be used to view and edit files by opening them
-   from other programs such as a file manager. If you do not like
-   this for some reason, you can disable using the first instance
-   by using the appropriate command line option - see Section
-   3.2.
-     _________________________________________________________
+Tags
 
-3.3.3. Virtual terminal emulator widget (VTE)
+    Workspace tags
+    Global tags
 
-   If you have installed libvte.so in your system, it is loaded
-   automatically by Geany, and you will have a terminal widget in
-   the notebook at the bottom.
+Preferences
+Project Management
 
-   If Geany cannot find libvte.so at startup, the terminal widget
-   will not be loaded. So there is no need to install the package
-   containing this file in order to run Geany. Additionally, you
-   can disable the use of the terminal widget by command line
-   option, for more information see Section 3.2.
+    New Project
+    Project Properties
+    Close Project
+    Open Project
 
-   You can use this terminal (from now on called VTE) nearly as
-   an usual terminal program like xterm. There is basic clipboard
-   support. You can paste the contents of the clipboard by
-   pressing the right mouse button to open the popup menu and
-   choosing Paste. To copy text from the VTE, just select the
-   desired text and then press the right mouse button and choose
-   Copy from the popup menu. On systems running the X Window
-   System you can paste the last selected text by pressing the
-   middle mouse button in the VTE (on 2-button mice, the middle
-   button can often be simulated by pressing both mouse buttons
-   together).
+Build system
 
-   Note
+    Compile
+    Build
+    Make all
+    Make custom target
+    Make object
+    Execute
+    Stopping running processes
+    Set Includes and Arguments
+    Indicators
+    File type configuration settings
 
-   Geany tries to load libvte.so. If this fails, it tries to load
-   libvte.so.4. If this fails too, you should check whether you
-   installed libvte correctly. Again, Geany also runs without
-   this library.
+Printing support
+Keybindings
 
-   It could be, that the library is called something else than
-   libvte.so.4 (e.g. on FreeBSD 6.0 it is called libvte.so.8). So
-   please set a link to the correct file (as root).
+Getting started
+
+You can start Geany in the following ways:
+
+  ● From the Desktop Environment menu
+
+    Choose in your application menu of your used Desktop Environment:
+    Development → Geany.
+
+  ● From the command line
+
+    To start Geany from a command line, type the following and press Return:
+
+                                                                    % geany
+
+
+Command line options
+
+Table 3.1. Command line Options
+
+┌──────────┬────────────────┬─────────────────────────────────────────────────┐
+│  Short   │  Long option   │                    Function                     │
+│  option  │                │                                                 │
+├──────────┼────────────────┼─────────────────────────────────────────────────┤
+│          │ --column       │ Set initial column number for the first opened  │
+│          │                │ file.                                           │
+├──────────┼────────────────┼─────────────────────────────────────────────────┤
+│          │                │ Use an alternate configuration directory.       │
+│ -c       │ --config=      │ Default configuration directory is ~/.geany/    │
+│ dir_name │ directory_name │ and there resides geany.conf and other          │
+│          │                │ configuration files.                            │
+├──────────┼────────────────┼─────────────────────────────────────────────────┤
+│ -d       │ --debug        │ Run Geany in debug mode, which means being      │
+│          │                │ verbose and printing lots of information.       │
+├──────────┼────────────────┼─────────────────────────────────────────────────┤
+│          │                │ Do not open files in a running instance, force  │
+│ -i       │ --new-instance │ opening a new instance. Only available if Geany │
+│          │                │ was compiled with support for Sockets.          │
+├──────────┼────────────────┼─────────────────────────────────────────────────┤
+│ -l       │ --line         │ Set initial line number for the first opened    │
+│          │                │ file.                                           │
+├──────────┼────────────────┼─────────────────────────────────────────────────┤
+│          │                │ Do not show the message window. Use this option │
+│ -m       │ --no-msgwin    │ if you do not need compiler messages or VTE     │
+│          │                │ support.                                        │
+├──────────┼────────────────┼─────────────────────────────────────────────────┤
+│ -n       │ --no-ctags     │ Do not load auto completion and call tip data.  │
+│          │                │ Use this option if you do not want to use them. │
+├──────────┼────────────────┼─────────────────────────────────────────────────┤
+│ -s       │ --no-session   │ Don't load the previous session's files.        │
+├──────────┼────────────────┼─────────────────────────────────────────────────┤
+│          │                │ Do not load terminal support. Use this option   │
+│          │                │ if you do not want to load the virtual terminal │
+│ -t       │ --no-terminal  │ emulator widget at startup. If you do not have  │
+│          │                │ libvte.so.4 installed, then terminal-support is │
+│          │                │ automatically disabled. Only available if Geany │
+│          │                │ was compiled with support for VTE.              │
+├──────────┼────────────────┼─────────────────────────────────────────────────┤
+│          │                │ Specify explicitly the path including filename  │
+│          │                │ or only the filename to the VTE library, e.g. / │
+│          │ --vte-lib      │ usr/lib/libvte.so or libvte.so. This option is  │
+│          │                │ only needed when the autodetection does not     │
+│          │                │ work. Only available if Geany was compiled with │
+│          │                │ support for VTE.                                │
+├──────────┼────────────────┼─────────────────────────────────────────────────┤
+│ -v       │ --version      │ Show version information and exit.              │
+├──────────┼────────────────┼─────────────────────────────────────────────────┤
+│ -?       │ --help         │ Show help information and exit.                 │
+├──────────┼────────────────┼─────────────────────────────────────────────────┤
+│          │                │ Open all given files at startup. This option    │
+│          │ [files ...]    │ causes Geany to ignore loading stored files     │
+│          │                │ from the last session (if enabled).             │
+└──────────┴────────────────┴─────────────────────────────────────────────────┘
+
+
+Geany supports all generic GTK options, a list is available on the help screen.
+
+General
+
+Startup
+
+At startup, Geany loads all files from the last time Geany was launched. You
+can disable this feature in the preferences dialog(see Figure 3.4, “General tab
+in preferences dialog”). If you specify some files on the command line, only
+these files will be opened, but you can find the files from the last session in
+the file menu under the "Recent files" item. By default this contains the last
+10 recently opened files. You can change the amount of recently opened files in
+the preferences dialog.
+
+You can start several instances of Geany, but only the first will load files
+from the last session. To run a second instance of Geany, do not specify any
+filenames on the command-line, or disable opening files in a running instance
+using the appropriate command line option.
+
+Opening files from the command-line in a running instance
+
+Geany detects an already running instance of itself and opens files from the
+command-line in the already running instance. So, Geany can be used to view and
+edit files by opening them from other programs such as a file manager. If you
+do not like this for some reason, you can disable using the first instance by
+using the appropriate command line option - see the section called “Command
+line options”.
+
+Virtual terminal emulator widget (VTE)
+
+If you have installed libvte.so in your system, it is loaded automatically by
+Geany, and you will have a terminal widget in the notebook at the bottom.
+
+If Geany cannot find libvte.so at startup, the terminal widget will not be
+loaded. So there is no need to install the package containing this file in
+order to run Geany. Additionally, you can disable the use of the terminal
+widget by command line option, for more information see the section called
+“Command line options”.
+
+You can use this terminal (from now on called VTE) nearly as an usual terminal
+program like xterm. There is basic clipboard support. You can paste the
+contents of the clipboard by pressing the right mouse button to open the popup
+menu and choosing Paste. To copy text from the VTE, just select the desired
+text and then press the right mouse button and choose Copy from the popup menu.
+On systems running the X Window System you can paste the last selected text by
+pressing the middle mouse button in the VTE (on 2-button mice, the middle
+button can often be simulated by pressing both mouse buttons together).
+
+In the preferences dialog you can specify a shell which should be started in
+the VTE. To make the specified shell a login shell just use the appropriate
+command line options for the shell. These options should be found in the manual
+page of the shell. For zsh and bash you can use the argument --login.
+
+Note
+
+Geany tries to load libvte.so. If this fails, it tries to load libvte.so.4. If
+this fails too, you should check whether you installed libvte correctly. Again,
+Geany also runs without this library.
+
+It could be, that the library is called something else than libvte.so.4 (e.g.
+on FreeBSD 6.0 it is called libvte.so.8). So please set a link to the correct
+file (as root).
+
 # ln -s /usr/lib/libvte.so.X /usr/lib/libvte.so.4
 
-   Obviously, you have to adjust the paths and set X to the
-   number of your libvte.so.
-     _________________________________________________________
+Obviously, you have to adjust the paths and set X to the number of your
+libvte.so.
 
-3.4. Character sets and Unicode Byte-Order-Mark (BOM)
+Defining own widget styles using .gtkrc-2.0
 
-   Geany provides support for detecting and converting character
-   sets. So you can open and save files in different character
-   sets and even can convert a file from a character set to
-   another one. To do this, Geany uses the character conversion
-   capabilities of the GLib.
+You can define your widget style for many of Geany's GUI parts. To do this,
+just edit your .gtkrc-2.0 (usually found in your home directory on UNIX-like
+systems and in the etc subdirectory of your Geany installation on Windows).
 
-   Furthermore, Geany detects an Unicode Byte Order Mark (see
-   http://en.wikipedia.org/wiki/Byte_Order_Mark for details). Of
-   course, this feature is only available if the opened file is
-   in an unicode encoding. The Byte Order Mark helps to detect
-   the encoding of a file, e.g. whether it is UTF-16LE or
-   UTF-16BE and so on. On Unix-like systems using a Byte Order
-   Mark could cause some problems, e.g. the gcc stops with stray
-   errors, PHP does not parse a script containing a BOM and
-   script files starting with a she-bang maybe cannot be started.
-   In the status bar you can easily see whether the file starts
-   with a BOM or not. If you want to set a BOM for a file or if
-   you want to remove it from a file, just use the document menu
-   and toggle the checkbox.
+To get a defined style get noticed by Geany you must it assign to one of
+Geany's widgets. To do so, use the following line:
 
-   Note
+widget "Geany*" style "geany_style"
 
-   If you are unsure what a BOM is or if you do not understand
-   where to use it, then it is not important for you and you can
-   safely ignore it.
-     _________________________________________________________
+This would assign your already defined style "geany_style" to all Geany
+widgets. You can also assign styles only to specific widgets. At the moment you
+can use the following widgets:
 
-3.5. Search, replace and go to
+ 1. GeanyMainWindow
 
-   This section describes search-related commands from the Search
-   menu and the editor window's popup menu:
+ 2. GeanyEditMenu
 
-     * Find
-     * Find usage *
-     * Find in files
-     * Replace
-     * Go to tag definition *
-     * Go to tag declaration *
-     * Go to line
+ 3. GeanyToolbarMenu
 
-   * These items are available from the editor window's popup
-   menu, or by using a keyboard shortcut (see Section 3.9).
-     _________________________________________________________
+ 4. GeanyDialog
 
-3.5.1. Find
+ 5. GeanyDialogPrefs
 
-   The Find dialog is used for finding text within the current
-   document. The syntax for the "Use regular expressions" option
-   is shown in Table 3-2.
+ 6. GeanyDialogProject
 
-   Figure 3-1. Find dialog
+ 7. GeanyDialogSearch
 
-   [find_dialog.jpg]
-     _________________________________________________________
+Example of a simple .gtkrc-2.0:
 
-3.5.2. Find usage
+style "geanyStyle"
+{
+        font_name="Sans 12"
+}
+widget "GeanyMainWindow" style "geanyStyle"
 
-   Find usage searches all open files. If there is a selection,
-   then it is used as the search text; otherwise the current word
-   is used. The current word is either taken from the word
-   nearest the edit cursor, or the word underneath the popup menu
-   click position when the popup menu is used. The search results
-   are shown in the Messages window.
-     _________________________________________________________
+style "geanyStyle"
+{
+        font_name="Sans 10"
+}
+widget "GeanyPrefsDialog" style "geanyStyle"
 
-3.5.3. Find in files
+Character sets and Unicode Byte-Order-Mark (BOM)
 
-   Find in files is a more powerful version of Find usage that
-   searches all files in a certain directory using the Grep tool.
-   The Grep tool must be correctly set in Preferences to the path
-   of the system's Grep utility.
-     _________________________________________________________
+Using character sets
 
-3.5.4. Replace
+Geany provides support for detecting and converting character sets. So you can
+open and save files in different character sets and even can convert a file
+from a character set to another one. To do this, Geany uses the character
+conversion capabilities of the GLib.
 
-   The Replace dialog has the same options for finding text as
-   the Find dialog. There is also a "Replace in all files"
-   option, which is used with the Replace All button to perform
-   the replacement for all open files.
+Only text files are supported, i.e. opening files which contain NUL-bytes may
+fail. Geany will try to open the file anyway but it is likely that the file
+will be truncated because it can only opened up to the first occurrence of the
+first NUL-byte. All characters after this position are lost and are not written
+when you save the file.
 
-   The "Use regular expressions" option applies both to the
-   search string and to the replacement text; for the latter back
-   references can be used - see the entry for '\n' in Table 3-2.
-     _________________________________________________________
+Geany tries to detect the encoding of a file while opening it. It might be that
+the encoding of a file cannot be detected correctly so you have to set manually
+the encoding of the file in order to display it correctly. You can this in the
+file open dialog by selecting an encoding in the drop down box or by reloading
+the file with the file menu item "Reload as". The auto detection works well for
+most encodings but there are also some encodings known where auto detection has
+its problems. Auto detecting the encoding of a file is not easy and sometimes
+an encoding might be detected not correctly.
 
-3.5.5. Go to tag definition
+There are different ways to use different encodings in Geany:
 
-   If the current word is the name of a function and the file
-   containing the function definition (a.k.a. function body) is
-   open, Go to tag definition will switch to that file and go to
-   the corresponding line number. The current word is either
-   taken from the word nearest the edit cursor, or the word
-   underneath the popup menu click position when the popup menu
-   is used.
-     _________________________________________________________
+ 1. Using the file open dialog
 
-3.5.6. Go to tag declaration
+    This opens the file with the encoding specified in the encoding drop down
+    box. If the encoding is set to "Detect from file" auto detection will be
+    used. If the encoding is set to "Without encoding (None)" the file will be
+    opened without any character conversion and Geany will not try to auto
+    detect the encoding(see below for more information).
 
-   Like Go to tag definition, but for a forward function
-   declaration (a.k.a. function prototype) instead of a function
-   definition.
-     _________________________________________________________
+ 2. Using the "Reload as" menu item
 
-3.5.7. Go to line
+    This item reloads the current file with the specified encoding. It can help
+    if you opened a file and found out that a wrong encoding was used.
 
-   Go to a particular line number in the current file.
-     _________________________________________________________
+ 3. Using the "Set encoding" menu item
 
-3.5.8. Regular expressions
+    In contrary to the above two options, this will not change or reload the
+    current file unless you save it. It is useful when you want to change the
+    encoding of the file.
 
-   You can use regular expressions in the Find and Replace
-   dialogs by selecting the "Use regular expressions" check box.
-   The syntax is POSIX-like, as described below in Table 3-2.
+Special encoding "None"
 
-   Note
+There is a special encoding "None" which is actually no real encoding. It is
+useful when you know that Geany cannot auto detect the encoding of a file and
+it is not displayed correctly. Especially when the file contains NUL-bytes this
+can be useful to skip auto detection and open the file properly at least until
+the occurrence of the first NUL-byte. Using this encoding opens the file as it
+is without any character conversion.
 
-   Searching backwards with regular expressions is not supported.
+Unicode Byte-Order-Mark (BOM)
 
-   Table 3-2. Regular expressions
-   In a regular expression, the following characters are
-   interpreted:
-   . Matches any character.
-   ( This marks the start of a region for tagging a match.
-   ) This marks the end of a tagged region.
-   \n Where n is 1 through 9 refers to the first through ninth
-   tagged region when replacing. For example, if the search
-   string was Fred([1-9])XXX and the replace string was Sam\1YYY,
-   when applied to Fred2XXX this would generate Sam2YYY.
-   \< This matches the start of a word.
-   \> This matches the end of a word.
-   \x This allows you to use a character x that would otherwise
-   have a special meaning. For example, \[ would be interpreted
-   as [ and not as the start of a character set. Use \\ for a
-   literal backslash.
-   [...] This indicates a set of characters, for example, [abc]
-   means any of the characters a, b or c. You can also use
-   ranges, for example [a-z] for any lower case character.
-   [^...] The complement of the characters in the set. For
-   example, [^A-Za-z] means any character except an alphabetic
-   character.
-   ^ This matches the start of a line (unless used inside a set,
-   see above).
-   $ This matches the end of a line.
-   * This matches 0 or more times. For example, Sa*m matches Sm,
-   Sam, Saam, Saaam and so on.
-   + This matches 1 or more times. For example, Sa+m matches Sam,
-   Saam, Saaam and so on.
+Furthermore, Geany detects an Unicode Byte Order Mark (see http://
+en.wikipedia.org/wiki/Byte_Order_Mark for details). Of course, this feature is
+only available if the opened file is in an unicode encoding. The Byte Order
+Mark helps to detect the encoding of a file, e.g. whether it is UTF-16LE or
+UTF-16BE and so on. On Unix-like systems using a Byte Order Mark could cause
+some problems, e.g. the gcc stops with stray errors, PHP does not parse a
+script containing a BOM and script files starting with a she-bang maybe cannot
+be started. In the status bar you can easily see whether the file starts with a
+BOM or not. If you want to set a BOM for a file or if you want to remove it
+from a file, just use the document menu and toggle the checkbox.
 
-   Note Partial POSIX compatibility
+Note
 
+If you are unsure what a BOM is or if you do not understand where to use it,
+then it is not important for you and you can safely ignore it.
 
-   Note that the POSIX '?' regular expression character for
-   optional matching is not supported by the Find and Replace
-   dialogs.
-     _________________________________________________________
+Editing
 
-3.6. Preferences
+Drag and drop of text
 
-   should be written
+If you drag selected text in the editor widget of Geany the text is moved to
+the position where the mouse pointer is when releasing the mouse button.
+Holding Control when releasing the mouse button will copy the text instead.
+This behaviour was changed in Geany 0.11 - before the selected text was copied
+to the new position.
 
-   Figure 3-2. General tab in preferences dialog
+Auto indentation
 
-   [pref_dialog_gen.jpg]
+Geany knows three types of auto indentation: None, Basic and Advanced.
 
-   Figure 3-3. Interface tab in preferences dialog
+Auto indentation types
 
-   [pref_dialog_interface.jpg]
+None
 
-   Figure 3-4. Toolbar tab in preferences dialog
+    Disables auto indentation completely.
 
-   [pref_dialog_toolbar.jpg]
+Basic
 
-   Figure 3-5. Editor tab in preferences dialog
+    Adds the same amount of whitespace on a new line as on the last line.
 
-   [pref_dialog_edit.jpg]
+Advanced
 
-   Figure 3-6. Tools tab in preferences dialog
+    Does the same as Basic but also indents curly brackets and adds a tabulator
+    character (or spaces) on a new line after an opening '{' brace.
 
-   [pref_dialog_tools.jpg]
+Construct completion
 
-   Figure 3-7. Template tab in preferences dialog
+Built-in construct completion is available for C-like languages. By default the
+Tab key is used straight after typing the construct keyword.
 
-   [pref_dialog_templ.jpg]
+Example: for<TAB>
 
-   Figure 3-8. Keybinding tab in preferences dialog
+typed into a C file expands to:
 
-   [pref_dialog_keys.jpg]
+for (i = 0; i < ; i++)
+{
 
-   Note
+}
 
-   For more information see Section 3.9.
+Bookmarks
 
-   Figure 3-9. VTE tab in preferences dialog
+Geany provides a handy bookmarking feature that lets you mark one or more lines
+in a document, and return the cursor to them using a key combination.
 
-   [pref_dialog_vte.jpg]
-     _________________________________________________________
+To place a mark on a line, either left-mouse-click in the left margin of the
+editor window, or else use Ctrl-m. Either way, this will produce a small green
+plus symbol in the margin. You can have as many marks in a document as you
+like. Click again (or use Ctrl-m again) to remove the bookmark. To remove all
+the marks in a given document, use "Remove Markers" in the Document menu.
 
-3.6.1. Compile time options
+To navigate down your document, jumping from one mark to the next, use Ctrl-.
+(control period). To go in the opposite direction on the page, use Ctrl-,
+(control comma). Using the bookmarking feature together with the commands to
+switch from one editor tab to another (Ctrl-PgUp/PgDn and Ctrl-Tab) provides a
+particularly fast way to navigate around multiple files.
 
-   There are some options which can only be changed at compile
-   time. To change these options, edit the file src/geany.h. Look
-   for a block of lines starting with "#define GEANY_*". Any
-   definitions which are not listed here should not be changed.
+Send text through definable commands
 
-   Table 3-3. Compile time options
-   Option Description Default
-   GEANY_MAX_OPEN_FILES The limit to how many files can be open
-   at the same time. 25
-   GEANY_SESSION_FILES How many files should be reopened from the
-   last run. Obviously, the value should be smaller than
-   GEANY_MAX_OPEN_FILES. 15
-   GEANY_WORDCHARS These characters define word boundaries. (look
-   at sourcecode)
-   GEANY_MAX_AUTOCOMPLETE_WORDS How many auto completion
-   suggestions should Geany provide. 30
-   GEANY_STRING_UNTITLED A string used as the default name for
-   new files. Be aware that the string can be translated, so
-   change it only if you know what you are doing. untitled
-   GEANY_CHECK_FILE_DELAY Time in seconds between checking a file
-   for external changes. 30
-   GEANY_WINDOW_MINIMAL_WIDTH The minimal width of the main
-   window. 620
-   GEANY_WINDOW_MINIMAL_HEIGHT The minimal height of the main
-   window. 440
-   GEANY_WINDOW_DEFAULT_WIDTH The default width of the main
-   window at the first start. 900
-   GEANY_WINDOW_DEFAULT_HEIGHT The default height of the main
-   window at the first start. 600
-   Default values
-   GEANY_DEFAULT_TOOLS_MAKE The make tool. This can also include
-   a path. "make"
-   GEANY_DEFAULT_TOOLS_TERMINAL A terminal emulator. It has to
-   accept the command line option "-e". This can also include a
-   path. "xterm"
-   GEANY_DEFAULT_TOOLS_BROWSER A web browser. This can also
-   include a path. "mozilla"
-   GEANY_DEFAULT_TOOLS_PRINTCMD A printing tool. It should be
-   able to accept and process plain text files. This can also
-   include a path. "lpr"
-   GEANY_DEFAULT_TOOLS_GREP A grep tool. It should be compatible
-   with GNU grep. This can also include a path. "grep"
-   GEANY_DEFAULT_MRU_LENGHTH The length of the "Recent files"
-   list. "10"
-   GEANY_DEFAULT_FONT_SYMBOL_LIST The font used in sidebar to
-   show symbols and open files. "Cursor 8"
-   GEANY_DEFAULT_FONT_MSG_WINDOW The font used in the messages
-   window. "Cursor 8"
-   GEANY_DEFAULT_FONT_EDITOR The font used in the editor window.
-   "Courier New 9"
-     _________________________________________________________
+You can define several custom commands in Geany and send the current selection
+to one of these commands. The output of the command will be used to replace the
+current selection. So, it is possible to use text formatting tools with Geany
+in a general way. The selected text will be sent to the standard input of the
+executed command, so the command should be able to read from it and it should
+print all results to its standard output which will be read by Geany. To help
+finding errors in executing the command, the output of the program's standard
+error will be printed on Geany's standard output.
 
-3.7. Build system
+To add a custom command, just go to the Set Custom Commands dialog in the
+Format sub menu of the Edit and Popup menu. Then click on Add to get a new text
+entry and type the command. You can also specify some command line options. To
+delete a command, just clear the text entry and press Ok. It will be deleted
+automatically.
 
-   Geany has an integrated build system. Firstly this means that
-   the current source file will be saved before it is processed.
-   This is for convenience so that you don't need to keep saving
-   small changes to the current file before building.
+Context actions
 
-   Secondly the output for Compile, Build and Make actions will
-   be captured in the Compiler notebook tab of the messages
-   window (assuming you have it visible). If there are any
-   warnings or errors with line numbers shown in the Compiler
-   output tab, you can double click on them and Geany will switch
-   to the relevant source file (if it is open) and mark the line
-   number so the problem can be corrected. Geany will also set
-   indicators for warnings or errors with line numbers.
+You can execute a specified command on the current word near the cursor
+position or an available selection and this word is passed as an argument to
+this command. It can be used for example to open some API documentation in a
+browser window or open any other external program. To do this, there is an menu
+entry in the popup menu of the editor widget and also a keyboard shortcut(see
+the section called “Keybindings”).
 
-   Depending on the current file's filetype, the Build menu will
-   contain the following items:
+The command can be specified in the preferences dialog and additionally for
+each filetype (see "context_action_cmd" in the section called “Format”). At
+executing, the filetype specific command is used if available otherwise the
+command specified in the preferences dialog is executed.
 
-     * Compile
-     * Build
-     * Make all
-     * Make custom target
-     * Make object
-     * Execute
-     * Set Includes and Arguments
-     _________________________________________________________
+The passed word can be referred with the wildcard "%s" everywhere in the
+command, before executing it will be replaced by the current word. For example,
+the command to open the PHP API documentation would be:
 
-3.7.1. Compile
+firefox "http://www.php.net/%s"
 
-   The Compile command has different uses for different kinds of
-   files.
+when executing the command, the %s is substituted by the word near the cursor
+position or by the current selection. If the cursor is at the word "echo", a
+browser window will open(assumed your browser is called firefox) and it will
+open the address: http://www.php.net/echo.
 
-   For compilable languages such as C and C++, the Compile
-   command is setup to compile the current source file into a
-   binary object file.
+Search, replace and go to
 
-   Java source files will be compiled to class file bytecode.
-   Interpreted languages such as Perl, Python, Ruby will compile
-   to bytecode if the language supports it, or will run a syntax
-   check, or failing that will run the file in its language
-   interpreter.
-     _________________________________________________________
+This section describes search-related commands from the Search menu and the
+editor window's popup menu:
 
-3.7.2. Build
+  ● Find
 
-   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 in one step, producing just
-   the executable binary.
+  ● Find usage *
 
-   Interpreted languages do not use the Build command.
-     _________________________________________________________
+  ● Find in files
 
-3.7.3. Make all
+  ● Replace
 
-   This effectively runs "make all" in the same directory as the
-   current file.
+  ● Go to tag definition *
 
-   Note
+  ● Go to tag declaration *
 
-   For each of the Make commands, The Make tool path must be
-   correctly set in the Tools tab of the Preferences dialog.
-     _________________________________________________________
+  ● Go to line
 
-3.7.4. Make custom target
+* These items are available from the editor window's popup menu, or by using a
+keyboard shortcut (see the section called “Keybindings”).
 
-   This is similar to running 'Make all' 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".
-     _________________________________________________________
+Find
 
-3.7.5. Make object
+The Find dialog is used for finding text in one or more open documents.
 
-   Make object will run "make current_file.o" in the same
-   directory as the current file, using its prefix for
-   'current_file'. It is useful for compiling just the current
-   file without building the whole project.
-     _________________________________________________________
+Figure 3.1. Find dialog
 
-3.7.6. Execute
+Find dialog
 
-   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 - you can use any terminal program
-   that runs a Bourne compatible shell.
 
-   After your program or script has finished executing, you will
-   be prompted to press the return key. This allows you to review
-   any text output from the program before the terminal window is
-   closed.
-     _________________________________________________________
+Matching options
 
-3.7.7. Set Includes and Arguments
+The syntax for the Use regular expressions option is shown in Table 3.2,
+“Regular expressions”.
 
-   By default the Compile and Build commands invoke the compiler
-   and linker with only the basic arguments needed by all
-   programs. Using Set Includes and Arguments you can add any
-   include paths and compile flags for the compiler, any library
-   names and paths for the linker, and any arguments you want to
-   use when running Execute.
+The Use escape sequences option will transform any escaped characters into
+their UTF-8 equivalent. For example, \t will be transformed into a tab
+character. Other recognised symbols are: \\, \n, \r, \uXXXX (Unicode
+chararacters).
 
-   Note
+Find all
 
-   If you are using the Build command to compile and link in one
-   step, you will need to set both the compiler arguments and the
-   linker arguments in the linker command setting.
+To find all matches, click on the Find All expander. This will reveal several
+options:
 
-   These settings are not saved when Geany is shut down. See
-   below for how to set permanent arguments.
+  ● In Document
 
-   If you need complex settings for your build system, or several
-   different settings, then writing a Makefile and using the Make
-   commands is recommended.
-     _________________________________________________________
+  ● In Session
 
-3.7.8. Indicators
+  ● Mark
 
-   Indicators are red squiggly underlines which are used to
-   highlight errors which occured while compiling the current
-   file. So you can easily see where your code failed to compile.
-   To remove the indicators, just click on "Remove all
-   indicators" in the document file menu.
+Find All In Document will show a list of matching lines in the current document
+in the Messages tab of the Message Window. Find All In Session does the same
+for all open documents.
 
-   If you do not like this feature, you can disable it in the
-   preferences dialog.
-     _________________________________________________________
+Mark will set markers for all matching lines in the current document, if the
+Markers margin is visible. If not, the background colour of matching lines will
+be highlighted. Markers and highlighting can be removed by selecting the Remove
+Markers command from the Document menu.
 
-3.7.9. File type configuration settings
+Find usage
 
-   You can set the commands to run for compiling, building or
-   executing by opening the relevant filetypes.* configuration
-   file, and checking the [build_settings] section. See Section
-   4.1 for more information.
-     _________________________________________________________
+Find usage searches all open files. It is similar to the Find All In Session
+Find dialog command.
 
-3.8. Printing support
+If there is a selection, then it is used as the search text; otherwise the
+current word is used. The current word is either taken from the word nearest
+the edit cursor, or the word underneath the popup menu click position when the
+popup menu is used. The search results are shown in the Messages tab of the
+Message Window.
 
-   Geany has basic printing support. This means you can print a
-   file by passing the filename of the current file to a command
-   which actually prints the file. However, the printed document
-   contains no syntax highlighting. You can adjust the command to
-   which the filename is passed in the preferences dialog. The
-   default command is:
+Find in files
+
+Find in files is a more powerful version of Find usage that searches all files
+in a certain directory using the Grep tool. The Grep tool must be correctly set
+in Preferences to the path of the system's Grep utility. GNU Grep is
+recommended.
+
+Figure 3.2. Find in files dialog
+
+Find in files dialog
+
+
+The Extra options field is used to pass any additional arguments to the grep
+tool.
+
+Filtering out version control files
+
+When using the Recurse in subfolders option with a directory that's under
+version control, you can set the Extra options field to use grep's --exclude
+flag to filter out filenames.
+
+SVN Example: --exclude=*.svn-base
+
+Note
+
+The GNU Grep project added support for excluding directories, using the
+--exclude-dir flag. At the time of writing (April 2007) this is unreleased
+outside of version control. Check your Grep manual to see if your version
+supports it.
+
+Example: --exclude-dir=.* --exclude-dir=CVS
+
+Replace
+
+The Replace dialog is used for replacing text in one or more open documents.
+
+Figure 3.3. Replace dialog
+
+Replace dialog
+
+
+The Replace dialog has the same options for matching text as the Find dialog.
+See the section called “Matching options”.
+
+The Use regular expressions option applies both to the search string and to the
+replacement text; for the latter back references can be used - see the entry
+for '\n' in Table 3.2, “Regular expressions”.
+
+Replace all
+
+To replace several matches, click on the Replace All expander. This will reveal
+several options:
+
+  ● In Document
+
+  ● In Session
+
+  ● In Selection
+
+Replace All In Document will replace all matching text in the current document.
+Replace All In Session does the same for all open documents. Replace All In
+Selection will replace all matching text in the current selection of the
+current document.
+
+Go to tag definition
+
+If the current word is the name of a tag definition (like a function body) and
+the file containing the tag definition is open, this command will switch to
+that file and go to the corresponding line number. The current word is either
+taken from the word nearest the edit cursor, or the word underneath the popup
+menu click position when the popup menu is used.
+
+Go to tag declaration
+
+Like Go to tag definition, but for a forward declaration such as a function
+prototype or extern declaration instead of a function body.
+
+Go to line
+
+Go to a particular line number in the current file.
+
+Regular expressions
+
+You can use regular expressions in the Find and Replace dialogs by selecting
+the Use regular expressions check box. The syntax is POSIX-like, as described
+below in Table 3.2, “Regular expressions”.
+
+Note
+
+Searching backwards with regular expressions is not supported.
+
+Table 3.2. Regular expressions
+
+┌─────────────────────────────────────────────────────────────────────────────┐
+│ In a regular expression, the following characters are interpreted:          │
+├────────┬────────────────────────────────────────────────────────────────────┤
+│ .      │ Matches any character.                                             │
+├────────┼────────────────────────────────────────────────────────────────────┤
+│ (      │ This marks the start of a region for tagging a match.              │
+├────────┼────────────────────────────────────────────────────────────────────┤
+│ )      │ This marks the end of a tagged region.                             │
+├────────┼────────────────────────────────────────────────────────────────────┤
+│        │ Where n is 1 through 9 refers to the first through ninth tagged    │
+│ \n     │ region when replacing. For example, if the search string was Fred  │
+│        │ ([1-9])XXX and the replace string was Sam\1YYY, when applied to    │
+│        │ Fred2XXX this would generate Sam2YYY.                              │
+├────────┼────────────────────────────────────────────────────────────────────┤
+│ \<     │ This matches the start of a word.                                  │
+├────────┼────────────────────────────────────────────────────────────────────┤
+│ \>     │ This matches the end of a word.                                    │
+├────────┼────────────────────────────────────────────────────────────────────┤
+│        │ This allows you to use a character x that would otherwise have a   │
+│ \x     │ special meaning. For example, \[ would be interpreted as [ and not │
+│        │ as the start of a character set. Use \\ for a literal backslash.   │
+├────────┼────────────────────────────────────────────────────────────────────┤
+│        │ This indicates a set of characters, for example, [abc] means any   │
+│ [...]  │ of the characters a, b or c. You can also use ranges, for example  │
+│        │ [a-z] for any lower case character.                                │
+├────────┼────────────────────────────────────────────────────────────────────┤
+│ [^...] │ The complement of the characters in the set. For example, [^       │
+│        │ A-Za-z] means any character except an alphabetic character.        │
+├────────┼────────────────────────────────────────────────────────────────────┤
+│ ^      │ This matches the start of a line (unless used inside a set, see    │
+│        │ above).                                                            │
+├────────┼────────────────────────────────────────────────────────────────────┤
+│ $      │ This matches the end of a line.                                    │
+├────────┼────────────────────────────────────────────────────────────────────┤
+│ *      │ This matches 0 or more times. For example, Sa*m matches Sm, Sam,   │
+│        │ Saam, Saaam and so on.                                             │
+├────────┼────────────────────────────────────────────────────────────────────┤
+│ +      │ This matches 1 or more times. For example, Sa+m matches Sam, Saam, │
+│        │ Saaam and so on.                                                   │
+└────────┴────────────────────────────────────────────────────────────────────┘
+
+
+Partial POSIX compatibility
+
+Note that the POSIX '?' regular expression character for optional matching is
+not supported by the Find and Replace dialogs.
+
+Tags
+
+Workspace tags
+
+Tags for each document are parsed whenever a file is loaded or saved. These are
+shown in the Symbol list in the Sidebar. These tags are also used for
+autocompletion and calltips in other documents open in the current session.
+
+The Go to Tag commands can be used with all workspace tags. See the section
+called “Go to tag definition”.
+
+Global tags
+
+Global tags are used to provide autocompletion and calltips without having to
+open the corresponding source files. This is intended for library APIs, as the
+tags file only has to be updated when you upgrade the library.
+
+You can load a custom global tags file in two ways:
+
+  ● Using the Load Tags command in the File menu.
+
+  ● By creating a directory ~/.geany/tags, and moving or symlinking the tags
+    files there before starting Geany.
+
+You can either download these files or generate your own. They have the format:
+
+libraryname.lang_ext.tags
+
+lang_ext is one of the extensions set for the filetype associated with the
+tags. See the section called “Filetype extensions” for more information.
+
+Default global tags files
+
+For some languages, a list of global tags is loaded when the corresponding
+filetype is first used. Currently these are for:
+
+  ● C - GTK+ and GLib
+
+  ● Pascal
+
+  ● PHP
+
+  ● HTML - &symbol; completion, e.g. for ampersand, copyright, etc.
+
+  ● LaTeX
+
+Generating a global tags file
+
+Filetypes support
+
+Currently this is not yet supported for Pascal, PHP and LaTeX filetypes.
+
+You can generate your own global tags files by parsing a list of source files.
+The command is:
+
+geany -g <Tag File> <File list>
+
+  ● Tag File should be in the format described earlier - see the section called
+    “Global tags”.
+
+  ● File list is a list of filenames, each with a full path (unless you are
+    generating C/C++ tags and have set the CFLAGS environment variable
+    appropriately).
+
+Example for the wxD library for the D programming language:
+
+geany -g wxd.d.tags /home/username/wxd/wx/*.d
+
+Generating C/C++ tag files
+
+For C/C++ tag files, gcc and grep are required, so that header files can be
+preprocessed to include any other headers they depend upon.
+
+For C/C++ files, the environment variable CFLAGS should be set with appropriate
+-I/path include paths. The following example works with the bash shell,
+generating tags for the GnomeUI library:
+
+CFLAGS=`pkg-config --cflags libgnomeui-2.0` geany -g gnomeui.c.tags
+/usr/include/libgnomeui-2.0/gnome.h
+
+You can adapt this command to use CFLAGS and header files appropriate for
+whichever libraries you want.
+
+Replacing the default C/C++ tags file
+
+Geany currently uses a default global tags file global.tags for C and C++,
+commonly installed in /usr/share/geany. This file can be replaced with one
+containing tags parsed from a different set of header files. When Geany is next
+started, your custom tags file will be loaded instead of the default
+global.tags. You should keep a copy of the generated tags file because it will
+get overwritten when upgrading Geany.
+
+This is a temporary solution - in later versions this will be unnecessary.
+
+Preferences
+
+You may adjust Geany's settings using the Edit --> Preferences dialog. Any
+changes you make there can be applied by hitting either the Apply or the Ok
+button. These settings will persist between Geany sessions. Note that most
+settings here have descriptive popup bubble help -- just hover the mouse over
+the item in question to get help on it.
+
+You may also adjust some View settings (under the View menu) that persist
+between Geany sessions. The settings under the Document menu, however, are only
+for the current document and revert to defaults when restarting Geany.
+
+Note, in the paragraphs that follow, the text describing a dialog tab (if
+present) comes after the screenshot of that tab.
+
+Figure 3.4. General tab in preferences dialog
+
+General tab in preferences dialog
+
+
+The "Context Activation" setting needs to be documented.
+
+Figure 3.5. Interface tab in preferences dialog
+
+Interface tab in preferences dialog
+
+
+The open files list and the editor tabs are two different ways to switch
+between documents using the mouse. When you hit the key combination to move
+between tabs, the order is determined by the tab order, not alphabetical as
+shown in the open files list (regardless whether or not editor tabs are
+visible).
+
+Figure 3.6. Toolbar tab in preferences dialog
+
+Toolbar tab in preferences dialog
+
+
+Figure 3.7. Files tab in preferences dialog
+
+Files tab in preferences dialog
+
+
+Figure 3.8. Editor tab in preferences dialog
+
+Editor tab in preferences dialog
+
+
+Line wrapping refers to the display of the text in the editor. Currently, there
+is no setting to have Geany automatically insert newlines into your document
+while you type.
+
+Figure 3.9. Tools tab in preferences dialog
+
+Tools tab in preferences dialog
+
+
+Figure 3.10. Template tab in preferences dialog
+
+Template tab in preferences dialog
+
+
+Figure 3.11. Keybinding tab in preferences dialog
+
+Keybinding tab in preferences dialog
+
+
+There are some handy commands in here that are not, by default, bound to a key
+combination, and may in fact not even be available as a menu item (for example,
+the very handy "Hide and show all additional widgets").
+
+Note
+
+For more information see the section called “Keybindings”.
+
+Figure 3.12. VTE tab in preferences dialog
+
+VTE tab in preferences dialog
+
+
+Project Management
+
+Project Management is optional in Geany. Currently it can be used for:
+
+  ● Running Make from the project's base directory.
+
+  ● Setting a custom Run command specific to the project.
+
+As long as a project is open, the Make and Run commands will use the project's
+settings, instead of the defaults. These will be used whichever document is
+currently displayed.
+
+The current project's settings are saved when it is closed, or when Geany is
+shutdown. When restarting Geany, the previously opened project file that was in
+use at the end of the last session will be reopened.
+
+New Project
+
+To create a new project, fill in the Name field. By default this will setup a
+new project file ~/projects/name.geany. Usually it's best to store all your
+project files in the same directory (they are independent of any source
+directory trees).
+
+The Base path text field is setup to use ~/projects/name. This can safely be
+set to any existing path - it will not touch the file structure contained in
+it.
+
+Project Properties
+
+You can set an optional description for the project, but it is not used
+elsewhere by Geany.
+
+The Base path field is used as the directory to run the Make command in.
+
+The Run command overrides the default run command. You can set this to the
+executable or main script file for the project, and append any command-line
+arguments.
+
+Close Project
+
+Project file settings are saved when the project is closed.
+
+Open Project
+
+The Open command displays a standard file chooser, starting in ~/projects.
+
+Build system
+
+Geany has an integrated build system. Firstly this means that the current
+source file will be saved before it is processed. This is for convenience so
+that you don't need to keep saving small changes to the current file before
+building.
+
+Secondly the output for Compile, Build and Make actions will be captured in the
+Compiler notebook tab of the messages window (assuming you have it visible). If
+there are any warnings or errors with line numbers shown in the Compiler output
+tab, you can double click on them and Geany will switch to the relevant source
+file (if it is open) and mark the line number so the problem can be corrected.
+Geany will also set indicators for warnings or errors with line numbers.
+
+Depending on the current file's filetype, the Build menu will contain the
+following items:
+
+  ● Compile
+
+  ● Build
+
+  ● Make all
+
+  ● Make custom target
+
+  ● Make object
+
+  ● Execute
+
+  ● Set Includes and Arguments
+
+Compile
+
+The Compile command has different uses for different kinds of files.
+
+For compilable languages such as C and C++, the Compile command is setup to
+compile the current source file into a binary object file.
+
+Java source files will be compiled to class file bytecode. Interpreted
+languages such as Perl, Python, Ruby will compile to bytecode if the language
+supports it, or will run a syntax check, or failing that will run the file in
+its language interpreter.
+
+Build
+
+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 in one step,
+producing just the executable binary.
+
+Interpreted languages do not use the Build command.
+
+Make all
+
+This effectively runs "make all" in the same directory as the current file.
+
+Note
+
+For each of the Make commands, The Make tool path must be correctly set in the
+Tools tab of the Preferences dialog.
+
+Make custom target
+
+This is similar to running 'Make all' 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".
+
+Make object
+
+Make object will run "make current_file.o" in the same directory as the current
+file, using its prefix for 'current_file'. It is useful for compiling just the
+current file without building the whole project.
+
+Execute
+
+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 - you can use any terminal
+program that runs a Bourne compatible shell and accept the "-e" command line
+argument to start a command.
+
+After your program or script has finished executing, you will be prompted to
+press the return key. This allows you to review any text output from the
+program before the terminal window is closed.
+
+Stopping running processes
+
+When there is a running program, the Run button in the toolbar becomes a stop
+button and you can stop the current action. This works by sending a signal to
+the process (and its child process(es)) to stop the process. The used signal is
+SIGQUIT.
+
+Depending on the process you started it might occur that the process cannot be
+stopped. This can happen when the process creates more than one child process.
+Therefore stopping any make actions is not possible because make creates child
+processes and these child processes creates again child process. There might be
+some other programs which cannot be stopped correctly. Xterm is known to work
+properly. If you are using "Terminal" (the terminal program of Xfce), you
+should add the command line option "--disable-server" otherwise the started
+process cannot be stopped. Just add this option in the preferences dialog on
+the Tools tab in the terminal field.
+
+Set Includes and Arguments
+
+By default the Compile and Build commands invoke the compiler and linker with
+only the basic arguments needed by all programs. Using Set Includes and
+Arguments you can add any include paths and compile flags for the compiler, any
+library names and paths for the linker, and any arguments you want to use when
+running Execute.
+
+Note
+
+If you are using the Build command to compile and link in one step, you will
+need to set both the compiler arguments and the linker arguments in the linker
+command setting.
+
+These settings are not saved when Geany is shut down. See below for how to set
+permanent arguments.
+
+If you need complex settings for your build system, or several different
+settings, then writing a Makefile and using the Make commands is recommended.
+
+Indicators
+
+Indicators are red squiggly underlines which are used to highlight errors which
+occured while compiling the current file. So you can easily see where your code
+failed to compile. To remove the indicators, just click on "Remove all
+indicators" in the document file menu.
+
+If you do not like this feature, you can disable it in the preferences dialog.
+
+File type configuration settings
+
+You can set the commands to run for compiling, building or executing by opening
+the relevant filetypes.* configuration file, and checking the [build_settings]
+section. See the section called “Filetype definition files” for more
+information.
+
+Printing support
+
+Geany has basic printing support. This means you can print a file by passing
+the filename of the current file to a command which actually prints the file.
+However, the printed document contains no syntax highlighting. You can adjust
+the command to which the filename is passed in the preferences dialog. The
+default command is:
+
 % lpr %f
 
-   %f will be substituted by the filename of the current file.
-   Geany will not show errors from the command itself, so you
-   should make sure that it works before(e.g. by trying to
-   execute it from the command line).
+%f will be substituted by the filename of the current file. Geany will not show
+errors from the command itself, so you should make sure that it works before
+(e.g. by trying to execute it from the command line).
 
-   A nicer example, which I prefer is:
+A nicer example, which I prefer is:
+
 % a2ps -1 --medium=A4 -o - %f | xfprint4
 
-   But this depends on a2ps and xfprint4. As a replacement for
-   xfprint4, gtklp or similar programs can be used.
+But this depends on a2ps and xfprint4. As a replacement for xfprint4, gtklp or
+similar programs can be used.
 
-   Note
+Note
 
-   The printing support of Geany will be improved in the future.
-   With GTK 2.10, better printing (including syntax highlighting)
-   will be possible.
-     _________________________________________________________
+The printing support of Geany will be improved in the future. With GTK 2.10,
+better printing (including syntax highlighting) will be possible.
 
-3.9. Keybindings
+Keybindings
 
-   Geany supports the default keyboard shortcuts for the
-   Scintilla editing widget. For a list of these commands, see
-   Appendix A. The Scintilla keyboard shortcuts will be
-   overridden by any custom keybindings with the same keyboard
-   shortcut.
+Geany supports the default keyboard shortcuts for the Scintilla editing widget.
+For a list of these commands, see Appendix B, Scintilla keyboard commands. The
+Scintilla keyboard shortcuts will be overridden by any custom keybindings with
+the same keyboard shortcut.
 
-   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 opening dialog you can
-   press any key combination you want and it will be saved when
-   you press OK. You can define only one key combination for one
-   action.
+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
+opening dialog you can press any key combination you want and it will be saved
+when you press OK. You can define only one key combination for one action.
 
-   Some of the default key combinations cannot be changed, e.g.
-   menu_new or menu_open. These are set by GTK and should be
-   kept, but you can still add other key combinations for these
-   actions. For example to execute menu_open by default Ctrl-O is
-   set, but you can also define Alt-O, so that the file open
-   dialog is shown by pressing either Ctrl-O or Alt-O.
+Some of the default key combinations cannot be changed, e.g. menu_new or
+menu_open. These are set by GTK and should be kept, but you can still add other
+key combinations for these actions. For example to execute menu_open by default
+Ctrl-O is set, but you can also define Alt-O, so that the file open dialog is
+shown by pressing either Ctrl-O or Alt-O.
 
-   The following table lists all customizable keyboard shortcuts.
+The following table lists all customizable keyboard shortcuts.
 
-   Table 3-4. Keybindings action table
-   Action Description
-   Menu items
-   New Creates a new file.
-   Open Opens a file.
-   Save Saves the current file.
-   Save all Saves all open files.
-   Close all Closes all open files.
-   Close Closes the current file.
-   Reload file Reloads the current file. All unsaved changes will
-   be lost.
-   Print Prints the current file.
-   Undo Undoes the last action.
-   Redo Redoes the last action.
-   Select all Makes a selection of all text in the current
-   document.
-   Preferences Opens preferences dialog.
-   Find Next Finds next result.
-   Find Previous Finds previous result.
-   Replace Opens the Replace dialog.
-   Find in files Opens the Find in files dialog.
-   Go to line Opens the Go to line dialog.
-   Show Colour Chooser Opens the Colour Chooser dialog.
-   Fullscreen Switches to fullscreen mode.
-   Toggle Messages Window Toggles the message window (status and
-   compiler messages) on and off.
-   Toggle Sidebar Shows or hides the sidebar.
-   Zoom In Zooms in the text
-   Zoom Out Zooms out the text
-   Replace tabs by space Replaces all tabs with the right amount
-   of spaces.
-   Fold all Folds all contractible code blocks.
-   Unfold all Unfolds all contracted code blocks.
-   Build options
-   Compile Compiles the current file.
-   Build Builds (compiles if necessary and links) the current
-   file.
-   Make all Builds the current file with the Make tool.
-   Make custom target Builds the current file with the Make tool
-   and a given target.
-   Make object Compiles the current file with the Make tool.
-   Run Executes the current file in a terminal emulation.
-   Run (alternative command) Executes the current file in a
-   terminal emulation.
-   Build options Opens the build options dialog.
-   Miscellaneous
-   Reload symbol list Reloads the tag/symbol list.
-   Switch to Editor Switches to editor widget.
-   Switch to Scribble Switches to scribble widget.
-   Switch to VTE Switches to VTE widget.
-   Switch to left document Switches to the previous open
-   document.
-   Switch to right document Switches to the next open document.
-   Editing operations
-   Duplicate line or selection Duplicates the current line or
-   selection.
-   Comment line Comments current line or selection.
-   Complete word Shows auto completion list.
-   Show calltip Shows call tips for the current function or
-   method.
-   Show macro list Shows a list of available macros and variables
-   in the workspace.
-   Suppress auto completion If you type something like if or for
-   and press this key, it will not be auto completed.
-   Find Usage Finds all occurrences of the current word (near the
-   keyboard cursor) and displays them in the messages window.
-   Go to tag definition Jump to the definition of the current
-   word (near the keyboard cursor). If the definition cannot be
-   found (e.g. the relevant file is not open) Geany will beep and
-   do nothing. Used for function definitions.
-   Go to tag declaration Jump to the declaration of the current
-   word (near the keyboard cursor). If the declaration cannot be
-   found (e.g. the relevant file is not open) Geany will beep and
-   do nothing. Used for function prototypes.
-     _________________________________________________________
+Table 3.3. Keybindings action table
 
-Chapter 4. Configuration files
+┌──────────────┬──────────────────────────────────────────────────────────────┐
+│    Action    │                         Description                          │
+├──────────────┴──────────────────────────────────────────────────────────────┤
+│ Menu items                                                                  │
+├──────────────┬──────────────────────────────────────────────────────────────┤
+│ New          │ Creates a new file.                                          │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Open         │ Opens a file.                                                │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Save         │ Saves the current file.                                      │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Save As      │ Saves the current file under a new name.                     │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Save all     │ Saves all open files.                                        │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Close all    │ Closes all open files.                                       │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Close        │ Closes the current file.                                     │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Reload file  │ Reloads the current file. All unsaved changes will be lost.  │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Print        │ Prints the current file.                                     │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Undo         │ Undoes the last action.                                      │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Redo         │ Redoes the last action.                                      │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Select all   │ Makes a selection of all text in the current document.       │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Insert date  │ Inserts a customisable date.                                 │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Preferences  │ Opens preferences dialog.                                    │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Find Next    │ Finds next result.                                           │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Find         │ Finds previous result.                                       │
+│ Previous     │                                                              │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Replace      │ Opens the Replace dialog.                                    │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Find in      │ Opens the Find in files dialog.                              │
+│ files        │                                                              │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Next message │ Jumps to the line with the next message from the last call   │
+│              │ to Find usage.                                               │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Go to line   │ Opens the Go to line dialog.                                 │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Show Colour  │ Opens the Colour Chooser dialog.                             │
+│ Chooser      │                                                              │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Fullscreen   │ Switches to fullscreen mode.                                 │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Toggle       │ Toggles the message window (status and compiler messages) on │
+│ Messages     │ and off.                                                     │
+│ Window       │                                                              │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Toggle       │ Shows or hides the sidebar.                                  │
+│ Sidebar      │                                                              │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Toggle all   │ Hide and show all additional widgets like the notebook tabs, │
+│ additional   │ the toolbar, the messages window and the statusbar.          │
+│ widgets      │                                                              │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Zoom In      │ Zooms in the text                                            │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Zoom Out     │ Zooms out the text                                           │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Replace tabs │ Replaces all tabs with the right amount of spaces.           │
+│ by space     │                                                              │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Fold all     │ Folds all contractible code blocks.                          │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Unfold all   │ Unfolds all contracted code blocks.                          │
+├──────────────┴──────────────────────────────────────────────────────────────┤
+│ Build options                                                               │
+├──────────────┬──────────────────────────────────────────────────────────────┤
+│ Compile      │ Compiles the current file.                                   │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Build        │ Builds (compiles if necessary and links) the current file.   │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Make all     │ Builds the current file with the Make tool.                  │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Make custom  │ Builds the current file with the Make tool and a given       │
+│ target       │ target.                                                      │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Make object  │ Compiles the current file with the Make tool.                │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Next error   │ Jumps to the line with the next error from the last build    │
+│              │ process.                                                     │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Run          │ Executes the current file in a terminal emulation.           │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Run          │                                                              │
+│ (alternative │ Executes the current file in a terminal emulation.           │
+│ command)     │                                                              │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Build        │ Opens the build options dialog.                              │
+│ options      │                                                              │
+├──────────────┴──────────────────────────────────────────────────────────────┤
+│ Miscellaneous                                                               │
+├──────────────┬──────────────────────────────────────────────────────────────┤
+│ Reload       │ Reloads the tag/symbol list.                                 │
+│ symbol list  │                                                              │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Switch to    │ Switches to editor widget.                                   │
+│ Editor       │                                                              │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Switch to    │ Switches to scribble widget.                                 │
+│ Scribble     │                                                              │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Switch to    │ Switches to VTE widget.                                      │
+│ VTE          │                                                              │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Switch to    │ Switches to the search bar in the toolbar (if visible).      │
+│ Search Bar   │                                                              │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Switch to    │                                                              │
+│ left         │ Switches to the previous open document.                      │
+│ document     │                                                              │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Switch to    │                                                              │
+│ right        │ Switches to the next open document.                          │
+│ document     │                                                              │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Switch to    │                                                              │
+│ last used    │ Switches to the previously selected open document.           │
+│ document     │                                                              │
+├──────────────┴──────────────────────────────────────────────────────────────┤
+│ Editing operations                                                          │
+├──────────────┬──────────────────────────────────────────────────────────────┤
+│ Convert      │                                                              │
+│ selection to │ Converts the current selection to lower case.                │
+│ lower case   │                                                              │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Convert      │                                                              │
+│ selection to │ Converts the current selection to upper case.                │
+│ upper case   │                                                              │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Duplicate    │                                                              │
+│ line or      │ Duplicates the current line or selection.                    │
+│ selection    │                                                              │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Comment line │ Comments current line or selection.                          │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Uncomment    │ Uncomments current line or selection.                        │
+│ line         │                                                              │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Toggle line  │ Comments a line if it is not commented or removes a comment  │
+│ commentation │ if the line is commented.                                    │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Increase     │ Indents the current line or selection by one tabulator.      │
+│ indent       │                                                              │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Decrease     │ Removes one tabulator from the indentation of the current    │
+│ indent       │ line or selection.                                           │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Goto         │ If the cursor is ahead or behind a brace, then it is moved   │
+│ matching     │ to the brace which belongs to the current one. If this       │
+│ brace        │ keyboard shortcut is pressed again, the cursor is moved back │
+│              │ to the first brace.                                          │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Toggle       │ Set a marker on the current line, or clear the marker if     │
+│ marker       │ there already is one.                                        │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Goto next    │ Goto the next marker in the current document.                │
+│ marker       │                                                              │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Goto         │                                                              │
+│ previous     │ Goto the previous marker in the current document.            │
+│ marker       │                                                              │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Complete     │ Shows auto completion list.                                  │
+│ word         │                                                              │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Show calltip │ Shows call tips for the current function or method.          │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Show macro   │ Shows a list of available macros and variables in the        │
+│ list         │ workspace.                                                   │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Complete     │ If you type a construct like if or for and press this key,   │
+│ construct    │ it will be completed with a matching template.               │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│              │ If you type a construct like if or for and press this key,   │
+│              │ it will not be completed, and a space or tab will be         │
+│ Suppress     │ inserted, depending on what the construct completion         │
+│ construct    │ keybinding is set to. For example, if you have set the       │
+│ completion   │ construct completion keybinding to space, then setting this  │
+│              │ to Shift+space will prevent construct completion and insert  │
+│              │ a space.                                                     │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Select       │ Selects the current word under the cursor.                   │
+│ current word │                                                              │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Insert       │ Inserts a tabulator character when spaces should be used for │
+│ alternative  │ indentation and inserts space characters of the amount of a  │
+│ whitespace   │ tabulator width when tabulators should be used for           │
+│              │ indentation.                                                 │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│              │ Finds all occurrences of the current word (near the keyboard │
+│ Find Usage   │ cursor) or selection and displays them in the messages       │

@@ 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