~ubuntu-branches/debian/experimental/geany/experimental

« back to all changes in this revision

Viewing changes to doc/geany.html

  • Committer: Bazaar Package Importer
  • Author(s): Damián Viano
  • Date: 2008-05-02 11:37:45 UTC
  • mfrom: (1.2.1 upstream) (3.1.6 hardy)
  • Revision ID: james.westby@ubuntu.com-20080502113745-xzp4g6dmovrpoj17
Tags: 0.14-1
New upstream release (Closes: #478126)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?xml version="1.0" encoding="utf-8" ?>
 
2
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
3
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 
4
<head>
 
5
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 
6
<meta name="generator" content="Docutils 0.4.1: http://docutils.sourceforge.net/" />
 
7
<title>Geany</title>
 
8
<meta name="authors" content="Enrico Tröger  Nick Treleaven  Frank Lanitz" />
 
9
<meta name="date" content="2008-04-18" />
 
10
<style type="text/css">
 
11
 
 
12
/*
 
13
:Author: Enrico Troeger
 
14
:Contact: enrico(dot)troeger(at)uvena(dot)de
 
15
:Copyright: This stylesheet has been placed in the public domain.
 
16
 
 
17
Stylesheet for Geany's documentation based on a version of John Gabriele.
 
18
*/
 
19
 
 
20
/*@import url(html4css1.css);*/
 
21
 
 
22
body {
 
23
    background-color: #f2f2f2;
 
24
    color: #404040;
 
25
        margin-left: 0.4em;
 
26
    width: 60em;
 
27
    font-size: 90%;
 
28
}
 
29
 
 
30
a {
 
31
    color: #990000;
 
32
}
 
33
 
 
34
a:visited {
 
35
    color: #7E558E;
 
36
}
 
37
 
 
38
a:hover {
 
39
    text-decoration: none;
 
40
}
 
41
 
 
42
h1 {
 
43
    border-top: 1px dotted;
 
44
    margin-top: 2em;
 
45
}
 
46
 
 
47
h1, h2, h3 {
 
48
    font-family: sans-serif;
 
49
    color: #5D0606;
 
50
}
 
51
 
 
52
h1.title {
 
53
  text-align: left }
 
54
 
 
55
h2 {
 
56
    margin-top: 30px;
 
57
}
 
58
 
 
59
h2.subtitle {
 
60
  text-align: left }
 
61
 
 
62
h3 {
 
63
    padding-left: 3px;
 
64
}
 
65
 
 
66
blockquote, pre {
 
67
    border: 1px solid;
 
68
    padding: 0.4em;
 
69
}
 
70
 
 
71
blockquote {
 
72
    font-family: sans-serif;
 
73
    background-color: #DBEDD5;
 
74
    border: 1px dotted;
 
75
    border-left: 4px solid;
 
76
    border-color: #9FD98C;
 
77
}
 
78
 
 
79
pre {
 
80
    background-color: #ECDFCE;
 
81
    border: 1px dotted;
 
82
    border-left: 4px solid;
 
83
    border-color: #D9BE9A;
 
84
}
 
85
 
 
86
tt, pre, code {
 
87
    color: #6D4212;
 
88
}
 
89
 
 
90
table {
 
91
    border: 1px solid #D9BE9A;
 
92
}
 
93
 
 
94
th {
 
95
    background-color: #ECDFCE;
 
96
    border: 1px dotted #D9BE9A;
 
97
}
 
98
 
 
99
td {
 
100
    border: 1px dotted #D9BE9A;
 
101
}
 
102
 
 
103
.docinfo-name {
 
104
        color: #5D0606;
 
105
}
 
106
 
 
107
p.admonition-title {
 
108
        color: #990000;
 
109
        font-weight: bold;
 
110
}
 
111
 
 
112
div.note {
 
113
        margin: 1em 3em;
 
114
        padding: 0em;
 
115
}
 
116
 
 
117
dt {
 
118
        font-style: italic;
 
119
}
 
120
 
 
121
</style>
 
122
</head>
 
123
<body>
 
124
<div class="document" id="geany">
 
125
<h1 class="title">Geany</h1>
 
126
<h2 class="subtitle" id="a-fast-light-gtk-ide">A fast, light, GTK+ IDE</h2>
 
127
<table class="docinfo" frame="void" rules="none">
 
128
<col class="docinfo-name" />
 
129
<col class="docinfo-content" />
 
130
<tbody valign="top">
 
131
<tr><th class="docinfo-name">Authors:</th>
 
132
<td>Enrico Tröger
 
133
<br />Nick Treleaven
 
134
<br />Frank Lanitz</td></tr>
 
135
<tr><th class="docinfo-name">Date:</th>
 
136
<td>2008-04-18</td></tr>
 
137
<tr><th class="docinfo-name">Version:</th>
 
138
<td>0.14</td></tr>
 
139
</tbody>
 
140
</table>
 
141
<p>Copyright © 2005-2008</p>
 
142
<p>This document is distributed under the terms of the GNU General Public
 
143
License as published by the Free Software Foundation; either version 2
 
144
of the License, or (at your option) any later version. A copy of this
 
145
license can be found in the file COPYING included with the source code
 
146
of this program, and also in the chapter <a class="reference" href="#gnu-general-public-license">GNU General Public License</a>.</p>
 
147
<div class="contents topic">
 
148
<p class="topic-title first"><a id="contents" name="contents">Contents</a></p>
 
149
<ul class="simple">
 
150
<li><a class="reference" href="#introduction" id="id5" name="id5">Introduction</a><ul>
 
151
<li><a class="reference" href="#about-geany" id="id6" name="id6">About Geany</a></li>
 
152
<li><a class="reference" href="#where-to-get-it" id="id7" name="id7">Where to get it</a></li>
 
153
<li><a class="reference" href="#license" id="id8" name="id8">License</a></li>
 
154
<li><a class="reference" href="#about-this-document" id="id9" name="id9">About this document</a></li>
 
155
</ul>
 
156
</li>
 
157
<li><a class="reference" href="#installation" id="id10" name="id10">Installation</a><ul>
 
158
<li><a class="reference" href="#requirements" id="id11" name="id11">Requirements</a></li>
 
159
<li><a class="reference" href="#source-compilation" id="id12" name="id12">Source compilation</a></li>
 
160
<li><a class="reference" href="#binary-packages" id="id13" name="id13">Binary packages</a></li>
 
161
</ul>
 
162
</li>
 
163
<li><a class="reference" href="#usage" id="id14" name="id14">Usage</a><ul>
 
164
<li><a class="reference" href="#getting-started" id="id15" name="id15">Getting started</a></li>
 
165
<li><a class="reference" href="#command-line-options" id="id16" name="id16">Command line options</a></li>
 
166
<li><a class="reference" href="#general" id="id17" name="id17">General</a><ul>
 
167
<li><a class="reference" href="#startup" id="id18" name="id18">Startup</a></li>
 
168
<li><a class="reference" href="#opening-files-from-the-command-line-in-a-running-instance" id="id19" name="id19">Opening files from the command-line in a running instance</a></li>
 
169
<li><a class="reference" href="#virtual-terminal-emulator-widget-vte" id="id20" name="id20">Virtual terminal emulator widget (VTE)</a></li>
 
170
<li><a class="reference" href="#defining-own-widget-styles-using-gtkrc-2-0" id="id21" name="id21">Defining own widget styles using .gtkrc-2.0</a></li>
 
171
</ul>
 
172
</li>
 
173
<li><a class="reference" href="#documents" id="id22" name="id22">Documents</a><ul>
 
174
<li><a class="reference" href="#switching-between-documents" id="id23" name="id23">Switching between documents</a></li>
 
175
</ul>
 
176
</li>
 
177
<li><a class="reference" href="#character-sets-and-unicode-byte-order-mark-bom" id="id24" name="id24">Character sets and Unicode Byte-Order-Mark (BOM)</a><ul>
 
178
<li><a class="reference" href="#using-character-sets" id="id25" name="id25">Using character sets</a></li>
 
179
<li><a class="reference" href="#in-file-encoding-specification" id="id26" name="id26">In-file encoding specification</a></li>
 
180
<li><a class="reference" href="#special-encoding-none" id="id27" name="id27">Special encoding &quot;None&quot;</a></li>
 
181
<li><a class="reference" href="#unicode-byte-order-mark-bom" id="id28" name="id28">Unicode Byte-Order-Mark (BOM)</a></li>
 
182
</ul>
 
183
</li>
 
184
<li><a class="reference" href="#editing" id="id29" name="id29">Editing</a><ul>
 
185
<li><a class="reference" href="#folding" id="id30" name="id30">Folding</a></li>
 
186
<li><a class="reference" href="#column-mode-editing" id="id31" name="id31">Column mode editing</a></li>
 
187
<li><a class="reference" href="#drag-and-drop-of-text" id="id32" name="id32">Drag and drop of text</a></li>
 
188
<li><a class="reference" href="#indentation" id="id33" name="id33">Indentation</a></li>
 
189
<li><a class="reference" href="#auto-indentation" id="id34" name="id34">Auto-indentation</a></li>
 
190
<li><a class="reference" href="#bookmarks" id="id35" name="id35">Bookmarks</a></li>
 
191
<li><a class="reference" href="#code-navigation-history" id="id36" name="id36">Code Navigation History</a></li>
 
192
<li><a class="reference" href="#send-text-through-definable-commands" id="id37" name="id37">Send text through definable commands</a></li>
 
193
<li><a class="reference" href="#context-actions" id="id38" name="id38">Context actions</a></li>
 
194
<li><a class="reference" href="#user-definable-snippets" id="id39" name="id39">User-definable snippets</a></li>
 
195
<li><a class="reference" href="#inserting-unicode-characters" id="id40" name="id40">Inserting unicode characters</a></li>
 
196
</ul>
 
197
</li>
 
198
<li><a class="reference" href="#search-replace-and-go-to" id="id41" name="id41">Search, replace and go to</a><ul>
 
199
<li><a class="reference" href="#find" id="id42" name="id42">Find</a><ul>
 
200
<li><a class="reference" href="#matching-options" id="id43" name="id43">Matching options</a></li>
 
201
<li><a class="reference" href="#find-all" id="id44" name="id44">Find all</a></li>
 
202
<li><a class="reference" href="#change-font-in-search-dialog-text-fields" id="id45" name="id45">Change font in search dialog text fields</a></li>
 
203
</ul>
 
204
</li>
 
205
<li><a class="reference" href="#find-usage" id="id46" name="id46">Find usage</a></li>
 
206
<li><a class="reference" href="#find-in-files" id="id47" name="id47">Find in files</a><ul>
 
207
<li><a class="reference" href="#filtering-out-version-control-files" id="id48" name="id48">Filtering out version control files</a></li>
 
208
</ul>
 
209
</li>
 
210
<li><a class="reference" href="#replace" id="id49" name="id49">Replace</a><ul>
 
211
<li><a class="reference" href="#replace-all" id="id50" name="id50">Replace all</a></li>
 
212
</ul>
 
213
</li>
 
214
<li><a class="reference" href="#go-to-tag-definition" id="id51" name="id51">Go to tag definition</a></li>
 
215
<li><a class="reference" href="#go-to-tag-declaration" id="id52" name="id52">Go to tag declaration</a></li>
 
216
<li><a class="reference" href="#go-to-line" id="id53" name="id53">Go to line</a></li>
 
217
<li><a class="reference" href="#regular-expressions" id="id54" name="id54">Regular expressions</a><ul>
 
218
<li><a class="reference" href="#partial-posix-compatibility" id="id55" name="id55">Partial POSIX compatibility</a></li>
 
219
</ul>
 
220
</li>
 
221
</ul>
 
222
</li>
 
223
<li><a class="reference" href="#tags" id="id56" name="id56">Tags</a><ul>
 
224
<li><a class="reference" href="#workspace-tags" id="id57" name="id57">Workspace tags</a></li>
 
225
<li><a class="reference" href="#global-tags" id="id58" name="id58">Global tags</a><ul>
 
226
<li><a class="reference" href="#default-global-tags-files" id="id59" name="id59">Default global tags files</a></li>
 
227
<li><a class="reference" href="#generating-a-global-tags-file" id="id60" name="id60">Generating a global tags file</a></li>
 
228
</ul>
 
229
</li>
 
230
<li><a class="reference" href="#ignore-tags" id="id61" name="id61">Ignore tags</a></li>
 
231
</ul>
 
232
</li>
 
233
<li><a class="reference" href="#preferences" id="id62" name="id62">Preferences</a><ul>
 
234
<li><a class="reference" href="#general-tab-in-preferences-dialog" id="id63" name="id63">General tab in preferences dialog</a><ul>
 
235
<li><a class="reference" href="#id1" id="id64" name="id64">Startup</a></li>
 
236
<li><a class="reference" href="#shutdown" id="id65" name="id65">Shutdown</a></li>
 
237
<li><a class="reference" href="#projects" id="id66" name="id66">Projects</a></li>
 
238
<li><a class="reference" href="#miscellaneous" id="id67" name="id67">Miscellaneous</a></li>
 
239
</ul>
 
240
</li>
 
241
<li><a class="reference" href="#interface-tab-in-preferences-dialog" id="id68" name="id68">Interface tab in preferences dialog</a><ul>
 
242
<li><a class="reference" href="#sidebar" id="id69" name="id69">Sidebar</a></li>
 
243
<li><a class="reference" href="#fonts" id="id70" name="id70">Fonts</a></li>
 
244
<li><a class="reference" href="#editor-tabs" id="id71" name="id71">Editor tabs</a></li>
 
245
<li><a class="reference" href="#tab-positions" id="id72" name="id72">Tab positions</a></li>
 
246
<li><a class="reference" href="#id2" id="id73" name="id73">Miscellaneous</a></li>
 
247
</ul>
 
248
</li>
 
249
<li><a class="reference" href="#toolbar-tab-in-preferences-dialog" id="id74" name="id74">Toolbar tab in preferences dialog</a><ul>
 
250
<li><a class="reference" href="#toolbar" id="id75" name="id75">Toolbar</a></li>
 
251
<li><a class="reference" href="#items" id="id76" name="id76">Items</a></li>
 
252
<li><a class="reference" href="#appearance" id="id77" name="id77">Appearance</a></li>
 
253
</ul>
 
254
</li>
 
255
<li><a class="reference" href="#display-tab-in-preferences-dialog" id="id78" name="id78">Display tab in preferences dialog</a><ul>
 
256
<li><a class="reference" href="#display" id="id79" name="id79">Display</a></li>
 
257
<li><a class="reference" href="#long-line-marker" id="id80" name="id80">Long line marker</a></li>
 
258
</ul>
 
259
</li>
 
260
<li><a class="reference" href="#editor-tab-in-preferences-dialog" id="id81" name="id81">Editor tab in preferences dialog</a><ul>
 
261
<li><a class="reference" href="#indentation-group" id="id82" name="id82">Indentation group</a></li>
 
262
<li><a class="reference" href="#features" id="id83" name="id83">Features</a></li>
 
263
<li><a class="reference" href="#completions" id="id84" name="id84">Completions</a></li>
 
264
</ul>
 
265
</li>
 
266
<li><a class="reference" href="#files-tab-in-preferences-dialog" id="id85" name="id85">Files tab in preferences dialog</a><ul>
 
267
<li><a class="reference" href="#new-files" id="id86" name="id86">New files</a></li>
 
268
<li><a class="reference" href="#saving-files" id="id87" name="id87">Saving files</a></li>
 
269
<li><a class="reference" href="#id3" id="id88" name="id88">Miscellaneous</a></li>
 
270
</ul>
 
271
</li>
 
272
<li><a class="reference" href="#tools-tab-in-preferences-dialog" id="id89" name="id89">Tools tab in preferences dialog</a><ul>
 
273
<li><a class="reference" href="#tool-paths" id="id90" name="id90">Tool paths</a></li>
 
274
<li><a class="reference" href="#commands" id="id91" name="id91">Commands</a></li>
 
275
</ul>
 
276
</li>
 
277
<li><a class="reference" href="#template-tab-in-preferences-dialog" id="id92" name="id92">Template tab in preferences dialog</a><ul>
 
278
<li><a class="reference" href="#template-data" id="id93" name="id93">Template data</a></li>
 
279
</ul>
 
280
</li>
 
281
<li><a class="reference" href="#keybinding-tab-in-preferences-dialog" id="id94" name="id94">Keybinding tab in preferences dialog</a></li>
 
282
<li><a class="reference" href="#printing-tab-in-preferences-dialog" id="id95" name="id95">Printing tab in preferences dialog</a></li>
 
283
<li><a class="reference" href="#vte-tab-in-preferences-dialog" id="id96" name="id96">VTE tab in preferences dialog</a><ul>
 
284
<li><a class="reference" href="#terminal-widget" id="id97" name="id97">Terminal widget</a></li>
 
285
</ul>
 
286
</li>
 
287
</ul>
 
288
</li>
 
289
<li><a class="reference" href="#project-management" id="id98" name="id98">Project Management</a><ul>
 
290
<li><a class="reference" href="#new-project" id="id99" name="id99">New Project</a></li>
 
291
<li><a class="reference" href="#project-properties" id="id100" name="id100">Project Properties</a><ul>
 
292
<li><a class="reference" href="#make-in-base-path" id="id101" name="id101">Make in base path</a></li>
 
293
<li><a class="reference" href="#run-command" id="id102" name="id102">Run command</a></li>
 
294
</ul>
 
295
</li>
 
296
<li><a class="reference" href="#open-project" id="id103" name="id103">Open Project</a></li>
 
297
<li><a class="reference" href="#close-project" id="id104" name="id104">Close Project</a></li>
 
298
</ul>
 
299
</li>
 
300
<li><a class="reference" href="#build-system" id="id105" name="id105">Build system</a><ul>
 
301
<li><a class="reference" href="#compile" id="id106" name="id106">Compile</a></li>
 
302
<li><a class="reference" href="#build" id="id107" name="id107">Build</a></li>
 
303
<li><a class="reference" href="#make-all" id="id108" name="id108">Make all</a></li>
 
304
<li><a class="reference" href="#make-custom-target" id="id109" name="id109">Make custom target</a></li>
 
305
<li><a class="reference" href="#make-object" id="id110" name="id110">Make object</a></li>
 
306
<li><a class="reference" href="#execute" id="id111" name="id111">Execute</a></li>
 
307
<li><a class="reference" href="#stopping-running-processes" id="id112" name="id112">Stopping running processes</a><ul>
 
308
<li><a class="reference" href="#terminal-emulators" id="id113" name="id113">Terminal emulators</a></li>
 
309
</ul>
 
310
</li>
 
311
<li><a class="reference" href="#set-includes-and-arguments" id="id114" name="id114">Set Includes and Arguments</a><ul>
 
312
<li><a class="reference" href="#one-step-compilation" id="id115" name="id115">One step compilation</a></li>
 
313
</ul>
 
314
</li>
 
315
<li><a class="reference" href="#indicators" id="id116" name="id116">Indicators</a></li>
 
316
</ul>
 
317
</li>
 
318
<li><a class="reference" href="#printing-support" id="id117" name="id117">Printing support</a></li>
 
319
<li><a class="reference" href="#plugins" id="id118" name="id118">Plugins</a></li>
 
320
<li><a class="reference" href="#keybindings" id="id119" name="id119">Keybindings</a><ul>
 
321
<li><a class="reference" href="#switching-documents" id="id120" name="id120">Switching documents</a></li>
 
322
<li><a class="reference" href="#configurable-keybindings" id="id121" name="id121">Configurable keybindings</a></li>
 
323
</ul>
 
324
</li>
 
325
</ul>
 
326
</li>
 
327
<li><a class="reference" href="#configuration-files" id="id122" name="id122">Configuration files</a><ul>
 
328
<li><a class="reference" href="#global-configuration-file" id="id123" name="id123">Global configuration file</a></li>
 
329
<li><a class="reference" href="#filetype-definition-files" id="id124" name="id124">Filetype definition files</a><ul>
 
330
<li><a class="reference" href="#format" id="id125" name="id125">Format</a><ul>
 
331
<li><a class="reference" href="#styling-section" id="id126" name="id126">[styling] Section</a></li>
 
332
<li><a class="reference" href="#keywords-section" id="id127" name="id127">[keywords] Section</a></li>
 
333
<li><a class="reference" href="#settings-section" id="id128" name="id128">[settings] Section</a></li>
 
334
<li><a class="reference" href="#build-settings-section" id="id129" name="id129">[build_settings] Section</a></li>
 
335
</ul>
 
336
</li>
 
337
<li><a class="reference" href="#special-file-filetypes-common" id="id130" name="id130">Special file filetypes.common</a></li>
 
338
</ul>
 
339
</li>
 
340
<li><a class="reference" href="#filetype-extensions" id="id131" name="id131">Filetype extensions</a></li>
 
341
<li><a class="reference" href="#templates" id="id132" name="id132">Templates</a><ul>
 
342
<li><a class="reference" href="#template-metadata" id="id133" name="id133">Template metadata</a></li>
 
343
<li><a class="reference" href="#filetype-templates" id="id134" name="id134">Filetype templates</a></li>
 
344
<li><a class="reference" href="#customizing-templates" id="id135" name="id135">Customizing templates</a><ul>
 
345
<li><a class="reference" href="#template-wildcards" id="id136" name="id136">Template wildcards</a></li>
 
346
</ul>
 
347
</li>
 
348
</ul>
 
349
</li>
 
350
</ul>
 
351
</li>
 
352
<li><a class="reference" href="#contributing-to-this-document" id="id137" name="id137">Contributing to this document</a></li>
 
353
<li><a class="reference" href="#scintilla-keyboard-commands" id="id138" name="id138">Scintilla keyboard commands</a><ul>
 
354
<li><a class="reference" href="#keyboard-commands" id="id139" name="id139">Keyboard commands</a></li>
 
355
</ul>
 
356
</li>
 
357
<li><a class="reference" href="#hidden-preferences" id="id140" name="id140">Hidden preferences</a></li>
 
358
<li><a class="reference" href="#compile-time-options" id="id141" name="id141">Compile-time options</a></li>
 
359
<li><a class="reference" href="#gnu-general-public-license" id="id142" name="id142">GNU General Public License</a></li>
 
360
<li><a class="reference" href="#license-for-scintilla-and-scite" id="id143" name="id143">License for Scintilla and SciTE</a></li>
 
361
</ul>
 
362
</div>
 
363
<div class="section">
 
364
<h1><a class="toc-backref" href="#id5" id="introduction" name="introduction">Introduction</a></h1>
 
365
<div class="section">
 
366
<h2><a class="toc-backref" href="#id6" id="about-geany" name="about-geany">About Geany</a></h2>
 
367
<p>Geany is a small and lightweight Integrated Development Environment. It
 
368
was developed to provide a small and fast IDE, which has only a few
 
369
dependencies from other packages. Another goal was to be as independent
 
370
as possible from a special Desktop Environment like KDE or GNOME,
 
371
so Geany only requires the GTK2 toolkit and therefore you only need
 
372
the GTK2 runtime libraries installed to run it.</p>
 
373
<p>Some basic features of Geany are:</p>
 
374
<ul class="simple">
 
375
<li>Syntax highlighting</li>
 
376
<li>Code completion</li>
 
377
<li>Auto completion of often-used constructs like &quot;if&quot;, &quot;for&quot; and &quot;while&quot;</li>
 
378
<li>Auto completion of XML and HTML tags</li>
 
379
<li>Call tips</li>
 
380
<li>Many supported filetypes including C, Java, PHP, HTML, Python, Perl,
 
381
Pascal, and others</li>
 
382
<li>Tag/Symbol lists</li>
 
383
</ul>
 
384
</div>
 
385
<div class="section">
 
386
<h2><a class="toc-backref" href="#id7" id="where-to-get-it" name="where-to-get-it">Where to get it</a></h2>
 
387
<p>You can obtain Geany from <a class="reference" href="http://geany.uvena.de">http://geany.uvena.de</a> or perhaps also from
 
388
your distributor.</p>
 
389
</div>
 
390
<div class="section">
 
391
<h2><a class="toc-backref" href="#id8" id="license" name="license">License</a></h2>
 
392
<p>Geany is distributed under the terms of the GNU General Public License
 
393
as published by the Free Software Foundation; either version 2 of
 
394
the License, or (at your option) any later version. A copy of this
 
395
license can be found in the file COPYING included with the source
 
396
code of this program or in the chapter, <a class="reference" href="#gnu-general-public-license">GNU General Public License</a>.</p>
 
397
<p>The included Scintilla library (found in the subdirectory
 
398
<tt class="docutils literal"><span class="pre">scintilla/</span></tt>) has its own license, which can be found in the chapter,
 
399
<a class="reference" href="#license-for-scintilla-and-scite">License for Scintilla and SciTE</a>.</p>
 
400
</div>
 
401
<div class="section">
 
402
<h2><a class="toc-backref" href="#id9" id="about-this-document" name="about-this-document">About this document</a></h2>
 
403
<p>This documentation is available in various formats like HTML, text and
 
404
PDF. The latest version is always available at <a class="reference" href="http://geany.uvena.de">http://geany.uvena.de</a>.</p>
 
405
<p>If you want to contribute to it, see <a class="reference" href="#contributing-to-this-document">Contributing to this document</a>.</p>
 
406
</div>
 
407
</div>
 
408
<div class="section">
 
409
<h1><a class="toc-backref" href="#id10" id="installation" name="installation">Installation</a></h1>
 
410
<div class="section">
 
411
<h2><a class="toc-backref" href="#id11" id="requirements" name="requirements">Requirements</a></h2>
 
412
<p>For compiling Geany yourself, you will need the GTK (&gt;= 2.6.0)
 
413
libraries and header files. You will also need the Pango, Glib and
 
414
ATK libraries and header files. All these files are available at
 
415
<a class="reference" href="http://www.gtk.org">http://www.gtk.org</a>.</p>
 
416
<p>Furthermore you need, of course, a C compiler and the Make tool; a
 
417
C++ compiler is also required for the included Scintilla library. The
 
418
GNU versions of these tools are recommended.</p>
 
419
</div>
 
420
<div class="section">
 
421
<h2><a class="toc-backref" href="#id12" id="source-compilation" name="source-compilation">Source compilation</a></h2>
 
422
<p>Compiling Geany is quite easy. The following should do it:</p>
 
423
<pre class="literal-block">
 
424
% ./configure
 
425
% make
 
426
% make install
 
427
</pre>
 
428
<p>The configure script supports several common options, for a detailed
 
429
list, type:</p>
 
430
<pre class="literal-block">
 
431
% ./configure --help
 
432
</pre>
 
433
<p>There also some compile time options which can be found in
 
434
<tt class="docutils literal"><span class="pre">src/geany.h</span></tt>. Please see <a class="reference" href="#compile-time-options">Compile-time options</a> for more
 
435
information.</p>
 
436
<p>In the case that your system lacks dynamic linking loader support, you
 
437
probably want to pass the option <tt class="docutils literal"><span class="pre">--disable-vte</span></tt> to the <tt class="docutils literal"><span class="pre">configure</span></tt>
 
438
script. This prevents compiling Geany with dynamic linking loader
 
439
support to automatically load <tt class="docutils literal"><span class="pre">libvte.so.4</span></tt> if available.</p>
 
440
<p>Geany has been successfully compiled and tested under Debian 3.1
 
441
Sarge, Debian 4.0 Etch, Fedora Core 3/4/5, LinuxFromScratch and
 
442
FreeBSD 6.0. It also compiles under Microsoft Windows™.</p>
 
443
<p>If there are any errors during compilation, check your build
 
444
environment and try to find the error, otherwise contact the author
 
445
at &lt;enrico(dot)troeger(at)uvena(dot)de&gt;.</p>
 
446
</div>
 
447
<div class="section">
 
448
<h2><a class="toc-backref" href="#id13" id="binary-packages" name="binary-packages">Binary packages</a></h2>
 
449
<p>There are many binary packages available. For an up to date but maybe
 
450
incomplete list see <a class="reference" href="http://geany.uvena.de/Download/Releases">http://geany.uvena.de/Download/Releases</a>.</p>
 
451
</div>
 
452
</div>
 
453
<div class="section">
 
454
<h1><a class="toc-backref" href="#id14" id="usage" name="usage">Usage</a></h1>
 
455
<div class="section">
 
456
<h2><a class="toc-backref" href="#id15" id="getting-started" name="getting-started">Getting started</a></h2>
 
457
<p>You can start Geany in the following ways:</p>
 
458
<ul>
 
459
<li><p class="first">From the Desktop Environment menu:</p>
 
460
<p>Choose in your application menu of your used Desktop Environment:
 
461
Development --&gt; Geany.</p>
 
462
</li>
 
463
<li><p class="first">From the command line:</p>
 
464
<p>To start Geany from a command line, type the following and press
 
465
Return:</p>
 
466
<pre class="literal-block">
 
467
% geany
 
468
</pre>
 
469
</li>
 
470
</ul>
 
471
</div>
 
472
<div class="section">
 
473
<h2><a class="toc-backref" href="#id16" id="command-line-options" name="command-line-options">Command line options</a></h2>
 
474
<table border="1" class="docutils">
 
475
<colgroup>
 
476
<col width="13%" />
 
477
<col width="25%" />
 
478
<col width="62%" />
 
479
</colgroup>
 
480
<thead valign="bottom">
 
481
<tr><th class="head">Short option</th>
 
482
<th class="head">Long option</th>
 
483
<th class="head">Function</th>
 
484
</tr>
 
485
</thead>
 
486
<tbody valign="top">
 
487
<tr><td><em>none</em></td>
 
488
<td>+number</td>
 
489
<td>Set initial line number for the first opened file
 
490
(same as --line, do not put a space between the + sign
 
491
and the number). E.g. &quot;geany +7 foo.bar&quot; will open the
 
492
file foo.bar and place the cursor in line 7.</td>
 
493
</tr>
 
494
<tr><td><em>none</em></td>
 
495
<td>--column</td>
 
496
<td>Set initial column number for the first opened file.</td>
 
497
</tr>
 
498
<tr><td>-c dir_name</td>
 
499
<td>--config=directory_name</td>
 
500
<td>Use an alternate configuration directory. Default
 
501
configuration directory is <tt class="docutils literal"><span class="pre">~/.geany/</span></tt> and there resides
 
502
<tt class="docutils literal"><span class="pre">geany.conf</span></tt> and other configuration files.</td>
 
503
</tr>
 
504
<tr><td>-d</td>
 
505
<td>--debug</td>
 
506
<td>Run Geany in debug mode, which means being verbose
 
507
and printing lots of information.</td>
 
508
</tr>
 
509
<tr><td><em>none</em></td>
 
510
<td>--ft-names</td>
 
511
<td>Print a list of Geany's internal filetype names (useful
 
512
for snippets configuration).</td>
 
