2005-11-22 12:26:26 +00:00
|
|
|
<?xml version='1.0' encoding='UTF-8'?>
|
|
|
|
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
|
|
|
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
|
|
|
|
<!ENTITY app "Geany">
|
|
|
|
<!ENTITY app_small "geany">
|
2006-06-02 16:36:49 +00:00
|
|
|
<!ENTITY appversion "0.7">
|
2005-11-22 12:26:26 +00:00
|
|
|
<!ENTITY appurl "http://geany.uvena.de">
|
|
|
|
<!ENTITY deburl "http://debian.uvena.de">
|
|
|
|
<!ENTITY author_mail "enrico.troeger@uvena.de">
|
2006-06-02 16:36:49 +00:00
|
|
|
<!ENTITY date "June 2, 2006">
|
2005-11-22 12:26:26 +00:00
|
|
|
<!ENTITY legal SYSTEM "geany_gpl.docbook">
|
|
|
|
]>
|
|
|
|
|
|
|
|
<book lang="en">
|
|
|
|
<bookinfo>
|
|
|
|
<author>
|
|
|
|
<firstname>Enrico</firstname>
|
|
|
|
<surname>Troeger</surname>
|
|
|
|
<address><email>&author_mail;</email></address>
|
|
|
|
</author>
|
2006-06-02 16:36:49 +00:00
|
|
|
<author>
|
|
|
|
<firstname>Nick</firstname>
|
|
|
|
<surname>Treleaven</surname>
|
|
|
|
<address><email>nick.treleaven@btinternet.com</email></address>
|
|
|
|
</author>
|
|
|
|
<author>
|
|
|
|
<firstname>Frank</firstname>
|
|
|
|
<surname>Lanitz</surname>
|
|
|
|
<address><email>frank@frank.uvena.de</email></address>
|
|
|
|
</author>
|
2005-11-22 12:26:26 +00:00
|
|
|
<copyright>
|
2006-06-02 16:36:49 +00:00
|
|
|
<year>2005-2006</year>
|
2005-11-22 12:26:26 +00:00
|
|
|
</copyright>
|
|
|
|
<legalnotice>
|
|
|
|
<para>
|
2006-06-02 21:29:22 +00:00
|
|
|
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.
|
2005-11-22 12:26:26 +00:00
|
|
|
A copy of this license can be found in the file COPYING included with the source code of this
|
|
|
|
program and in the appendix of this document.
|
|
|
|
</para>
|
|
|
|
</legalnotice>
|
|
|
|
<title>
|
|
|
|
&app; &appversion;
|
|
|
|
</title>
|
|
|
|
</bookinfo>
|
|
|
|
|
2006-04-27 17:53:06 +00:00
|
|
|
<chapter id="intro">
|
2005-11-22 12:26:26 +00:00
|
|
|
<title>
|
|
|
|
Introduction
|
|
|
|
</title>
|
|
|
|
<section>
|
2006-04-27 17:53:06 +00:00
|
|
|
<title>About Geany</title>
|
2005-11-22 12:26:26 +00:00
|
|
|
<para>
|
2006-06-02 21:29:22 +00:00
|
|
|
<application>&app;</application> is a small and lightweight Integrated Development Environment.
|
2005-11-22 12:26:26 +00:00
|
|
|
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
|
2006-06-03 14:20:59 +00:00
|
|
|
like KDE or GNOME, so <application>&app;</application> only requires the GTK2 toolkit
|
|
|
|
and therefore you only need the GTK2 runtime libraries installed to run it.
|
2005-11-22 12:26:26 +00:00
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
The basic features of <application>&app;</application> are:
|
|
|
|
<itemizedlist>
|
2006-06-02 21:29:22 +00:00
|
|
|
<listitem><para>Syntax highlighting</para></listitem>
|
|
|
|
<listitem><para>Code completion</para></listitem>
|
|
|
|
<listitem><para>Auto completion of often used constructs like if, for and while</para></listitem>
|
|
|
|
<listitem><para>Auto completion of XML and HTML tags</para></listitem>
|
|
|
|
<listitem><para>Call tips</para></listitem>
|
|
|
|
<listitem><para>Many supported filetypes like C, Java, PHP, HTML, Python, Perl, Pascal</para></listitem>
|
2006-06-03 14:20:59 +00:00
|
|
|
<listitem><para>Tag/Symbol lists</para></listitem>
|
2005-11-22 12:26:26 +00:00
|
|
|
</itemizedlist>
|
|
|
|
</para>
|
|
|
|
</section>
|
2006-04-27 17:53:06 +00:00
|
|
|
<section>
|
|
|
|
<title>About this document</title>
|
|
|
|
<para>
|
|
|
|
This documentation is available in various formats like HTML, text and PDF. The latest version is
|
|
|
|
always available at <ulink url="&appurl;">&appurl;</ulink>.
|
|
|
|
</para>
|
|
|
|
</section>
|
2005-11-22 12:26:26 +00:00
|
|
|
<section>
|
2006-06-02 21:29:22 +00:00
|
|
|
<title>Where to get it</title>
|
2005-11-22 12:26:26 +00:00
|
|
|
<para>
|
|
|
|
You can obtain <application>&app;</application> from <ulink url="&appurl;">&appurl;</ulink>
|
2006-06-02 21:29:22 +00:00
|
|
|
or perhaps from your distributor.
|
2005-11-22 12:26:26 +00:00
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
<section>
|
|
|
|
<title>License</title>
|
|
|
|
<para>
|
2006-06-02 21:29:22 +00:00
|
|
|
<application>&app;</application> 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.
|
2005-11-22 12:26:26 +00:00
|
|
|
A copy of this license can be found in the file COPYING included with the source code of this
|
|
|
|
program and in the appendix of this document.
|
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
</chapter>
|
|
|
|
|
2006-04-27 17:53:06 +00:00
|
|
|
<chapter id="installation">
|
2005-11-22 12:26:26 +00:00
|
|
|
<title>
|
|
|
|
Installation
|
|
|
|
</title>
|
|
|
|
<section>
|
|
|
|
<title>Requirements</title>
|
|
|
|
<para>
|
|
|
|
For compiling <application>&app;</application> 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 <ulink url="http://www.gtk.org">http://www.gtk.org</ulink>.
|
|
|
|
</para>
|
|
|
|
<para>
|
2006-06-03 14:20:59 +00:00
|
|
|
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.
|
2005-11-22 12:26:26 +00:00
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
<section>
|
|
|
|
<title>Source Compilation</title>
|
|
|
|
<para>
|
|
|
|
Compiling <application>&app;</application> is quite easy. The following should do it:
|
|
|
|
<screen>
|
|
|
|
<prompt>%</prompt> <userinput><command>./configure</command></userinput>
|
|
|
|
<prompt>%</prompt> <userinput><command>make</command></userinput>
|
|
|
|
<prompt>%</prompt> <userinput><command>make</command> install</userinput>
|
|
|
|
</screen>
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
The configure script supports several common options, for a detailed list, type
|
|
|
|
<screen>
|
|
|
|
<prompt>%</prompt> <userinput><command>./configure</command> --help</userinput>
|
|
|
|
</screen>
|
|
|
|
</para>
|
2005-12-21 19:42:55 +00:00
|
|
|
<para>
|
2006-06-03 14:20:59 +00:00
|
|
|
In the case that your system lacks dynamic linking loader support, you probably want
|
2005-12-21 19:42:55 +00:00
|
|
|
to pass the option --disable-vte to the configure script. This prevents compiling
|
|
|
|
&app; with dynamic linking loader support to automatically load
|
|
|
|
<filename>libvte.so.4</filename> if available.
|
|
|
|
</para>
|
|
|
|
<para>&app; 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
|
2006-06-03 14:20:59 +00:00
|
|
|
<trademark class="trade">Microsoft Windows</trademark>, but there are lots of changes
|
2005-12-21 19:42:55 +00:00
|
|
|
to the makefiles necessary.
|
|
|
|
</para>
|
2005-11-22 12:26:26 +00:00
|
|
|
<para>
|
|
|
|
If there are any errors during compilation, check your build environment and try to find the error,
|
|
|
|
otherwise contact the author at <email>&author_mail;</email>.
|
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
<section>
|
|
|
|
<title>Binary Packages</title>
|
|
|
|
<section>
|
|
|
|
<title>Fedora</title>
|
|
|
|
<para>
|
2006-04-27 17:53:06 +00:00
|
|
|
You can use the Fedora Core 4 repository from
|
|
|
|
<ulink url="http://naturidentisch.de/packages/fc4/">http://naturidentisch.de/packages/fc4/</ulink>.
|
2005-11-22 12:26:26 +00:00
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
<section>
|
|
|
|
<title>Debian</title>
|
|
|
|
<para>
|
2005-12-21 19:42:55 +00:00
|
|
|
Binary packages for Debian are available at <ulink url="&deburl;">&deburl;/</ulink>.
|
|
|
|
You can add one of the following lines(depending on your system) to your apt
|
2006-06-03 14:20:59 +00:00
|
|
|
<filename>sources.list</filename> to automatically get the latest version of
|
2005-11-22 12:26:26 +00:00
|
|
|
<application>&app;</application>:
|
|
|
|
</para>
|
|
|
|
<para>
|
2005-12-21 19:42:55 +00:00
|
|
|
<command>deb &deburl;/ ./stable/</command>
|
2005-11-22 12:26:26 +00:00
|
|
|
</para>
|
|
|
|
<para>
|
2005-12-21 19:42:55 +00:00
|
|
|
<command>deb &deburl;/ ./testing/</command>
|
2005-11-22 12:26:26 +00:00
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
<section>
|
2005-12-21 19:42:55 +00:00
|
|
|
<title>SuSE</title>
|
2005-11-22 12:26:26 +00:00
|
|
|
<para>
|
2006-06-03 14:20:59 +00:00
|
|
|
Packages for SuSE are not yet available.
|
2005-11-22 12:26:26 +00:00
|
|
|
</para>
|
|
|
|
</section>
|
2006-04-27 17:53:06 +00:00
|
|
|
<section>
|
|
|
|
<title>Gentoo</title>
|
|
|
|
<para>
|
|
|
|
An ebuild for Gentoo can be found on <ulink url="http://www.gentoo.de/">http://www.gentoo.de</ulink>.
|
|
|
|
</para>
|
|
|
|
</section>
|
2005-11-22 12:26:26 +00:00
|
|
|
</section>
|
|
|
|
</chapter>
|
|
|
|
|
2006-04-27 17:53:06 +00:00
|
|
|
<chapter id="usage">
|
2005-11-22 12:26:26 +00:00
|
|
|
<title>Usage</title>
|
|
|
|
<section>
|
|
|
|
<title>Getting Started</title>
|
|
|
|
<para>
|
|
|
|
You can start <application>&app;</application> in the following ways:
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
From the Desktop Environment menu
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
Choose in your application menu of your used Desktop Environment:
|
|
|
|
<menuchoice>
|
|
|
|
<guisubmenu>Development</guisubmenu>
|
|
|
|
<guimenuitem>&app;</guimenuitem>
|
|
|
|
</menuchoice>.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
From the command line
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
To start <application>&app;</application> from a command line, type the following
|
|
|
|
and press <keycap>Return</keycap>:
|
|
|
|
<screen>
|
|
|
|
<prompt>%</prompt> <userinput><command>&app_small;</command></userinput>
|
|
|
|
</screen>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
<section id="clo">
|
2006-06-03 14:20:59 +00:00
|
|
|
<title>Command line options</title>
|
2005-11-22 12:26:26 +00:00
|
|
|
<para>
|
|
|
|
<table frame="all">
|
2006-06-03 14:20:59 +00:00
|
|
|
<title>Command line Options</title>
|
2005-11-22 12:26:26 +00:00
|
|
|
<tgroup cols="3">
|
|
|
|
<?dbhtml cellpadding="4" ?>
|
|
|
|
<?dbhtml cellspacing="0" ?>
|
|
|
|
<colspec colnum="1" colname="col1"/>
|
|
|
|
<colspec colnum="2" colname="col2"/>
|
|
|
|
<colspec colnum="3" colname="col3"/>
|
|
|
|
<thead>
|
|
|
|
<row>
|
|
|
|
<entry>Short option</entry>
|
|
|
|
<entry>Long option</entry>
|
|
|
|
<entry>Function</entry>
|
|
|
|
|
|
|
|
</row>
|
|
|
|
</thead>
|
|
|
|
<tbody>
|
|
|
|
<row>
|
|
|
|
<entry>-n</entry>
|
|
|
|
<entry>--no-ctags</entry>
|
2005-12-21 19:42:55 +00:00
|
|
|
<entry>Do not load auto completion and call tip data.
|
2006-06-03 14:20:59 +00:00
|
|
|
Use this option if you do not want to use them. For more
|
2006-04-27 17:53:06 +00:00
|
|
|
information see <xref linkend="general_ctags"/>.
|
|
|
|
</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>-m</entry>
|
|
|
|
<entry>--no-msgwin</entry>
|
|
|
|
<entry>Do not show the message window. Use this option if you do not
|
|
|
|
need compiler messages or VTE support.
|
|
|
|
</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>-p</entry>
|
|
|
|
<entry>--no-pipe</entry>
|
|
|
|
<entry>Do not open files in a running instance, force opening a new instance.
|
2005-12-21 19:42:55 +00:00
|
|
|
</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>-t</entry>
|
|
|
|
<entry>--no-terminal</entry>
|
2006-06-03 14:20:59 +00:00
|
|
|
<entry>Do not load terminal support. Use this option if you do not
|
2005-12-21 19:42:55 +00:00
|
|
|
want to load the virtual terminal emulator widget at startup.
|
|
|
|
If you do not have <filename>libvte.so.4</filename> installed,
|
|
|
|
then terminal-support is automatically disabled.
|
|
|
|
</entry>
|
2005-11-22 12:26:26 +00:00
|
|
|
</row>
|
2006-01-27 19:11:30 +00:00
|
|
|
<row>
|
|
|
|
<entry>-l</entry>
|
|
|
|
<entry>--vte-lib</entry>
|
|
|
|
<entry>Specify explicitly the path including filename or only the filename
|
|
|
|
to the VTE library, e.g. <filename>/usr/lib/libvte.so</filename> or
|
2006-06-03 14:20:59 +00:00
|
|
|
<filename>libvte.so</filename>. This option is only needed when the
|
2006-01-27 19:11:30 +00:00
|
|
|
autodetection does not work.
|
|
|
|
</entry>
|
|
|
|
</row>
|
2005-11-22 12:26:26 +00:00
|
|
|
<row>
|
|
|
|
<entry>-c directory_name</entry>
|
|
|
|
<entry>--config=directory_name</entry>
|
|
|
|
<entry>Use an alternate configuration directory. Default
|
2005-12-21 19:42:55 +00:00
|
|
|
configuration directory is <filename>~/.&app_small;/</filename>
|
2006-06-03 14:20:59 +00:00
|
|
|
and there resides <filename>&app_small;.conf</filename> and
|
|
|
|
other configuration files.
|
2005-12-21 19:42:55 +00:00
|
|
|
</entry>
|
2005-11-22 12:26:26 +00:00
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>-d</entry>
|
|
|
|
<entry>--debug</entry>
|
2006-06-03 14:20:59 +00:00
|
|
|
<entry>Run &app; in debug mode, which means being verbose
|
2005-12-21 19:42:55 +00:00
|
|
|
and printing lots of information.
|
|
|
|
</entry>
|
2005-11-22 12:26:26 +00:00
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>-?</entry>
|
|
|
|
<entry>--help</entry>
|
|
|
|
<entry>Show help information and exit.</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>-v</entry>
|
|
|
|
<entry>--version</entry>
|
|
|
|
<entry>Show version information and exit.</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry></entry>
|
|
|
|
<entry>[files ...]</entry>
|
2006-06-03 14:20:59 +00:00
|
|
|
<entry>Open all given files at startup. This option causes &app; to
|
2005-12-21 19:42:55 +00:00
|
|
|
ignore loading stored files from the last session (if enabled).
|
|
|
|
</entry>
|
2005-11-22 12:26:26 +00:00
|
|
|
</row>
|
|
|
|
</tbody>
|
|
|
|
</tgroup>
|
|
|
|
</table>
|
|
|
|
&app; supports all generic GTK options, a list is available on the help screen.
|
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
<section id="general">
|
|
|
|
<title>General</title>
|
2006-04-27 17:53:06 +00:00
|
|
|
<section id="general_startup">
|
2005-12-21 19:42:55 +00:00
|
|
|
<title>Startup</title>
|
|
|
|
<para>
|
2006-06-03 14:20:59 +00:00
|
|
|
At startup, &app; loads the first 15 files from the last time
|
2005-12-21 19:42:55 +00:00
|
|
|
<application>&app;</application> was launched. You can disable this feature in the
|
|
|
|
preferences dialog(see <xref linkend="confdialog_gen"/>). If you specify some files on
|
2006-06-03 14:20:59 +00:00
|
|
|
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 &app; loads not exactly 15 session files, this depends
|
|
|
|
on the compile time option GEANY_SESSION_FILES; the default is 15. For details see
|
2005-12-21 19:42:55 +00:00
|
|
|
<xref linkend="cto"/>.
|
|
|
|
</para>
|
|
|
|
</section>
|
2006-04-27 17:53:06 +00:00
|
|
|
<section id="general_fifo">
|
|
|
|
<title>Detection of a running instance</title>
|
|
|
|
<para>
|
2006-06-03 14:20:59 +00:00
|
|
|
&app; detects an already running instance of itself and opens new files in the already running one.
|
2006-04-27 17:53:06 +00:00
|
|
|
So, you can use &app; like an editor to view and edit files by opening them from other
|
2006-06-03 14:20:59 +00:00
|
|
|
programs. If you do not like this for some reason, you can disable it with the appropriate
|
|
|
|
command line option.
|
2006-04-27 17:53:06 +00:00
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
In the case that &app; crashed, you will get a message dialog at the next start,
|
|
|
|
which asks you whether to delete an existing named pipe. If you are sure that there is
|
2006-06-03 14:20:59 +00:00
|
|
|
no other instance of &app; is running, you can say Yes and &app; will start as usual.
|
2006-04-27 17:53:06 +00:00
|
|
|
Otherwise click No and Geany will not start.
|
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
<section id="general_ctags">
|
2005-12-21 19:42:55 +00:00
|
|
|
<title>Global C tags</title>
|
|
|
|
<para>
|
2006-06-03 14:20:59 +00:00
|
|
|
If a C file (with extension .c, .cpp, .h, etc.) is opened, a global tags file is
|
|
|
|
loaded once, which contains many function declarations from glibc and some other
|
2005-12-21 19:42:55 +00:00
|
|
|
libraries, like X, Bonobo, Gnome, GTK, Glib and so on. These declarations are used
|
|
|
|
for call tips and auto completion. These tags are only useful if you are writing
|
2006-06-03 14:20:59 +00:00
|
|
|
C or C++ source code, so if you know that you do not need these things, you can skip
|
2005-12-21 19:42:55 +00:00
|
|
|
loading this tag file. To do so, start <application>&app;</application> with the
|
|
|
|
argument "-n" or "--no-ctags", for more information see <xref linkend="clo"/>.
|
|
|
|
</para>
|
|
|
|
</section>
|
2006-04-27 17:53:06 +00:00
|
|
|
<section id="general_vte">
|
2005-12-21 19:42:55 +00:00
|
|
|
<title>Virtual terminal emulator widget (VTE)</title>
|
|
|
|
<para>
|
|
|
|
If you have installed <filename>libvte.so</filename> in your system, it is loaded
|
2006-06-03 14:20:59 +00:00
|
|
|
automatically by <application>&app;</application>, and you will have a terminal widget
|
2005-12-21 19:42:55 +00:00
|
|
|
in the notebook at the bottom.
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
If <application>&app;</application> cannot find <filename>libvte.so</filename> 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 <application>&app;</application>.
|
2006-06-03 14:20:59 +00:00
|
|
|
Additionally, you can disable the use of the terminal widget by command line option,
|
2005-12-21 19:42:55 +00:00
|
|
|
for more information see <xref linkend="clo"/>.
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
You can use this terminal (from now on called VTE) nearly as an usual terminal program
|
2006-06-03 14:20:59 +00:00
|
|
|
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.
|
2005-12-21 19:42:55 +00:00
|
|
|
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.
|
2006-06-03 14:20:59 +00:00
|
|
|
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).
|
2005-12-21 19:42:55 +00:00
|
|
|
</para>
|
|
|
|
<note>
|
|
|
|
<para>&app; tries to load <filename>libvte.so</filename>. If this fails, it tries to
|
|
|
|
load <filename>libvte.so.4</filename>. If this fails too, you should check whether
|
2006-06-03 14:20:59 +00:00
|
|
|
you installed libvte correctly. Again, &app; also runs without this library.
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
It could be, that the library is called something else than
|
2005-12-21 19:42:55 +00:00
|
|
|
<filename>libvte.so.4</filename> (e.g. on FreeBSD 6.0 it is called
|
|
|
|
<filename>libvte.so.8</filename>). So please set a link to the correct file (as root).
|
|
|
|
<screen><prompt>#</prompt> <userinput><command>ln -s /usr/lib/libvte.so.X /usr/lib/libvte.so.4</command></userinput></screen>
|
|
|
|
Obviously, you have to adjust the paths and set X to the number of your
|
|
|
|
<filename>libvte.so</filename>.
|
|
|
|
</para>
|
|
|
|
</note>
|
|
|
|
</section>
|
|
|
|
</section>
|
|
|
|
<!--
|
|
|
|
<section>
|
|
|
|
<title>Editing</title>
|
2005-11-22 12:26:26 +00:00
|
|
|
<para>
|
2005-12-21 19:42:55 +00:00
|
|
|
&app; has a light improvement using the HOME and END keys. If you press END the cursor
|
|
|
|
is positioned at the end of the line, as expected. If you then press the END key again,
|
|
|
|
the cursor gets back to the position where it was before. By pressing the HOME key,
|
|
|
|
you get a similar behaviour. The first time you press the HOME key, the cursor jumps
|
|
|
|
to the first non-blank character in the line. If you press it again, the cursor gets
|
|
|
|
to the very first column in the line. And at the third time your press the key, it
|
|
|
|
jumps back to the position where you started.
|
2005-11-22 12:26:26 +00:00
|
|
|
</para>
|
|
|
|
</section>
|
2005-12-21 19:42:55 +00:00
|
|
|
-->
|
2005-11-22 12:26:26 +00:00
|
|
|
<section>
|
|
|
|
<title>Search and Replace</title>
|
|
|
|
<para>
|
2006-06-03 14:20:59 +00:00
|
|
|
You can use regular expressions in the search dialog, just by activating the check box (see
|
2005-11-22 12:26:26 +00:00
|
|
|
the image below). Detailed information about special characters can be found in the
|
|
|
|
<xref linkend="regexp"/>.
|
|
|
|
<figure>
|
|
|
|
<title>Search dialog</title>
|
|
|
|
<graphic fileref="images/find_dialog.jpg"></graphic>
|
|
|
|
</figure>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
<table frame="all" id="regexp">
|
|
|
|
<title>Regular expressions</title>
|
|
|
|
<tgroup cols="2">
|
|
|
|
<?dbhtml cellpadding="4" ?>
|
|
|
|
<?dbhtml cellspacing="0" ?>
|
|
|
|
<colspec colnum="1" colname="col1"/>
|
|
|
|
<colspec colnum="2" colname="col2"/>
|
|
|
|
<spanspec spanname="hspan" namest="col1" nameend="col2" align="left"/>
|
|
|
|
<thead>
|
|
|
|
<row>
|
|
|
|
<entry spanname="hspan">
|
|
|
|
In a regular expression, the following characters are interpreted:
|
|
|
|
</entry>
|
|
|
|
</row>
|
|
|
|
</thead>
|
|
|
|
<tbody>
|
|
|
|
<row>
|
|
|
|
<entry>.</entry>
|
|
|
|
<entry>Matches any character.</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>\(</entry>
|
|
|
|
<entry>This marks the start of a region for tagging a match.</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>\)</entry>
|
|
|
|
<entry>This marks the end of a tagged region.</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>\n</entry>
|
|
|
|
<entry>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.
|
|
|
|
</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>\<</entry>
|
|
|
|
<entry>This matches the start of a word.</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>\></entry>
|
|
|
|
<entry>This matches the end of a word.</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>\x</entry>
|
|
|
|
<entry>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.
|
|
|
|
</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>[...]</entry>
|
|
|
|
<entry>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.
|
|
|
|
</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>[^...]</entry>
|
|
|
|
<entry>The complement of the characters in the set. For example, [^A-Za-z] means
|
|
|
|
any character except an alphabetic character.
|
|
|
|
</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>$</entry>
|
|
|
|
<entry>This matches the end of a line.</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>*</entry>
|
|
|
|
<entry>This matches 0 or more times. For example, Sa*m matches Sm, Sam, Saam, Saaam and so on.</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>+</entry>
|
|
|
|
<entry>This matches 1 or more times. For example, Sa+m matches Sam, Saam, Saaam and so on.</entry>
|
|
|
|
</row>
|
|
|
|
</tbody>
|
|
|
|
</tgroup>
|
|
|
|
</table>
|
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
<section id="confdialog">
|
|
|
|
<title>Preferences</title>
|
|
|
|
<para>
|
|
|
|
should be written
|
|
|
|
<!-- I know that <mediaobject> is better than <graphic> but <mediaobject> does not work with PDF -->
|
|
|
|
<figure id="confdialog_gen">
|
|
|
|
<title>General tab in preferences dialog</title>
|
|
|
|
<graphic fileref="images/pref_dialog_gen.jpg"></graphic>
|
|
|
|
</figure>
|
|
|
|
<figure>
|
|
|
|
<title>Editor tab in preferences dialog</title>
|
|
|
|
<graphic fileref="images/pref_dialog_edit.jpg"></graphic>
|
|
|
|
</figure>
|
|
|
|
<figure>
|
|
|
|
<title>Tools tab in preferences dialog</title>
|
|
|
|
<graphic fileref="images/pref_dialog_tools.jpg"></graphic>
|
|
|
|
</figure>
|
|
|
|
<figure id="confdialog_templ">
|
|
|
|
<title>Template tab in preferences dialog</title>
|
|
|
|
<graphic fileref="images/pref_dialog_templ.jpg"></graphic>
|
|
|
|
</figure>
|
2006-06-02 16:36:49 +00:00
|
|
|
<figure id="confdialog_keys">
|
|
|
|
<title>Keybinding tab in preferences dialog</title>
|
|
|
|
<graphic fileref="images/pref_dialog_keys.jpg"></graphic>
|
|
|
|
</figure>
|
|
|
|
<note>
|
|
|
|
<para>For more information see <xref linkend="keybindings"/>.</para>
|
|
|
|
</note>
|
2005-12-21 19:42:55 +00:00
|
|
|
<figure id="confdialog_vte">
|
|
|
|
<title>VTE tab in preferences dialog</title>
|
|
|
|
<graphic fileref="images/pref_dialog_vte.jpg"></graphic>
|
|
|
|
</figure>
|
2005-11-22 12:26:26 +00:00
|
|
|
</para>
|
2005-12-21 19:42:55 +00:00
|
|
|
<section id="cto">
|
|
|
|
<title>Compile time options</title>
|
|
|
|
<para>
|
2006-06-03 14:20:59 +00:00
|
|
|
There are some options which can only be changed at compile time. To change these
|
|
|
|
options, edit the file <filename>src/geany.h</filename>.
|
|
|
|
Look for a block of lines starting with <quote>#define GEANY_*</quote>.
|
|
|
|
Any definitions which are not listed here should not be changed.
|
2005-12-21 19:42:55 +00:00
|
|
|
<table frame="all">
|
|
|
|
<title>Compile time options</title>
|
|
|
|
<tgroup cols="3">
|
|
|
|
<?dbhtml cellpadding="4" ?>
|
|
|
|
<?dbhtml cellspacing="0" ?>
|
|
|
|
<colspec colnum="1" colname="col1"/>
|
|
|
|
<colspec colnum="2" colname="col2"/>
|
|
|
|
<colspec colnum="3" colname="col3"/>
|
|
|
|
<thead>
|
|
|
|
<row>
|
|
|
|
<entry>Option</entry>
|
|
|
|
<entry>Description</entry>
|
|
|
|
<entry>Default</entry>
|
|
|
|
</row>
|
|
|
|
</thead>
|
|
|
|
<tbody>
|
|
|
|
<row>
|
|
|
|
<entry>GEANY_MAX_OPEN_FILES</entry>
|
2006-06-03 14:20:59 +00:00
|
|
|
<entry>The limit to how many files can be open at the same time.</entry>
|
2005-12-21 19:42:55 +00:00
|
|
|
<entry>25</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>GEANY_SESSION_FILES</entry>
|
|
|
|
<entry>How many files should be reopened from the last run. Obviously,
|
|
|
|
the value should be smaller than GEANY_MAX_OPEN_FILES.</entry>
|
|
|
|
<entry>15</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>GEANY_WORDCHARS</entry>
|
2006-06-03 14:20:59 +00:00
|
|
|
<entry>These characters define word boundaries.</entry>
|
2005-12-21 19:42:55 +00:00
|
|
|
<entry>(look at sourcecode)</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>GEANY_MAX_AUTOCOMPLETE_WORDS</entry>
|
2006-06-03 14:20:59 +00:00
|
|
|
<entry>How many auto completion suggestions should &app; provide.</entry>
|
2005-12-21 19:42:55 +00:00
|
|
|
<entry>30</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>GEANY_STRING_UNTITLED</entry>
|
2006-06-03 14:20:59 +00:00
|
|
|
<entry>A string used as the default name for new files. Be aware
|
|
|
|
that the string can be translated,
|
2005-12-21 19:42:55 +00:00
|
|
|
so change it only if you know what you are doing.</entry>
|
|
|
|
<entry>untitled</entry>
|
|
|
|
</row>
|
2006-04-27 17:53:06 +00:00
|
|
|
<row>
|
|
|
|
<entry>GEANY_CHECK_FILE_DELAY</entry>
|
2006-06-03 14:20:59 +00:00
|
|
|
<entry>Time in seconds between checking a file for external
|
|
|
|
changes.</entry>
|
2006-04-27 17:53:06 +00:00
|
|
|
<entry>30</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>GEANY_WINDOW_MINIMAL_WIDTH</entry>
|
|
|
|
<entry>The minimal width of the main window.</entry>
|
|
|
|
<entry>620</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>GEANY_WINDOW_MINIMAL_HEIGHT</entry>
|
|
|
|
<entry>The minimal height of the main window.</entry>
|
|
|
|
<entry>440</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>GEANY_WINDOW_DEFAULT_WIDTH</entry>
|
|
|
|
<entry>The default width of the main window at the first start.</entry>
|
|
|
|
<entry>900</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>GEANY_WINDOW_DEFAULT_HEIGHT</entry>
|
|
|
|
<entry>The default height of the main window at the first start.</entry>
|
|
|
|
<entry>600</entry>
|
|
|
|
</row>
|
2005-12-21 19:42:55 +00:00
|
|
|
</tbody>
|
|
|
|
</tgroup>
|
|
|
|
</table>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
</section>
|
2005-11-22 12:26:26 +00:00
|
|
|
</section>
|
2006-06-02 16:36:49 +00:00
|
|
|
<section id="keybindings">
|
|
|
|
<title>Keybindings</title>
|
|
|
|
<para>
|
2006-06-03 14:20:59 +00:00
|
|
|
For all listed actions you can define your own keybindings. Open the preferences
|
|
|
|
dialog, select the desired action and click on change. In the opening dialog you can
|
2006-06-02 16:36:49 +00:00
|
|
|
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.
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
Some of the default key combinations cannot be changed, e.g. menu_new or menu_open.
|
2006-06-03 14:20:59 +00:00
|
|
|
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
|
|
|
|
<keycombo><keycap>Ctrl</keycap><keycap>O</keycap></keycombo> is set, but you can
|
|
|
|
also define <keycombo><keycap>Alt</keycap><keycap>O</keycap></keycombo>, so that the
|
|
|
|
file open dialog is shown by pressing either
|
2006-06-02 16:36:49 +00:00
|
|
|
<keycombo><keycap>Ctrl</keycap><keycap>O</keycap></keycombo> or
|
|
|
|
<keycombo><keycap>Alt</keycap><keycap>O</keycap></keycombo>.
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
The following table lists all available actions for keyboard shortcuts.
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
<table frame="all">
|
|
|
|
<title>Keybindings action table</title>
|
|
|
|
<tgroup cols="2">
|
|
|
|
<?dbhtml cellpadding="4" ?>
|
|
|
|
<?dbhtml cellspacing="0" ?>
|
|
|
|
<colspec colnum="1" colname="col1"/>
|
|
|
|
<colspec colnum="2" colname="col2"/>
|
|
|
|
<spanspec spanname="hspan" namest="col1" nameend="col2" align="center"/>
|
|
|
|
<thead>
|
|
|
|
<row>
|
|
|
|
<entry>Action</entry>
|
|
|
|
<entry>Description</entry>
|
|
|
|
</row>
|
|
|
|
</thead>
|
|
|
|
<tbody>
|
|
|
|
<row>
|
|
|
|
<entry align="left" spanname="hspan">Menu items</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>menu_new</entry>
|
|
|
|
<entry>Creates a new file.</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>menu_open</entry>
|
|
|
|
<entry>Opens a file.</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>menu_save</entry>
|
|
|
|
<entry>Saves the current file.</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>menu_saveall</entry>
|
|
|
|
<entry>Saves all open files.</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>menu_closeall</entry>
|
|
|
|
<entry>Closes all open files.</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>menu_reloadfile</entry>
|
|
|
|
<entry>Reloads the current file. All unsaved changes will be lost.</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>menu_undo</entry>
|
2006-06-03 14:20:59 +00:00
|
|
|
<entry>Undoes the last action.</entry>
|
2006-06-02 16:36:49 +00:00
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>menu_redo</entry>
|
2006-06-03 14:20:59 +00:00
|
|
|
<entry>Redoes the last action.</entry>
|
2006-06-02 16:36:49 +00:00
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>menu_preferences</entry>
|
|
|
|
<entry>Opens preferences dialog.</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>menu_findnext</entry>
|
|
|
|
<entry>Finds next result.</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>menu_findprevious</entry>
|
|
|
|
<entry>Finds previous result.</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>menu_replace</entry>
|
|
|
|
<entry>Opens the replace dialog.</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>menu_gotoline</entry>
|
|
|
|
<entry>Opens the Go To Line dialog.</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>menu_opencolorchooser</entry>
|
|
|
|
<entry>Opens the colour chooser dialog.</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>menu_fullscreen</entry>
|
|
|
|
<entry>Switches to fullscreen mode.</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>menu_messagewindow</entry>
|
2006-06-03 14:20:59 +00:00
|
|
|
<entry>Toggles the message window (status and compiler messages) on and off.</entry>
|
2006-06-02 16:36:49 +00:00
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>menu_zoomin</entry>
|
|
|
|
<entry>Zooms in the text</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>menu_zoomout</entry>
|
|
|
|
<entry>Zooms out the text</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>menu_replacetabs</entry>
|
2006-06-03 14:20:59 +00:00
|
|
|
<entry>Replaces all tabs with the right amount of spaces.</entry>
|
2006-06-02 16:36:49 +00:00
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>menu_foldall</entry>
|
|
|
|
<entry>Folds all contractible code blocks.</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>menu_unfoldall</entry>
|
|
|
|
<entry>Unfolds all contracted code blocks.</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry align="left" spanname="hspan">Build options</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>build_compile</entry>
|
|
|
|
<entry>Compiles the current file.</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>build_link</entry>
|
2006-06-03 14:20:59 +00:00
|
|
|
<entry>Builds (compiles if necessary and links) the current file.</entry>
|
2006-06-02 16:36:49 +00:00
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>build_make</entry>
|
2006-06-03 14:20:59 +00:00
|
|
|
<entry>Builds the current file with the Make tool.</entry>
|
2006-06-02 16:36:49 +00:00
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>build_makeowntarget</entry>
|
2006-06-03 14:20:59 +00:00
|
|
|
<entry>Builds the current file with the Make tool and a given target.</entry>
|
2006-06-02 16:36:49 +00:00
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>build_run</entry>
|
|
|
|
<entry>Executes the current file in a terminal emulation.</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>build_run2</entry>
|
|
|
|
<entry>Executes the current file in a terminal emulation.</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>build_options</entry>
|
|
|
|
<entry>Opens the build options dialog.</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry align="left" spanname="hspan">Miscellaneous</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>reloadtaglist</entry>
|
|
|
|
<entry>Reloads the tag/symbol list.</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>switch_editor</entry>
|
|
|
|
<entry>Switches to editor widget.</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>switch_scribble</entry>
|
|
|
|
<entry>Switches to scribble widget.</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>switch_vte</entry>
|
|
|
|
<entry>Switches to VTE widget.</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>switch_tableft</entry>
|
|
|
|
<entry>Switches to the previous open document.</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>switch_tabright</entry>
|
|
|
|
<entry>Switches to the next open document.</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>toggle_sidebar</entry>
|
|
|
|
<entry>Shows or hides the sidebar.</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry align="left" spanname="hspan">Editing operations</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>edit_duplicateline</entry>
|
|
|
|
<entry>Duplicates the current line.</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>edit_commentline</entry>
|
|
|
|
<entry>Comments current line or selection.</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>edit_autocomplete</entry>
|
|
|
|
<entry>Shows auto completion list.</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>edit_calltip</entry>
|
|
|
|
<entry>Shows call tips for the current function or method.</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>edit_macrolist</entry>
|
2006-06-03 14:20:59 +00:00
|
|
|
<entry>Shows a list of available macros and
|
|
|
|
variables in the workspace.
|
2006-06-02 16:36:49 +00:00
|
|
|
</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>edit_suppresscompletion</entry>
|
|
|
|
<entry>If you type something like if or for and press this key, it
|
|
|
|
will not be auto completed.
|
|
|
|
</entry>
|
|
|
|
</row>
|
|
|
|
</tbody>
|
|
|
|
</tgroup>
|
|
|
|
</table>
|
|
|
|
</para>
|
|
|
|
</section>
|
2006-06-03 17:14:09 +00:00
|
|
|
<section id="filetypes">
|
|
|
|
<title>Filetype definition files</title>
|
2005-11-22 12:26:26 +00:00
|
|
|
<para>
|
2006-06-03 17:14:09 +00:00
|
|
|
All colour definitions and other filetype specific settings are stored in the
|
|
|
|
filetype definition files. Those settings are colours for syntax highlighting,
|
|
|
|
general settings like comment characters or word delimiter characters as well as
|
|
|
|
compiler and linker settings.
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
The files can be found in <filename>$prefix/share/geany</filename> and are called
|
|
|
|
<filename>filetypes.$ext</filename>. Where $prefix is the path where
|
|
|
|
<application>&app;</application> is installed, commonly
|
|
|
|
<filename>/usr/local</filename>filename>, and $ext is the name of the filetype.
|
|
|
|
There is for every filetype a corresponding defintion file. There is one exception:
|
|
|
|
<filename>filetypes.common</filename> - in this file are general settings, which
|
|
|
|
are specific to a certain filetype. It is not recommend to edit this files, because
|
|
|
|
while updating Geany the will be overridden.
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
To change the settings, copy a file from <filename>$prefix/share/geany</filename>
|
|
|
|
to the subdirectory <filename>filedefs</filename> in your configuration directory
|
|
|
|
(usually <filename>~/.geany/</filename>).
|
2005-11-22 12:26:26 +00:00
|
|
|
</para>
|
2006-06-03 17:14:09 +00:00
|
|
|
<para>
|
|
|
|
For example:
|
|
|
|
<screen><prompt>%</prompt> <userinput><command>cp /usr/local/share/geany/filetypes.c /home/username/.geany/filedefs/</command></userinput></screen>
|
|
|
|
Then you can edit the file and the changes are also available after an update of
|
|
|
|
<application>&app;</application> because they reside in your configuration
|
|
|
|
directory. Alternatively, you can create a file
|
|
|
|
<filename>~/.geany/filedefs/filetypes.X</filename> and add only these settings you
|
|
|
|
want to change. All missing settings will be read from the corresponding global
|
|
|
|
defintion file in <filename>$prefix/share/geany</filename>.
|
|
|
|
</para>
|
|
|
|
<section id="filetypes_format">
|
|
|
|
<title>Format</title>
|
|
|
|
<section>
|
|
|
|
<title>Section [styling]</title>
|
|
|
|
<para>
|
|
|
|
In this section the colours for syntax highlighting are defined.
|
|
|
|
The format is always:
|
|
|
|
<constant>key=forground_colour;background_colour;bold;italic</constant>
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
Colours have to be specified as RGB hex values introduced by 0x. For
|
|
|
|
example red is 0xff0000, blue is 0x0000ff. The values are case-insensitive,
|
|
|
|
but it is a good idea to use small letters. Bold and italic are flags and
|
|
|
|
should only be "true" or "false". If their value is something other than
|
|
|
|
"true" or "false", "false" is assumed.
|
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
<section>
|
|
|
|
<title>Section [keywords]</title>
|
|
|
|
<para>
|
|
|
|
This section contains keys for different keyword lists specific to the
|
|
|
|
filetype. Some filetypes do not support keywords, so adding a new key will
|
|
|
|
not work. You only could add or remove keywords to/from the list.
|
|
|
|
<important><para>The keywords list must be in one line without line ending
|
|
|
|
characters.</para></important>
|
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
<section>
|
|
|
|
<title>Section [settings]</title>
|
|
|
|
<para>
|
|
|
|
<table frame="all">
|
|
|
|
<title>General settings</title>
|
|
|
|
<tgroup cols="3">
|
|
|
|
<?dbhtml cellpadding="4" ?>
|
|
|
|
<?dbhtml cellspacing="0" ?>
|
|
|
|
<thead>
|
|
|
|
<row>
|
|
|
|
<entry>Key</entry>
|
|
|
|
<entry>Description</entry>
|
|
|
|
<entry>Example</entry>
|
|
|
|
</row>
|
|
|
|
</thead>
|
|
|
|
<tbody>
|
|
|
|
<row>
|
|
|
|
<entry>wordchars</entry>
|
|
|
|
<entry>Word delimiting characters. These characters define
|
|
|
|
word boundaries.
|
|
|
|
</entry>
|
|
|
|
<entry>(look at sourcecode)</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>comment_open</entry>
|
|
|
|
<entry>A character or string which is used to comment code.
|
|
|
|
If you want to use multiline comments, set also
|
|
|
|
comment_close, otherwise leave it empty.
|
|
|
|
</entry>
|
|
|
|
<entry>comment_open=/*</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>comment_close</entry>
|
|
|
|
<entry>If multiline comments are used, this is the character
|
|
|
|
or string to close the comment.
|
|
|
|
</entry>
|
|
|
|
<entry>comment_close=*/</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>comment_use_indent</entry>
|
|
|
|
<entry>Set this to false if a comment character or string
|
|
|
|
should start at column 0 of a line. If set to true
|
|
|
|
it uses any indention of the line.
|
|
|
|
<para><example><title>Comment indention</title>
|
|
|
|
<para>
|
|
|
|
comment_use_indent=true would generate this if a line
|
|
|
|
if commented(e.g. with
|
|
|
|
<keycombo><keycap>Ctrl</keycap><keycap>D</keycap></keycombo>)
|
|
|
|
<programlisting> #command_example();</programlisting>
|
|
|
|
comment_use_indent=false would generate this if a line
|
|
|
|
if commented(e.g. with
|
|
|
|
<keycombo><keycap>Ctrl</keycap><keycap>D</keycap></keycombo>)
|
|
|
|
<programlisting>#command_example();</programlisting>
|
|
|
|
</para></example></para>
|
|
|
|
<note><para>
|
|
|
|
This setting works only for single line comments.
|
|
|
|
</para></note>
|
|
|
|
</entry>
|
|
|
|
<entry>comment_use_indent=true</entry>
|
|
|
|
</row>
|
|
|
|
</tbody>
|
|
|
|
</tgroup>
|
|
|
|
</table>
|
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
<section>
|
|
|
|
<title>Section [build_settings]</title>
|
|
|
|
<para>
|
|
|
|
<table frame="all">
|
|
|
|
<title>Build settings</title>
|
|
|
|
<tgroup cols="3">
|
|
|
|
<?dbhtml cellpadding="4" ?>
|
|
|
|
<?dbhtml cellspacing="0" ?>
|
|
|
|
<thead>
|
|
|
|
<row>
|
|
|
|
<entry>Key</entry>
|
|
|
|
<entry>Description</entry>
|
|
|
|
<entry>Example</entry>
|
|
|
|
</row>
|
|
|
|
</thead>
|
|
|
|
<tbody>
|
|
|
|
<row>
|
|
|
|
<entry>compiler</entry>
|
|
|
|
<entry>
|
|
|
|
This item specifies the command to compile source code
|
|
|
|
files. But it is also possible to use it with
|
|
|
|
interpreted languages like Perl or Python. With these
|
|
|
|
filetypes you can use this option as a kind of syntax
|
|
|
|
parser, which does his output in the compiler message
|
|
|
|
window.
|
|
|
|
<para>You should quote the filename to support also
|
|
|
|
filenames with spaces. The following wildcards for
|
|
|
|
filenames are available:
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem><para>
|
|
|
|
%f - complete filename without path
|
|
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
|
|
%e - filename without path and without extension
|
|
|
|
</para></listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</para>
|
|
|
|
</entry>
|
|
|
|
<entry>compiler=gcc -Wall -c "%f"</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>linker</entry>
|
|
|
|
<entry>This item specifies the command to link the file.
|
|
|
|
If the file is not already compiled, it will be
|
|
|
|
compiled while linking. The -o option is
|
|
|
|
automatically added by
|
|
|
|
<application>&app;</application>. This item works
|
|
|
|
well with the gcc, but may be problemtic with other
|
|
|
|
compilers(resp. linker).
|
|
|
|
</entry>
|
|
|
|
<entry>linker=gcc -Wall "%f"</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>run_cmd</entry>
|
|
|
|
<entry>Use this item to execute your file. It has to been
|
|
|
|
built. Use the %e wildcard to have only the name of
|
|
|
|
the executable(i.e. without extension) or use the %f
|
|
|
|
wildcard if you need the complete filename, e.g.
|
|
|
|
for shell scripts.
|
|
|
|
</entry>
|
|
|
|
<entry>run_cmd="./%e"</entry>
|
|
|
|
</row>
|
|
|
|
</tbody>
|
|
|
|
</tgroup>
|
|
|
|
</table>
|
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
</section>
|
|
|
|
<section id="filetypes_common">
|
|
|
|
<title>Special file filetypes.common</title>
|
|
|
|
<para>There is a special filetype definition file called
|
|
|
|
<filename>filetypes.common</filename>. In this file are some general none
|
|
|
|
filetype-specific settings defined.
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
<table frame="all">
|
|
|
|
<title>General settings</title>
|
|
|
|
<tgroup cols="3">
|
|
|
|
<?dbhtml cellpadding="4" ?>
|
|
|
|
<?dbhtml cellspacing="0" ?>
|
|
|
|
<thead>
|
|
|
|
<row>
|
|
|
|
<entry>Key</entry>
|
|
|
|
<entry>Description</entry>
|
|
|
|
<entry>Example</entry>
|
|
|
|
</row>
|
|
|
|
</thead>
|
|
|
|
<tbody>
|
|
|
|
<row>
|
|
|
|
<entry>default</entry>
|
|
|
|
<entry>The default style for text(e.g. for files without
|
|
|
|
filetype). For the detailed format, please see above
|
|
|
|
"Section [styling]".
|
|
|
|
</entry>
|
|
|
|
<entry>default=0x000000;0xffffff;false;false</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>selection</entry>
|
|
|
|
<entry>The style for colouring selections. Only foreground and
|
|
|
|
background colour are interpreted.
|
|
|
|
</entry>
|
|
|
|
<entry>selection=0xc0c0c0;0x00007F;false;false</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>brace_good</entry>
|
|
|
|
<entry>The style for brace highlighting. It is used if a
|
|
|
|
matching brace was found.
|
|
|
|
</entry>
|
|
|
|
<entry>brace_good=0xff0000;0xFFFFFF;true;false</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>brace_bad</entry>
|
|
|
|
<entry>The style for brace highlighting. It is used if no
|
|
|
|
matching brace was found.
|
|
|
|
</entry>
|
|
|
|
<entry>brace_bad=0x0000ff;0xFFFFFF;true;false</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>current_line</entry>
|
|
|
|
<entry>The style for colouring the background of the current
|
|
|
|
line. Only the second argument is interpreted.
|
|
|
|
</entry>
|
|
|
|
<entry>current_line=0x0;0xE5E5E5;false;false</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>folding_style</entry>
|
|
|
|
<entry>The style of folding icons. Only first and second
|
|
|
|
arguments are used.
|
|
|
|
<para>
|
|
|
|
Valid values for the first argument areare:
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem><para>
|
|
|
|
1 - for boxes
|
|
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
|
|
2 - for circles
|
|
|
|
</para></listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
Valid values for the second argument areare:
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem><para>
|
|
|
|
1 - for straight lines
|
|
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
|
|
2 - for curved lines
|
|
|
|
</para></listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</para>
|
|
|
|
</entry>
|
|
|
|
<entry>folding_style=1;1;false;false</entry>
|
|
|
|
</row>
|
|
|
|
</tbody>
|
|
|
|
</tgroup>
|
|
|
|
</table>
|
|
|
|
</para>
|
|
|
|
</section>
|
2005-11-22 12:26:26 +00:00
|
|
|
</section>
|
|
|
|
<section>
|
|
|
|
<title>Templates</title>
|
|
|
|
<para>
|
2005-12-21 19:42:55 +00:00
|
|
|
<application>&app;</application> supports several templates for file headers, multiline
|
2006-06-03 14:20:59 +00:00
|
|
|
comments (frame comments), function descriptions, a typical ChangeLog entry and a short GPL notice.
|
|
|
|
To use these templates, just open the Edit menu or open the popup menu by right-clicking in the
|
2005-11-22 12:26:26 +00:00
|
|
|
editor widget, and choose "Insert Comments" and insert templates as you want.
|
|
|
|
</para>
|
|
|
|
<para>
|
2006-06-03 14:20:59 +00:00
|
|
|
Some templates (like file header or ChangeLog entry) will always be inserted at the top of the file.
|
2005-11-22 12:26:26 +00:00
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
To insert a function description, the cursor must be inside of the function, so that the function
|
|
|
|
name can be determined automatically. The description will be positioned correctly one line above
|
|
|
|
the function, just check it out. If the cursor is not inside of a function or the function name cannot
|
|
|
|
be determined, you cannot insert a function description.
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
Each template can be customized to your needs. The templates are in the configuration directory, which
|
2006-06-03 14:20:59 +00:00
|
|
|
is in <filename>~/.&app_small;/</filename> (see <xref linkend="clo"/> for further information about the
|
2005-12-21 19:42:55 +00:00
|
|
|
configuration directory). Just open the desired template with an editor (ideally &app; ;-) ) and edit
|
|
|
|
the template as your needs. There are some wildcards which will be automatically replaced by
|
|
|
|
<application>&app;</application> at startup.
|
2005-11-22 12:26:26 +00:00
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
All wildcards must be enclosed by "{" and "}", e.g. {date}.
|
|
|
|
</para>
|
|
|
|
<para>
|
2006-06-03 14:20:59 +00:00
|
|
|
In the configuration dialog you can find a tab "Templates" (see <xref linkend="confdialog_templ"/>).
|
2005-11-22 12:26:26 +00:00
|
|
|
You can define the default values which will be inserted in the templates. You should restart
|
2006-06-03 14:20:59 +00:00
|
|
|
<application>&app;</application> after making changes, because they are only read at startup.
|
2005-11-22 12:26:26 +00:00
|
|
|
</para>
|
|
|
|
<para>
|
2005-12-21 19:42:55 +00:00
|
|
|
Since <application>&app;</application> 0.3 there are also templates for creating new files.
|
|
|
|
They can be found in <filename>~/.&app_small;/</filename>, too.
|
2006-06-03 14:20:59 +00:00
|
|
|
All template files for creating new files begin with
|
|
|
|
<filename>template.filetype.</filename> followed by the filetype.
|
2005-11-22 12:26:26 +00:00
|
|
|
At creating a new file with a filetype template, the template for the fileheader is automatically prepended.
|
2006-06-03 14:20:59 +00:00
|
|
|
Please note that the complete behaviour is still under development and will probably be changed in one of
|
2005-11-22 12:26:26 +00:00
|
|
|
the next releases. Sorry.
|
|
|
|
</para>
|
|
|
|
<para> </para>
|
|
|
|
<para>
|
|
|
|
<table frame="all">
|
|
|
|
<title>Template wildcards</title>
|
|
|
|
<tgroup cols="3">
|
|
|
|
<?dbhtml cellpadding="4" ?>
|
|
|
|
<?dbhtml cellspacing="0" ?>
|
|
|
|
<colspec colnum="1" colname="col1"/>
|
|
|
|
<colspec colnum="2" colname="col2"/>
|
|
|
|
<colspec colnum="3" colname="col3"/>
|
|
|
|
<thead>
|
|
|
|
<row>
|
|
|
|
<entry>Wildcard</entry>
|
|
|
|
<entry>Description</entry>
|
|
|
|
<entry>Available in following templates</entry>
|
|
|
|
</row>
|
|
|
|
</thead>
|
|
|
|
<tbody>
|
|
|
|
<row>
|
|
|
|
<entry>developer</entry>
|
|
|
|
<entry>The name of the developer.</entry>
|
|
|
|
<entry>filetypes, file header, function description, ChangeLog entry</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>initial</entry>
|
2006-06-03 14:20:59 +00:00
|
|
|
<entry>The developer's initials, e.g. "ET" for
|
2005-11-22 12:26:26 +00:00
|
|
|
Enrico Troeger or "JFD" for John Foobar Doe.</entry>
|
|
|
|
<entry>filetypes, file header, function description, ChangeLog entry</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>mail</entry>
|
|
|
|
<entry>The email address of the developer.</entry>
|
|
|
|
<entry>file header, function description, ChangeLog entry</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>company</entry>
|
2006-06-03 14:20:59 +00:00
|
|
|
<entry>The company the developer is working for.</entry>
|
2005-11-22 12:26:26 +00:00
|
|
|
<entry>filetypes, file header, function description, ChangeLog entry</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>year</entry>
|
|
|
|
<entry>The current year in the format: YYYY</entry>
|
|
|
|
<entry>filetypes, file header, function description, ChangeLog entry</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>version</entry>
|
|
|
|
<entry>The initial version of a new file.</entry>
|
|
|
|
<entry>filetypes, file header, function description, ChangeLog entry</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>date</entry>
|
|
|
|
<entry>The current date in the format: YYYY-MM-DD</entry>
|
|
|
|
<entry>filetypes, file header, function description, ChangeLog entry</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>untitled</entry>
|
|
|
|
<entry>The string "untitled" (this will be translated to your locale),
|
|
|
|
used in filetype templates</entry>
|
|
|
|
<entry>filetypes, file header, function description, ChangeLog entry</entry>
|
|
|
|
</row>
|
2006-04-27 17:53:06 +00:00
|
|
|
<row>
|
|
|
|
<entry>geanyversion</entry>
|
|
|
|
<entry>The actual Geany version, e.g. "&app; &appversion;"</entry>
|
|
|
|
<entry>filetypes, file header, function description, ChangeLog entry</entry>
|
|
|
|
</row>
|
2005-11-22 12:26:26 +00:00
|
|
|
<row>
|
|
|
|
<entry>datetime</entry>
|
|
|
|
<entry>The current date and time in the format: DD.MM.YYYY HH:mm:ss ZZZZ</entry>
|
|
|
|
<entry>file header, function description</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>filename</entry>
|
|
|
|
<entry>The filename of the current file. Only available for the file header template.</entry>
|
|
|
|
<entry>file header</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>gpl</entry>
|
|
|
|
<entry>This wildcard inserts a short GPL notice.</entry>
|
|
|
|
<entry>file header</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>functionname</entry>
|
2006-06-03 14:20:59 +00:00
|
|
|
<entry>The function name of the function at the cursor position.
|
|
|
|
This wildcard will only be replaced in the function
|
|
|
|
description template.</entry>
|
2005-11-22 12:26:26 +00:00
|
|
|
<entry>function description</entry>
|
|
|
|
</row>
|
|
|
|
</tbody>
|
|
|
|
</tgroup>
|
|
|
|
</table>
|
|
|
|
If you need any other wildcards or a special date/time format, please email the author <email>&author_mail;</email>.
|
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
</chapter>
|
|
|
|
|
2006-04-27 17:53:06 +00:00
|
|
|
<appendix id="shortcuts">
|
2005-11-22 12:26:26 +00:00
|
|
|
<title><application>&app;</application> key mapping</title>
|
|
|
|
<section>
|
|
|
|
<title><application>&app;</application> key mapping</title>
|
|
|
|
<para>
|
2006-06-02 16:36:49 +00:00
|
|
|
Since <application>&app;</application> 0.7, most of the keybindings are definable
|
|
|
|
in the preferences dialog. See <xref linkend="keybindings"/>.
|
2005-11-22 12:26:26 +00:00
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
</appendix>
|
|
|
|
|
2006-06-02 16:36:49 +00:00
|
|
|
<!-- GPL appendix -->
|
2005-11-22 12:26:26 +00:00
|
|
|
&legal;
|
|
|
|
|
|
|
|
</book>
|