513
</tr>
 
514
<tr><td>-g</td>
 
515
<td>--generate-tags</td>
 
516
<td>Generate a global tags file (see
 
517
<a class="reference" href="#generating-a-global-tags-file">Generating a global tags file</a>).</td>
 
518
</tr>
 
519
<tr><td>-P</td>
 
520
<td>--no-preprocessing</td>
 
521
<td>Don't preprocess C/C++ files when generating tags.</td>
 
522
</tr>
 
523
<tr><td>-i</td>
 
524
<td>--new-instance</td>
 
525
<td>Do not open files in a running instance, force opening
 
526
a new instance. Only available if Geany was compiled
 
527
with support for Sockets.</td>
 
528
</tr>
 
529
<tr><td>-l</td>
 
530
<td>--line</td>
 
531
<td>Set initial line number for the first opened file.</td>
 
532
</tr>
 
533
<tr><td>-m</td>
 
534
<td>--no-msgwin</td>
 
535
<td>Do not show the message window. Use this option if you
 
536
do not need compiler messages or VTE support.</td>
 
537
</tr>
 
538
<tr><td>-n</td>
 
539
<td>--no-ctags</td>
 
540
<td>Do not load symbol completion and call tip data. Use this
 
541
option if you do not want to use them.</td>
 
542
</tr>
 
543
<tr><td>-p</td>
 
544
<td>--no-plugins</td>
 
545
<td>Do not load plugins or plugin support.</td>
 
546
</tr>
 
547
<tr><td><em>none</em></td>
 
548
<td>--print-prefix</td>
 
549
<td>Print installation prefix, the data directory, the lib
 
550
directory and the locale directory (in this order) to
 
551
stdout, each per line. This is mainly intended for plugin
 
552
authors to detect installation paths.</td>
 
553
</tr>
 
554
<tr><td>-s</td>
 
555
<td>--no-session</td>
 
556
<td>Do not load the previous session's files.</td>
 
557
</tr>
 
558
<tr><td>-t</td>
 
559
<td>--no-terminal</td>
 
560
<td>Do not load terminal support. Use this option if you do
 
561
not want to load the virtual terminal emulator widget
 
562
at startup. If you do not have <tt class="docutils literal"><span class="pre">libvte.so.4</span></tt> installed,
 
563
then terminal-support is automatically disabled. Only
 
564
available if Geany was compiled with support for VTE.</td>
 
565
</tr>
 
566
<tr><td><em>none</em></td>
 
567
<td>--vte-lib</td>
 
568
<td>Specify explicitly the path including filename or only
 
569
the filename to the VTE library, e.g.
 
570
<tt class="docutils literal"><span class="pre">/usr/lib/libvte.so</span></tt> or <tt class="docutils literal"><span class="pre">libvte.so</span></tt>. This option is
 
571
only needed when the autodetection does not work. Only
 
572
available if Geany was compiled with support for VTE.</td>
 
573
</tr>
 
574
<tr><td>-v</td>
 
575
<td>--version</td>
 
576
<td>Show version information and exit.</td>
 
577
</tr>
 
578
<tr><td>-?</td>
 
579
<td>--help</td>
 
580
<td>Show help information and exit.</td>
 
581
</tr>
 
582
<tr><td><em>none</em></td>
 
583
<td>[files ...]</td>
 
584
<td>Open all given files at startup. This option causes
 
585
Geany to ignore loading stored files from the last
 
586
session (if enabled).
 
587
Geany also recognises line and column information when
 
588
appended to the filename with colons, e.g.
 
589
&quot;geany foo.bar:10:5&quot; will open the file foo.bar and
 
590
place the cursor in line 10 at column 5.</td>
 
591
</tr>
 
592
</tbody>
 
593
</table>
 
594
<p>Geany supports all generic GTK options, a list is available on the
 
595
help screen.</p>
 
596
</div>
 
597
<div class="section">
 
598
<h2><a class="toc-backref" href="#id17" id="general" name="general">General</a></h2>
 
599
<div class="section">
 
600
<h3><a class="toc-backref" href="#id18" id="startup" name="startup">Startup</a></h3>
 
601
<p>At startup, Geany loads all files from the last time Geany was
 
602
launched. You can disable this feature in the preferences dialog
 
603
(see <a class="reference" href="#general-tab-in-preferences-dialog">General tab in preferences dialog</a>). If you specify some
 
604
files on the command line, only these files will be opened, but you
 
605
can find the files from the last session in the file menu under the
 
606
&quot;Recent files&quot; item. By default this contains the last 10 recently
 
607
opened files. You can change the amount of recently opened files in
 
608
the preferences dialog.</p>
 
609
<p>You can start several instances of Geany, but only the first will
 
610
load files from the last session. To run a second instance of Geany,
 
611
do not specify any filenames on the command-line, or disable opening
 
612
files in a running instance using the appropriate command line option.</p>
 
613
</div>
 
614
<div class="section">
 
615
<h3><a class="toc-backref" href="#id19" id="opening-files-from-the-command-line-in-a-running-instance" name="opening-files-from-the-command-line-in-a-running-instance">Opening files from the command-line in a running instance</a></h3>
 
616
<p>Geany detects an already running instance of itself and opens files
 
617
from the command-line in the already running instance. So, Geany can
 
618
be used to view and edit files by opening them from other programs
 
619
such as a file manager. If you do not like this for some reason, you
 
620
can disable using the first instance by using the appropriate command
 
621
line option -- see the section called <a class="reference" href="#command-line-options">Command line options</a>.</p>
 
622
</div>
 
623
<div class="section">
 
624
<h3><a class="toc-backref" href="#id20" id="virtual-terminal-emulator-widget-vte" name="virtual-terminal-emulator-widget-vte">Virtual terminal emulator widget (VTE)</a></h3>
 
625
<p>If you have installed <tt class="docutils literal"><span class="pre">libvte.so</span></tt> in your system, it is loaded
 
626
automatically by Geany, and you will have a terminal widget in the
 
627
notebook at the bottom.</p>
 
628
<p>If Geany cannot find any <tt class="docutils literal"><span class="pre">libvte.so</span></tt> at startup, the terminal widget
 
629
will not be loaded. So there is no need to install the package containing
 
630
this file in order to run Geany. Additionally, you can disable the use
 
631
of the terminal widget by command line option, for more information
 
632
see the section called <a class="reference" href="#command-line-options">Command line options</a>.</p>
 
633
<p>You can use this terminal (from now on called VTE) nearly as an usual
 
634
terminal program like xterm. There is basic clipboard support. You
 
635
can paste the contents of the clipboard by pressing the right mouse
 
636
button to open the popup menu and choosing Paste. To copy text from
 
637
the VTE, just select the desired text and then press the right mouse
 
638
button and choose Copy from the popup menu. On systems running the
 
639
X Window System you can paste the last selected text by pressing the
 
640
middle mouse button in the VTE (on 2-button mice, the middle button
 
641
can often be simulated by pressing both mouse buttons together).</p>
 
642
<p>In the preferences dialog you can specify a shell which should be
 
643
started in the VTE. To make the specified shell a login shell just
 
644
use the appropriate command line options for the shell. These options
 
645
should be found in the manual page of the shell. For zsh and bash
 
646
you can use the argument <tt class="docutils literal"><span class="pre">--login</span></tt>.</p>
 
647
<div class="note">
 
648
<p class="first admonition-title">Note</p>
 
649
<p class="last">Geany tries to load <tt class="docutils literal"><span class="pre">libvte.so</span></tt>. If this fails, it tries to load
 
650
some other filenames. If this fails too, you should check whether you
 
651
installed libvte correctly. Again, Geany also runs without this
 
652
library.</p>
 
653
</div>
 
654
<p>It could be, that the library is called something else than
 
655
<tt class="docutils literal"><span class="pre">libvte.so</span></tt> (e.g. on FreeBSD 6.0 it is called <tt class="docutils literal"><span class="pre">libvte.so.8</span></tt>). So
 
656
please set a link to the correct file (as root):</p>
 
657
<pre class="literal-block">
 
658
# ln -s /usr/lib/libvte.so.X /usr/lib/libvte.so
 
659
</pre>
 
660
<p>Obviously, you have to adjust the paths and set X to the number of your
 
661
<tt class="docutils literal"><span class="pre">libvte.so</span></tt>.</p>
 
662
<p>You can also specify the filename of the VTE library to use on the command
 
663
line (see the section called <a class="reference" href="#command-line-options">Command line options</a>) or at compile time
 
664
by specifying the command line option <tt class="docutils literal"><span class="pre">--with-vte-module-path</span></tt> to
 
665
./configure.</p>
 
666
</div>
 
667
<div class="section">
 
668
<h3><a class="toc-backref" href="#id21" id="defining-own-widget-styles-using-gtkrc-2-0" name="defining-own-widget-styles-using-gtkrc-2-0">Defining own widget styles using .gtkrc-2.0</a></h3>
 
669
<p>You can define your widget style for many of Geany's GUI parts. To
 
670
do this, just edit your <tt class="docutils literal"><span class="pre">.gtkrc-2.0</span></tt> (usually found in your home
 
671
directory on UNIX-like systems and in the etc subdirectory of your
 
672
Geany installation on Windows).</p>
 
673
<p>To get a defined style get noticed by Geany you must it assign to
 
674
one of Geany's widgets. To do so, use the following line:</p>
 
675
<pre class="literal-block">
 
676
widget &quot;Geany*&quot; style &quot;geany_style&quot;
 
677
</pre>
 
678
<p>This would assign your already defined style &quot;geany_style&quot; to all Geany
 
679
widgets. You can also assign styles only to specific widgets. At the
 
680
moment you can use the following widgets:</p>
 
681
<ul class="simple">
 
682
<li>GeanyMainWindow</li>
 
683
<li>GeanyEditMenu</li>
 
684
<li>GeanyToolbarMenu</li>
 
685
<li>GeanyDialog</li>
 
686
<li>GeanyDialogPrefs</li>
 
687
<li>GeanyDialogProject</li>
 
688
<li>GeanyDialogSearch</li>
 
689
</ul>
 
690
<p>Example of a simple <tt class="docutils literal"><span class="pre">.gtkrc-2.0</span></tt>:</p>
 
691
<pre class="literal-block">
 
692
style &quot;geanyStyle&quot;
 
693
{
 
694
    font_name=&quot;Sans 12&quot;
 
695
}
 
696
widget &quot;GeanyMainWindow&quot; style &quot;geanyStyle&quot;
 
697
 
 
698
style &quot;geanyStyle&quot;
 
699
{
 
700
    font_name=&quot;Sans 10&quot;
 
701
}
 
702
widget &quot;GeanyPrefsDialog&quot; style &quot;geanyStyle&quot;
 
703
</pre>
 
704
</div>
 
705
</div>
 
706
<div class="section">
 
707
<h2><a class="toc-backref" href="#id22" id="documents" name="documents">Documents</a></h2>
 
708
<div class="section">
 
709
<h3><a class="toc-backref" href="#id23" id="switching-between-documents" name="switching-between-documents">Switching between documents</a></h3>
 
710
<p>The documents list and the editor tabs are two different ways
 
711
to switch between documents using the mouse. When you hit the key
 
712
combination to move between tabs, the order is determined by the tab
 
713
order, not alphabetical as shown in the documents list (regardless
 
714
of whether or not editor tabs are visible).</p>
 
715
</div>
 
716
</div>
 
717
<div class="section">
 
718
<h2><a class="toc-backref" href="#id24" id="character-sets-and-unicode-byte-order-mark-bom" name="character-sets-and-unicode-byte-order-mark-bom">Character sets and Unicode Byte-Order-Mark (BOM)</a></h2>
 
719
<div class="section">
 
720
<h3><a class="toc-backref" href="#id25" id="using-character-sets" name="using-character-sets">Using character sets</a></h3>
 
721
<p>Geany provides support for detecting and converting character sets. So
 
722
you can open and save files in different character sets and even
 
723
can convert a file from a character set to another one. To do this,
 
724
Geany uses the character conversion capabilities of the GLib.</p>
 
725
<p>Only text files are supported, i.e. opening files which contain
 
726
NUL-bytes may fail. Geany will try to open the file anyway but it is
 
727
likely that the file will be truncated because it can only opened up
 
728
to the first occurrence of a NUL-byte. All characters after this
 
729
position are lost and are not written when you save the file.</p>
 
730
<p>Geany tries to detect the encoding of a file while opening it. It
 
731
might be that the encoding of a file cannot be detected correctly so
 
732
you have to set manually the encoding of the file in order to display
 
733
it correctly. You can this in the file open dialog by selecting
 
734
an encoding in the drop down box or by reloading the file with the
 
735
file menu item &quot;Reload as&quot;. The auto detection works well for most
 
736
encodings but there are also some encodings known where auto detection
 
737
has its problems. Auto detecting the encoding of a file is not easy
 
738
and sometimes an encoding might be detected not correctly.</p>
 
739
<p>There are different ways to use different encodings in Geany:</p>
 
740
<ul>
 
741
<li><p class="first">Using the file open dialog</p>
 
742
<p>This opens the file with the encoding specified in the encoding drop
 
743
down box. If the encoding is set to &quot;Detect from file&quot; auto detection
 
744
will be used. If the encoding is set to &quot;Without encoding (None)&quot; the
 
745
file will be opened without any character conversion and Geany will
 
746
not try to auto detect the encoding(see below for more information).</p>
 
747
</li>
 
748
<li><p class="first">Using the &quot;Reload as&quot; menu item</p>
 
749
<p>This item reloads the current file with the specified encoding. It can
 
750
help if you opened a file and found out that a wrong encoding was used.</p>
 
751
</li>
 
752
<li><p class="first">Using the &quot;Set encoding&quot; menu item</p>
 
753
<p>In contrary to the above two options, this will not change or reload
 
754
the current file unless you save it. It is useful when you want to
 
755
change the encoding of the file.</p>
 
756
</li>
 
757
<li><p class="first">Specifying the encoding in the file itself
 
758
As mentioned above, auto detecting the encoding of a file may fail on
 
759
some encodings. If you know that Geany doesn't open a certain file,
 
760
you can add a special line to the beginning of the file to force an
 
761
encoding when opening the file (for details see below).</p>
 
762
</li>
 
763
</ul>
 
764
</div>
 
765
<div class="section">
 
766
<h3><a class="toc-backref" href="#id26" id="in-file-encoding-specification" name="in-file-encoding-specification">In-file encoding specification</a></h3>
 
767
<p>Geany detects meta tags of HTML files which contain charset information
 
768
like:</p>
 
769
<pre class="literal-block">
 
770
&lt;meta http-equiv=&quot;content-type&quot; content=&quot;text/html; charset=ISO-8859-15&quot; /&gt;
 
771
</pre>
 
772
<p>and the found charset is used when opening the file. This is useful if the
 
773
encoding of the file cannot be detected properly.
 
774
For non-HTML files you can also define a line like:</p>
 
775
<pre class="literal-block">
 
776
/* geany_encoding=ISO-8859-15 */
 
777
</pre>
 
778
<p>or:</p>
 
779
<pre class="literal-block">
 
780
# geany_encoding=ISO-8859-15 #
 
781
</pre>
 
782
<p>to force an encoding to be used. The used #, /* and */ are only examples
 
783
for filetype-specific comment characters. It doesn't matter which
 
784
characters are around the string &quot; geany_encoding=ISO-8859-15 &quot; as long
 
785
as there is at least one whitespace character before and after this
 
786
string. Whitespace characters are in this case a space or tab character.
 
787
&quot;geany_encoding&quot; must be in lower-case, the charset string is
 
788
case-independent. There must <strong>not</strong> be any whitespace between
 
789
&quot;geany_encoding&quot;, the &quot;=&quot; sign and the charset.
 
790
An example to use this could be you have a file with ISO-8859-15
 
791
encoding but Geany constantly detects the file encoding as ISO-8859-1.
 
792
Then you simply add such a line to the file and Geany will open it
 
793
correctly the next time.</p>
 
794
<div class="note">
 
795
<p class="first admonition-title">Note</p>
 
796
<p class="last">These specifications must be in the first 512 bytes of the file.
 
797
Anything after the first 512 bytes will not be recognised.</p>
 
798
</div>
 
799
</div>
 
800
<div class="section">
 
801
<h3><a class="toc-backref" href="#id27" id="special-encoding-none" name="special-encoding-none">Special encoding &quot;None&quot;</a></h3>
 
802
<p>There is a special encoding &quot;None&quot; which is actually no real
 
803
encoding. It is useful when you know that Geany cannot auto detect
 
804
the encoding of a file and it is not displayed correctly. Especially
 
805
when the file contains NUL-bytes this can be useful to skip auto
 
806
detection and open the file properly at least until the occurrence
 
807
of the first NUL-byte. Using this encoding opens the file as it is
 
808
without any character conversion.</p>
 
809
</div>
 
810
<div class="section">
 
811
<h3><a class="toc-backref" href="#id28" id="unicode-byte-order-mark-bom" name="unicode-byte-order-mark-bom">Unicode Byte-Order-Mark (BOM)</a></h3>
 
812
<p>Furthermore, Geany detects an Unicode Byte Order Mark (see
 
813
<a class="reference" href="http://en.wikipedia.org/wiki/Byte_Order_Mark">http://en.wikipedia.org/wiki/Byte_Order_Mark</a> for details). Of course,
 
814
this feature is only available if the opened file is in an unicode
 
815
encoding. The Byte Order Mark helps to detect the encoding of a file,
 
816
e.g. whether it is UTF-16LE or UTF-16BE and so on. On Unix-like systems
 
817
using a Byte Order Mark could cause some problems, e.g. the gcc stops
 
818
with stray errors, PHP does not parse a script containing a BOM and
 
819
script files starting with a she-bang maybe cannot be started. In the
 
820
status bar you can easily see whether the file starts with a BOM or
 
821
not. If you want to set a BOM for a file or if you want to remove it
 
822
from a file, just use the document menu and toggle the checkbox.</p>
 
823
<div class="note">
 
824
<p class="first admonition-title">Note</p>
 
825
<p class="last">If you are unsure what a BOM is or if you do not understand where
 
826
to use it, then it is probably not important for you and you can
 
827
safely ignore it.</p>
 
828
</div>
 
829
</div>
 
830
</div>
 
831
<div class="section">
 
832
<h2><a class="toc-backref" href="#id29" id="editing" name="editing">Editing</a></h2>
 
833
<div class="section">
 
834
<h3><a class="toc-backref" href="#id30" id="folding" name="folding">Folding</a></h3>
 
835
<p>Geany provides basic code folding support. Folding means the ability to
 
836
show and hide parts of the text in the current file. You can hide
 
837
unimportant code sections and concentrate on the parts you are working on
 
838
and later you can show these sections again. In the editor window there is
 
839
a small grey margin on the left side with some [+] and [-] symbols. By
 
840
clicking on these icons you can simply show and hide sections which are
 
841
marked by vertical lines within this margin. For many filetypes nested
 
842
folding is supported, so there may be several fold points within other
 
843
fold points.</p>
 
844
<p>If you don't like it or don't need it at all, you can simply disable
 
845
folding support completely in the preferences dialog.</p>
 
846
<p>The folding behaviour can be changed with the &quot;Fold/Unfold all children of
 
847
a fold point&quot; option in the preference dialog. If activated, Geany will
 
848
unfold all nested fold points below the current one if they are already
 
849
folded (when clicking on a [+] symbol).
 
850
When clicking on a [-] symbol, Geany will fold all nested fold points
 
851
below the current one if they are unfolded.</p>
 
852
<p>The usage of this option can be instantly inverted by pressing the Shift
 
853
key while clicking on a fold symbol. That means, if the &quot;Fold/Unfold all
 
854
children of a fold point&quot; option is enabled, pressing Shift will disable
 
855
it for this click and vice versa.</p>
 
856
</div>
 
857
<div class="section">
 
858
<h3><a class="toc-backref" href="#id31" id="column-mode-editing" name="column-mode-editing">Column mode editing</a></h3>
 
859
<p>There is basic support for column mode editing. To use it, create a
 
860
rectangular selection by holding down the Control key while selecting
 
861
some text. It is also possible to create a zero-column selection but
 
862
be careful because there is no visual indication of this selection.
 
863
Once a rectangular selection exists you can start editing the text within
 
864
this selection and the modifications will be done for every line in the
 
865
selection.</p>
 
866
</div>
 
867
<div class="section">
 
868
<h3><a class="toc-backref" href="#id32" id="drag-and-drop-of-text" name="drag-and-drop-of-text">Drag and drop of text</a></h3>
 
869
<p>If you drag selected text in the editor widget of Geany the text is
 
870
moved to the position where the mouse pointer is when releasing the
 
871
mouse button. Holding Control when releasing the mouse button will
 
872
copy the text instead. This behaviour was changed in Geany 0.11 -
 
873
before the selected text was copied to the new position.</p>
 
874
</div>
 
875
<div class="section">
 
876
<h3><a class="toc-backref" href="#id33" id="indentation" name="indentation">Indentation</a></h3>
 
877
<p>Geany allows each document to indent either with a tab character
 
878
or multiple spaces. The default indent mode is set in the <a class="reference" href="#editor-tab-in-preferences-dialog">Editor
 
879
tab in preferences dialog</a>. But this can be overridden using either
 
880
the <em>Document-&gt;Indent Type</em> menu, or by using the <em>Detect from file</em>
 
881
indentation preference. When enabled, this scans each file that is opened
 
882
and sets the indent mode based on how many lines start with a tab vs. 2
 
883
or more spaces.</p>
 
884
<p>The indent mode for the current document is shown on the status bar
 
885
as follows:</p>
 
886
<dl class="docutils">
 
887
<dt>TAB</dt>
 
888
<dd>Indent with Tab characters.</dd>
 
889
<dt>SP</dt>
 
890
<dd>Indent with spaces.</dd>
 
891
</dl>
 
892
</div>
 
893
<div class="section">
 
894
<h3><a class="toc-backref" href="#id34" id="auto-indentation" name="auto-indentation">Auto-indentation</a></h3>
 
895
<p>When enabled, auto-indentation happens when pressing <em>Enter</em> in the
 
896
Editor. It adds a certain amount of indentation to the new line so the
 
897
user doesn't always have to indent each line manually.</p>
 
898
<p>Geany knows four types of auto-indentation:</p>
 
899
<dl class="docutils">
 
900
<dt>None</dt>
 
901
<dd>Disables auto-indentation completely.</dd>
 
902
<dt>Basic</dt>
 
903
<dd>Adds the same amount of whitespace on a new line as on the last line.</dd>
 
904
<dt>Current chars</dt>
 
905
<dd>Does the same as <em>Basic</em> but also indents a new line after an opening
 
906
brace '{', and de-indents when typing a closing brace '}'. For Python,
 
907
a new line will be indented after typing ':' at the end of the
 
908
previous line.</dd>
 
909
<dt>Match braces</dt>
 
910
<dd>Similar to <em>Current chars</em> but the closing brace will be aligned to
 
911
match the indentation of the line with the opening brace.</dd>
 
912
</dl>
 
913
</div>
 
914
<div class="section">
 
915
<h3><a class="toc-backref" href="#id35" id="bookmarks" name="bookmarks">Bookmarks</a></h3>
 
916
<p>Geany provides a handy bookmarking feature that lets you mark one
 
917
or more lines in a document, and return the cursor to them using a
 
918
key combination.</p>
 
919
<p>To place a mark on a line, either left-mouse-click in the left margin
 
920
of the editor window, or else use Ctrl-m. Either way, this will
 
921
produce a small green plus symbol in the margin. You can have as many
 
922
marks in a document as you like. Click again (or use Ctrl-m again)
 
923
to remove the bookmark. To remove all the marks in a given document,
 
924
use &quot;Remove Markers&quot; in the Document menu.</p>
 
925
<p>To navigate down your document, jumping from one mark to the next,
 
926
use Ctrl-. (control period). To go in the opposite direction on
 
927
the page, use Ctrl-, (control comma). Using the bookmarking feature
 
928
together with the commands to switch from one editor tab to another
 
929
(Ctrl-PgUp/PgDn and Ctrl-Tab) provides a particularly fast way to
 
930
navigate around multiple files.</p>
 
931
</div>
 
932
<div class="section">
 
933
<h3><a class="toc-backref" href="#id36" id="code-navigation-history" name="code-navigation-history">Code Navigation History</a></h3>
 
934
<p>To ease navigation in source files and especially between
 
935
different files, Geany lets you jump between different navigation
 
936
points. Currently, this works when using the <a class="reference" href="#go-to-tag-declaration">Go to tag declaration</a>,
 
937
<a class="reference" href="#go-to-tag-definition">Go to tag definition</a> commands and when clicking on symbol list
 
938
items.</p>
 
939
<p>When using one of these actions, Geany remembers your current position
 
940
and jumps to the new one. If you decide to go back to your previous
 
941
position in the file, just use &quot;Navigate back a location&quot;. To
 
942
get back to the new position again, just use &quot;Navigate forward a
 
943
location&quot;. This makes it easier to navigate in e.g.  foreign code
 
944
and between different files.</p>
 
945
</div>
 
946
<div class="section">
 
947
<h3><a class="toc-backref" href="#id37" id="send-text-through-definable-commands" name="send-text-through-definable-commands">Send text through definable commands</a></h3>
 
948
<p>You can define several custom commands in Geany and send the current
 
949
selection to one of these commands. The output of the command will be
 
950
used to replace the current selection. So, it is possible to use text
 
951
formatting tools with Geany in a general way. The selected text will
 
952
be sent to the standard input of the executed command, so the command
 
953
should be able to read from it and it should print all results to its
 
954
standard output which will be read by Geany. To help finding errors
 
955
in executing the command, the output of the program's standard error
 
956
will be printed on Geany's standard output.</p>
 
957
<p>To add a custom command, just go to the Set Custom Commands dialog
 
958
in the Format sub menu of the Edit and Popup menu. Then click on Add
 
959
to get a new text entry and type the command. You can also specify
 
960
some command line options. To delete a command, just clear the text
 
961
entry and press OK. It will be deleted automatically.</p>
 
962
</div>
 
963
<div class="section">
 
964
<h3><a class="toc-backref" href="#id38" id="context-actions" name="context-actions">Context actions</a></h3>
 
965
<p>You can execute a specified command on the current word near the
 
966
cursor position or an available selection and this word is passed
 
967
as an argument to this command. It can be used for example to open
 
968
some API documentation in a browser window or open any other external
 
969
program. To do this, there is an menu entry in the popup menu of the
 
970
editor widget and also a keyboard shortcut(see the section called
 
971
<a class="reference" href="#keybindings">Keybindings</a>).</p>
 
972
<p>The command can be specified in the preferences dialog and additionally
 
973
for each filetype (see &quot;context_action_cmd&quot; in the section called
 
974
<a class="reference" href="#format">Format</a>). At executing, the filetype specific command is used if
 
975
available otherwise the command specified in the preferences dialog
 
976
is executed.</p>
 
977
<p>The passed word can be referred with the wildcard &quot;%s&quot; everywhere
 
978
in the command, before executing it will be replaced by the current
 
979
word. For example, the command to open the PHP API documentation
 
980
would be:</p>
 
981
<pre class="literal-block">
 
982
firefox &quot;http://www.php.net/%s&quot;
 
983
</pre>
 
984
<p>when executing the command, the %s is substituted by the word near
 
985
the cursor position or by the current selection. If the cursor is at
 
986
the word &quot;echo&quot;, a browser window will open(assumed your browser is
 
987
called firefox) and it will open the address: <a class="reference" href="http://www.php.net/echo">http://www.php.net/echo</a>.</p>
 
988
</div>
 
989
<div class="section">
 
990
<h3><a class="toc-backref" href="#id39" id="user-definable-snippets" name="user-definable-snippets">User-definable snippets</a></h3>
 
991
<p>Snippets are small strings or code constructs which can be replaced or
 
992
completed to a more complex string. So you can save a lot of time by
 
993
not typing often used strings and letting Geany do the work for you.
 
994
To know what to complete or replace Geany reads a configuration file
 
995
called <tt class="docutils literal"><span class="pre">snippets.conf</span></tt> at startup.</p>
 
996
<p>The system-wide configuration file can be found in
 
997
<tt class="docutils literal"><span class="pre">$prefix/share/geany</span></tt>, where <tt class="docutils literal"><span class="pre">$prefix</span></tt> is the path where Geany is
 
998
installed (commonly <tt class="docutils literal"><span class="pre">/usr/local</span></tt>). It is not recommended to edit the
 
999
system-wide file, because it will be overridden when Geany is updated.</p>
 
1000
<p>To change the settings, copy the file from <tt class="docutils literal"><span class="pre">$prefix/share/geany</span></tt>
 
1001
in your configuration directory (usually <tt class="docutils literal"><span class="pre">~/.geany/</span></tt>).</p>
 
1002
<p>For example:</p>
 
1003
<pre class="literal-block">
 
1004
% cp /usr/local/share/geany/snippets.conf /home/username/.geany/
 
1005
</pre>
 
1006
<p>Then you can edit the file and the changes are also available
 
1007
after an update of Geany because the file resides in your
 
1008
configuration directory. Alternatively, you can create a file
 
1009
<tt class="docutils literal"><span class="pre">~/.geany/snippets.conf</span></tt> and add only these settings you want
 
1010
to change. All missing settings will be read from the global snippets
 
1011
file in <tt class="docutils literal"><span class="pre">$prefix/share/geany</span></tt>.</p>
 
1012
<p>The file <tt class="docutils literal"><span class="pre">snippets.conf</span></tt> may contain several sections for each
 
1013
filetype. It also contains two additional sections &quot;Default&quot; and
 
1014
&quot;Special&quot;. Default contains all snippets which are available
 
1015
for every filetype. You may define another section for a certain
 
1016
filetype(e.g. C++) containing the same snippets. Then when using
 
1017
such a snippet in a C++ file the snippet defined in the C++ section will
 
1018
be used. In any other file the snippet defined in the Default section will
 
1019
be used unless a section for the current filetype exists and the used
 
1020
snippet is defined in this section. The section &quot;Special&quot; contains special
 
1021
snippets which can only be used in other snippets. So you can define often
 
1022
used parts of snippets and just use the special snippet as a placeholder
 
1023
(see the <tt class="docutils literal"><span class="pre">snippets.conf</span></tt> for details).</p>
 
1024
<p>To define snippets you can use several special characters which
 
1025
will be replaced when using the snippet:</p>
 
1026
<p><strong>Wildcards for snippets</strong></p>
 
1027
<table border="1" class="docutils">
 
1028
<colgroup>
 
1029
<col width="22%" />
 
1030
<col width="78%" />
 
1031
</colgroup>
 
1032
<tbody valign="top">
 
1033
<tr><td>\n or %newline%</td>
 
1034
<td>Insert a new line (it will be replaced by the used EOL
 
1035
char(s): LF, CR/LF, or CR).</td>
 
1036
</tr>
 
1037
<tr><td>\t or %ws%</td>
 
1038
<td>Insert an indentation step, if using only spaces for
 
1039
indentation only spaces will be used.</td>
 
1040
</tr>
 
1041
<tr><td>\s</td>
 
1042
<td>\s to force whitespace at beginning or end of a value
 
1043
('key= value' won't work, use 'key=\svalue')</td>
 
1044
</tr>
 
1045
<tr><td>%cursor%</td>
 
1046
<td>Place the cursor at this position after completion has
 
1047
been done.</td>
 
1048
</tr>
 
1049
<tr><td>%...%</td>
 
1050
<td>&quot;...&quot; means the name of a key in the &quot;Special&quot; section.
 
1051
If you have defined a key &quot;brace_open&quot; in the &quot;Special&quot;
 
1052
section you can use %brace_open&quot; in any other snippet.</td>
 
1053
</tr>
 
1054
</tbody>
 
1055
</table>
 
1056
<p>Defined snippets must not contain spaces otherwise they won't
 
1057
work correctly. But beside that you can define almost everything
 
1058
string as a snippet and use it later in Geany. It is not limited
 
1059
to existing contructs of certain programming languages(like <tt class="docutils literal"><span class="pre">if</span></tt>,
 
1060
<tt class="docutils literal"><span class="pre">for</span></tt>, <tt class="docutils literal"><span class="pre">switch</span></tt>). Define whatever you need.</p>
 
1061
<p>Maybe you need to often type your name, so define a snippet like this:</p>
 
1062
<pre class="literal-block">
 
1063
[Default]
 
1064
myname=Enrico Tröger
 
1065
</pre>
 
1066
<p>Everytime you write <tt class="docutils literal"><span class="pre">myname</span></tt> &lt;TAB&gt; in Geany, it will replace &quot;myname&quot;
 
1067
with &quot;Enrico Tröger&quot;. The key to start auto completion can be changed
 
1068
in the preferences dialog, by default it is TAB.</p>
 
1069
<p>You may change the behaviour Geany recognizes the word to complete,
 
1070
i.e. where define the start and end of a word. The section &quot;Special&quot; may
 
1071
contain a key &quot;wordchars&quot; which lists all characters a string may contain
 
1072
to be recognized as a word for completion. Leave it commented to use
 
1073
default characters or define it to add or remove characters to fit your
 
1074
needs.</p>
 
1075
</div>
 
1076
<div class="section">
 
1077
<h3><a class="toc-backref" href="#id40" id="inserting-unicode-characters" name="inserting-unicode-characters">Inserting unicode characters</a></h3>
 
1078
<p>With GTK 2.10 and above, you can hit Ctrl-Shift-u, then still holding
 
1079
Ctrl-Shift, type some hex digits representing the code point for the
 
1080
character you want, then let go of Ctrl-Shift and hit a key such as
 
1081
the right arrow.</p>
 
1082
<p>For this to work in Geany, you'll need to first unbind Ctrl-Shift-u
 
1083
in the <a class="reference" href="#keybinding-tab-in-preferences-dialog">keybinding tab in preferences dialog</a>, then restart Geany.
 
1084
Note that it works slightly differently from other GTK applications,
 
1085
in that you'll need to continue to hold down the Ctrl and Shift keys
 
1086
while typing the code point hex digits.</p>
 
1087
<p>For GTK &lt; 2.10, it is also possible, but typing the first Ctrl-Shift-u
 
1088
is not necessary. One problem is that you may find the alphabetic
 
1089
keys conflict with other Geany keybindings.</p>
 
1090
</div>
 
1091
</div>
 
1092
<div class="section">
 
1093
<h2><a class="toc-backref" href="#id41" id="search-replace-and-go-to" name="search-replace-and-go-to">Search, replace and go to</a></h2>
 
1094
<p>This section describes search-related commands from the Search menu
 
1095
and the editor window's popup menu:</p>
 
1096
<ul class="simple">
 
1097
<li>Find</li>
 
1098
<li>Find usage *</li>
 
1099
<li>Find in files</li>
 
1100
<li>Replace</li>
 
1101
<li>Go to tag definition *</li>
 
1102
<li>Go to tag declaration *</li>
 
1103
<li>Go to line</li>
 
1104
</ul>
 
1105
<p>* These items are available from the editor window's popup menu, or by
 
1106
using a keyboard shortcut (see the section called <a class="reference" href="#keybindings">Keybindings</a>).</p>
 
1107
<div class="section">
 
1108
<h3><a class="toc-backref" href="#id42" id="find" name="find">Find</a></h3>
 
1109
<p>The Find dialog is used for finding text in one or more open documents.</p>
 
1110
<img alt="./images/find_dialog.png" src="./images/find_dialog.png" />
 
1111
<div class="section">
 
1112
<h4><a class="toc-backref" href="#id43" id="matching-options" name="matching-options">Matching options</a></h4>
 
1113
<p>The syntax for the Use regular expressions option is shown in
 
1114
<a class="reference" href="#regular-expressions">Regular expressions</a>.</p>
 
1115
<p>The Use escape sequences option will transform any escaped characters
 
1116
into their UTF-8 equivalent. For example, \t will be transformed into
 
1117
a tab character. Other recognised symbols are: \\, \n, \r, \uXXXX
 
1118
(Unicode chararacters).</p>
 
1119
</div>
 
1120
<div class="section">
 
1121
<h4><a class="toc-backref" href="#id44" id="find-all" name="find-all">Find all</a></h4>
 
1122
<p>To find all matches, click on the Find All expander. This will reveal
 
1123
several options:</p>
 
1124
<ul class="simple">
 
1125
<li>In Document</li>
 
1126
<li>In Session</li>
 
1127
<li>Mark</li>
 
1128
</ul>
 
1129
<p>Find All In Document will show a list of matching lines in the
 
1130
current document in the Messages tab of the Message Window. <em>Find All
 
1131
In Session</em> does the same for all open documents.</p>
 
1132
<p>Mark will set markers for all matching lines in the current document,
 
1133
if the Markers margin is visible. If not, the background colour of
 
1134
matching lines will be highlighted. Markers and highlighting can be
 
1135
removed by selecting the Remove Markers command from the Document menu.</p>
 
1136
</div>
 
1137
<div class="section">
 
1138
<h4><a class="toc-backref" href="#id45" id="change-font-in-search-dialog-text-fields" name="change-font-in-search-dialog-text-fields">Change font in search dialog text fields</a></h4>
 
1139
<p>All search related dialogs use a Monospace for the text input fields to
 
1140
increase the readibility of input text. This is useful when you are
 
1141
typing e.g. regular expressions with spaces, periods and commas which
 
1142
might it hard to read with a proportional font.</p>
 
1143
<p>If you want to change the font for some reason, you can do this easily
 
1144
by inserting the following style into your <tt class="docutils literal"><span class="pre">.gtkrc-2.0</span></tt>
 
1145
(usually found in your home directory on UNIX-like systems and in the
 
1146
etc subdirectory of your Geany installation on Windows):</p>
 
1147
<pre class="literal-block">
 
1148
style &quot;search_style&quot;
 
1149
{
 
1150
    font_name=&quot;Monospace 8&quot;
 
1151
}
 
1152
widget &quot;GeanyDialogSearch.*.GtkEntry&quot; style:highest &quot;search_style&quot;
 
1153
</pre>
 
1154
<p>Please note the addition &quot;:highest&quot; in the last line which sets the priority
 
1155
of this style to the highest available. Otherwise, the style is ignored
 
1156
for the search dialogs.</p>
 
1157
</div>
 
1158
</div>
 
1159
<div class="section">
 
1160
<h3><a class="toc-backref" href="#id46" id="find-usage" name="find-usage">Find usage</a></h3>
 
1161
<p>Find usage searches all open files. It is similar to the Find All In
 
1162
Session Find dialog command.</p>
 
1163
<p>If there is a selection, then it is used as the search text; otherwise
 
1164
the current word is used. The current word is either taken from the
 
1165
word nearest the edit cursor, or the word underneath the popup menu
 
1166
click position when the popup menu is used. The search results are
 
1167
shown in the Messages tab of the Message Window.</p>
 
1168
</div>
 
1169
<div class="section">
 
1170
<h3><a class="toc-backref" href="#id47" id="find-in-files" name="find-in-files">Find in files</a></h3>
 
1171
<p>Find in files is a more powerful version of Find usage that searches
 
1172
all files in a certain directory using the Grep tool. The Grep tool
 
1173
must be correctly set in Preferences to the path of the system's Grep
 
1174
utility. GNU Grep is recommended.</p>
 
1175
<img alt="./images/find_in_files_dialog.png" src="./images/find_in_files_dialog.png" />
 
1176
<p>The Extra options field is used to pass any additional arguments to
 
1177
the grep tool.</p>
 
1178
<div class="section">
 
1179
<h4><a class="toc-backref" href="#id48" id="filtering-out-version-control-files" name="filtering-out-version-control-files">Filtering out version control files</a></h4>
 
1180
<p>When using the <em>Recurse in subfolders</em> option with a directory that's
 
1181
under version control, you can set the <em>Extra options</em> field to use
 
1182
grep's <tt class="docutils literal"><span class="pre">--exclude</span></tt> flag to filter out filenames.</p>
 
1183
<p>SVN Example: <tt class="docutils literal"><span class="pre">--exclude=*.svn-base</span></tt></p>
 
1184
<p>The --exclude argument only matches the file name part, not the path. If
 
1185
you have GNU Grep &gt;= 2.5.2 you can use the <tt class="docutils literal"><span class="pre">--exclude-dir</span></tt> argument to
 
1186
filter out CVS and hidden directories like <tt class="docutils literal"><span class="pre">.svn</span></tt>.</p>
 
1187
<p>Example: <tt class="docutils literal"><span class="pre">--exclude-dir=.*</span> <span class="pre">--exclude-dir=CVS</span></tt></p>
 
1188
</div>
 
1189
</div>
 
1190
<div class="section">
 
1191
<h3><a class="toc-backref" href="#id49" id="replace" name="replace">Replace</a></h3>
 
1192
<p>The Replace dialog is used for replacing text in one or more open
 
1193
documents.</p>
 
1194
<img alt="./images/replace_dialog.png" src="./images/replace_dialog.png" />
 
1195
<p>The Replace dialog has the same options for matching text as the Find
 
1196
dialog. See the section called <a class="reference" href="#matching-options">Matching options</a>.</p>
 
1197
<p>The <em>Use regular expressions</em> option applies both to the search string
 
1198
and to the replacement text; for the latter back references can be
 
1199
used -- see the entry for '\n' in <a class="reference" href="#regular-expressions">Regular expressions</a>.</p>
 
1200
<div class="section">
 
1201
<h4><a class="toc-backref" href="#id50" id="replace-all" name="replace-all">Replace all</a></h4>
 
1202
<p>To replace several matches, click on the <em>Replace All</em> expander. This
 
1203
will reveal several options:</p>
 
1204
<ul class="simple">
 
1205
<li>In Document</li>
 
1206
<li>In Session</li>
 
1207
<li>In Selection</li>
 
1208
</ul>
 
1209
<p><em>Replace All In Document</em> will replace all matching text in the
 
1210
current document. <em>Replace All In Session</em> does the same for all open
 
1211
documents. <em>Replace All In Selection</em> will replace all matching text
 
1212
in the current selection of the current document.</p>
 
1213
</div>
 
1214
</div>
 
1215
<div class="section">
 
1216
<h3><a class="toc-backref" href="#id51" id="go-to-tag-definition" name="go-to-tag-definition">Go to tag definition</a></h3>
 
1217
<p>If the current word is the name of a tag definition (like a function
 
1218
body) and the file containing the tag definition is open, this command
 
1219
will switch to that file and go to the corresponding line number. The
 
1220
current word is either taken from the word nearest the edit cursor,
 
1221
or the word underneath the popup menu click position when the popup
 
1222
menu is used.</p>
 
1223
</div>
 
1224
<div class="section">
 
1225
<h3><a class="toc-backref" href="#id52" id="go-to-tag-declaration" name="go-to-tag-declaration">Go to tag declaration</a></h3>
 
1226
<p>Like Go to tag definition, but for a forward declaration such as a
 
1227
function prototype or <tt class="docutils literal"><span class="pre">extern</span></tt> declaration instead of a function
 
1228
body.</p>
 
1229
</div>
 
1230
<div class="section">
 
1231
<h3><a class="toc-backref" href="#id53" id="go-to-line" name="go-to-line">Go to line</a></h3>
 
1232
<p>Go to a particular line number in the current file.</p>
 
1233
</div>
 
1234
<div class="section">
 
1235
<h3><a class="toc-backref" href="#id54" id="regular-expressions" name="regular-expressions">Regular expressions</a></h3>
 
1236
<p>You can use regular expressions in the Find and Replace dialogs
 
1237
by selecting the Use regular expressions check box. The syntax is
 
1238
POSIX-like, as described below in <a class="reference" href="#regular-expressions">Regular expressions</a>.</p>
 
1239
<div class="note">
 
1240
<p class="first admonition-title">Note</p>
 
1241
<p class="last">Searching backwards with regular expressions is not supported.</p>
 
1242
</div>
 
1243
<p><strong>In a regular expression, the following characters are interpreted:</strong></p>
 
1244
<table border="1" class="docutils">
 
1245
<colgroup>
 
1246
<col width="8%" />
 
1247
<col width="92%" />
 
1248
</colgroup>
 
1249
<tbody valign="top">
 
1250
<tr><td>.</td>
 
1251
<td>Matches any character.</td>
 
1252
</tr>
 
1253
<tr><td>(</td>
 
1254
<td>This marks the start of a region for tagging a match.</td>
 
1255
</tr>
 
1256
<tr><td>)</td>
 
1257
<td>This marks the end of a tagged region.</td>
 
1258
</tr>
 
1259
<tr><td>\n</td>
 
1260
<td>Where n is 1 through 9 refers to the first through ninth tagged
 
1261
region when replacing. For example, if the search string was
 
1262
Fred([1-9])XXX and the replace string was Sam\1YYY, when applied
 
1263
to Fred2XXX this would generate Sam2YYY.</td>
 
1264
</tr>
 
1265
<tr><td>\&lt;</td>
 
1266
<td>This matches the start of a word.</td>
 
1267
</tr>
 
1268
<tr><td>\&gt;</td>
 
1269
<td>This matches the end of a word.</td>
 
1270
</tr>
 
1271
<tr><td>\x</td>
 
1272
<td>This allows you to use a character x that would otherwise have
 
1273
a special meaning. For example, \[ would be interpreted as [
 
1274
and not as the start of a character set. Use \\ for a literal
 
1275
backslash.</td>
 
1276
</tr>
 
1277
<tr><td>[...]</td>
 
1278
<td>This indicates a set of characters, for example, [abc] means
 
1279
any of the characters a, b or c. You can also use ranges, for
 
1280
example [a-z] for any lower case character.</td>
 
1281
</tr>
 
1282
<tr><td>[^...]</td>
 
1283
<td>The complement of the characters in the set. For example,
 
1284
[^A-Za-z] means any character except an alphabetic character.</td>
 
1285
</tr>
 
1286
<tr><td>^</td>
 
1287
<td>This matches the start of a line (unless used inside a set, see
 
1288
above).</td>
 
1289
</tr>
 
1290
<tr><td>$</td>
 
1291
<td>This matches the end of a line.</td>
 
1292
</tr>
 
1293
<tr><td>*</td>
 
1294
<td>This matches 0 or more times. For example, Sa*m matches Sm, Sam,
 
1295
Saam, Saaam and so on.</td>
 
1296
</tr>
 
1297
<tr><td>+</td>
 
1298
<td>This matches 1 or more times. For example, Sa+m matches Sam,
 
1299
Saam, Saaam and so on.</td>
 
1300
</tr>
 
1301
</tbody>
 
1302
</table>
 
1303
<div class="section">
 
1304
<h4><a class="toc-backref" href="#id55" id="partial-posix-compatibility" name="partial-posix-compatibility">Partial POSIX compatibility</a></h4>
 
1305
<p>Note that the POSIX '?' regular expression character for optional
 
1306
matching is not supported by the Find and Replace dialogs.</p>
 
1307
</div>
 
1308
</div>
 
1309
</div>
 
1310
<div class="section">
 
1311
<h2><a class="toc-backref" href="#id56" id="tags" name="tags">Tags</a></h2>
 
1312
<p>Geany has built-in functionality for generating tag information (aka
 
1313
&quot;workspace tags&quot;) for supported filetypes when you open a file.  You
 
1314
can also have Geany automatically load external tag files (aka &quot;global
 
1315
tags files&quot;) from its <tt class="docutils literal"><span class="pre">~/.geany/tags</span></tt> directory upon startup, or
 
1316
manually using <em>File --&gt; Load Tags</em>.</p>
 
1317
<p>Geany uses its own tag file format, similar to what <tt class="docutils literal"><span class="pre">ctags</span></tt> uses
 
1318
(but is incompatible with ctags). You use Geany to generate global
 
1319
tags files, as described below.</p>
 
1320
<div class="section">
 
1321
<h3><a class="toc-backref" href="#id57" id="workspace-tags" name="workspace-tags">Workspace tags</a></h3>
 
1322
<p>Tags for each document are parsed whenever a file is loaded or
 
1323
saved. These are shown in the Symbol list in the Sidebar. These tags
 
1324
are also used for autocompletion of symbols and calltips for all documents
 
1325
open in the current session that have the same filetype.</p>
 
1326
<p>The <em>Go to Tag</em> commands can be used with all workspace tags. See
 
1327
<a class="reference" href="#go-to-tag-definition">Go to tag definition</a>.</p>
 
1328
</div>
 
1329
<div class="section">
 
1330
<h3><a class="toc-backref" href="#id58" id="global-tags" name="global-tags">Global tags</a></h3>
 
1331
<p>Global tags are used to provide autocompletion of symbols and calltips
 
1332
without having to open the corresponding source files. This is intended
 
1333
for library APIs, as the tags file only has to be updated when you upgrade
 
1334
the library.</p>
 
1335
<p>You can load a custom global tags file in two ways:</p>
 
1336
<ul class="simple">
 
1337
<li>Using the <em>Load Tags</em> command in the File menu.</li>
 
1338
<li>By creating a directory <tt class="docutils literal"><span class="pre">~/.geany/tags</span></tt>, and moving or symlinking
 
1339
the tags files there before starting Geany.</li>
 
1340
</ul>
 
1341
<p>You can either download these files or generate your own. They have
 
1342
the format:</p>
 
1343
<pre class="literal-block">
 
1344
name.lang_ext.tags
 
1345
</pre>
 
1346
<p><em>lang_ext</em> is one of the extensions set for the filetype associated
 
1347
with the tags. See the section called <a class="reference" href="#filetype-extensions">Filetype extensions</a> for
 
1348
more information.</p>
 
1349
<div class="section">
 
1350
<h4><a class="toc-backref" href="#id59" id="default-global-tags-files" name="default-global-tags-files">Default global tags files</a></h4>
 
1351
<p>For some languages, a list of global tags is loaded when the
 
1352
corresponding filetype is first used. Currently these are for:</p>
 
1353
<ul class="simple">
 
1354
<li>C -- GTK+ and GLib</li>
 
1355
<li>Pascal</li>
 
1356
<li>PHP</li>
 
1357
<li>HTML -- &amp;symbol; completion, e.g. for ampersand, copyright, etc.</li>
 
1358
<li>LaTeX</li>
 
1359
</ul>
 
1360
</div>
 
1361
<div class="section">
 
1362
<h4><a class="toc-backref" href="#id60" id="generating-a-global-tags-file" name="generating-a-global-tags-file">Generating a global tags file</a></h4>
 
1363
<p><em>Filetypes support:</em></p>
 
1364
<p>Currently this is not yet supported for Pascal, PHP and LaTeX
 
1365
filetypes.</p>
 
1366
<p>You can generate your own global tags files by parsing a list of
 
1367
source files. The command is:</p>
 
1368
<pre class="literal-block">
 
1369
geany -g [-P] &lt;Tag File&gt; &lt;File list&gt;
 
1370
</pre>
 
1371
<ul class="simple">
 
1372
<li>Tag File should be in the format described earlier -- see the
 
1373
section called <a class="reference" href="#global-tags">Global tags</a>.</li>
 
1374
<li>File list is a list of filenames, each with a full path (unless
 
1375
you are generating C/C++ tags and have set the CFLAGS environment
 
1376
variable appropriately).</li>
 
1377
<li><tt class="docutils literal"><span class="pre">-P</span></tt> or <tt class="docutils literal"><span class="pre">--no-preprocessing</span></tt> disables using the C pre-processor
 
1378
to process <tt class="docutils literal"><span class="pre">#include</span></tt> directives for C/C++ source files. Use this
 
1379
option if you want to specify each source file on the command-line
 
1380
instead of using a 'master' header file. Also can be useful if you
 
1381
don't want to specify the CFLAGS environment variable.</li>
 
1382
</ul>
 
1383
<p>Example for the wxD library for the D programming language:</p>
 
1384
<pre class="literal-block">
 
1385
geany -g wxd.d.tags /home/username/wxd/wx/*.d
 
1386
</pre>
 
1387
<p><em>Generating C/C++ tag files:</em></p>
 
1388
<p>For C/C++ tag files, gcc and grep are required, so that header files
 
1389
can be preprocessed to include any other headers they depend upon.</p>
 
1390
<p>For C/C++ files, the environment variable CFLAGS should be set with
 
1391
appropriate <tt class="docutils literal"><span class="pre">-I/path</span></tt> include paths. The following example works with
 
1392
the bash shell, generating tags for the GnomeUI library:</p>
 
1393
<pre class="literal-block">
 
1394
CFLAGS=`pkg-config --cflags libgnomeui-2.0` geany -g gnomeui.c.tags \
 
1395
/usr/include/libgnomeui-2.0/gnome.h
 
1396
</pre>
 
1397
<p>You can adapt this command to use CFLAGS and header files appropriate
 
1398
for whichever libraries you want.</p>
 
1399
<p><em>Replacing the default C/C++ tags file:</em></p>
 
1400
<p>Geany currently uses a default global tags file global.tags for
 
1401
C and C++, commonly installed in /usr/share/geany. This file can
 
1402
be replaced with one containing tags parsed from a different set
 
1403
of header files. When Geany is next started, your custom tags file
 
1404
will be loaded instead of the default global.tags. You should keep a
 
1405
copy of the generated tags file because it will get overwritten when
 
1406
upgrading Geany.</p>
 
1407
</div>
 
1408
</div>
 
1409
<div class="section">
 
1410
<h3><a class="toc-backref" href="#id61" id="ignore-tags" name="ignore-tags">Ignore tags</a></h3>
 
1411
<p>You can also ignore certain tags if they would lead to wrong parsing of
 
1412
the code. Simply create a file called &quot;ignore.tags&quot; in your Geany
 
1413
configuration directory (usually <tt class="docutils literal"><span class="pre">~/.geany/</span></tt>). Then list all tags
 
1414
you want to ignore in this file, separated by spaces and/or newlines.</p>
 
1415
<p>More detailed information about the usage from the Exuberant Ctags
 
1416
manual page:</p>
 
1417
<pre class="literal-block">
 
1418
Specifies a list of identifiers which are to be specially handled
 
1419
while  parsing C and C++ source files. This option is specifically
 
1420
provided to handle special cases arising through the use of
 
1421
preprocessor macros. When the identifiers listed are simple identifiers,
 
1422
these identifiers will be ignored during parsing of the source files.
 
1423
If an identifier is suffixed with a '+' character, ctags will also
 
1424
ignore any parenthesis-enclosed argument list which may immediately
 
1425
follow the identifier in the source files.
 
1426
If two identifiers are separated with the '=' character, the first
 
1427
identifiers is replaced by the second identifiers for parsing purposes.
 
1428
</pre>
 
1429
<p>For even more detailed information please read the manual page of
 
1430
Exuberant Ctags.</p>
 
1431
</div>
 
1432
</div>
 
1433
<div class="section">
 
1434
<h2><a class="toc-backref" href="#id62" id="preferences" name="preferences">Preferences</a></h2>
 
1435
<p>You may adjust Geany's settings using the Edit --&gt; Preferences
 
1436
dialog. Any changes you make there can be applied by hitting either
 
1437
the Apply or the OK button. These settings will persist between Geany
 
1438
sessions. Note that most settings here have descriptive popup bubble
 
1439
help -- just hover the mouse over the item in question to get help
 
1440
on it.</p>
 
1441
<p>You may also adjust some View settings (under the View menu) that
 
1442
persist between Geany sessions. The settings under the Document menu,
 
1443
however, are only for the current document and revert to defaults
 
1444
when restarting Geany.</p>
 
1445
<p>There are also some rarer <a class="reference" href="#hidden-preferences">Hidden preferences</a>.</p>
 
1446
<div class="note">
 
1447
<p class="first admonition-title">Note</p>
 
1448
<p class="last">In the paragraphs that follow, the text describing a dialog tab
 
1449
comes after the screenshot of that tab.</p>
 
1450
</div>
 
1451
<div class="section">
 
1452
<h3><a class="toc-backref" href="#id63" id="general-tab-in-preferences-dialog" name="general-tab-in-preferences-dialog">General tab in preferences dialog</a></h3>
 
1453
<img alt="./images/pref_dialog_gen.png" src="./images/pref_dialog_gen.png" />
 
1454
<div class="section">
 
1455
<h4><a class="toc-backref" href="#id64" id="id1" name="id1">Startup</a></h4>
 
1456
<dl class="docutils">
 
1457
<dt>Load files from the last session</dt>
 
1458
<dd>On startup, load the same files you had open the last time you
 
1459
used Geany.</dd>
 
1460
<dt>Load virtual terminal support</dt>
 
1461
<dd>Load the library for running a terminal in the message window area.</dd>
 
1462
<dt>Enable plugin support</dt>
 
1463
<dd>Allow plugins to be used in Geany.</dd>
 
1464
</dl>
 
1465
</div>
 
1466
<div class="section">
 
1467
<h4><a class="toc-backref" href="#id65" id="shutdown" name="shutdown">Shutdown</a></h4>
 
1468
<dl class="docutils">
 
1469
<dt>Save window position and geometry</dt>
 
1470
<dd>Save the current position and size of the main window so next time
 
1471
you open Geany it's in the same location.</dd>
 
1472
<dt>Confirm Exit</dt>
 
1473
<dd>Have a dialog pop up to confirm that you really want to quit Geany.</dd>
 
1474
</dl>
 
1475
</div>
 
1476
<div class="section">
 
1477
<h4><a class="toc-backref" href="#id66" id="projects" name="projects">Projects</a></h4>
 
1478
<dl class="docutils">
 
1479
<dt>Use project-based session files</dt>
 
1480
<dd>Save your current session when closing projects. You will be able to
 
1481
resume different project sessions, automatically opening the files
 
1482
you had open previously.</dd>
 
1483
</dl>
 
1484
</div>
 
1485
<div class="section">
 
1486
<h4><a class="toc-backref" href="#id67" id="miscellaneous" name="miscellaneous">Miscellaneous</a></h4>
 
1487
<dl class="docutils">
 
1488
<dt>Beep on errors when compilation has finished</dt>
 
1489
<dd>Have the computer make a beeping sound when compilation of your program
 
1490
has completed or any errors occurred.</dd>
 
1491
</dl>
 
1492
<!-- Switch status message list at new message -->
 
1493
<!-- Suppress status message in the status bar -->
 
1494
<!-- Autofocus widgets (focus follows mouse) -->
 
1495
<!-- Always wrap search and hide the find dialog -->
 
1496
<dl class="docutils">
 
1497
<dt>Use current word under the cursor for Find dialogs</dt>
 
1498
<dd>Use the currently selected word as the search text when you open
 
1499
one of the Search dialogs.</dd>
 
1500
</dl>
 
1501
</div>
 
1502
</div>
 
1503
<div class="section">
 
1504
<h3><a class="toc-backref" href="#id68" id="interface-tab-in-preferences-dialog" name="interface-tab-in-preferences-dialog">Interface tab in preferences dialog</a></h3>
 
1505
<img alt="./images/pref_dialog_interface.png" src="./images/pref_dialog_interface.png" />
 
1506
<div class="section">
 
1507
<h4><a class="toc-backref" href="#id69" id="sidebar" name="sidebar">Sidebar</a></h4>
 
1508
<dl class="docutils">
 
1509
<dt>Show symbol list</dt>
 
1510
<dd>Show the list of functions, variables, and other information in the
 
1511
current document you are editing.</dd>
 
1512
<dt>Show documents list</dt>
 
1513
<dd>Show all the documents you have open currently. This can be used to
 
1514
change between documents (see <a class="reference" href="#switching-between-documents">Switching between documents</a>) and
 
1515
to perform some common operations such as saving, closing and reloading.</dd>
 
1516
<dt>Show full path name in documents list</dt>
 
1517
<dd>Show the full directory path of the files you are editing in the
 
1518
<em>Documents</em> list.</dd>
 
1519
</dl>
 
1520
</div>
 
1521
<div class="section">
 
1522
<h4><a class="toc-backref" href="#id70" id="fonts" name="fonts">Fonts</a></h4>
 
1523
<dl class="docutils">
 
1524
<dt>Editor</dt>
 
1525
<dd>Change the font used to display documents.</dd>
 
1526
<dt>Symbol list</dt>
 
1527
<dd>Change the font used for the Symbols sidebar tab.</dd>
 
1528
<dt>Message window</dt>
 
1529
<dd>Change the font used for the message window area.</dd>
 
1530
</dl>
 
1531
</div>
 
1532
<div class="section">
 
1533
<h4><a class="toc-backref" href="#id71" id="editor-tabs" name="editor-tabs">Editor tabs</a></h4>
 
1534
<dl class="docutils">
 
1535
<dt>Show editor tabs</dt>
 
1536
<dd>Show a notebook tab for all documents so you can switch between them
 
1537
using the mouse (instead of using the Documents window).</dd>
 
1538
<dt>Show close buttons</dt>
 
1539
<dd>Make each tab show a close button so you can easily close open
 
1540
documents.</dd>
 
1541
<dt>Placement of new file tabs</dt>
 
1542
<dd>Whether to create a document with its notebook tab to the left or
 
1543
right of all existing tabs.</dd>
 
1544
</dl>
 
1545
</div>
 
1546
<div class="section">
 
1547
<h4><a class="toc-backref" href="#id72" id="tab-positions" name="tab-positions">Tab positions</a></h4>
 
1548
<dl class="docutils">
 
1549
<dt>Editor</dt>
 
1550
<dd>Set the positioning of the editor's notebook tabs to the right,
 
1551
left, top, or bottom of the editing window.</dd>
 
1552
<dt>Sidebar</dt>
 
1553
<dd>Set the positioning of the sidebar's notebook tabs to the right,
 
1554
left, top, or bottom of the sidebar window.</dd>
 
1555
<dt>Message window</dt>
 
1556
<dd>Set the positioning of the message window's notebook tabs to the
 
1557
right, left, top, or bottom of the message window.</dd>
 
1558
</dl>
 
1559
</div>
 
1560
<div class="section">
 
1561
<h4><a class="toc-backref" href="#id73" id="id2" name="id2">Miscellaneous</a></h4>
 
1562
<dl class="docutils">
 
1563
<dt>Show status bar</dt>
 
1564
<dd>Show the status bar at the bottom of the main window. It gives information about
 
1565
the file you are editing like the line and column you are on, whether any
 
1566
modifications were done, the file encoding, the filetype and other information.</dd>
 
1567
</dl>
 
1568
</div>
 
1569
</div>
 
1570
<div class="section">
 
1571
<h3><a class="toc-backref" href="#id74" id="toolbar-tab-in-preferences-dialog" name="toolbar-tab-in-preferences-dialog">Toolbar tab in preferences dialog</a></h3>
 
1572
<p>Affects the main toolbar underneath the menu bar.</p>
 
1573
<img alt="./images/pref_dialog_toolbar.png" src="./images/pref_dialog_toolbar.png" />
 
1574
<div class="section">
 
1575
<h4><a class="toc-backref" href="#id75" id="toolbar" name="toolbar">Toolbar</a></h4>
 
1576
<dl class="docutils">
 
1577
<dt>Show Toolbar</dt>
 
1578
<dd>Whether to show the toolbar.</dd>
 
1579
</dl>
 
1580
</div>
 
1581
<div class="section">
 
1582
<h4><a class="toc-backref" href="#id76" id="items" name="items">Items</a></h4>
 
1583
<dl class="docutils">
 
1584
<dt>Show file operation buttons</dt>
 
1585
<dd>Show the buttons to open a new file, open an existing file, save a file,
 
1586
and save all files.</dd>
 
1587
<dt>Show Redo and Undo buttons</dt>
 
1588
<dd>Show the undo/redo change buttons.</dd>
 
1589
<dt>Show Back and Forward buttons</dt>
 
1590
<dd>Show the buttons to navigate forwards and backwards between positions
 
1591
in the current session's documents.</dd>
 
1592
<dt>Show Compile and Run buttons</dt>
 
1593
<dd>Show the buttons to run or compile a file.</dd>
 
1594
<dt>Show Color Chooser button</dt>
 
1595
<dd>Show the button to run the color chooser dialog.</dd>
 
1596
<dt>Show Zoom In and Zoom Out buttons</dt>
 
1597
<dd>Show the buttons to zoom in closer to a document or zoom out.</dd>
 
1598
<dt>Show Increase and Decrease Indentation buttons</dt>
 
1599
<dd>Show the buttons to increase or decrease the current line or
 
1600
selection's indentation.</dd>
 
1601
<dt>Show Search field</dt>
 
1602
<dd>Show the incremental search bar in the toolbar (quicker than using
 
1603
the Find command).</dd>
 
1604
<dt>Show Go to Line field</dt>
 
1605
<dd>Show a line number text entry (quicker than using the Go to Line
 
1606
command).</dd>
 
1607
<dt>Show Quit button</dt>
 
1608
<dd>Show a button to quit geany.</dd>
 
1609
</dl>
 
1610
</div>
 
1611
<div class="section">
 
1612
<h4><a class="toc-backref" href="#id77" id="appearance" name="appearance">Appearance</a></h4>
 
1613
<dl class="docutils">
 
1614
<dt>Icon Style</dt>
 
1615
<dd>Select the toolbar icon style to use - either icons and text, just
 
1616
icons or just text.</dd>
 
1617
<dt>Icon size</dt>
 
1618
<dd>Select the size of the icons you see (large or small).</dd>
 
1619
</dl>
 
1620
</div>
 
1621
</div>
 
1622
<div class="section">
 
1623
<h3><a class="toc-backref" href="#id78" id="display-tab-in-preferences-dialog" name="display-tab-in-preferences-dialog">Display tab in preferences dialog</a></h3>
 
1624
<p>This is for visual elements displayed in the editor window.</p>
 
1625
<img alt="./images/pref_dialog_display.png" src="./images/pref_dialog_display.png" />
 
1626
<div class="section">
 
1627
<h4><a class="toc-backref" href="#id79" id="display" name="display">Display</a></h4>
 
1628
<dl class="docutils">
 
1629
<dt>Show indendation guides</dt>
 
1630
<dd>Show vertical lines to help show how much leading indentation there
 
1631
is on each line.</dd>
 
1632
<dt>Show whitespaces</dt>
 
1633
<dd>Mark all tabs with an arrow &quot;--&gt;&quot; symbol and spaces with dots to
 
1634
show which kinds of whitespace are used.</dd>
 
1635
<dt>Show line endings</dt>
 
1636
<dd>Displays a symbol everywhere that a carriage return or line feed
 
1637
is present.</dd>
 
1638
</dl>
 
1639
</div>
 
1640
<div class="section">
 
1641
<h4><a class="toc-backref" href="#id80" id="long-line-marker" name="long-line-marker">Long line marker</a></h4>
 
1642
<p>The long line marker helps to indicate overly-long lines, or as a hint
 
1643
for when to break the line.</p>
 
1644
<dl class="docutils">
 
1645
<dt>Type</dt>
 
1646
<dd><dl class="first last docutils">
 
1647
<dt>Line</dt>
 
1648
<dd>Show a thin vertical line in the editor window at the given column
 
1649
position.</dd>
 
1650
<dt>Background</dt>
 
1651
<dd>Change the background color of characters after the given column
 
1652
position to the color set below. (This is recommended over the
 
1653
<em>Line</em> setting if you use proportional fonts).</dd>
 
1654
<dt>Disabled</dt>
 
1655
<dd>Don't mark long lines at all.</dd>
 
1656
</dl>
 
1657
</dd>
 
1658
<dt>Long line marker</dt>
 
1659
<dd>Set this value to a value greater than zero to specify the column
 
1660
where it should appear.</dd>
 
1661
<dt>Long line marker color</dt>
 
1662
<dd>Set the color of the long line marker.</dd>
 
1663
</dl>
 
1664
</div>
 
1665
</div>
 
1666
<div class="section">
 
1667
<h3><a class="toc-backref" href="#id81" id="editor-tab-in-preferences-dialog" name="editor-tab-in-preferences-dialog">Editor tab in preferences dialog</a></h3>
 
1668
<img alt="./images/pref_dialog_edit.png" src="./images/pref_dialog_edit.png" />
 
1669
<div class="section">
 
1670
<h4><a class="toc-backref" href="#id82" id="indentation-group" name="indentation-group">Indentation group</a></h4>
 
1671
<p>See <a class="reference" href="#indentation">Indentation</a> for more information.</p>
 
1672
<dl class="docutils">
 
1673
<dt>Type</dt>
 
1674
<dd>Whether to use tabs or spaces for indentation.</dd>
 
1675
<dt>Tab width</dt>
 
1676
<dd>The width of a single indent size in spaces. By default the indent
 
1677
size is the equivalent of 4 spaces.</dd>
 
1678
<dt>Auto-indent mode</dt>
 
1679
<dd><p class="first">The type of auto-indentation you wish to use after pressing Enter,
 
1680
if any.</p>
 
1681
<dl class="last docutils">
 
1682
<dt>Basic</dt>
 
1683
<dd>Just add the indentation of the previous line.</dd>
 
1684
<dt>Current chars</dt>
 
1685
<dd>Add indentation based on the current filetype and any characters at
 
1686
the end of the line such as <tt class="docutils literal"><span class="pre">{</span></tt>, <tt class="docutils literal"><span class="pre">}</span></tt> for C, <tt class="docutils literal"><span class="pre">:</span></tt> for Python.</dd>
 
1687
<dt>Match braces</dt>
 
1688
<dd>Like <em>Current chars</em> but for C-like languages, make a closing
 
1689
<tt class="docutils literal"><span class="pre">}</span></tt> brace line up with the matching opening brace.</dd>
 
1690
</dl>
 
1691
</dd>
 
1692
</dl>
 
1693
</div>
 
1694
<div class="section">
 
1695
<h4><a class="toc-backref" href="#id83" id="features" name="features">Features</a></h4>
 
1696
<dl class="docutils">
 
1697
<dt>Line wrapping</dt>
 
1698
<dd><p class="first">Show long lines wrapped around to new display lines.</p>
 
1699
<div class="last note">
 
1700
<p class="first admonition-title">Note</p>
 
1701
<p class="last">Currently, there is no setting to have Geany automatically insert
 
1702
newlines into your document while you type.</p>
 
1703
</div>
 
1704
</dd>
 
1705
<dt>Enable &quot;smart&quot; home key</dt>
 
1706
<dd>Whether to move the cursor to the first non-whitespace character
 
1707
on the line when you hit the home key on your keyboard. Pressing it
 
1708
again will go to the very start of the line.</dd>
 
1709
<dt>Disable Drag and Drop</dt>
 
1710
<dd>Do not allow the dragging and dropping of selected text in documents.</dd>
 
1711
<dt>Enable folding</dt>
 
1712
<dd>Allow groups of lines in a document to be collapsed for easier
 
1713
navigation/editing.</dd>
 
1714
<dt>Fold/Unfold all children of a fold point</dt>
 
1715
<dd>Whether to fold/unfold all child fold points when a parent line
 
1716
is folded.</dd>
 
1717
<dt>Use indicators to show compile errors</dt>
 
1718
<dd>Underline lines with compile errors using red squiggles to indicate
 
1719
them in the editor area.</dd>
 
1720
<dt>Newline strip trailing spaces</dt>
 
1721
<dd>Remove any white space at the end of the line when you hit the
 
1722
Enter/Return key.</dd>
 
1723
</dl>
 
1724
</div>
 
1725
<div class="section">
 
1726
<h4><a class="toc-backref" href="#id84" id="completions" name="completions">Completions</a></h4>
 
1727
<dl class="docutils">
 
1728
<dt>Snippet Completion</dt>
 
1729
<dd>Whether to replace special keywords after typing Tab into a
 
1730
pre-defined text snippet.
 
1731
See <a class="reference" href="#user-definable-snippets">User-definable snippets</a>.</dd>
 
1732
<dt>XML tag autocompletion</dt>
 
1733
<dd>When you open an XML tag automatically generate its completion tag.</dd>
 
1734
<dt>Automatic symbol completion</dt>
 
1735
<dd>When you start to type a symbol name, look for the full string to
 
1736
allow it to be completed for you.</dd>
 
1737
<dt>Characters to type for completion</dt>
 
1738
<dd>Number of characters of a word to type before autocompletion is
 
1739
displayed.</dd>
 
1740
<dt>Rows of symbol completion list</dt>
 
1741
<dd>The maximum number of symbols to show in the autocompletion window.</dd>
 
1742
</dl>
 
1743
</div>
 
1744
</div>
 
1745
<div class="section">
 
1746
<h3><a class="toc-backref" href="#id85" id="files-tab-in-preferences-dialog" name="files-tab-in-preferences-dialog">Files tab in preferences dialog</a></h3>
 
1747
<img alt="./images/pref_dialog_files.png" src="./images/pref_dialog_files.png" />
 
1748
<div class="section">
 
1749
<h4><a class="toc-backref" href="#id86" id="new-files" name="new-files">New files</a></h4>
 
1750
<dl class="docutils">
 
1751
<dt>Default encoding (new files)</dt>
 
1752
<dd>The type of file encoding you wish to use when creating files.</dd>
 
1753
<dt>Used fixed encoding when opening files</dt>
 
1754
<dd>Assume all files you are opening are using the type of encoding specified below.</dd>
 
1755
<dt>Default encoding (existing files)</dt>
 
1756
<dd>Opens all files with the specified encoding instead of auto-detecting it.
 
1757
Use this option when it's not possible for Geany to detect the exact encoding.</dd>
 
1758
</dl>
 
1759
</div>
 
1760
<div class="section">
 
1761
<h4><a class="toc-backref" href="#id87" id="saving-files" name="saving-files">Saving files</a></h4>
 
1762
<p>Perform special formatting operations when a document is saved. These
 
1763
can each be undone with the Undo command as usual.</p>
 
1764
<dl class="docutils">
 
1765
<dt>Ensure newline at file end</dt>
 
1766
<dd>Add a newline at the end of the document if one is missing.</dd>
 
1767
<dt>Strip trailing spaces</dt>
 
1768
<dd>Remove the trailing spaces on each line of the document.</dd>
 
1769
<dt>Replace tabs by space</dt>
 
1770
<dd><p class="first">Replace all tabs in the document with the equivalent number of spaces.</p>
 
1771
<div class="last note">
 
1772
<p class="first admonition-title">Note</p>
 
1773
<p class="last">It is better to use spaces to indent than use this preference - see
 
1774
<a class="reference" href="#indentation">Indentation</a>.</p>
 
1775
</div>
 
1776
</dd>
 
1777
</dl>
 
1778
</div>
 
1779
<div class="section">
 
1780
<h4><a class="toc-backref" href="#id88" id="id3" name="id3">Miscellaneous</a></h4>
 
1781
<dl class="docutils">
 
1782
<dt>Recent files list length</dt>
 
1783
<dd>The number of files to remember in the recently used files list.</dd>
 
1784
</dl>
 
1785
</div>
 
1786
</div>
 
1787
<div class="section">
 
1788
<h3><a class="toc-backref" href="#id89" id="tools-tab-in-preferences-dialog" name="tools-tab-in-preferences-dialog">Tools tab in preferences dialog</a></h3>
 
1789
<img alt="./images/pref_dialog_tools.png" src="./images/pref_dialog_tools.png" />
 
1790
<div class="section">
 
1791
<h4><a class="toc-backref" href="#id90" id="tool-paths" name="tool-paths">Tool paths</a></h4>
 
1792
<dl class="docutils">
 
1793
<dt>Make</dt>
 
1794
<dd>The location of the make executable.</dd>
 
1795
<dt>Terminal</dt>
 
1796
<dd>The location of your terminal executable.</dd>
 
1797
<dt>Browser</dt>
 
1798
<dd>The location of your web browser executable.</dd>
 
1799
<dt>Grep</dt>
 
1800
<dd>The location of the grep executable.</dd>
 
1801
</dl>
 
1802
<div class="note">
 
1803
<p class="first admonition-title">Note</p>
 
1804
<p class="last">For Windows users: at the time of writing it is recommended to use
 
1805
the grep.exe from the UnxUtils project
 
1806
(<a class="reference" href="http://sourceforge.net/projects/unxutils">http://sourceforge.net/projects/unxutils</a>). The grep.exe from the
 
1807
Mingw project for instance might not work with Geany at the moment.</p>
 
1808
</div>
 
1809
</div>
 
1810
<div class="section">
 
1811
<h4><a class="toc-backref" href="#id91" id="commands" name="commands">Commands</a></h4>
 
1812
<dl class="docutils">
 
1813
<dt>Context action</dt>
 
1814
<dd>Set this to a command to execute on the current word.
 
1815
You can use the &quot;%s&quot; wildcard to pass the current word below the cursor
 
1816
to the specified command.</dd>
 
1817
</dl>
 
1818
</div>
 
1819
</div>
 
1820
<div class="section">
 
1821
<h3><a class="toc-backref" href="#id92" id="template-tab-in-preferences-dialog" name="template-tab-in-preferences-dialog">Template tab in preferences dialog</a></h3>
 
1822
<p>This data is used as metadata for various template text to insert into
 
1823
a document, such as the file header. You only need to set fields that
 
1824
you want to use in your template files.</p>
 
1825
<div class="note">
 
1826
<p class="first admonition-title">Note</p>
 
1827
<p class="last">For changes made here to take effect a restart of geany is required.</p>
 
1828
</div>
 
1829
<img alt="./images/pref_dialog_templ.png" src="./images/pref_dialog_templ.png" />
 
1830
<div class="section">
 
1831
<h4><a class="toc-backref" href="#id93" id="template-data" name="template-data">Template data</a></h4>
 
1832
<dl class="docutils">
 
1833
<dt>Developer</dt>
 
1834
<dd>The name of the developer who will be creating files.</dd>
 
1835
<dt>Initials</dt>
 
1836
<dd>The initials of the developer.</dd>
 
1837
<dt>Mail address</dt>
 
1838
<dd><p class="first">The email address of the developer.</p>
 
1839
<div class="last note">
 
1840
<p class="first admonition-title">Note</p>
 
1841
<p class="last">You may wish to add anti-spam markup, e.g. <tt class="docutils literal"><span class="pre">name&lt;at&gt;site&lt;dot&gt;ext</span></tt>.</p>
 
1842
</div>
 
1843
</dd>
 
1844
<dt>Company</dt>
 
1845
<dd>The company the developer is working for.</dd>
 
1846
<dt>Initial version</dt>
 
1847
<dd>The initial version of files you will be creating.</dd>
 
1848
</dl>
 
1849
</div>
 
1850
</div>
 
1851
<div class="section">
 
1852
<h3><a class="toc-backref" href="#id94" id="keybinding-tab-in-preferences-dialog" name="keybinding-tab-in-preferences-dialog">Keybinding tab in preferences dialog</a></h3>
 
1853
<img alt="./images/pref_dialog_keys.png" src="./images/pref_dialog_keys.png" />
 
1854
<p>There are some handy commands in here that are not, by default,
 
1855
bound to a key combination, and may not be available as a menu item.</p>
 
1856
<div class="note">
 
1857
<p class="first admonition-title">Note</p>
 
1858
<p class="last">For more information see the section called <a class="reference" href="#keybindings">Keybindings</a>.</p>
 
1859
</div>
 
1860
</div>
 
1861
<div class="section">
 
1862
<h3><a class="toc-backref" href="#id95" id="printing-tab-in-preferences-dialog" name="printing-tab-in-preferences-dialog">Printing tab in preferences dialog</a></h3>
 
1863
<img alt="./images/pref_dialog_printing.png" src="./images/pref_dialog_printing.png" />
 
1864
<dl class="docutils">
 
1865
<dt>Use external command for printing</dt>
 
1866
<dd>Use a system command to print your file out.</dd>
 
1867
<dt>Use native GTK printing</dt>
 
1868
<dd>Let the GTK GUI toolkit handle your print request.</dd>
 
1869
<dt>Print line numbers</dt>
 
1870
<dd>Print the line numbers on the left of your paper.</dd>
 
1871
<dt>Print page number</dt>
 
1872
<dd>Print the page number on the bottom right of your paper.</dd>
 
1873
<dt>Print page header</dt>
 
1874
<dd>Print a header on every page that is sent to the printer.</dd>
 
1875
<dt>Use base name of the printed file</dt>
 
1876
<dd>Don't use the entire path for the header, only the filename.</dd>
 
1877
<dt>Date format</dt>
 
1878
<dd>How the date should be printed. You can use the same format
 
1879
specifiers as in the ANSI C function strftime(). For details please
 
1880
see <a class="reference" href="http://man.cx/strftime">http://man.cx/strftime</a>.</dd>
 
1881
</dl>
 
1882
</div>
 
1883
<div class="section">
 
1884
<h3><a class="toc-backref" href="#id96" id="vte-tab-in-preferences-dialog" name="vte-tab-in-preferences-dialog">VTE tab in preferences dialog</a></h3>
 
1885
<p>See also: <a class="reference" href="#virtual-terminal-emulator-widget-vte">Virtual terminal emulator widget (VTE)</a>.</p>
 
1886
<img alt="./images/pref_dialog_vte.png" src="./images/pref_dialog_vte.png" />
 
1887
<div class="section">
 
1888
<h4><a class="toc-backref" href="#id97" id="terminal-widget" name="terminal-widget">Terminal widget</a></h4>
 
1889
<dl class="docutils">
 
1890
<dt>Terminal font</dt>
 
1891
<dd>Select the font that will be used in the terminal emulation control.</dd>
 
1892
<dt>Foreground color</dt>
 
1893
<dd>Select the font color.</dd>
 
1894
<dt>Background color</dt>
 
1895
<dd>Select the background color of the terminal.</dd>
 
1896
<dt>Scrollback lines</dt>
 
1897
<dd>The number of lines buffered so that you can scroll though the history.</dd>
 
1898
<dt>Terminal emulation</dt>
 
1899
<dd>Controls how the terminal emulator should behave.
 
1900
Do not change this value unless you know exactly what you are doing.
 
1901
At time of writing only &quot;xterm&quot; is supported. For further details refer
 
1902
to the documentation of the libvte package.</dd>
 
1903
<dt>Shell</dt>
 
1904
<dd>The location of the shell on your system.</dd>
 
1905
<dt>Scroll on keystroke</dt>
 
1906
<dd>Scroll the terminal to the prompt line when pressing a key.</dd>
 
1907
<dt>Scroll on output</dt>
 
1908
<dd>Scroll the output down.</dd>
 
1909
<dt>Override Geany keybindings</dt>
 
1910
<dd>Allows the VTE to receive keyboard shortcuts (apart from focus commands).</dd>
 
1911
<dt>Disable menu shortcut key (F10 by default)</dt>
 
1912
<dd>Disable the menu shortcut when you are in the virtual terminal.</dd>
 
1913
<dt>Follow path of the current file</dt>
 
1914
<dd>Make the path of the terminal change according to the path of the
 
1915
current file.</dd>
 
1916
<dt>Execute programs in VTE</dt>
 
1917
<dd>Execute programs in the virtual terminal instead of using the external
 
1918
terminal tool.</dd>
 
1919
<dt>Don't use run script</dt>
 
1920
<dd>Don't use the simple run script which is usually used to display
 
1921
the exit status of the executed program.
 
1922
This can be useful if you already have a program running in the VTE
 
1923
like a Python console (e.g. ipython). Use this with care.</dd>
 
1924
</dl>
 
1925
</div>
 
1926
</div>
 
1927
</div>
 
1928
<div class="section">
 
1929
<h2><a class="toc-backref" href="#id98" id="project-management" name="project-management">Project Management</a></h2>
 
1930
<p>Project Management is optional in Geany. Currently it can be used for:</p>
 
1931
<ul class="simple">
 
1932
<li>Storing and opening session files on a project basis.</li>
 
1933
<li>Running <em>Make</em> from the project's base directory.</li>
 
1934
<li>Setting a custom <em>Run</em> command specific to the project.</li>
 
1935
</ul>
 
1936
<p>A list of session files can be stored and opened with the project
 
1937
when the <em>Use project-based session files</em> preference is enabled,
 
1938
in the <em>Project</em> group of the <a class="reference" href="#preferences">Preferences</a> dialog.</p>
 
1939
<p>As long as a project is open, the Make and Run commands will use
 
1940
the project's settings, instead of the defaults. These will be used
 
1941
whichever document is currently displayed.</p>
 
1942
<p>The current project's settings are saved when it is closed, or when
 
1943
Geany is shutdown. When restarting Geany, the previously opened project
 
1944
file that was in use at the end of the last session will be reopened.</p>
 
1945
<p>Below are the commands used to create, modify, open and close projects.</p>
 
1946
<div class="section">
 
1947
<h3><a class="toc-backref" href="#id99" id="new-project" name="new-project">New Project</a></h3>
 
1948
<p>To create a new project, fill in the <em>Name</em> field. By default this
 
1949
will setup a new project file <tt class="docutils literal"><span class="pre">~/projects/name.geany</span></tt>. Usually it's
 
1950
best to store all your project files in the same directory (they are
 
1951
independent of any source directory trees).</p>
 
1952
<p>The Base path text field is setup to use <tt class="docutils literal"><span class="pre">~/projects/name</span></tt>. This
 
1953
can safely be set to any existing path -- it will not touch the file
 
1954
structure contained in it.</p>
 
1955
</div>
 
1956
<div class="section">
 
1957
<h3><a class="toc-backref" href="#id100" id="project-properties" name="project-properties">Project Properties</a></h3>
 
1958
<p>You can set an optional description for the project, but it is not
 
1959
used elsewhere by Geany.</p>
 
1960
<p>The <em>Base path</em> field is used as the directory to run the Make and Make
 
1961
custom commands in. It is also used as working directory for the project
 
1962
specific <em>Run command</em>.
 
1963
The specified path can be an absolute path or relative to the project's
 
1964
file name.</p>
 
1965
<div class="section">
 
1966
<h4><a class="toc-backref" href="#id101" id="make-in-base-path" name="make-in-base-path">Make in base path</a></h4>
 
1967
<p>This setting makes the <em>Build-&gt;Make</em> command use the project's base
 
1968
path. Uncheck this if you want to use the current file's directory
 
1969
instead.</p>
 
1970
</div>
 
1971
<div class="section">
 
1972
<h4><a class="toc-backref" href="#id102" id="run-command" name="run-command">Run command</a></h4>
 
1973
<p>The <em>Run command</em> overrides the default run command. You can set this
 
1974
to the executable or main script file for the project, and append
 
1975
any command-line arguments.</p>
 
1976
<p>The following variables can be used:</p>
 
1977
<ul class="simple">
 
1978
<li>%f -- complete filename without path</li>
 
1979
<li>%e -- filename without path and without extension</li>
 
1980
</ul>
 
1981
<p>See <a class="reference" href="#build-settings-section">[build_settings] Section</a> for details.</p>
 
1982
</div>
 
1983
</div>
 
1984
<div class="section">
 
1985
<h3><a class="toc-backref" href="#id103" id="open-project" name="open-project">Open Project</a></h3>
 
1986
<p>The Open command displays a standard file chooser, starting in
 
1987
<tt class="docutils literal"><span class="pre">~/projects</span></tt>. Choose a project file named with the <tt class="docutils literal"><span class="pre">.geany</span></tt>
 
1988
extension.</p>
 
1989
<p>When project session support is enabled, Geany will close the currently
 
1990
open files and open the session files associated with the project.</p>
 
1991
</div>
 
1992
<div class="section">
 
1993
<h3><a class="toc-backref" href="#id104" id="close-project" name="close-project">Close Project</a></h3>
 
1994
<p>Project file settings are saved when the project is closed.</p>
 
1995
<p>When project session support is enabled, Geany will close the project
 
1996
session files and open any previously closed default session files.</p>
 
1997
</div>
 
1998
</div>
 
1999
<div class="section">
 
2000
<h2><a class="toc-backref" href="#id105" id="build-system" name="build-system">Build system</a></h2>
 
2001
<p>Geany has an integrated build system. Firstly this means that the
 
2002
current source file will be saved before it is processed. This is
 
2003
for convenience so that you don't need to keep saving small changes
 
2004
to the current file before building.</p>
 
2005
<p>Secondly the output for Compile, Build and Make actions will be
 
2006
captured in the Compiler notebook tab of the messages window (assuming
 
2007
you have it visible). If there are any warnings or errors with line
 
2008
numbers shown in the Compiler output tab, you can double click on
 
2009
them and Geany will switch to the relevant source file (if it is open)
 
2010
and mark the line number so the problem can be corrected. Geany will
 
2011
also set indicators for warnings or errors with line numbers.</p>
 
2012
<p>Depending on the current file's filetype, the Build menu will contain
 
2013
the following items:</p>
 
2014
<ul class="simple">
 
2015
<li>Compile</li>
 
2016
<li>Build</li>
 
2017
<li>Make all</li>
 
2018
<li>Make custom target</li>
 
2019
<li>Make object</li>
 
2020
<li>Execute</li>
 
2021
<li>Set Includes and Arguments</li>
 
2022
</ul>
 
2023
<div class="section">
 
2024
<h3><a class="toc-backref" href="#id106" id="compile" name="compile">Compile</a></h3>
 
2025
<p>The Compile command has different uses for different kinds of files.</p>
 
2026
<p>For compilable languages such as C and C++, the Compile command is
 
2027
setup to compile the current source file into a binary object file.</p>
 
2028
<p>Java source files will be compiled to class file bytecode. Interpreted
 
2029
languages such as Perl, Python, Ruby will compile to bytecode if the
 
2030
language supports it, or will run a syntax check, or failing that
 
2031
will run the file in its language interpreter.</p>
 
2032
</div>
 
2033
<div class="section">
 
2034
<h3><a class="toc-backref" href="#id107" id="build" name="build">Build</a></h3>
 
2035
<p>For compilable languages such as C and C++, the Build command will link
 
2036
the current source file's equivalent object file into an executable. If
 
2037
the object file does not exist, the source will be compiled and linked
 
2038
in one step, producing just the executable binary.</p>
 
2039
<p>Interpreted languages do not use the Build command.</p>
 
2040
</div>
 
2041
<div class="section">
 
2042
<h3><a class="toc-backref" href="#id108" id="make-all" name="make-all">Make all</a></h3>
 
2043
<p>This effectively runs &quot;make all&quot; in the same directory as the
 
2044
current file.</p>
 
2045
<div class="note">
 
2046
<p class="first admonition-title">Note</p>
 
2047
<p class="last">For each of the Make commands, The Make tool path must be correctly
 
2048
set in the Tools tab of the Preferences dialog.</p>
 
2049
</div>
 
2050
</div>
 
2051
<div class="section">
 
2052
<h3><a class="toc-backref" href="#id109" id="make-custom-target" name="make-custom-target">Make custom target</a></h3>
 
2053
<p>This is similar to running 'Make all' but you will be prompted for
 
2054
the make target name to be passed to the Make tool. For example,
 
2055
typing 'clean' in the dialog prompt will run &quot;make clean&quot;.</p>
 
2056
</div>
 
2057
<div class="section">
 
2058
<h3><a class="toc-backref" href="#id110" id="make-object" name="make-object">Make object</a></h3>
 
2059
<p>Make object will run &quot;make current_file.o&quot; in the same directory as
 
2060
the current file, using its prefix for 'current_file'. It is useful
 
2061
for compiling just the current file without building the whole project.</p>
 
2062
</div>
 
2063
<div class="section">
 
2064
<h3><a class="toc-backref" href="#id111" id="execute" name="execute">Execute</a></h3>
 
2065
<p>Execute will run the corresponding executable file, shell script or
 
2066
interpreted script in a terminal window. Note that the Terminal tool
 
2067
path must be correctly set in the Tools tab of the Preferences dialog -
 
2068
you can use any terminal program that runs a Bourne compatible shell
 
2069
and accept the &quot;-e&quot; command line argument to start a command.</p>
 
2070
<p>After your program or script has finished executing, you will be
 
2071
prompted to press the return key. This allows you to review any text
 
2072
output from the program before the terminal window is closed.</p>
 
2073
</div>
 
2074
<div class="section">
 
2075
<h3><a class="toc-backref" href="#id112" id="stopping-running-processes" name="stopping-running-processes">Stopping running processes</a></h3>
 
2076
<p>When there is a running program, the Run button in the toolbar
 
2077
becomes a stop button and you can stop the current action. This
 
2078
works by sending a signal to the process (and its child process(es))
 
2079
to stop the process. The used signal is SIGQUIT.</p>
 
2080
<p>Depending on the process you started it might occur that the process
 
2081
cannot be stopped. This can happen when the process creates more than
 
2082
one child process.</p>
 
2083
<div class="section">
 
2084
<h4><a class="toc-backref" href="#id113" id="terminal-emulators" name="terminal-emulators">Terminal emulators</a></h4>
 
2085
<p>Xterm is known to work properly. If you are using &quot;Terminal&quot;
 
2086
(the terminal program of Xfce), you should add the command line
 
2087
option <tt class="docutils literal"><span class="pre">--disable-server</span></tt> otherwise the started process cannot be
 
2088
stopped. Just add this option in the preferences dialog on the Tools
 
2089
tab in the terminal field.</p>
 
2090
</div>
 
2091
</div>
 
2092
<div class="section">
 
2093
<h3><a class="toc-backref" href="#id114" id="set-includes-and-arguments" name="set-includes-and-arguments">Set Includes and Arguments</a></h3>
 
2094
<p>By default the Compile and Build commands invoke the compiler and
 
2095
linker with only the basic arguments needed by all programs. Using
 
2096
Set Includes and Arguments you can add any include paths and compile
 
2097
flags for the compiler, any library names and paths for the linker,
 
2098
and any arguments you want to use when running Execute.</p>
 
2099
<p>These settings are saved automatically when Geany is shut down.</p>
 
2100
<p>The following variables can be used:</p>
 
2101
<ul class="simple">
 
2102
<li>%f -- complete filename without path</li>
 
2103
<li>%e -- filename without path and without extension</li>
 
2104
</ul>
 
2105
<p>See <a class="reference" href="#build-settings-section">[build_settings] Section</a> for details.</p>
 
2106
<p>If you need complex settings for your build system, or several
 
2107
different settings, then writing a Makefile and using the Make commands
 
2108
is recommended.</p>
 
2109
<div class="section">
 
2110
<h4><a class="toc-backref" href="#id115" id="one-step-compilation" name="one-step-compilation">One step compilation</a></h4>
 
2111
<p>If you are using the Build command to compile and link in one step,
 
2112
you will need to set both the compiler arguments and the linker
 
2113
arguments in the linker command setting.</p>
 
2114
</div>
 
2115
</div>
 
2116
<div class="section">
 
2117
<h3><a class="toc-backref" href="#id116" id="indicators" name="indicators">Indicators</a></h3>
 
2118
<p>Indicators are red squiggly underlines which are used to highlight
 
2119
errors which occured while compiling the current file. So you can
 
2120
easily see where your code failed to compile. To remove the indicators,
 
2121
just click on &quot;Remove all indicators&quot; in the document file menu.</p>
 
2122
<p>If you do not like this feature, you can disable it in the preferences
 
2123
dialog.</p>
 
2124
</div>
 
2125
</div>
 
2126
<div class="section">
 
2127
<h2><a class="toc-backref" href="#id117" id="printing-support" name="printing-support">Printing support</a></h2>
 
2128
<p>Since Geany 0.13 there is full printing support using GTK's printing API.
 
2129
The printed page(s) will look nearly the same as on your screen in Geany.
 
2130
Additionally, there are some options to modify the printed page(s). You
 
2131
can define whether to print line numbers, page numbers at the bottom of
 
2132
each page and whether to print a page header on each page. This header
 
2133
contains the filename of the printed document, the current page number and
 
2134
the date and time of printing. By default, the file name of the document
 
2135
is added with full path information to the header. If you prefer to add
 
2136
only the basename of the file(without any path information) you can set it
 
2137
in the preferences dialog. You can also adjust the format of the date and
 
2138
time added to the page header. The available conversion specifiers are the
 
2139
same as the ones which can be used with the ANSI C strftime function.
 
2140
All of these settings can also be changed in the print dialog just before
 
2141
actual printing is done.
 
2142
On Unix-like systems the provided print dialog offers a print preview. The
 
2143
preview file is opened with a PDF viewer and by default GTK uses <tt class="docutils literal"><span class="pre">evince</span></tt>
 
2144
for print preview. If you don't have installed evince or just want to use
 
2145
another PDF viewer, you can change the program to use in the file
 
2146
<tt class="docutils literal"><span class="pre">.gtkrc-2.0</span></tt> (usually found in your home directory). Simply add a line
 
2147
like:</p>
 
2148
<pre class="literal-block">
 
2149
gtk-print-preview-command = &quot;epdfview %f&quot;
 
2150
</pre>
 
2151
<p>at the end of the file. Of course, you can also use xpdf, kpdf or whatever
 
2152
as the print preview command.</p>
 
2153
<p>Unfortunately, native GTK printing support is only available if Geany was
 
2154
built against GTK 2.10 (or above) <strong>and</strong> is running with GTK 2.10 (or above).
 
2155
If not, Geany provides basic printing support. This means you can print a
 
2156
file by passing the filename of the current file to a command which
 
2157
actually prints the file. However, the printed document contains no syntax
 
2158
highlighting. You can adjust the command to which the filename is
 
2159
passed in the preferences dialog. The default command is:</p>
 
2160
<pre class="literal-block">
 
2161
% lpr %f
 
2162
</pre>
 
2163
<p><tt class="docutils literal"><span class="pre">%f</span></tt> will be substituted by the filename of the current file. Geany
 
2164
will not show errors from the command itself, so you should make
 
2165
sure that it works before(e.g. by trying to execute it from the
 
2166
command line).</p>
 
2167
<p>A nicer example, which I prefer is:</p>
 
2168
<pre class="literal-block">
 
2169
% a2ps -1 --medium=A4 -o - %f | xfprint4
 
2170
</pre>
 
2171
<p>But this depends on a2ps and xfprint4. As a replacement for xfprint4,
 
2172
gtklp or similar programs can be used.</p>
 
2173
</div>
 
2174
<div class="section">
 
2175
<h2><a class="toc-backref" href="#id118" id="plugins" name="plugins">Plugins</a></h2>
 
2176
<p>Plugins are loaded at startup, if the <em>Enable plugin support</em>
 
2177
general preference is set. There is also a command-line option,
 
2178
<tt class="docutils literal"><span class="pre">-p</span></tt>, which prevents plugins being loaded. Plugins are scanned in
 
2179
the following directories:</p>
 
2180
<ul class="simple">
 
2181
<li><tt class="docutils literal"><span class="pre">$prefix/lib/geany</span></tt> (<tt class="docutils literal"><span class="pre">$prefix</span></tt> is usually <tt class="docutils literal"><span class="pre">/usr/local</span></tt> or
 
2182
<tt class="docutils literal"><span class="pre">/usr</span></tt>)</li>
 
2183
<li><tt class="docutils literal"><span class="pre">~/.geany/plugins</span></tt></li>
 
2184
</ul>
 
2185
<p>Most plugins add menu items to the <em>Tools</em> menu when they are loaded.</p>
 
2186
<p>Since Geany 0.13, there is a Plugin Manager to let you choose which plugins
 
2187
should be loaded at startup. You can also load and unload plugins on the
 
2188
fly using this dialog. Once you click the checkbox for a specific plugin
 
2189
in the dialog, it is loaded or unloaded according to its previous state.
 
2190
By default, no plugins are loaded at startup until you select some.
 
2191
You can also configure some plugin specific options when the plugin
 
2192
provides some.</p>
 
2193
</div>
 
2194
<div class="section">
 
2195
<h2><a class="toc-backref" href="#id119" id="keybindings" name="keybindings">Keybindings</a></h2>
 
2196
<p>Geany supports the default keyboard shortcuts for the Scintilla
 
2197
editing widget. For a list of these commands, see <a class="reference" href="#scintilla-keyboard-commands">Scintilla
 
2198
keyboard commands</a>. The Scintilla keyboard shortcuts will be overridden
 
2199
by any custom keybindings with the same keyboard shortcut.</p>
 
2200
<div class="section">
 
2201
<h3><a class="toc-backref" href="#id120" id="switching-documents" name="switching-documents">Switching documents</a></h3>
 
2202
<p>There are a few non-configurable bindings to switch between documents,
 
2203
listed below. These can also be overridden by custom keybindings.</p>
 
2204
<table border="1" class="docutils">
 
2205
<colgroup>
 
2206
<col width="31%" />
 
2207
<col width="69%" />
 
2208
</colgroup>
 
2209
<thead valign="bottom">
 
2210
<tr><th class="head">Key</th>
 
2211
<th class="head">Action</th>
 
2212
</tr>
 
2213
</thead>
 
2214
<tbody valign="top">
 
2215
<tr><td>Alt-[1-9]</td>
 
2216
<td>Select left-most tab, from 1 to 9.</td>
 
2217
</tr>
 
2218
<tr><td>Alt-0</td>
 
2219
<td>Select right-most tab.</td>
 
2220
</tr>
 
2221
<tr><td>Ctrl-Shift-PgUp</td>
 
2222
<td>Select left-most tab.</td>
 
2223
</tr>
 
2224
<tr><td>Ctrl-Shift-PgDn</td>
 
2225
<td>Select right-most tab.</td>
 
2226
</tr>
 
2227
</tbody>
 
2228
</table>
 
2229
</div>
 
2230
<div class="section">
 
2231
<h3><a class="toc-backref" href="#id121" id="configurable-keybindings" name="configurable-keybindings">Configurable keybindings</a></h3>
 
2232
<p>For all actions listed below you can define your own keybindings. Open
 
2233
the Preferences dialog, select the desired action and click on
 
2234
change. In the opening dialog you can press any key combination you
 
2235
want and it will be saved when you press OK. You can define only one
 
2236
key combination for one action.</p>
 
2237
<p>Some of the default key combinations cannot be changed, e.g. menu_new
 
2238
or menu_open. These are set by GTK and should be kept, but you can
 
2239
still add other key combinations for these actions. For example to
 
2240
execute menu_open by default <em>Ctrl-O</em> is set, but you can also define
 
2241
<em>Alt-O</em>, so that the file open dialog is shown by pressing either
 
2242
<em>Ctrl-O</em> or <em>Alt-O</em>.</p>
 
2243
<p>The following table lists all customizable keyboard shortcuts.</p>
 
2244
<table border="1" class="docutils">
 
2245
<colgroup>
 
2246
<col width="29%" />
 
2247
<col width="23%" />
 
2248
<col width="48%" />
 
2249
</colgroup>
 
2250
<thead valign="bottom">
 
2251
<tr><th class="head">Action</th>
 
2252
<th class="head">Default shortcut</th>
 
2253
<th class="head">Description</th>
 
2254
</tr>
 
2255
</thead>
 
2256
<tbody valign="top">
 
2257
<tr><td><strong>File</strong></td>
 
2258
<td>&nbsp;</td>
 
2259
<td>&nbsp;</td>
 
2260
</tr>
 
2261
<tr><td>New</td>
 
2262
<td>Ctrl-N</td>
 
2263
<td>Creates a new file.</td>
 
2264
</tr>
 
2265
<tr><td>Open</td>
 
2266
<td>Ctrl-O</td>
 
2267
<td>Opens a file.</td>
 
2268
</tr>
 
2269
<tr><td>Save</td>
 
2270
<td>Ctrl-S</td>
 
2271
<td>Saves the current file.</td>
 
2272
</tr>
 
2273
<tr><td>Save As</td>
 
2274
<td>&nbsp;</td>
 
2275
<td>Saves the current file under a new name.</td>
 
2276
</tr>
 
2277
<tr><td>Save all</td>
 
2278
<td>Ctrl-Shift-S</td>
 
2279
<td>Saves all open files.</td>
 
2280
</tr>
 
2281
<tr><td>Close all</td>
 
2282
<td>Ctrl-Shift-W</td>
 
2283
<td>Closes all open files.</td>
 
2284
</tr>
 
2285
<tr><td>Close</td>
 
2286
<td>Ctrl-W</td>
 
2287
<td>Closes the current file.</td>
 
2288
</tr>
 
2289
<tr><td>Reload file</td>
 
2290
<td>Ctrl-R</td>
 
2291
<td>Reloads the current file. All unsaved changes
 
2292
will be lost.</td>
 
2293
</tr>
 
2294
<tr><td>Print</td>
 
2295
<td>Ctrl-P</td>
 
2296
<td>Prints the current file.</td>
 
2297
</tr>
 
2298
<tr><td><strong>Editor</strong></td>
 
2299
<td>&nbsp;</td>
 
2300
<td>&nbsp;</td>
 
2301
</tr>
 
2302
<tr><td>Undo</td>
 
2303
<td>Ctrl-Z</td>
 
2304
<td>Un-does the last action.</td>
 
2305
</tr>
 
2306
<tr><td>Redo</td>
 
2307
<td>Ctrl-Y</td>
 
2308
<td>Re-does the last action.</td>
 
2309
</tr>
 
2310
<tr><td>Delete current line(s)</td>
 
2311
<td>Ctrl-K</td>
 
2312
<td>Deletes the current line (and any lines with a
 
2313
selection).</td>
 
2314
</tr>
 
2315
<tr><td>Duplicate line or selection</td>
 
2316
<td>Ctrl-D</td>
 
2317
<td>Duplicates the current line or selection.</td>
 
2318
</tr>
 
2319
<tr><td>Transpose current line</td>
 
2320
<td>Ctrl-T</td>
 
2321
<td>Transposes the current line with the previous one.</td>
 
2322
</tr>
 
2323
<tr><td>Scroll to current line</td>
 
2324
<td>Ctrl-Shift-L</td>
 
2325
<td>Scrolls the current line into the centre of the
 
2326
view. The cursor position and or an existing
 
2327
selection will not be changed.</td>
 
2328
</tr>
 
2329
<tr><td>Scroll up by one line</td>
 
2330
<td>Alt-Up</td>
 
2331
<td>Scrolls the view.</td>
 
2332
</tr>
 
2333
<tr><td>Scroll down by one line</td>
 
2334
<td>Alt-Down</td>
 
2335
<td>Scrolls the view.</td>
 
2336
</tr>
 
2337
<tr><td>Complete word</td>
 
2338
<td>Ctrl-Space</td>
 
2339
<td>Shows auto completion list.</td>
 
2340
</tr>
 
2341
<tr><td>Show calltip</td>
 
2342
<td>Alt-Space (Unix)
 
2343
Alt-Shift-Space (Windows)</td>
 
2344
<td>Shows call tips for the current function or
 
2345
method.</td>
 
2346
</tr>
 
2347
<tr><td>Show macro list</td>
 
2348
<td>Ctrl-Return</td>
 
2349
<td>Shows a list of available macros and variables in
 
2350
the workspace.</td>
 
2351
</tr>
 
2352
<tr><td>Complete snippet</td>
 
2353
<td>Tab</td>
 
2354
<td>If you type a construct like if or for and press
 
2355
this key, it will be completed with a matching
 
2356
template.</td>
 
2357
</tr>
 
2358
<tr><td>Suppress snippet completion</td>
 
2359
<td>&nbsp;</td>
 
2360
<td>If you type a construct like if or for and press
 
2361
this key, it will not be completed, and a space or
 
2362
tab will be inserted, depending on what the
 
2363
construct completion keybinding is set to. For
 
2364
example, if you have set the construct completion
 
2365
keybinding to space, then setting this to
 
2366
Shift+space will prevent construct completion and
 
2367
insert a space.</td>
 
2368
</tr>
 
2369
<tr><td>Context Action</td>
 
2370
<td>&nbsp;</td>
 
2371
<td>Executes a command and passes the current word
 
2372
(near the cursor postion) or selection as an
 
2373
argument. See the section called <a class="reference" href="#context-actions">Context
 
2374
actions</a>.</td>
 
2375
</tr>
 
2376
<tr><td><strong>Clipboard</strong></td>
 
2377
<td>&nbsp;</td>
 
2378
<td>&nbsp;</td>
 
2379
</tr>
 
2380
<tr><td>Cut</td>
 
2381
<td>Ctrl-X</td>
 
2382
<td>Cut the current selection to the clipboard.</td>
 
2383
</tr>
 
2384
<tr><td>Copy</td>
 
2385
<td>Ctrl-C</td>
 
2386
<td>Copy the current selection to the clipboard.</td>
 
2387
</tr>
 
2388
<tr><td>Paste</td>
 
2389
<td>Ctrl-V</td>
 
2390
<td>Paste the clipboard text into the current document.</td>
 
2391
</tr>
 
2392
<tr><td>Cut current line(s)</td>
 
2393
<td>Ctrl-Shift-X</td>
 
2394
<td>Cuts the current line (and any lines with a
 
2395
selection) to the clipboard.</td>
 
2396
</tr>
 
2397
<tr><td>Copy current line(s)</td>
 
2398
<td>Ctrl-Shift-C</td>
 
2399
<td>Copies the current line (and any lines with a
 
2400
selection) to the clipboard.</td>
 
2401
</tr>
 
2402
<tr><td><strong>Select</strong></td>
 
2403
<td>&nbsp;</td>
 
2404
<td>&nbsp;</td>
 
2405
</tr>
 
2406
<tr><td>Select all</td>
 
2407
<td>Ctrl-A</td>
 
2408
<td>Makes a selection of all text in the current
 
2409
document.</td>
 
2410
</tr>
 
2411
<tr><td>Select current word</td>
 
2412
<td>Alt-Shift-W</td>
 
2413
<td>Selects the current word under the cursor.</td>
 
2414
</tr>
 
2415
<tr><td>Select current paragraph</td>
 
2416
<td>Alt-Shift-P</td>
 
2417
<td>Selects the current paragraph under the cursor
 
2418
which is defined by two empty lines around it.</td>
 
2419
</tr>
 
2420
<tr><td>Select current line(s)</td>
 
2421
<td>Alt-Shift-L</td>
 
2422
<td>Selects the current line under the cursor (and any
 
2423
partially selected lines).</td>
 
2424
</tr>
 
2425
<tr><td><strong>Insert</strong></td>
 
2426
<td>&nbsp;</td>
 
2427
<td>&nbsp;</td>
 
2428
</tr>
 
2429
<tr><td>Insert date</td>
 
2430
<td>Shift-Alt-D</td>
 
2431
<td>Inserts a customisable date.</td>
 
2432
</tr>
 
2433
<tr><td>Insert alternative whitespace</td>
 
2434
<td>&nbsp;</td>
 
2435
<td>Inserts a tab character when spaces should
 
2436
be used for indentation and inserts space
 
2437
characters of the amount of a tab width when
 
2438
tabs should be used for indentation.</td>
 
2439
</tr>
 
2440
<tr><td><strong>Format</strong></td>
 
2441
<td>&nbsp;</td>
 
2442
<td>&nbsp;</td>
 
2443
</tr>
 
2444
<tr><td>Toggle case of selection</td>
 
2445
<td>Ctrl-Alt-U</td>
 
2446
<td>Changes the case of the selection. A lowercase
 
2447
selection will be changed into uppercase and vice
 
2448
versa. If the selection contains lower- and
 
2449
uppercase characters, all will be converted to
 
2450
lowercase.</td>
 
2451
</tr>
 
2452
<tr><td>Comment line</td>
 
2453
<td>&nbsp;</td>
 
2454
<td>Comments current line or selection.</td>
 
2455
</tr>
 
2456
<tr><td>Uncomment line</td>
 
2457
<td>&nbsp;</td>
 
2458
<td>Uncomments current line or selection.</td>
 
2459
</tr>
 
2460
<tr><td>Toggle line commentation</td>
 
2461
<td>Ctrl-E</td>
 
2462
<td>Comments a line if it is not commented or removes
 
2463
a comment if the line is commented.</td>
 
2464
</tr>
 
2465
<tr><td>Increase indent</td>
 
2466
<td>Ctrl-I</td>
 
2467
<td>Indents the current line or selection by one tab
 
2468
or by spaces in the amount of the tab width
 
2469
setting.</td>
 
2470
</tr>
 
2471
<tr><td>Decrease indent</td>
 
2472
<td>Ctrl-U</td>
 
2473
<td>Removes one tab or the amount of spaces of
 
2474
the tab width setting from the indentation of the
 
2475
current line or selection.</td>
 
2476
</tr>
 
2477
<tr><td>Increase indent by one space</td>
 
2478
<td>&nbsp;</td>
 
2479
<td>Indents the current line or selection by one
 
2480
space.</td>
 
2481
</tr>
 
2482
<tr><td>Decrease indent by one space</td>
 
2483
<td>&nbsp;</td>
 
2484
<td>Deindents the current line or selection by one
 
2485
space.</td>
 
2486
</tr>
 
2487
<tr><td>Smart line indent</td>
 
2488
<td>&nbsp;</td>
 
2489
<td>Indents the current line or all selected lines
 
2490
with the same intentation as the previous line.</td>
 
2491
</tr>
 
2492
<tr><td><strong>Settings</strong></td>
 
2493
<td>&nbsp;</td>
 
2494
<td>&nbsp;</td>
 
2495
</tr>
 
2496
<tr><td>Preferences</td>
 
2497
<td>Ctrl-Alt-P</td>
 
2498
<td>Opens preferences dialog.</td>
 
2499
</tr>
 
2500
<tr><td><strong>Search</strong></td>
 
2501
<td>&nbsp;</td>
 
2502
<td>&nbsp;</td>
 
2503
</tr>
 
2504
<tr><td>Find</td>
 
2505
<td>Ctrl-F</td>
 
2506
<td>Opens the Find dialog.</td>
 
2507
</tr>
 
2508
<tr><td>Find Next</td>
 
2509
<td>Ctrl-G</td>
 
2510
<td>Finds next result.</td>
 
2511
</tr>
 
2512
<tr><td>Find Previous</td>
 
2513
<td>Ctrl-Shift-G</td>
 
2514
<td>Finds previous result.</td>
 
2515
</tr>
 
2516
<tr><td>Replace</td>
 
2517
<td>Ctrl-H</td>
 
2518
<td>Opens the Replace dialog.</td>
 
2519
</tr>
 
2520
<tr><td>Find in files</td>
 
2521
<td>Ctrl-Shift-F</td>
 
2522
<td>Opens the Find in files dialog.</td>
 
2523
</tr>
 
2524
<tr><td>Next message</td>
 
2525
<td>&nbsp;</td>
 
2526
<td>Jumps to the line with the next message from
 
2527
the last call to Find usage.</td>
 
2528
</tr>
 
2529
<tr><td>Find Usage</td>
 
2530
<td>&nbsp;</td>
 
2531
<td>Finds all occurrences of the current word (near
 
2532
the keyboard cursor) or selection and displays
 
2533
them in the messages window.</td>
 
2534
</tr>
 
2535
<tr><td><strong>Go to</strong></td>
 
2536
<td>&nbsp;</td>
 
2537
<td>&nbsp;</td>
 
2538
</tr>
 
2539
<tr><td>Navigate forward a location</td>
 
2540
<td>&nbsp;</td>
 
2541
<td>Switches to the next location in the navigation
 
2542
history. See the section called <a class="reference" href="#code-navigation-history">Code Navigation
 
2543
History</a>.</td>
 
2544
</tr>
 
2545
<tr><td>Navigate back a location</td>
 
2546
<td>&nbsp;</td>
 
2547
<td>Switches to the previous location in the
 
2548
navigation history. See the section called
 
2549
<a class="reference" href="#code-navigation-history">Code Navigation History</a>.</td>
 
2550
</tr>
 
2551
<tr><td>Go to line</td>
 
2552
<td>Ctrl-L</td>
 
2553
<td>Opens the Go to line dialog.</td>
 
2554
</tr>
 
2555
<tr><td>Goto matching brace</td>
 
2556
<td>Ctrl-B</td>
 
2557
<td>If the cursor is ahead or behind a brace, then it
 
2558
is moved to the brace which belongs to the current
 
2559
one. If this keyboard shortcut is pressed again,
 
2560
the cursor is moved back to the first brace.</td>
 
2561
</tr>
 
2562
<tr><td>Toggle marker</td>
 
2563
<td>Ctrl-M</td>
 
2564
<td>Set a marker on the current line, or clear the
 
2565
marker if there already is one.</td>
 
2566
</tr>
 
2567
<tr><td>Goto next marker</td>
 
2568
<td>Ctrl-.</td>
 
2569
<td>Goto the next marker in the current document.</td>
 
2570
</tr>
 
2571
<tr><td>Goto previous marker</td>
 
2572
<td>Ctrl-,</td>
 
2573
<td>Goto the previous marker in the current document.</td>
 
2574
</tr>
 
2575
<tr><td>Go to tag definition</td>
 
2576
<td>&nbsp;</td>
 
2577
<td>Jump to the definition of the current word (near
 
2578
the keyboard cursor). If the definition cannot be
 
2579
found (e.g. the relevant file is not open) Geany
 
2580
will beep and do nothing. See the section called
 
2581
<a class="reference" href="#go-to-tag-definition">Go to tag definition</a>.</td>
 
2582
</tr>
 
2583
<tr><td>Go to tag declaration</td>
 
2584
<td>&nbsp;</td>
 
2585
<td>Jump to the declaration of the current word (near
 
2586
the keyboard cursor). If the declaration cannot be
 
2587
found (e.g. the relevant file is not open) Geany
 
2588
will beep and do nothing. See the section called
 
2589
<a class="reference" href="#go-to-tag-declaration">Go to tag declaration</a>.</td>
 
2590
</tr>
 
2591
<tr><td><strong>View</strong></td>
 
2592
<td>&nbsp;</td>
 
2593
<td>&nbsp;</td>
 
2594
</tr>
 
2595
<tr><td>Fullscreen</td>
 
2596
<td>F11</td>
 
2597
<td>Switches to fullscreen mode.</td>
 
2598
</tr>
 
2599
<tr><td>Toggle Messages Window</td>
 
2600
<td>&nbsp;</td>
 
2601
<td>Toggles the message window (status and compiler
 
2602
messages) on and off.</td>
 
2603
</tr>
 
2604
<tr><td>Toggle Sidebar</td>
 
2605
<td>&nbsp;</td>
 
2606
<td>Shows or hides the sidebar.</td>
 
2607
</tr>
 
2608
<tr><td>Toggle all additional widgets</td>
 
2609
<td>&nbsp;</td>
 
2610
<td>Hide and show all additional widgets like the
 
2611
notebook tabs, the toolbar, the messages window
 
2612
and the statusbar.</td>
 
2613
</tr>
 
2614
<tr><td>Zoom In</td>
 
2615
<td>Ctrl-+</td>
 
2616
<td>Zooms in the text</td>
 
2617
</tr>
 
2618
<tr><td>Zoom Out</td>
 
2619
<td>Ctrl--</td>
 
2620
<td>Zooms out the text</td>
 
2621
</tr>
 
2622
<tr><td><strong>Focus</strong></td>
 
2623
<td>&nbsp;</td>
 
2624
<td>&nbsp;</td>
 
2625
</tr>
 
2626
<tr><td>Switch to Editor</td>
 
2627
<td>F2</td>
 
2628
<td>Switches to editor widget.</td>
 
2629
</tr>
 
2630
<tr><td>Switch to Scribble</td>
 
2631
<td>F6</td>
 
2632
<td>Switches to scribble widget.</td>
 
2633
</tr>
 
2634
<tr><td>Switch to VTE</td>
 
2635
<td>F4</td>
 
2636
<td>Switches to VTE widget.</td>
 
2637
</tr>
 
2638
<tr><td>Switch to Search Bar</td>
 
2639
<td>F7</td>
 
2640
<td>Switches to the search bar in the toolbar (if
 
2641
visible).</td>
 
2642
</tr>
 
2643
<tr><td><strong>Notebook tabs</strong></td>
 
2644
<td>&nbsp;</td>
 
2645
<td>&nbsp;</td>
 
2646
</tr>
 
2647
<tr><td>Switch to left document</td>
 
2648
<td>Ctrl-PageUp</td>
 
2649
<td>Switches to the previous open document.</td>
 
2650
</tr>
 
2651
<tr><td>Switch to right document</td>
 
2652
<td>Ctrl-PageDown</td>
 
2653
<td>Switches to the next open document.</td>
 
2654
</tr>
 
2655
<tr><td>Switch to last used document</td>
 
2656
<td>Ctrl-Tab</td>
 
2657
<td>Switches to the previously selected open document.</td>
 
2658
</tr>
 
2659
<tr><td>Move document left</td>
 
2660
<td>Alt-PageUp</td>
 
2661
<td>Changes the current document with the left hand
 
2662
one.</td>
 
2663
</tr>
 
2664
<tr><td>Move document right</td>
 
2665
<td>Alt-PageDown</td>
 
2666
<td>Changes the current document with the right hand
 
2667
one.</td>
 
2668
</tr>
 
2669
<tr><td>Move document first</td>
 
2670
<td>&nbsp;</td>
 
2671
<td>Moves the current document to the first position.</td>
 
2672
</tr>
 
2673
<tr><td>Move document last</td>
 
2674
<td>&nbsp;</td>
 
2675
<td>Moves the current document to the last position.</td>
 
2676
</tr>
 
2677
<tr><td><strong>Document</strong></td>
 
2678
<td>&nbsp;</td>
 
2679
<td>&nbsp;</td>
 
2680
</tr>
 
2681
<tr><td>Replace tabs by space</td>
 
2682
<td>&nbsp;</td>
 
2683
<td>Replaces all tabs with the right amount of spaces.</td>
 
2684
</tr>
 
2685
<tr><td>Fold all</td>
 
2686
<td>&nbsp;</td>
 
2687
<td>Folds all contractible code blocks.</td>
 
2688
</tr>
 
2689
<tr><td>Unfold all</td>
 
2690
<td>&nbsp;</td>
 
2691
<td>Unfolds all contracted code blocks.</td>
 
2692
</tr>
 
2693
<tr><td>Reload symbol list</td>
 
2694
<td>Ctrl-Shift-R</td>
 
2695
<td>Reloads the tag/symbol list.</td>
 
2696
</tr>
 
2697
<tr><td><strong>Build</strong></td>
 
2698
<td>&nbsp;</td>
 
2699
<td>&nbsp;</td>
 
2700
</tr>
 
2701
<tr><td>Compile</td>
 
2702
<td>F8</td>
 
2703
<td>Compiles the current file.</td>
 
2704
</tr>
 
2705
<tr><td>Build</td>
 
2706
<td>F9</td>
 
2707
<td>Builds (compiles if necessary and links) the
 
2708
current file.</td>
 
2709
</tr>
 
2710
<tr><td>Make all</td>
 
2711
<td>Shift-F9</td>
 
2712
<td>Builds the current file with the Make tool.</td>
 
2713
</tr>
 
2714
<tr><td>Make custom target</td>
 
2715
<td>Ctrl-Shift-F9</td>
 
2716
<td>Builds the current file with the Make tool and a
 
2717
given target.</td>
 
2718
</tr>
 
2719
<tr><td>Make object</td>
 
2720
<td>&nbsp;</td>
 
2721
<td>Compiles the current file with the Make tool.</td>
 
2722
</tr>
 
2723
<tr><td>Next error</td>
 
2724
<td>&nbsp;</td>
 
2725
<td>Jumps to the line with the next error from the
 
2726
last build process.</td>
 
2727
</tr>
 
2728
<tr><td>Run</td>
 
2729
<td>F5</td>
 
2730
<td>Executes the current file in a terminal emulation.</td>
 
2731
</tr>
 
2732
<tr><td>Run (alternative command)</td>
 
2733
<td>&nbsp;</td>
 
2734
<td>Executes the current file in a terminal emulation.</td>
 
2735
</tr>
 
2736
<tr><td>Build options</td>
 
2737
<td>&nbsp;</td>
 
2738
<td>Opens the build options dialog.</td>
 
2739
</tr>
 
2740
<tr><td><strong>Tools</strong></td>
 
2741
<td>&nbsp;</td>
 
2742
<td>&nbsp;</td>
 
2743
</tr>
 
2744
<tr><td>Show Color Chooser</td>
 
2745
<td>&nbsp;</td>
 
2746
<td>Opens the Colour Chooser dialog.</td>
 
2747
</tr>
 
2748
<tr><td><strong>Help</strong></td>
 
2749
<td>&nbsp;</td>
 
2750
<td>&nbsp;</td>
 
2751
</tr>
 
2752
<tr><td>Help</td>
 
2753
<td>F1</td>
 
2754
<td>Opens the manual.</td>
 
2755
</tr>
 
2756
</tbody>
 
2757
</table>
 
2758
</div>
 
2759
</div>
 
2760
</div>
 
2761
<div class="section">
 
2762
<h1><a class="toc-backref" href="#id122" id="configuration-files" name="configuration-files">Configuration files</a></h1>
 
2763
<div class="section">
 
2764
<h2><a class="toc-backref" href="#id123" id="global-configuration-file" name="global-configuration-file">Global configuration file</a></h2>
 
2765
<p>You can use a global configuration file for Geany which will be used if
 
2766
the user starts Geany for the first time and an user's configuration
 
2767
file was not yet created or in case an user deleted the configuration
 
2768
file to use default values.</p>
 
2769
<p>The global configuration file is read from
 
2770
<tt class="docutils literal"><span class="pre">$prefix/share/geany/geany.conf</span></tt> (where <tt class="docutils literal"><span class="pre">$prefix</span></tt> is the path where
 
2771
Geany is installed) when starting Geany and an user configuration
 
2772
file does not exist. It can contain any settings which are found in
 
2773
the usual configuration file created by Geany but does not have to
 
2774
contain all settings.</p>
 
2775
<div class="note">
 
2776
<p class="first admonition-title">Note</p>
 
2777
<p class="last">This feature is mainly intended for package maintainers or system
 
2778
admins who want to set up Geany in a multi user environment and
 
2779
set some sane default values for this environment. Usual users won't
 
2780
need to do that.</p>
 
2781
</div>
 
2782
</div>
 
2783
<div class="section">
 
2784
<h2><a class="toc-backref" href="#id124" id="filetype-definition-files" name="filetype-definition-files">Filetype definition files</a></h2>
 
2785
<p>All colour definitions and other filetype specific settings are
 
2786
stored in the filetype definition files. Those settings are colours
 
2787
for syntax highlighting, general settings like comment characters or
 
2788
word delimiter characters as well as compiler and linker settings.</p>
 
2789
<p>The system-wide configuration files can be found in
 
2790
<tt class="docutils literal"><span class="pre">$prefix/share/geany</span></tt> and are called <tt class="docutils literal"><span class="pre">filetypes.$ext</span></tt>,
 
2791
where <tt class="docutils literal"><span class="pre">$prefix</span></tt> is the path where Geany is installed (commonly
 
2792
<tt class="docutils literal"><span class="pre">/usr/local</span></tt>) and $ext is the name of the filetype. For every
 
2793
filetype there is a corresponding definition file. There is one
 
2794
exception: <tt class="docutils literal"><span class="pre">filetypes.common</span></tt> -- this file is for general settings,
 
2795
which are not specific to a certain filetype. It is not recommended
 
2796
to edit the system-wide files, because they will be overridden when
 
2797
Geany is updated.</p>
 
2798
<p>To change the settings, copy a file from <tt class="docutils literal"><span class="pre">$prefix/share/geany</span></tt> to
 
2799
the subdirectory filedefs in your configuration directory (usually
 
2800
<tt class="docutils literal"><span class="pre">~/.geany/</span></tt>).</p>
 
2801
<p>For example:</p>
 
2802
<pre class="literal-block">
 
2803
% cp /usr/local/share/geany/filetypes.c /home/username/.geany/filedefs/
 
2804
</pre>
 
2805
<p>Then you can edit the file and the changes are also
 
2806
available after an update of Geany because they reside in your
 
2807
configuration directory. Alternatively, you can create a file
 
2808
<tt class="docutils literal"><span class="pre">~/.geany/filedefs/filetypes.X</span></tt> and add only these settings you want
 
2809
to change. All missing settings will be read from the corresponding
 
2810
global definition file in <tt class="docutils literal"><span class="pre">$prefix/share/geany</span></tt>.</p>
 
2811
<div class="section">
 
2812
<h3><a class="toc-backref" href="#id125" id="format" name="format">Format</a></h3>
 
2813
<div class="section">
 
2814
<h4><a class="toc-backref" href="#id126" id="styling-section" name="styling-section">[styling] Section</a></h4>
 
2815
<p>In this section the colours for syntax highlighting are defined. The
 
2816
format is always: key=forground_colour;background_colour;bold;italic</p>
 
2817
<p>Colours have to be specified as RGB hex values prefixed by
 
2818
0x. For example red is 0xff0000, blue is 0x0000ff. The values are
 
2819
case-insensitive, but it is a good idea to use small letters. Bold
 
2820
and italic are flags and should only be &quot;true&quot; or &quot;false&quot;. If their
 
2821
value is something other than &quot;true&quot; or &quot;false&quot;, &quot;false&quot; is assumed.</p>
 
2822
</div>
 
2823
<div class="section">
 
2824
<h4><a class="toc-backref" href="#id127" id="keywords-section" name="keywords-section">[keywords] Section</a></h4>
 
2825
<p>This section contains keys for different keyword lists specific to
 
2826
the filetype. Some filetypes do not support keywords, so adding a
 
2827
new key will not work. You can only add or remove keywords to/from
 
2828
an existing list.</p>
 
2829
<div class="important">
 
2830
<p class="first admonition-title">Important</p>
 
2831
<p class="last">The keywords list must be in one line without line ending characters.</p>
 
2832
</div>
 
2833
</div>
 
2834
<div class="section">
 
2835
<h4><a class="toc-backref" href="#id128" id="settings-section" name="settings-section">[settings] Section</a></h4>
 
2836
<dl class="docutils">
 
2837
<dt>extension</dt>
 
2838
<dd><p class="first">This is the default file extension used when saving files, not
 
2839
including the period character (<tt class="docutils literal"><span class="pre">.</span></tt>). The extension used should
 
2840
match one of the patterns associated with that filetype (see
 
2841
<a class="reference" href="#filetype-extensions">Filetype extensions</a>).</p>
 
2842
<p class="last"><em>Example:</em> <tt class="docutils literal"><span class="pre">extension=cxx</span></tt></p>
 
2843
</dd>
 
2844
<dt>wordchars</dt>
 
2845
<dd><p class="first">These characters define word boundaries when making selections
 
2846
and searching using word matching options.</p>
 
2847
<p class="last"><em>Example:</em> (look at system filetypes.* files)</p>
 
2848
</dd>
 
2849
<dt>comment_open</dt>
 
2850
<dd><p class="first">A character or string which is used to comment code. If you want to
 
2851
use multiline comments, also set comment_close, otherwise leave it
 
2852
empty.</p>
 
2853
<p class="last"><em>Example:</em> <tt class="docutils literal"><span class="pre">comment_open=/*</span></tt></p>
 
2854
</dd>
 
2855
<dt>comment_close</dt>
 
2856
<dd><p class="first">If multiline comments are used, this is the character or string to
 
2857
close the comment.</p>
 
2858
<p class="last"><em>Example:</em> <tt class="docutils literal"><span class="pre">comment_close=*/</span></tt></p>
 
2859
</dd>
 
2860
<dt>comment_use_indent</dt>
 
2861
<dd><p class="first">Set this to false if a comment character or string should start at
 
2862
column 0 of a line. If set to true it uses any indentation of the
 
2863
line.</p>
 
2864
<p>Note: Comment indentation</p>
 
2865
<p><tt class="docutils literal"><span class="pre">comment_use_indent=true</span></tt> would generate this if a line is
 
2866
commented (e.g. with Ctrl-D):</p>
 
2867
<pre class="literal-block">
 
2868
#command_example();
 
2869
</pre>
 
2870
<p><tt class="docutils literal"><span class="pre">comment_use_indent=false</span></tt> would generate this if a line is
 
2871
commented (e.g. with Ctrl-D):</p>
 
2872
<pre class="literal-block">
 
2873
#   command_example();
 
2874
</pre>
 
2875
<p>Note: This setting only works for single line comments (like '//',
 
2876
'#' or ';').</p>
 
2877
<p class="last"><em>Example:</em> <tt class="docutils literal"><span class="pre">comment_use_indent=true</span></tt></p>
 
2878
</dd>
 
2879
<dt>context_action_cmd</dt>
 
2880
<dd><p class="first">A command which can be executed on a certain word or the current
 
2881
selection. Example usage: Open the API documentation for the
 
2882
current function call at the cursor position. The command can
 
2883
be set for every filetype or if not set, a global command will
 
2884
be used. The command itself can be specified without the full
 
2885
path, then it is searched in $PATH. But for security reasons,
 
2886
it is recommended to specify the full path to the command. The
 
2887
wildcard %s will be replaced by the current word at the cursor
 
2888
position or by the current selection.</p>
 
2889
<p>Hint: for PHP files the following could be quite useful:
 
2890
context_action_cmd=firefox &quot;<a class="reference" href="http://www.php.net/%s">http://www.php.net/%s</a>&quot;</p>
 
2891
<p class="last"><em>Example:</em> <tt class="docutils literal"><span class="pre">context_action_cmd=devhelp</span> <span class="pre">-s</span> <span class="pre">&quot;%s&quot;</span></tt></p>
 
2892
</dd>
 
2893
</dl>
 
2894
</div>
 
2895
<div class="section">
 
2896
<h4><a class="toc-backref" href="#id129" id="build-settings-section" name="build-settings-section">[build_settings] Section</a></h4>
 
2897
<dl class="docutils">
 
2898
<dt>compiler</dt>
 
2899
<dd><p class="first">This item specifies the command to compile source code files. But
 
2900
it is also possible to use it with interpreted languages like Perl
 
2901
or Python. With these filetypes you can use this option as a kind of
 
2902
syntax parser, which sends output to the compiler message window.</p>
 
2903
<p>You should quote the filename to also support filenames with
 
2904
spaces. The following wildcards for filenames are available:</p>
 
2905
<ul class="simple">
 
2906
<li>%f -- complete filename without path</li>
 
2907
<li>%e -- filename without path and without extension</li>
 
2908
</ul>
 
2909
<p class="last"><em>Example:</em> <tt class="docutils literal"><span class="pre">compiler=gcc</span> <span class="pre">-Wall</span> <span class="pre">-c</span> <span class="pre">&quot;%f&quot;</span></tt></p>
 
2910
</dd>
 
2911
<dt>linker</dt>
 
2912
<dd><p class="first">This item specifies the command to link the file. If the file is not
 
2913
already compiled, it will be compiled while linking. The -o option
 
2914
is automatically added by Geany. This item works well with GNU gcc,
 
2915
but may be problematic with other compilers (esp. with the linker).</p>
 
2916
<p class="last"><em>Example:</em> <tt class="docutils literal"><span class="pre">linker=gcc</span> <span class="pre">-Wall</span> <span class="pre">&quot;%f&quot;</span></tt></p>
 
2917
</dd>
 
2918
<dt>run_cmd</dt>
 
2919
<dd><p class="first">Use this item to execute your file. It has to have been built
 
2920
already. Use the %e wildcard to have only the name of the executable
 
2921
(i.e. without extension) or use the %f wildcard if you need the
 
2922
complete filename, e.g. for shell scripts.</p>
 
2923
<p class="last"><em>Example:</em> <tt class="docutils literal"><span class="pre">run_cmd=&quot;./%e&quot;</span></tt></p>
 
2924
</dd>
 
2925
</dl>
 
2926
</div>
 
2927
</div>
 
2928
<div class="section">
 
2929
<h3><a class="toc-backref" href="#id130" id="special-file-filetypes-common" name="special-file-filetypes-common">Special file filetypes.common</a></h3>
 
2930
<p>There is a special filetype definition file called
 
2931
filetypes.common. This file defines some general non-filetype-specific
 
2932
settings.</p>
 
2933
<dl class="docutils">
 
2934
<dt>default</dt>
 
2935
<dd><p class="first">This is the default style. It is used for styling files without a
 
2936
filetype set.</p>
 
2937
<p class="last"><em>Example:</em> <tt class="docutils literal"><span class="pre">default=0x000000;0xffffff;false;false</span></tt></p>
 
2938
</dd>
 
2939
<dt>selection</dt>
 
2940
<dd><p class="first">The style for colouring selected text. The format is:</p>
 
2941
<ul class="simple">
 
2942
<li>Foreground colour</li>
 
2943
<li>Background colour</li>
 
2944
<li>Use foreground colour</li>
 
2945
<li>Use background colour</li>
 
2946
</ul>
 
2947
<p>The colours are only set if the 3rd or 4th argument is true. When
 
2948
the colours are not overridden, the default is a dark grey
 
2949
background with syntax highlighted foreground text.</p>
 
2950
<p class="last"><em>Example:</em> <tt class="docutils literal"><span class="pre">selection=0xc0c0c0;0x00007F;true;true</span></tt></p>
 
2951
</dd>
 
2952
<dt>brace_good</dt>
 
2953
<dd><p class="first">The style for brace highlighting when a matching brace was found.</p>
 
2954
<p class="last"><em>Example:</em> <tt class="docutils literal"><span class="pre">brace_good=0xff0000;0xFFFFFF;true;false</span></tt></p>
 
2955
</dd>
 
2956
<dt>brace_bad</dt>
 
2957
<dd><p class="first">The style for brace highlighting when no matching brace was found.</p>
 
2958
<p class="last"><em>Example:</em> <tt class="docutils literal"><span class="pre">brace_bad=0x0000ff;0xFFFFFF;true;false</span></tt></p>
 
2959
</dd>
 
2960
<dt>caret</dt>
 
2961
<dd><p class="first">The style for colouring the caret(the blinking cursor). Only first
 
2962
and third argument is interpreted.
 
2963
Set the third argument to true to change the caret into a block caret.</p>
 
2964
<p class="last"><em>Example:</em> <tt class="docutils literal"><span class="pre">caret=0x000000;0x0;false;false</span></tt></p>
 
2965
</dd>
 
2966
<dt>caret_width</dt>
 
2967
<dd><p class="first">The width for the caret(the blinking cursor). Only the first
 
2968
argument is interpreted. The width is specified in pixels with
 
2969
a maximum of three pixel. Use the width 0 to make the caret
 
2970
invisible.</p>
 
2971
<p class="last"><em>Example:</em> <tt class="docutils literal"><span class="pre">caret=1;0;false;false</span></tt></p>
 
2972
</dd>
 
2973
<dt>current_line</dt>
 
2974
<dd><p class="first">The style for colouring the background of the current line. Only
 
2975
the second and third arguments are interpreted. The second argument
 
2976
is the background colour. Use the third argument to enable or
 
2977
disable background highlighting for the current line (has to be
 
2978
true/false).</p>
 
2979
<p class="last"><em>Example:</em> <tt class="docutils literal"><span class="pre">current_line=0x0;0xe5e5e5;true;false</span></tt></p>
 
2980
</dd>
 
2981
<dt>indent_guide</dt>
 
2982
<dd><p class="first">The style for colouring the indentation guides. Only the first and
 
2983
second arguments are interpreted.</p>
 
2984
<p class="last"><em>Example:</em> <tt class="docutils literal"><span class="pre">indent_guide=0xc0c0c0;0xffffff;false;false</span></tt></p>
 
2985
</dd>
 
2986
<dt>white_space</dt>
 
2987
<dd><p class="first">The style for colouring the white space if it is shown. The first
 
2988
both arguments define the foreground and background colours, the
 
2989
third argument sets whether to use the defined foreground colour
 
2990
or to use the colour defined by each filetype for the white space.
 
2991
The fourth argument defines whether to use the background colour.</p>
 
2992
<p class="last"><em>Example:</em> <tt class="docutils literal"><span class="pre">white_space=0xc0c0c0;0xffffff;true;true</span></tt></p>
 
2993
</dd>
 
2994
<dt>folding_style</dt>
 
2995
<dd><p class="first">The style of folding icons. Only first and second arguments are
 
2996
used.</p>
 
2997
<p>Valid values for the first argument are:</p>
 
2998
<ul class="simple">
 
2999
<li>1 -- for boxes</li>
 
3000
<li>2 -- for circles</li>
 
3001
</ul>
 
3002
<p>Valid values for the second argument are:</p>
 
3003
<ul class="simple">
 
3004
<li>1 -- for straight lines</li>
 
3005
<li>2 -- for curved lines</li>
 
3006
</ul>
 
3007
<p class="last"><em>Example:</em> <tt class="docutils literal"><span class="pre">folding_style=1;1;false;false</span></tt></p>
 
3008
</dd>
 
3009
<dt>folding_horiz_line</dt>
 
3010
<dd><p class="first">Draw a thin horizontal line at the line where text is folded. Only
 
3011
first argument is used.</p>
 
3012
<p>Valid values for the first argument are:</p>
 
3013
<ul class="simple">
 
3014
<li>0 -- disable, do not draw a line</li>
 
3015
<li>1 -- draw the line above folded text</li>
 
3016
<li>2 -- draw the line below folded text</li>
 
3017
</ul>
 
3018
<p class="last"><em>Example:</em> <tt class="docutils literal"><span class="pre">folding_horiz_line=0;0;false;false</span></tt></p>
 
3019
</dd>
 
3020
<dt>invert_all</dt>
 
3021
<dd><p class="first">Whether to invert all defined colours. This is useful if you like a
 
3022
dark background colour(e.g. black) and do not want to change every
 
3023
single line. Please note, at time of writing this was only tested
 
3024
with the C syntax highlighting.</p>
 
3025
<p>Only first argument is interpreted. Set it to 1 to invert all
 
3026
colours.</p>
 
3027
<p class="last"><em>Example:</em> <tt class="docutils literal"><span class="pre">invert_all=0;0;false;false</span></tt></p>
 
3028
</dd>
 
3029
<dt>line_wrap_visuals</dt>
 
3030
<dd><p class="first">First argument: drawing of visual flags to indicate a line is wrapped.
 
3031
This is a bitmask of the values:</p>
 
3032
<ul class="simple">
 
3033
<li>0 -- No visual flags</li>
 
3034
<li>1 -- Visual flag at end of subline of a wrapped line</li>
 
3035
<li>2 -- Visual flag at begin of subline of a wrapped line. Subline is
 
3036
indented by at least 1 to make room for the flag.</li>
 
3037
</ul>
 
3038
<p>Second argument: wether the visual flags to indicate a line is wrapped
 
3039
are drawn near the border or near the text. This is a bitmask of the values:</p>
 
3040
<ul class="simple">
 
3041
<li>0 -- Visual flags drawn near border</li>
 
3042
<li>1 -- Visual flag at end of subline drawn near text</li>
 
3043
<li>2 -- Visual flag at begin of subline drawn near text</li>
 
3044
</ul>
 
3045
<p>Only first and second argument is interpreted.</p>
 
3046
<p class="last"><em>Example:</em> <tt class="docutils literal"><span class="pre">line_wrap_visuals=3;0;false;false</span></tt></p>
 
3047
</dd>
 
3048
<dt>line_wrap_indent</dt>
 
3049
<dd><p class="first">Sets the size of indentation of sublines for wrapped lines in terms
 
3050
of the width of a space.</p>
 
3051
<p>Only first argument is interpreted.</p>
 
3052
<p class="last"><em>Example:</em> <tt class="docutils literal"><span class="pre">line_wrap_indent=0;0;false;false</span></tt></p>
 
3053
</dd>
 
3054
<dt>translucency</dt>
 
3055
<dd><p class="first">Translucency for the current line (first argument) and the selection
 
3056
(second argument). Values between 0 and 256 are accepted.</p>
 
3057
<p>Note for Windows 95, 98 and ME users:
 
3058
keep this value at 256 to disable translucency otherwise Geany might crash.</p>
 
3059
<p>Only the first and second argument is interpreted.</p>
 
3060
<p class="last"><em>Example:</em> <tt class="docutils literal"><span class="pre">translucency=256;256;false;false</span></tt></p>
 
3061
</dd>
 
3062
<dt>marker_line</dt>
 
3063
<dd><p class="first">The style for a highlighted line (e.g when using Goto line or goto tag).
 
3064
The forground colour (first argument) is only used when the Markers margin
 
3065
is enabled (see View menu).</p>
 
3066
<p>Only the first and second argument is interpreted.</p>
 
3067
<p class="last"><em>Example:</em> <tt class="docutils literal"><span class="pre">marker_line=0x000000;0xffff00;false;false</span></tt></p>
 
3068
</dd>
 
3069
<dt>marker_search</dt>
 
3070
<dd><p class="first">The style for a highlighted search result (e.g when using &quot;Mark&quot; in
 
3071
Search dialogs). The foreground colour (first argument) is only used
 
3072
when the Markers margin is enabled (see View menu).</p>
 
3073
<p>Only the first and second argument is interpreted.</p>
 
3074
<p class="last"><em>Example:</em> <tt class="docutils literal"><span class="pre">marker_search=0x000000;0xB8F4B8;false;false</span></tt></p>
 
3075
</dd>
 
3076
<dt>marker_translucency</dt>
 
3077
<dd><p class="first">Translucency for the line marker (first argument) and the search marker
 
3078
(second argument). Values between 0 and 256 are accepted.</p>
 
3079
<p>Note for Windows 95, 98 and ME users:
 
3080
keep this value at 256 to disable translucency otherwise Geany might crash.</p>
 
3081
<p>Only the first and second argument is interpreted.</p>
 
3082
<p class="last"><em>Example:</em> <tt class="docutils literal"><span class="pre">marker_translucency=256;256;false;false</span></tt></p>
 
3083
</dd>
 
3084
<dt>whitespace_chars</dt>
 
3085
<dd><p class="first">Characters to treat as whitespace. These characters are ignored
 
3086
when moving, selecting and deleting across word boundaries
 
3087
(see <a class="reference" href="#scintilla-keyboard-commands">Scintilla keyboard commands</a>).</p>
 
3088
<p>This should include space (\s) and tab (\t).</p>
 
3089
<p class="last"><em>Example:</em> <tt class="docutils literal"><span class="pre">whitespace_chars=\s\t!\&quot;#$%&amp;'()*+,-./:;&lt;=&gt;?&#64;[\\]^`{|}~</span></tt></p>
 
3090
</dd>
 
3091
</dl>
 
3092
</div>
 
3093
</div>
 
3094
<div class="section">
 
3095
<h2><a class="toc-backref" href="#id131" id="filetype-extensions" name="filetype-extensions">Filetype extensions</a></h2>
 
3096
<p>To change the default filetype extension used when saving a new file,
 
3097
see <a class="reference" href="#filetype-definition-files">Filetype definition files</a>.</p>
 
3098
<p>You can override the list of file extensions that Geany uses for each
 
3099
filetype using the <tt class="docutils literal"><span class="pre">filetype_extensions.conf</span></tt> file.</p>
 
3100
<p>To override the system-wide configuration file, copy it from
 
3101
<tt class="docutils literal"><span class="pre">$prefix/share/geany</span></tt> to your configuration directory, usually
 
3102
<tt class="docutils literal"><span class="pre">~/.geany/</span></tt>. <tt class="docutils literal"><span class="pre">$prefix</span></tt> is the path where Geany is installed
 
3103
(commonly <tt class="docutils literal"><span class="pre">/usr/local</span></tt>).</p>
 
3104
<p>For example:</p>
 
3105
<pre class="literal-block">
 
3106
% cp /usr/local/share/geany/filetype_extensions.conf /home/username/.geany/
 
3107
</pre>
 
3108
<p>Then edit it and remove all the lines for filetype extensions that
 
3109
you do not want to override. The remaining lines can be edited after
 
3110
the <tt class="docutils literal"><span class="pre">=</span></tt> sign, using a semi-colon separated list of patterns which
 
3111
should be matched for that filetype.</p>
 
3112
<p>For example, to set the filetype extensions for Make, the
 
3113
<tt class="docutils literal"><span class="pre">/home/username/.geany/filetype_extensions.conf</span></tt> file should
 
3114
look like:</p>
 
3115
<pre class="literal-block">
 
3116
[Extensions]
 
3117
Make=Makefile*;*.mk;Buildfile;
 
3118
</pre>
 
3119
</div>
 
3120
<div class="section">
 
3121
<h2><a class="toc-backref" href="#id132" id="templates" name="templates">Templates</a></h2>
 
3122
<p>Geany supports the following templates:</p>
 
3123
<ul class="simple">
 
3124
<li>ChangeLog entry</li>
 
3125
<li>File header</li>
 
3126
<li>Function description</li>
 
3127
<li>Short GPL notice</li>
 
3128
<li>Short BSD notice</li>
 
3129
<li>Filetype template</li>
 
3130
</ul>
 
3131
<p>To use these templates, just open the Edit menu or open the popup menu
 
3132
by right-clicking in the editor widget, and choose &quot;Insert Comments&quot;
 
3133
and insert templates as you want.</p>
 
3134
<p>Some templates (like File header or ChangeLog entry) will always be
 
3135
inserted at the top of the file.</p>
 
3136
<p>To insert a function description, the cursor must be inside
 
3137
of the function, so that the function name can be determined
 
3138
automatically. The description will be positioned correctly one line
 
3139
above the function, just check it out. If the cursor is not inside
 
3140
of a function or the function name cannot be determined, the inserted
 
3141
function description won't contain the correct function name but &quot;unknown&quot;
 
3142
instead.</p>
 
3143
<div class="section">
 
3144
<h3><a class="toc-backref" href="#id133" id="template-metadata" name="template-metadata">Template metadata</a></h3>
 
3145
<p>Metadata can be used with all templates, but by default user set
 
3146
metadata is only used for the ChangeLog and File header templates.</p>
 
3147
<p>In the configuration dialog you can find a tab &quot;Templates&quot; (see
 
3148
<a class="reference" href="#template-tab-in-preferences-dialog">Template tab in preferences dialog</a>). You can define the
 
3149
default values which will be inserted in the templates. You should
 
3150
restart Geany after making changes, because they are only read
 
3151
at startup.</p>
 
3152
</div>
 
3153
<div class="section">
 
3154
<h3><a class="toc-backref" href="#id134" id="filetype-templates" name="filetype-templates">Filetype templates</a></h3>
 
3155
<p>Filetype templates are templates used as the basis of a new file. To
 
3156
use them, choose the <em>New (with Template)</em> menu item from the <em>File</em>
 
3157
menu.</p>
 
3158
<p>By default, templates are created for some filetypes. Other filetype
 
3159
templates can be added by creating the appropriate template file and
 
3160
restarting Geany. You can also edit the default filetype templates.</p>
 
3161
<p>Filetype template files are read from the <tt class="docutils literal"><span class="pre">~/.geany/templates</span></tt>
 
3162
directory, and are named &quot;filetype.&quot; followed by the filetype
 
3163
name, e.g. &quot;filetype.python&quot;, &quot;filetype.sh&quot;, etc. If you are
 
3164
unsure about the filetype name extensions, they are the same as
 
3165
the filetype configuration file extensions, commonly installed in
 
3166
<tt class="docutils literal"><span class="pre">/usr/share/geany</span></tt>, with the prefix &quot;filetypes.&quot;.</p>
 
3167
<p>The file's contents are just the text to place in the document,
 
3168
except for the optional <tt class="docutils literal"><span class="pre">{fileheader}</span></tt> template wildcard. This can
 
3169
be placed anywhere, but is usually on the first line of the file,
 
3170
followed by a blank line.</p>
 
3171
<p>There is also a template file <tt class="docutils literal"><span class="pre">template.none</span></tt> which is used when
 
3172
the New command is used without a filetype. This is empty by default.</p>
 
3173
</div>
 
3174
<div class="section">
 
3175
<h3><a class="toc-backref" href="#id135" id="customizing-templates" name="customizing-templates">Customizing templates</a></h3>
 
3176
<p>Each template can be customized to your needs. The templates are
 
3177
stored in the <tt class="docutils literal"><span class="pre">~/.geany/templates/</span></tt> directory (see the section called
 
3178
<a class="reference" href="#command-line-options">Command line options</a> for further information about the configuration
 
3179
directory). Just open the desired template with an editor (ideally,
 
3180
Geany ;-) ) and edit the template to your needs. There are some
 
3181
wildcards which will be automatically replaced by Geany at startup.</p>
 
3182
<div class="section">
 
3183
<h4><a class="toc-backref" href="#id136" id="template-wildcards" name="template-wildcards">Template wildcards</a></h4>
 
3184
<p>All wildcards must be enclosed by &quot;{&quot; and &quot;}&quot;, e.g. {date}.</p>
 
3185
<table border="1" class="docutils">
 
3186
<colgroup>
 
3187
<col width="15%" />
 
3188
<col width="48%" />
 
3189
<col width="37%" />
 
3190
</colgroup>
 
3191
<thead valign="bottom">
 
3192
<tr><th class="head">Wildcard</th>
 
3193
<th class="head">Description</th>
 
3194
<th class="head">Available in</th>
 
3195
</tr>
 
3196
</thead>
 
3197
<tbody valign="top">
 
3198
<tr><td>developer</td>
 
3199
<td>The name of the developer.</td>
 
3200
<td>filetypes, file header, function
 
3201
description, ChangeLog entry, bsd,
 
3202
gpl</td>
 
3203
</tr>
 
3204
<tr><td>initial</td>
 
3205
<td>The developer's initials, e.g. &quot;ET&quot; for
 
3206
Enrico Tröger or &quot;JFD&quot; for John Foobar Doe.</td>
 
3207
<td>filetypes, file header, function
 
3208
description, ChangeLog entry, bsd,
 
3209
gpl</td>
 
3210
</tr>
 
3211
<tr><td>mail</td>
 
3212
<td>The email address of the developer.</td>
 
3213
<td>file header, function description,
 
3214
ChangeLog entry, bsd, gpl</td>
 
3215
</tr>
 
3216
<tr><td>company</td>
 
3217
<td>The company the developer is working for.</td>
 
3218
<td>filetypes, file header, function
 
3219
description, ChangeLog entry, bsd,
 
3220
gpl</td>
 
3221
</tr>
 
3222
<tr><td>year</td>
 
3223
<td>The current year in the format: YYYY.</td>
 
3224
<td>filetypes, file header, function
 
3225
description, ChangeLog entry, bsd,
 
3226
gpl</td>
 
3227
</tr>
 
3228
<tr><td>version</td>
 
3229
<td>The initial version of a new file.</td>
 
3230
<td>filetypes, file header, function
 
3231
description, ChangeLog entry, bsd,
 
3232
gpl</td>
 
3233
</tr>
 
3234
<tr><td>date</td>
 
3235
<td>The current date in the format: YYYY-MM-DD.</td>
 
3236
<td>filetypes, file header, function
 
3237
description, ChangeLog entry, bsd,
 
3238
gpl</td>
 
3239
</tr>
 
3240
<tr><td>untitled</td>
 
3241
<td>The string &quot;untitled&quot; (this will be
 
3242
translated to your locale), used in
 
3243
filetype templates.</td>
 
3244
<td>filetypes, file header, function
 
3245
description, ChangeLog entry, bsd,
 
3246
gpl</td>
 
3247
</tr>
 
3248
<tr><td>geanyversion</td>
 
3249
<td>The actual Geany version, e.g.
 
3250
&quot;Geany 0.14&quot;.</td>
 
3251
<td>filetypes, file header, function
 
3252
description, ChangeLog entry, bsd,
 
3253
gpl</td>
 
3254
</tr>
 
3255
<tr><td>datetime</td>
 
3256
<td>The current date and time in the format:
 
3257
DD.MM.YYYY HH:mm:ss ZZZZ.</td>
 
3258
<td>file header, function description</td>
 
3259
</tr>
 
3260
<tr><td>filename</td>
 
3261
<td>The filename of the current file.</td>
 
3262
<td>file header</td>
 
3263
</tr>
 
3264
<tr><td>gpl</td>
 
3265
<td>This wildcard inserts a short GPL notice.</td>
 
3266
<td>file header</td>
 
3267
</tr>
 
3268
<tr><td>bsd</td>
 
3269
<td>This wildcard inserts a BSD licence notice.</td>
 
3270
<td>file header</td>
 
3271
</tr>
 
3272
<tr><td>functionname</td>
 
3273
<td>The function name of the function at the
 
3274
cursor position. This wildcard will only be
 
3275
replaced in the function description
 
3276
template.</td>
 
3277
<td>function description</td>
 
3278
</tr>
 
3279
<tr><td>fileheader</td>
 
3280
<td>The file header template. This wildcard
 
3281
will only be replaced in filetype
 
3282
templates.</td>
 
3283
<td>filetypes</td>
 
3284
</tr>
 
3285
</tbody>
 
3286
</table>
 
3287
</div>
 
3288
</div>
 
3289
</div>
 
3290
</div>
 
3291
<div class="section">
 
3292
<h1><a class="toc-backref" href="#id137" id="contributing-to-this-document" name="contributing-to-this-document">Contributing to this document</a></h1>
 
3293
<p>This document (<tt class="docutils literal"><span class="pre">geany.txt</span></tt>) is written in <a class="reference" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a>
 
3294
(or &quot;reST&quot;). The source file for it is located in Geany's <tt class="docutils literal"><span class="pre">doc</span></tt>
 
3295
subdirectory.  If you intend on making changes, you should grab the
 
3296
source right from SVN to make sure you've got the newest version. After
 
3297
editing the file, to build the HTML document to see how your changes
 
3298
look, run &quot;<tt class="docutils literal"><span class="pre">make</span> <span class="pre">doc</span></tt>&quot; in the subdirectory <tt class="docutils literal"><span class="pre">doc</span></tt> of Geany's source
 
3299
directory. This regenerates the <tt class="docutils literal"><span class="pre">geany.html</span></tt> file. To generate a PDF
 
3300
file, use the command &quot;<tt class="docutils literal"><span class="pre">make</span> <span class="pre">pdf</span></tt>&quot; which should generate a file called
 
3301
geany-0.14.pdf.</p>
 
3302
<p>After you are happy with your changes, create a patch:</p>
 
3303
<pre class="literal-block">
 
3304
% svn diff geany.txt &gt; foo.patch
 
3305
</pre>
 
3306
<p>and then submit that file to the mailing list for review.</p>
 
3307
<p>Note, you will need the Python docutils software package installed
 
3308
to build the docs. The package is named <tt class="docutils literal"><span class="pre">python-docutils</span></tt> on Debian
 
3309
and Fedora systems.</p>
 
3310
</div>
 
3311
<div class="section">
 
3312
<h1><a class="toc-backref" href="#id138" id="scintilla-keyboard-commands" name="scintilla-keyboard-commands">Scintilla keyboard commands</a></h1>
 
3313
<p>Copyright © 1998, 2006 Neil Hodgson &lt;neilh(at)scintilla(dot)org&gt;</p>
 
3314
<p>This appendix is distributed under the terms of the License for
 
3315
Scintilla and SciTE. A copy of this license can be found in the file
 
3316
<tt class="docutils literal"><span class="pre">scintilla/License.txt</span></tt> included with the source code of this
 
3317
program and in the appendix of this document. See <a class="reference" href="#license-for-scintilla-and-scite">License for
 
3318
Scintilla and SciTE</a>.</p>
 
3319
<p>20 June 2006</p>
 
3320
<div class="section">
 
3321
<h2><a class="toc-backref" href="#id139" id="keyboard-commands" name="keyboard-commands">Keyboard commands</a></h2>
 
3322
<p>Keyboard commands for Scintilla mostly follow common Windows and GTK+
 
3323
conventions. All move keys (arrows, page up/down, home and end)
 
3324
allows to extend or reduce the stream selection when holding the
 
3325
Shift key, and the rectangular selection when holding the Shift and
 
3326
Ctrl keys. Some keys may not be available with some national keyboards
 
3327
or because they are taken by the system such as by a window manager
 
3328
on GTK+. Keyboard equivalents of menu commands are listed in the
 
3329
menus. Some less common commands with no menu equivalent are:</p>
 
3330
<table border="1" class="docutils">
 
3331
<colgroup>
 
3332
<col width="67%" />
 
3333
<col width="33%" />
 
3334
</colgroup>
 
3335
<thead valign="bottom">
 
3336
<tr><th class="head">Action</th>
 
3337
<th class="head">Shortcut key</th>
 
3338
</tr>
 
3339
</thead>
 
3340
<tbody valign="top">
 
3341
<tr><td>Magnify text size.</td>
 
3342
<td>Ctrl+Keypad+</td>
 
3343
</tr>
 
3344
<tr><td>Reduce text size.</td>
 
3345
<td>Ctrl+Keypad-</td>
 
3346
</tr>
 
3347
<tr><td>Restore text size to normal.</td>
 
3348
<td>Ctrl+Keypad/</td>
 
3349
</tr>
 
3350
<tr><td>Indent block.</td>
 
3351
<td>Tab</td>
 
3352
</tr>
 
3353
<tr><td>Dedent block.</td>
 
3354
<td>Shift+Tab</td>
 
3355
</tr>
 
3356
<tr><td>Delete to start of word.</td>
 
3357
<td>Ctrl+BackSpace</td>
 
3358
</tr>
 
3359
<tr><td>Delete to end of word.</td>
 
3360
<td>Ctrl+Delete</td>
 
3361
</tr>
 
3362
<tr><td>Delete to start of line.</td>
 
3363
<td>Ctrl+Shift+BackSpace</td>
 
3364
</tr>
 
3365
<tr><td>Delete to end of line.</td>
 
3366
<td>Ctrl+Shift+Delete</td>
 
3367
</tr>
 
3368
<tr><td>Go to start of document.</td>
 
3369
<td>Ctrl+Home</td>
 
3370
</tr>
 
3371
<tr><td>Extend selection to start of document.</td>
 
3372
<td>Ctrl+Shift+Home</td>
 
3373
</tr>
 
3374
<tr><td>Go to start of display line.</td>
 
3375
<td>Alt+Home</td>
 
3376
</tr>
 
3377
<tr><td>Extend selection to start of display line.</td>
 
3378
<td>Alt+Shift+Home</td>
 
3379
</tr>
 
3380
<tr><td>Go to end of document.</td>
 
3381
<td>Ctrl+End</td>
 
3382
</tr>
 
3383
<tr><td>Extend selection to end of document.</td>
 
3384
<td>Ctrl+Shift+End</td>
 
3385
</tr>
 
3386
<tr><td>Go to end of display line.</td>
 
3387
<td>Alt+End</td>
 
3388
</tr>
 
3389
<tr><td>Extend selection to end of display line.</td>
 
3390
<td>Alt+Shift+End</td>
 
3391
</tr>
 
3392
<tr><td>Previous paragraph. Shift extends selection.</td>
 
3393
<td>Ctrl+Up</td>
 
3394
</tr>
 
3395
<tr><td>Next paragraph. Shift extends selection.</td>
 
3396
<td>Ctrl+Down</td>
 
3397
</tr>
 
3398
<tr><td>Previous word. Shift extends selection.</td>
 
3399
<td>Ctrl+Left</td>
 
3400
</tr>
 
3401
<tr><td>Next word. Shift extends selection.</td>
 
3402
<td>Ctrl+Right</td>
 
3403
</tr>
 
3404
<tr><td>Previous word part.</td>
 
3405
<td>Ctrl+/</td>
 
3406
</tr>
 
3407
<tr><td>Next word part.</td>
 
3408
<td>Ctrl+\</td>
 
3409
</tr>
 
3410
</tbody>
 
3411
</table>
 
3412
</div>
 
3413
</div>
 
3414
<div class="section">
 
3415
<h1><a class="toc-backref" href="#id140" id="hidden-preferences" name="hidden-preferences">Hidden preferences</a></h1>
 
3416
<p>There are some uncommon preferences that are not shown in the Preferences
 
3417
dialog. These can be set by editing <tt class="docutils literal"><span class="pre">~/.geany/geany.conf</span></tt>, then
 
3418
restarting Geany. Search for the key name, then edit the value. Example:</p>
 
3419
<blockquote>
 
3420
<tt class="docutils literal"><span class="pre">brace_match_ltgt=true</span></tt></blockquote>
 
3421
<p>The table below show the key names of hidden preferences in the
 
3422
configuration file.</p>
 
3423
<table border="1" class="docutils">
 
3424
<colgroup>
 
3425
<col width="34%" />
 
3426
<col width="46%" />
 
3427
<col width="19%" />
 
3428
</colgroup>
 
3429
<thead valign="bottom">
 
3430
<tr><th class="head">Key</th>
 
3431
<th class="head">Description</th>
 
3432
<th class="head">Default</th>
 
3433
</tr>
 
3434
</thead>
 
3435
<tbody valign="top">
 
3436
<tr><td><strong>[editor]</strong></td>
 
3437
<td>&nbsp;</td>
 
3438
<td>&nbsp;</td>
 
3439
</tr>
 
3440
<tr><td>brace_match_ltgt</td>
 
3441
<td>Whether to highlight &lt;, &gt; angle brackets.</td>
 
3442
<td>false</td>
 
3443
</tr>
 
3444
<tr><td>show_editor_scrollbars</td>
 
3445
<td>Whether to display scrollbars. If set to
 
3446
false, the horizontal and vertical
 
3447
scrollbars are hidden completely.</td>
 
3448
<td>true</td>
 
3449
</tr>
 
3450
<tr><td>use_tab_to_indent</td>
 
3451
<td>Whether pressing tab when a line is
 
3452
selected will indent the line.</td>
 
3453
<td>true</td>
 
3454
</tr>
 
3455
<tr><td>use_gtk_word_boundaries</td>
 
3456
<td>Whether to look for the end of a word when
 
3457
using word-boundary related Scintilla
 
3458
commands (see <a class="reference" href="#scintilla-keyboard-commands">Scintilla keyboard
 
3459
commands</a>).</td>
 
3460
<td>true</td>
 
3461
</tr>
 
3462
<tr><td>complete_snippets_whilst_editing</td>
 
3463
<td>Whether to allow completion of snippets
 
3464
when editing an existing line (i.e. there
 
3465
is some text after the current cursor
 
3466
position on the line).</td>
 
3467
<td>false</td>
 
3468
</tr>
 
3469
<tr><td>scroll_stop_at_last_line</td>
 
3470
<td>Disable scrolling past end of document</td>
 
3471
<td>false</td>
 
3472
</tr>
 
3473
<tr><td><strong>[interface]</strong></td>
 
3474
<td>&nbsp;</td>
 
3475
<td>&nbsp;</td>
 
3476
</tr>
 
3477
<tr><td>show_symbol_list_expanders</td>
 
3478
<td>Whether to show or hide the small expander
 
3479
icons on the symbol list treeview (only
 
3480
available with GTK 2.12 or above).</td>
 
3481
<td>true</td>
 
3482
</tr>
 
3483
</tbody>
 
3484
</table>
 
3485
</div>
 
3486
<div class="section">
 
3487
<h1><a class="toc-backref" href="#id141" id="compile-time-options" name="compile-time-options">Compile-time options</a></h1>
 
3488
<p>There are some options which can only be changed at compile time. To
 
3489
change these options, edit the file src/geany.h. Look for a block of
 
3490
lines starting with <tt class="docutils literal"><span class="pre">#define</span> <span class="pre">GEANY_*</span></tt>. Any definitions which are
 
3491
not listed here should not be changed.</p>
 
3492
<div class="note">
 
3493
<p class="first admonition-title">Note</p>
 
3494
<p class="last">Most users should not need to change these options.</p>
 
3495
</div>
 
3496
<table border="1" class="docutils">
 
3497
<colgroup>
 
3498
<col width="32%" />
 
3499
<col width="47%" />
 
3500
<col width="21%" />
 
3501
</colgroup>
 
3502
<thead valign="bottom">
 
3503
<tr><th class="head">Option</th>
 
3504
<th class="head">Description</th>
 
3505
<th class="head">Default</th>
 
3506
</tr>
 
3507
</thead>
 
3508
<tbody valign="top">
 
3509
<tr><td>GEANY_WORDCHARS</td>
 
3510
<td>These characters define word boundaries when
 
3511
making selections and searching using word
 
3512
matching options.</td>
 
3513
<td><em>look at sourcecode</em></td>
 
3514
</tr>
 
3515
<tr><td>GEANY_MAX_AUTOCOMPLETE_WORDS</td>
 
3516
<td>How many auto completion suggestions should
 
3517
Geany provide.</td>
 
3518
<td>30</td>
 
3519
</tr>
 
3520
<tr><td>GEANY_MAX_AUTOCOMPLETE_HEIGHT</td>
 
3521
<td>How many suggestions should be visible in
 
3522
the auto completion list.</td>
 
3523
<td>10</td>
 
3524
</tr>
 
3525
<tr><td>GEANY_MIN_SYMBOLLIST_CHARS</td>
 
3526
<td>How many characters you need to type to
 
3527
trigger the auto completion list.</td>
 
3528
<td>4</td>
 
3529
</tr>
 
3530
<tr><td>GEANY_PROJECT_EXT</td>
 
3531
<td>The default filename extension for Geany
 
3532
project files. It is used when creating new
 
3533
projects and as filter mask for the project
 
3534
open dialog.</td>
 
3535
<td>geany</td>
 
3536
</tr>
 
3537
<tr><td>GEANY_STRING_UNTITLED</td>
 
3538
<td>A string used as the default name for new
 
3539
files. Be aware that the string can be
 
3540
translated, so change it only if you know
 
3541
what you are doing.</td>
 
3542
<td>untitled</td>
 
3543
</tr>
 
3544
<tr><td>GEANY_CHECK_FILE_DELAY</td>
 
3545
<td>Time in seconds between checking a file for
 
3546
external changes.</td>
 
3547
<td>30</td>
 
3548
</tr>
 
3549
<tr><td>GEANY_TOGGLE_MARK</td>
 
3550
<td>A string which is used to mark a toggled
 
3551
comment.
 
3552
external changes.</td>
 
3553
<td>&quot;~ &quot;</td>
 
3554
</tr>
 
3555
<tr><td>GEANY_WINDOW_MINIMAL_WIDTH</td>
 
3556
<td>The minimal width of the main window.</td>
 
3557
<td>620</td>
 
3558
</tr>
 
3559
<tr><td>GEANY_WINDOW_MINIMAL_HEIGHT</td>
 
3560
<td>The minimal height of the main window.</td>
 
3561
<td>440</td>
 
3562
</tr>
 
3563
<tr><td>GEANY_WINDOW_DEFAULT_WIDTH</td>
 
3564
<td>The default width of the main window at the
 
3565
first start.</td>
 
3566
<td>900</td>
 
3567
</tr>
 
3568
<tr><td>GEANY_WINDOW_DEFAULT_HEIGHT</td>
 
3569
<td>The default height of the main window at the
 
3570
first start.</td>
 
3571
<td>600</td>
 
3572
</tr>
 
3573
<tr><td><strong>Default values</strong></td>
 
3574
<td>&nbsp;</td>
 
3575
<td>&nbsp;</td>
 
3576
</tr>
 
3577
<tr><td>GEANY_DEFAULT_TOOLS_MAKE</td>
 
3578
<td>The make tool. This can also include a path.</td>
 
3579
<td>&quot;make&quot;</td>
 
3580
</tr>
 
3581
<tr><td>GEANY_DEFAULT_TOOLS_TERMINAL</td>
 
3582
<td>A terminal emulator. It has to accept the
 
3583
command line option &quot;-e&quot;. This can also
 
3584
include a path.</td>
 
3585
<td>&quot;xterm&quot;</td>
 
3586
</tr>
 
3587
<tr><td>GEANY_DEFAULT_TOOLS_BROWSER</td>
 
3588
<td>A web browser. This can also include a path.</td>
 
3589
<td>&quot;firefox&quot;</td>
 
3590
</tr>
 
3591
<tr><td>GEANY_DEFAULT_TOOLS_PRINTCMD</td>
 
3592
<td>A printing tool. It should be able to accept
 
3593
and process plain text files. This can also
 
3594
include a path.</td>
 
3595
<td>&quot;lpr&quot;</td>
 
3596
</tr>
 
3597
<tr><td>GEANY_DEFAULT_TOOLS_GREP</td>
 
3598
<td>A grep tool. It should be compatible with
 
3599
GNU grep. This can also include a path.</td>
 
3600
<td>&quot;grep&quot;</td>
 
3601
</tr>
 
3602
<tr><td>GEANY_DEFAULT_MRU_LENGHTH</td>
 
3603
<td>The length of the &quot;Recent files&quot; list.</td>
 
3604
<td>10</td>
 
3605
</tr>
 
3606
<tr><td>GEANY_DEFAULT_FONT_SYMBOL_LIST</td>
 
3607
<td>The font used in sidebar to show symbols and
 
3608
open files.</td>
 
3609
<td>&quot;Sans 9&quot;</td>
 
3610
</tr>
 
3611
<tr><td>GEANY_DEFAULT_FONT_MSG_WINDOW</td>
 
3612
<td>The font used in the messages window.</td>
 
3613
<td>&quot;Sans 9&quot;</td>
 
3614
</tr>
 
3615
<tr><td>GEANY_DEFAULT_FONT_EDITOR</td>
 
3616
<td>The font used in the editor window.</td>
 
3617
<td>&quot;Monospace 10&quot;</td>
 
3618
</tr>
 
3619
<tr><td><strong>Windows specific</strong></td>
 
3620
<td>&nbsp;</td>
 
3621
<td>&nbsp;</td>
 
3622
</tr>
 
3623
<tr><td>GEANY_USE_WIN32_DIALOG</td>
 
3624
<td>Set this to 1 if you want to use the default
 
3625
Windows file open and save dialogs instead
 
3626
GTK's file open and save dialogs. The
 
3627
default Windows file dialogs are missing
 
3628
some nice features like choosing a filetype
 
3629
or an encoding. <em>Do not touch this setting
 
3630
when building on a non-Win32 system.</em></td>
 
3631
<td>0</td>
 
3632
</tr>
 
3633
</tbody>
 
3634
</table>
 
3635
</div>
 
3636
<div class="section">
 
3637
<h1><a class="toc-backref" href="#id142" id="gnu-general-public-license" name="gnu-general-public-license">GNU General Public License</a></h1>
 
3638
<pre class="literal-block">
 
3639
            GNU GENERAL PUBLIC LICENSE
 
3640
               Version 2, June 1991
 
3641
 
 
3642
 Copyright (C) 1989, 1991 Free Software Foundation, Inc.
 
3643
    51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
3644
 Everyone is permitted to copy and distribute verbatim copies
 
3645
 of this license document, but changing it is not allowed.
 
3646
 
 
3647
                Preamble
 
3648
 
 
3649
  The licenses for most software are designed to take away your
 
3650
freedom to share and change it.  By contrast, the GNU General Public
 
3651
License is intended to guarantee your freedom to share and change free
 
3652
software--to make sure the software is free for all its users.  This
 
3653
General Public License applies to most of the Free Software
 
3654
Foundation's software and to any other program whose authors commit to
 
3655
using it.  (Some other Free Software Foundation software is covered by
 
3656
the GNU Library General Public License instead.)  You can apply it to
 
3657
your programs, too.
 
3658
 
 
3659
  When we speak of free software, we are referring to freedom, not
 
3660
price.  Our General Public Licenses are designed to make sure that you
 
3661
have the freedom to distribute copies of free software (and charge for
 
3662
this service if you wish), that you receive source code or can get it
 
3663
if you want it, that you can change the software or use pieces of it
 
3664
in new free programs; and that you know you can do these things.
 
3665
 
 
3666
  To protect your rights, we need to make restrictions that forbid
 
3667
anyone to deny you these rights or to ask you to surrender the rights.
 
3668
These restrictions translate to certain responsibilities for you if you
 
3669
distribute copies of the software, or if you modify it.
 
3670
 
 
3671
  For example, if you distribute copies of such a program, whether
 
3672
gratis or for a fee, you must give the recipients all the rights that
 
3673
you have.  You must make sure that they, too, receive or can get the
 
3674
source code.  And you must show them these terms so they know their
 
3675
rights.
 
3676
 
 
3677
  We protect your rights with two steps: (1) copyright the software, and
 
3678
(2) offer you this license which gives you legal permission to copy,
 
3679
distribute and/or modify the software.
 
3680
 
 
3681
  Also, for each author's protection and ours, we want to make certain
 
3682
that everyone understands that there is no warranty for this free
 
3683
software.  If the software is modified by someone else and passed on, we
 
3684
want its recipients to know that what they have is not the original, so
 
3685
that any problems introduced by others will not reflect on the original
 
3686
authors' reputations.
 
3687
 
 
3688
  Finally, any free program is threatened constantly by software
 
3689
patents.  We wish to avoid the danger that redistributors of a free
 
3690
program will individually obtain patent licenses, in effect making the
 
3691
program proprietary.  To prevent this, we have made it clear that any
 
3692
patent must be licensed for everyone's free use or not licensed at all.
 
3693
 
 
3694
  The precise terms and conditions for copying, distribution and
 
3695
modification follow.
 
3696
 
 
3697
            GNU GENERAL PUBLIC LICENSE
 
3698
   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
 
3699
 
 
3700
  0. This License applies to any program or other work which contains
 
3701
a notice placed by the copyright holder saying it may be distributed
 
3702
under the terms of this General Public License.  The &quot;Program&quot;, below,
 
3703
refers to any such program or work, and a &quot;work based on the Program&quot;
 
3704
means either the Program or any derivative work under copyright law:
 
3705
that is to say, a work containing the Program or a portion of it,
 
3706
either verbatim or with modifications and/or translated into another
 
3707
language.  (Hereinafter, translation is included without limitation in
 
3708
the term &quot;modification&quot;.)  Each licensee is addressed as &quot;you&quot;.
 
3709
 
 
3710
Activities other than copying, distribution and modification are not
 
3711
covered by this License; they are outside its scope.  The act of
 
3712
running the Program is not restricted, and the output from the Program
 
3713
is covered only if its contents constitute a work based on the
 
3714
Program (independent of having been made by running the Program).
 
3715
Whether that is true depends on what the Program does.
 
3716
 
 
3717
  1. You may copy and distribute verbatim copies of the Program's
 
3718
source code as you receive it, in any medium, provided that you
 
3719
conspicuously and appropriately publish on each copy an appropriate
 
3720
copyright notice and disclaimer of warranty; keep intact all the
 
3721
notices that refer to this License and to the absence of any warranty;
 
3722
and give any other recipients of the Program a copy of this License
 
3723
along with the Program.
 
3724
 
 
3725
You may charge a fee for the physical act of transferring a copy, and
 
3726
you may at your option offer warranty protection in exchange for a fee.
 
3727
 
 
3728
  2. You may modify your copy or copies of the Program or any portion
 
3729
of it, thus forming a work based on the Program, and copy and
 
3730
distribute such modifications or work under the terms of Section 1
 
3731
above, provided that you also meet all of these conditions:
 
3732
 
 
3733
    a) You must cause the modified files to carry prominent notices
 
3734
    stating that you changed the files and the date of any change.
 
3735
 
 
3736
    b) You must cause any work that you distribute or publish, that in
 
3737
    whole or in part contains or is derived from the Program or any
 
3738
    part thereof, to be licensed as a whole at no charge to all third
 
3739
    parties under the terms of this License.
 
3740
 
 
3741
    c) If the modified program normally reads commands interactively
 
3742
    when run, you must cause it, when started running for such
 
3743
    interactive use in the most ordinary way, to print or display an
 
3744
    announcement including an appropriate copyright notice and a
 
3745
    notice that there is no warranty (or else, saying that you provide
 
3746
    a warranty) and that users may redistribute the program under
 
3747
    these conditions, and telling the user how to view a copy of this
 
3748
    License.  (Exception: if the Program itself is interactive but
 
3749
    does not normally print such an announcement, your work based on
 
3750
    the Program is not required to print an announcement.)
 
3751
 
 
3752
These requirements apply to the modified work as a whole.  If
 
3753
identifiable sections of that work are not derived from the Program,
 
3754
and can be reasonably considered independent and separate works in
 
3755
themselves, then this License, and its terms, do not apply to those
 
3756
sections when you distribute them as separate works.  But when you
 
3757
distribute the same sections as part of a whole which is a work based
 
3758
on the Program, the distribution of the whole must be on the terms of
 
3759
this License, whose permissions for other licensees extend to the
 
3760
entire whole, and thus to each and every part regardless of who wrote it.
 
3761
 
 
3762
Thus, it is not the intent of this section to claim rights or contest
 
3763
your rights to work written entirely by you; rather, the intent is to
 
3764
exercise the right to control the distribution of derivative or
 
3765
collective works based on the Program.
 
3766
 
 
3767
In addition, mere aggregation of another work not based on the Program
 
3768
with the Program (or with a work based on the Program) on a volume of
 
3769
a storage or distribution medium does not bring the other work under
 
3770
the scope of this License.
 
3771
 
 
3772
  3. You may copy and distribute the Program (or a work based on it,
 
3773
under Section 2) in object code or executable form under the terms of
 
3774
Sections 1 and 2 above provided that you also do one of the following:
 
3775
 
 
3776
    a) Accompany it with the complete corresponding machine-readable
 
3777
    source code, which must be distributed under the terms of Sections
 
3778
    1 and 2 above on a medium customarily used for software interchange; or,
 
3779
 
 
3780
    b) Accompany it with a written offer, valid for at least three
 
3781
    years, to give any third party, for a charge no more than your
 
3782
    cost of physically performing source distribution, a complete
 
3783
    machine-readable copy of the corresponding source code, to be
 
3784
    distributed under the terms of Sections 1 and 2 above on a medium
 
3785
    customarily used for software interchange; or,
 
3786
 
 
3787
    c) Accompany it with the information you received as to the offer
 
3788
    to distribute corresponding source code.  (This alternative is
 
3789
    allowed only for noncommercial distribution and only if you
 
3790
    received the program in object code or executable form with such
 
3791
    an offer, in accord with Subsection b above.)
 
3792
 
 
3793
The source code for a work means the preferred form of the work for
 
3794
making modifications to it.  For an executable work, complete source
 
3795
code means all the source code for all modules it contains, plus any
 
3796
associated interface definition files, plus the scripts used to
 
3797
control compilation and installation of the executable.  However, as a
 
3798
special exception, the source code distributed need not include
 
3799
anything that is normally distributed (in either source or binary
 
3800
form) with the major components (compiler, kernel, and so on) of the
 
3801
operating system on which the executable runs, unless that component
 
3802
itself accompanies the executable.
 
3803
 
 
3804
If distribution of executable or object code is made by offering
 
3805
access to copy from a designated place, then offering equivalent
 
3806
access to copy the source code from the same place counts as
 
3807
distribution of the source code, even though third parties are not
 
3808
compelled to copy the source along with the object code.
 
3809
 
 
3810
  4. You may not copy, modify, sublicense, or distribute the Program
 
3811
except as expressly provided under this License.  Any attempt
 
3812
otherwise to copy, modify, sublicense or distribute the Program is
 
3813
void, and will automatically terminate your rights under this License.
 
3814
However, parties who have received copies, or rights, from you under
 
3815
this License will not have their licenses terminated so long as such
 
3816
parties remain in full compliance.
 
3817
 
 
3818
  5. You are not required to accept this License, since you have not
 
3819
signed it.  However, nothing else grants you permission to modify or
 
3820
distribute the Program or its derivative works.  These actions are
 
3821
prohibited by law if you do not accept this License.  Therefore, by
 
3822
modifying or distributing the Program (or any work based on the
 
3823
Program), you indicate your acceptance of this License to do so, and
 
3824
all its terms and conditions for copying, distributing or modifying
 
3825
the Program or works based on it.
 
3826
 
 
3827
  6. Each time you redistribute the Program (or any work based on the
 
3828
Program), the recipient automatically receives a license from the
 
3829
original licensor to copy, distribute or modify the Program subject to
 
3830
these terms and conditions.  You may not impose any further
 
3831
restrictions on the recipients' exercise of the rights granted herein.
 
3832
You are not responsible for enforcing compliance by third parties to
 
3833
this License.
 
3834
 
 
3835
  7. If, as a consequence of a court judgment or allegation of patent
 
3836
infringement or for any other reason (not limited to patent issues),
 
3837
conditions are imposed on you (whether by court order, agreement or
 
3838
otherwise) that contradict the conditions of this License, they do not
 
3839
excuse you from the conditions of this License.  If you cannot
 
3840
distribute so as to satisfy simultaneously your obligations under this
 
3841
License and any other pertinent obligations, then as a consequence you
 
3842
may not distribute the Program at all.  For example, if a patent
 
3843
license would not permit royalty-free redistribution of the Program by
 
3844
all those who receive copies directly or indirectly through you, then
 
3845
the only way you could satisfy both it and this License would be to
 
3846
refrain entirely from distribution of the Program.
 
3847
 
 
3848
If any portion of this section is held invalid or unenforceable under
 
3849
any particular circumstance, the balance of the section is intended to
 
3850
apply and the section as a whole is intended to apply in other
 
3851
circumstances.
 
3852
 
 
3853
It is not the purpose of this section to induce you to infringe any
 
3854
patents or other property right claims or to contest validity of any
 
3855
such claims; this section has the sole purpose of protecting the
 
3856
integrity of the free software distribution system, which is
 
3857
implemented by public license practices.  Many people have made
 
3858
generous contributions to the wide range of software distributed
 
3859
through that system in reliance on consistent application of that
 
3860
system; it is up to the author/donor to decide if he or she is willing
 
3861
to distribute software through any other system and a licensee cannot
 
3862
impose that choice.
 
3863
 
 
3864
This section is intended to make thoroughly clear what is believed to
 
3865
be a consequence of the rest of this License.
 
3866
 
 
3867
  8. If the distribution and/or use of the Program is restricted in
 
3868
certain countries either by patents or by copyrighted interfaces, the
 
3869
original copyright holder who places the Program under this License
 
3870
may add an explicit geographical distribution limitation excluding
 
3871
those countries, so that distribution is permitted only in or among
 
3872
countries not thus excluded.  In such case, this License incorporates
 
3873
the limitation as if written in the body of this License.
 
3874
 
 
3875
  9. The Free Software Foundation may publish revised and/or new versions
 
3876
of the General Public License from time to time.  Such new versions will
 
3877
be similar in spirit to the present version, but may differ in detail to
 
3878
address new problems or concerns.
 
3879
 
 
3880
Each version is given a distinguishing version number.  If the Program
 
3881
specifies a version number of this License which applies to it and &quot;any
 
3882
later version&quot;, you have the option of following the terms and conditions
 
3883
either of that version or of any later version published by the Free
 
3884
Software Foundation.  If the Program does not specify a version number of
 
3885
this License, you may choose any version ever published by the Free Software
 
3886
Foundation.
 
3887
 
 
3888
  10. If you wish to incorporate parts of the Program into other free
 
3889
programs whose distribution conditions are different, write to the author
 
3890
to ask for permission.  For software which is copyrighted by the Free
 
3891
Software Foundation, write to the Free Software Foundation; we sometimes
 
3892
make exceptions for this.  Our decision will be guided by the two goals
 
3893
of preserving the free status of all derivatives of our free software and
 
3894
of promoting the sharing and reuse of software generally.
 
3895
 
 
3896
                NO WARRANTY
 
3897
 
 
3898
  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
 
3899
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
 
3900
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
 
3901
PROVIDE THE PROGRAM &quot;AS IS&quot; WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
 
3902
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 
3903
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
 
3904
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
 
3905
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
 
3906
REPAIR OR CORRECTION.
 
3907
 
 
3908
  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
 
3909
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
 
3910
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
 
3911
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
 
3912
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
 
3913
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
 
3914
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
 
3915
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
 
3916
POSSIBILITY OF SUCH DAMAGES.
 
3917
 
 
3918
             END OF TERMS AND CONDITIONS
 
3919
 
 
3920
        How to Apply These Terms to Your New Programs
 
3921
 
 
3922
  If you develop a new program, and you want it to be of the greatest
 
3923
possible use to the public, the best way to achieve this is to make it
 
3924
free software which everyone can redistribute and change under these terms.
 
3925
 
 
3926
  To do so, attach the following notices to the program.  It is safest
 
3927
to attach them to the start of each source file to most effectively
 
3928
convey the exclusion of warranty; and each file should have at least
 
3929
the &quot;copyright&quot; line and a pointer to where the full notice is found.
 
3930
 
 
3931
    &lt;one line to give the program's name and a brief idea of what it does.&gt;
 
3932
    Copyright (C) &lt;year&gt;  &lt;name of author&gt;
 
3933
 
 
3934
    This program is free software; you can redistribute it and/or modify
 
3935
    it under the terms of the GNU General Public License as published by
 
3936
    the Free Software Foundation; either version 2 of the License, or
 
3937
    (at your option) any later version.
 
3938
 
 
3939
    This program is distributed in the hope that it will be useful,
 
3940
    but WITHOUT ANY WARRANTY; without even the implied warranty of
 
3941
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
3942
    GNU General Public License for more details.
 
3943
 
 
3944
    You should have received a copy of the GNU General Public License
 
3945
    along with this program; if not, write to the Free Software
 
3946
    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 
3947
 
 
3948
 
 
3949
Also add information on how to contact you by electronic and paper mail.
 
3950
 
 
3951
If the program is interactive, make it output a short notice like this
 
3952
when it starts in an interactive mode:
 
3953
 
 
3954
    Gnomovision version 69, Copyright (C) year  name of author
 
3955
    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
 
3956
    This is free software, and you are welcome to redistribute it
 
3957
    under certain conditions; type `show c' for details.
 
3958
 
 
3959
The hypothetical commands `show w' and `show c' should show the appropriate
 
3960
parts of the General Public License.  Of course, the commands you use may
 
3961
be called something other than `show w' and `show c'; they could even be
 
3962
mouse-clicks or menu items--whatever suits your program.
 
3963
 
 
3964
You should also get your employer (if you work as a programmer) or your
 
3965
school, if any, to sign a &quot;copyright disclaimer&quot; for the program, if
 
3966
necessary.  Here is a sample; alter the names:
 
3967
 
 
3968
  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
 
3969
  `Gnomovision' (which makes passes at compilers) written by James Hacker.
 
3970
 
 
3971
  &lt;signature of Ty Coon&gt;, 1 April 1989
 
3972
  Ty Coon, President of Vice
 
3973
 
 
3974
This General Public License does not permit incorporating your program into
 
3975
proprietary programs.  If your program is a subroutine library, you may
 
3976
consider it more useful to permit linking proprietary applications with the
 
3977
library.  If this is what you want to do, use the GNU Library General
 
3978
Public License instead of this License.
 
3979
</pre>
 
3980
</div>
 
3981
<div class="section">
 
3982
<h1><a class="toc-backref" href="#id143" id="license-for-scintilla-and-scite" name="license-for-scintilla-and-scite">License for Scintilla and SciTE</a></h1>
 
3983
<p>Copyright 1998-2003 by Neil Hodgson &lt;neilh(at)scintilla(dot)org&gt;</p>
 
3984
<p>All Rights Reserved</p>
 
3985
<p>Permission to use, copy, modify, and distribute this software and
 
3986
its documentation for any purpose and without fee is hereby granted,
 
3987
provided that the above copyright notice appear in all copies and
 
3988
that both that copyright notice and this permission notice appear in
 
3989
supporting documentation.</p>
 
3990
<p>NEIL HODGSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
 
3991
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN
 
3992
NO EVENT SHALL NEIL HODGSON BE LIABLE FOR ANY SPECIAL, INDIRECT OR
 
3993
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
 
3994
OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
 
3995
OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE
 
3996
USE OR PERFORMANCE OF THIS SOFTWARE.</p>
 
3997
</div>
 
3998
</div>
 
3999
<div class="footer">
 
4000
<hr class="footer" />
 
4001
<a class="reference" href="geany.txt">View document source</a>.
 
4002
Generated on: 2008-04-19 08:23 UTC.
 
4003
Generated by <a class="reference" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
 
4004
 
 
4005
</div>
 
4006
</body>
 
4007
</html>