~ubuntu-branches/ubuntu/natty/geany/natty

« back to all changes in this revision

Viewing changes to doc/geany.html

  • Committer: Bazaar Package Importer
  • Author(s): Chow Loong Jin
  • Date: 2010-08-07 03:23:12 UTC
  • mfrom: (1.4.3 upstream)
  • mto: This revision was merged to the branch mainline in revision 22.
  • Revision ID: james.westby@ubuntu.com-20100807032312-ot70ac9d50cn79we
Tags: upstream-0.19
ImportĀ upstreamĀ versionĀ 0.19

Show diffs side-by-side

added added

removed removed

Lines of Context:
3
3
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
4
<head>
5
5
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
 
<meta name="generator" content="Docutils 0.6: http://docutils.sourceforge.net/" />
 
6
<meta name="generator" content="Docutils 0.4: http://docutils.sourceforge.net/" />
7
7
<title>Geany</title>
8
8
<meta name="authors" content="Enrico Trƶger  Nick Treleaven  Frank Lanitz" />
9
 
<meta name="date" content="2010-02-14" />
 
9
<meta name="date" content="2010-06-04" />
10
10
<style type="text/css">
11
11
 
12
12
/*
139
139
<br />Nick Treleaven
140
140
<br />Frank Lanitz</td></tr>
141
141
<tr><th class="docinfo-name">Date:</th>
142
 
<td>2010-02-14</td></tr>
 
142
<td>2010-06-04</td></tr>
143
143
<tr><th class="docinfo-name">Version:</th>
144
 
<td>0.18.1</td></tr>
 
144
<td>0.19</td></tr>
145
145
</tbody>
146
146
</table>
147
147
<p>Copyright Ā© 2005-2010</p>
149
149
License as published by the Free Software Foundation; either version 2
150
150
of the License, or (at your option) any later version. A copy of this
151
151
license can be found in the file COPYING included with the source code
152
 
of this program, and also in the chapter <a class="reference internal" href="#gnu-general-public-license">GNU General Public License</a>.</p>
153
 
<div class="contents topic" id="contents">
154
 
<p class="topic-title first">Contents</p>
 
152
of this program, and also in the chapter <a class="reference" href="#gnu-general-public-license">GNU General Public License</a>.</p>
 
153
<div class="contents topic">
 
154
<p class="topic-title first"><a id="contents" name="contents">Contents</a></p>
155
155
<ul class="simple">
156
 
<li><a class="reference internal" href="#introduction" id="id11">Introduction</a><ul>
157
 
<li><a class="reference internal" href="#about-geany" id="id12">About Geany</a></li>
158
 
<li><a class="reference internal" href="#where-to-get-it" id="id13">Where to get it</a></li>
159
 
<li><a class="reference internal" href="#license" id="id14">License</a></li>
160
 
<li><a class="reference internal" href="#about-this-document" id="id15">About this document</a></li>
161
 
</ul>
162
 
</li>
163
 
<li><a class="reference internal" href="#installation" id="id16">Installation</a><ul>
164
 
<li><a class="reference internal" href="#requirements" id="id17">Requirements</a></li>
165
 
<li><a class="reference internal" href="#binary-packages" id="id18">Binary packages</a></li>
166
 
<li><a class="reference internal" href="#source-compilation" id="id19">Source compilation</a><ul>
167
 
<li><a class="reference internal" href="#autotools-based-build-system" id="id20">Autotools based build system</a></li>
168
 
<li><a class="reference internal" href="#waf-based-build-system" id="id21">Waf based build system</a><ul>
169
 
<li><a class="reference internal" href="#waf-cache" id="id22">Waf Cache</a><ul>
170
 
<li><a class="reference internal" href="#cleaning-the-cache" id="id23">Cleaning the Cache</a></li>
171
 
</ul>
172
 
</li>
173
 
</ul>
174
 
</li>
175
 
<li><a class="reference internal" href="#custom-installation" id="id24">Custom installation</a></li>
176
 
<li><a class="reference internal" href="#dynamic-linking-loader-support" id="id25">Dynamic linking loader support</a></li>
177
 
<li><a class="reference internal" href="#build-problems" id="id26">Build problems</a></li>
178
 
</ul>
179
 
</li>
180
 
<li><a class="reference internal" href="#installation-prefix" id="id27">Installation prefix</a></li>
181
 
</ul>
182
 
</li>
183
 
<li><a class="reference internal" href="#usage" id="id28">Usage</a><ul>
184
 
<li><a class="reference internal" href="#getting-started" id="id29">Getting started</a></li>
185
 
<li><a class="reference internal" href="#command-line-options" id="id30">Command line options</a></li>
186
 
<li><a class="reference internal" href="#general" id="id31">General</a><ul>
187
 
<li><a class="reference internal" href="#startup" id="id32">Startup</a></li>
188
 
<li><a class="reference internal" href="#opening-files-from-the-command-line-in-a-running-instance" id="id33">Opening files from the command-line in a running instance</a></li>
189
 
<li><a class="reference internal" href="#virtual-terminal-emulator-widget-vte" id="id34">Virtual terminal emulator widget (VTE)</a></li>
190
 
<li><a class="reference internal" href="#defining-own-widget-styles-using-gtkrc-2-0" id="id35">Defining own widget styles using .gtkrc-2.0</a></li>
191
 
</ul>
192
 
</li>
193
 
<li><a class="reference internal" href="#documents" id="id36">Documents</a><ul>
194
 
<li><a class="reference internal" href="#switching-between-documents" id="id37">Switching between documents</a></li>
195
 
</ul>
196
 
</li>
197
 
<li><a class="reference internal" href="#character-sets-and-unicode-byte-order-mark-bom" id="id38">Character sets and Unicode Byte-Order-Mark (BOM)</a><ul>
198
 
<li><a class="reference internal" href="#using-character-sets" id="id39">Using character sets</a></li>
199
 
<li><a class="reference internal" href="#in-file-encoding-specification" id="id40">In-file encoding specification</a></li>
200
 
<li><a class="reference internal" href="#special-encoding-none" id="id41">Special encoding &quot;None&quot;</a></li>
201
 
<li><a class="reference internal" href="#unicode-byte-order-mark-bom" id="id42">Unicode Byte-Order-Mark (BOM)</a></li>
202
 
</ul>
203
 
</li>
204
 
<li><a class="reference internal" href="#editing" id="id43">Editing</a><ul>
205
 
<li><a class="reference internal" href="#folding" id="id44">Folding</a></li>
206
 
<li><a class="reference internal" href="#column-mode-editing-rectangular-selections" id="id45">Column mode editing (rectangular selections)</a></li>
207
 
<li><a class="reference internal" href="#drag-and-drop-of-text" id="id46">Drag and drop of text</a></li>
208
 
<li><a class="reference internal" href="#indentation" id="id47">Indentation</a></li>
209
 
<li><a class="reference internal" href="#auto-indentation" id="id48">Auto-indentation</a></li>
210
 
<li><a class="reference internal" href="#bookmarks" id="id49">Bookmarks</a></li>
211
 
<li><a class="reference internal" href="#code-navigation-history" id="id50">Code navigation history</a></li>
212
 
<li><a class="reference internal" href="#send-text-through-definable-commands" id="id51">Send text through definable commands</a></li>
213
 
<li><a class="reference internal" href="#context-actions" id="id52">Context actions</a></li>
214
 
<li><a class="reference internal" href="#autocompletion" id="id53">Autocompletion</a><ul>
215
 
<li><a class="reference internal" href="#scope-autocompletion" id="id54">Scope autocompletion</a></li>
216
 
</ul>
217
 
</li>
218
 
<li><a class="reference internal" href="#user-definable-snippets" id="id55">User-definable snippets</a></li>
219
 
<li><a class="reference internal" href="#inserting-unicode-characters" id="id56">Inserting Unicode characters</a></li>
220
 
</ul>
221
 
</li>
222
 
<li><a class="reference internal" href="#search-replace-and-go-to" id="id57">Search, replace and go to</a><ul>
223
 
<li><a class="reference internal" href="#find" id="id58">Find</a><ul>
224
 
<li><a class="reference internal" href="#matching-options" id="id59">Matching options</a></li>
225
 
<li><a class="reference internal" href="#find-all" id="id60">Find all</a></li>
226
 
<li><a class="reference internal" href="#change-font-in-search-dialog-text-fields" id="id61">Change font in search dialog text fields</a></li>
227
 
</ul>
228
 
</li>
229
 
<li><a class="reference internal" href="#find-usage" id="id62">Find usage</a></li>
230
 
<li><a class="reference internal" href="#find-in-files" id="id63">Find in files</a><ul>
231
 
<li><a class="reference internal" href="#filtering-out-version-control-files" id="id64">Filtering out version control files</a></li>
232
 
</ul>
233
 
</li>
234
 
<li><a class="reference internal" href="#replace" id="id65">Replace</a><ul>
235
 
<li><a class="reference internal" href="#replace-all" id="id66">Replace all</a></li>
236
 
</ul>
237
 
</li>
238
 
<li><a class="reference internal" href="#go-to-tag-definition" id="id67">Go to tag definition</a></li>
239
 
<li><a class="reference internal" href="#go-to-tag-declaration" id="id68">Go to tag declaration</a></li>
240
 
<li><a class="reference internal" href="#go-to-line" id="id69">Go to line</a></li>
241
 
<li><a class="reference internal" href="#regular-expressions" id="id70">Regular expressions</a></li>
242
 
</ul>
243
 
</li>
244
 
<li><a class="reference internal" href="#tags" id="id71">Tags</a><ul>
245
 
<li><a class="reference internal" href="#workspace-tags" id="id72">Workspace tags</a></li>
246
 
<li><a class="reference internal" href="#global-tags" id="id73">Global tags</a><ul>
247
 
<li><a class="reference internal" href="#default-global-tags-files" id="id74">Default global tags files</a></li>
248
 
<li><a class="reference internal" href="#global-tags-file-format" id="id75">Global tags file format</a></li>
249
 
<li><a class="reference internal" href="#generating-a-global-tags-file" id="id76">Generating a global tags file</a></li>
250
 
</ul>
251
 
</li>
252
 
<li><a class="reference internal" href="#ignore-tags" id="id77">Ignore tags</a></li>
253
 
</ul>
254
 
</li>
255
 
<li><a class="reference internal" href="#preferences" id="id78">Preferences</a><ul>
256
 
<li><a class="reference internal" href="#general-startup-preferences" id="id79">General Startup preferences</a><ul>
257
 
<li><a class="reference internal" href="#id1" id="id80">Startup</a></li>
258
 
<li><a class="reference internal" href="#shutdown" id="id81">Shutdown</a></li>
259
 
<li><a class="reference internal" href="#paths" id="id82">Paths</a></li>
260
 
</ul>
261
 
</li>
262
 
<li><a class="reference internal" href="#general-miscellaneous-preferences" id="id83">General Miscellaneous preferences</a><ul>
263
 
<li><a class="reference internal" href="#miscellaneous" id="id84">Miscellaneous</a></li>
264
 
</ul>
265
 
</li>
266
 
<li><a class="reference internal" href="#search" id="id85">Search</a><ul>
267
 
<li><a class="reference internal" href="#projects" id="id86">Projects</a></li>
268
 
</ul>
269
 
</li>
270
 
<li><a class="reference internal" href="#interface-preferences" id="id87">Interface preferences</a><ul>
271
 
<li><a class="reference internal" href="#sidebar" id="id88">Sidebar</a></li>
272
 
<li><a class="reference internal" href="#fonts" id="id89">Fonts</a></li>
273
 
<li><a class="reference internal" href="#editor-tabs" id="id90">Editor tabs</a></li>
274
 
<li><a class="reference internal" href="#tab-positions" id="id91">Tab positions</a></li>
275
 
<li><a class="reference internal" href="#id2" id="id92">Miscellaneous</a></li>
276
 
</ul>
277
 
</li>
278
 
<li><a class="reference internal" href="#toolbar-preferences" id="id93">Toolbar preferences</a><ul>
279
 
<li><a class="reference internal" href="#toolbar" id="id94">Toolbar</a></li>
280
 
<li><a class="reference internal" href="#appearance" id="id95">Appearance</a></li>
281
 
</ul>
282
 
</li>
283
 
<li><a class="reference internal" href="#editor-features-preferences" id="id96">Editor Features preferences</a><ul>
284
 
<li><a class="reference internal" href="#features" id="id97">Features</a></li>
285
 
</ul>
286
 
</li>
287
 
<li><a class="reference internal" href="#editor-indentation-preferences" id="id98">Editor Indentation preferences</a><ul>
288
 
<li><a class="reference internal" href="#indentation-group" id="id99">Indentation group</a></li>
289
 
</ul>
290
 
</li>
291
 
<li><a class="reference internal" href="#editor-completions-preferences" id="id100">Editor Completions preferences</a><ul>
292
 
<li><a class="reference internal" href="#completions" id="id101">Completions</a></li>
293
 
<li><a class="reference internal" href="#auto-close-quotes-and-brackets" id="id102">Auto-close quotes and brackets</a></li>
294
 
</ul>
295
 
</li>
296
 
<li><a class="reference internal" href="#editor-display-preferences" id="id103">Editor Display preferences</a><ul>
297
 
<li><a class="reference internal" href="#display" id="id104">Display</a></li>
298
 
<li><a class="reference internal" href="#long-line-marker" id="id105">Long line marker</a></li>
299
 
</ul>
300
 
</li>
301
 
<li><a class="reference internal" href="#files-preferences" id="id106">Files preferences</a><ul>
302
 
<li><a class="reference internal" href="#new-files" id="id107">New files</a></li>
303
 
<li><a class="reference internal" href="#saving-files" id="id108">Saving files</a></li>
304
 
<li><a class="reference internal" href="#id3" id="id109">Miscellaneous</a></li>
305
 
</ul>
306
 
</li>
307
 
<li><a class="reference internal" href="#tools-preferences" id="id110">Tools preferences</a><ul>
308
 
<li><a class="reference internal" href="#tool-paths" id="id111">Tool paths</a></li>
309
 
<li><a class="reference internal" href="#commands" id="id112">Commands</a></li>
310
 
</ul>
311
 
</li>
312
 
<li><a class="reference internal" href="#template-preferences" id="id113">Template preferences</a><ul>
313
 
<li><a class="reference internal" href="#template-data" id="id114">Template data</a></li>
314
 
</ul>
315
 
</li>
316
 
<li><a class="reference internal" href="#keybinding-preferences" id="id115">Keybinding preferences</a></li>
317
 
<li><a class="reference internal" href="#printing-preferences" id="id116">Printing preferences</a></li>
318
 
<li><a class="reference internal" href="#terminal-vte-preferences" id="id117">Terminal (VTE) preferences</a><ul>
319
 
<li><a class="reference internal" href="#terminal-widget" id="id118">Terminal widget</a></li>
320
 
</ul>
321
 
</li>
322
 
</ul>
323
 
</li>
324
 
<li><a class="reference internal" href="#project-management" id="id119">Project Management</a><ul>
325
 
<li><a class="reference internal" href="#new-project" id="id120">New Project</a></li>
326
 
<li><a class="reference internal" href="#project-properties" id="id121">Project Properties</a><ul>
327
 
<li><a class="reference internal" href="#make-in-base-path" id="id122">Make in base path</a></li>
328
 
<li><a class="reference internal" href="#run-command" id="id123">Run command</a></li>
329
 
</ul>
330
 
</li>
331
 
<li><a class="reference internal" href="#open-project" id="id124">Open Project</a></li>
332
 
<li><a class="reference internal" href="#close-project" id="id125">Close Project</a></li>
333
 
</ul>
334
 
</li>
335
 
<li><a class="reference internal" href="#build-system" id="id126">Build system</a><ul>
336
 
<li><a class="reference internal" href="#compile" id="id127">Compile</a></li>
337
 
<li><a class="reference internal" href="#build" id="id128">Build</a></li>
338
 
<li><a class="reference internal" href="#make-all" id="id129">Make all</a></li>
339
 
<li><a class="reference internal" href="#make-custom-target" id="id130">Make custom target</a></li>
340
 
<li><a class="reference internal" href="#make-object" id="id131">Make object</a></li>
341
 
<li><a class="reference internal" href="#execute" id="id132">Execute</a></li>
342
 
<li><a class="reference internal" href="#stopping-running-processes" id="id133">Stopping running processes</a><ul>
343
 
<li><a class="reference internal" href="#terminal-emulators" id="id134">Terminal emulators</a></li>
344
 
</ul>
345
 
</li>
346
 
<li><a class="reference internal" href="#set-includes-and-arguments" id="id135">Set Includes and Arguments</a><ul>
347
 
<li><a class="reference internal" href="#one-step-compilation" id="id136">One step compilation</a></li>
348
 
</ul>
349
 
</li>
350
 
<li><a class="reference internal" href="#indicators" id="id137">Indicators</a></li>
351
 
</ul>
352
 
</li>
353
 
<li><a class="reference internal" href="#printing-support" id="id138">Printing support</a></li>
354
 
<li><a class="reference internal" href="#plugins" id="id139">Plugins</a></li>
355
 
<li><a class="reference internal" href="#keybindings" id="id140">Keybindings</a><ul>
356
 
<li><a class="reference internal" href="#switching-documents" id="id141">Switching documents</a></li>
357
 
<li><a class="reference internal" href="#configurable-keybindings" id="id142">Configurable keybindings</a></li>
358
 
</ul>
359
 
</li>
360
 
</ul>
361
 
</li>
362
 
<li><a class="reference internal" href="#configuration-files" id="id143">Configuration files</a><ul>
363
 
<li><a class="reference internal" href="#tools-menu-items" id="id144">Tools menu items</a></li>
364
 
<li><a class="reference internal" href="#global-configuration-file" id="id145">Global configuration file</a></li>
365
 
<li><a class="reference internal" href="#filetype-definition-files" id="id146">Filetype definition files</a><ul>
366
 
<li><a class="reference internal" href="#format" id="id147">Format</a><ul>
367
 
<li><a class="reference internal" href="#styling-section" id="id148">[styling] Section</a><ul>
368
 
<li><a class="reference internal" href="#using-a-named-style" id="id149">Using a named style</a></li>
369
 
</ul>
370
 
</li>
371
 
<li><a class="reference internal" href="#keywords-section" id="id150">[keywords] Section</a></li>
372
 
<li><a class="reference internal" href="#settings-section" id="id151">[settings] Section</a></li>
373
 
<li><a class="reference internal" href="#build-settings-section" id="id152">[build_settings] Section</a></li>
374
 
</ul>
375
 
</li>
376
 
<li><a class="reference internal" href="#special-file-filetypes-common" id="id153">Special file filetypes.common</a><ul>
377
 
<li><a class="reference internal" href="#named-styles-section" id="id154">[named_styles] Section</a></li>
378
 
<li><a class="reference internal" href="#id4" id="id155">[styling] Section</a></li>
379
 
<li><a class="reference internal" href="#id5" id="id156">[settings] Section</a></li>
380
 
</ul>
381
 
</li>
382
 
</ul>
383
 
</li>
384
 
<li><a class="reference internal" href="#filetype-extensions" id="id157">Filetype extensions</a></li>
385
 
<li><a class="reference internal" href="#templates" id="id158">Templates</a><ul>
386
 
<li><a class="reference internal" href="#template-meta-data" id="id159">Template meta data</a></li>
387
 
<li><a class="reference internal" href="#file-templates" id="id160">File templates</a><ul>
388
 
<li><a class="reference internal" href="#custom-file-templates" id="id161">Custom file templates</a></li>
389
 
<li><a class="reference internal" href="#filetype-templates" id="id162">Filetype templates</a></li>
390
 
</ul>
391
 
</li>
392
 
<li><a class="reference internal" href="#customizing-templates" id="id163">Customizing templates</a><ul>
393
 
<li><a class="reference internal" href="#template-wildcards" id="id164">Template wildcards</a></li>
394
 
</ul>
395
 
</li>
396
 
</ul>
397
 
</li>
398
 
<li><a class="reference internal" href="#customizing-the-toolbar" id="id165">Customizing the toolbar</a><ul>
399
 
<li><a class="reference internal" href="#manually-editing-of-the-toolbar-layout" id="id166">Manually editing of the toolbar layout</a></li>
400
 
<li><a class="reference internal" href="#available-toolbar-elements" id="id167">Available toolbar elements</a></li>
401
 
</ul>
402
 
</li>
403
 
</ul>
404
 
</li>
405
 
<li><a class="reference internal" href="#plugin-documentation" id="id168">Plugin documentation</a><ul>
406
 
<li><a class="reference internal" href="#instant-save" id="id169">Instant Save</a></li>
407
 
<li><a class="reference internal" href="#backup-copy" id="id170">Backup Copy</a></li>
408
 
</ul>
409
 
</li>
410
 
<li><a class="reference internal" href="#contributing-to-this-document" id="id171">Contributing to this document</a></li>
411
 
<li><a class="reference internal" href="#scintilla-keyboard-commands" id="id172">Scintilla keyboard commands</a><ul>
412
 
<li><a class="reference internal" href="#keyboard-commands" id="id173">Keyboard commands</a></li>
413
 
</ul>
414
 
</li>
415
 
<li><a class="reference internal" href="#tips-and-tricks" id="id174">Tips and tricks</a><ul>
416
 
<li><a class="reference internal" href="#document-notebook" id="id175">Document notebook</a></li>
417
 
<li><a class="reference internal" href="#editor" id="id176">Editor</a></li>
418
 
<li><a class="reference internal" href="#interface" id="id177">Interface</a></li>
419
 
<li><a class="reference internal" href="#gtk-related" id="id178">GTK-related</a></li>
420
 
</ul>
421
 
</li>
422
 
<li><a class="reference internal" href="#hidden-preferences" id="id179">Hidden preferences</a></li>
423
 
<li><a class="reference internal" href="#compile-time-options" id="id180">Compile-time options</a><ul>
424
 
<li><a class="reference internal" href="#src-geany-h" id="id181">src/geany.h</a></li>
425
 
<li><a class="reference internal" href="#project-h" id="id182">project.h</a></li>
426
 
<li><a class="reference internal" href="#editor-h" id="id183">editor.h</a></li>
427
 
<li><a class="reference internal" href="#keyfile-c" id="id184">keyfile.c</a></li>
428
 
<li><a class="reference internal" href="#build-h" id="id185">build.h</a></li>
429
 
</ul>
430
 
</li>
431
 
<li><a class="reference internal" href="#gnu-general-public-license" id="id186">GNU General Public License</a></li>
432
 
<li><a class="reference internal" href="#license-for-scintilla-and-scite" id="id187">License for Scintilla and SciTE</a></li>
 
156
<li><a class="reference" href="#introduction" id="id8" name="id8">Introduction</a><ul>
 
157
<li><a class="reference" href="#about-geany" id="id9" name="id9">About Geany</a></li>
 
158
<li><a class="reference" href="#where-to-get-it" id="id10" name="id10">Where to get it</a></li>
 
159
<li><a class="reference" href="#license" id="id11" name="id11">License</a></li>
 
160
<li><a class="reference" href="#about-this-document" id="id12" name="id12">About this document</a></li>
 
161
</ul>
 
162
</li>
 
163
<li><a class="reference" href="#installation" id="id13" name="id13">Installation</a><ul>
 
164
<li><a class="reference" href="#requirements" id="id14" name="id14">Requirements</a></li>
 
165
<li><a class="reference" href="#binary-packages" id="id15" name="id15">Binary packages</a></li>
 
166
<li><a class="reference" href="#source-compilation" id="id16" name="id16">Source compilation</a><ul>
 
167
<li><a class="reference" href="#autotools-based-build-system" id="id17" name="id17">Autotools based build system</a></li>
 
168
<li><a class="reference" href="#waf-based-build-system" id="id18" name="id18">Waf based build system</a><ul>
 
169
<li><a class="reference" href="#waf-cache" id="id19" name="id19">Waf Cache</a><ul>
 
170
<li><a class="reference" href="#cleaning-the-cache" id="id20" name="id20">Cleaning the Cache</a></li>
 
171
</ul>
 
172
</li>
 
173
</ul>
 
174
</li>
 
175
<li><a class="reference" href="#custom-installation" id="id21" name="id21">Custom installation</a></li>
 
176
<li><a class="reference" href="#dynamic-linking-loader-support-and-vte" id="id22" name="id22">Dynamic linking loader support and VTE</a></li>
 
177
<li><a class="reference" href="#build-problems" id="id23" name="id23">Build problems</a></li>
 
178
</ul>
 
179
</li>
 
180
<li><a class="reference" href="#installation-prefix" id="id24" name="id24">Installation prefix</a></li>
 
181
</ul>
 
182
</li>
 
183
<li><a class="reference" href="#usage" id="id25" name="id25">Usage</a><ul>
 
184
<li><a class="reference" href="#getting-started" id="id26" name="id26">Getting started</a></li>
 
185
<li><a class="reference" href="#the-geany-workspace" id="id27" name="id27">The Geany workspace</a></li>
 
186
<li><a class="reference" href="#command-line-options" id="id28" name="id28">Command line options</a></li>
 
187
<li><a class="reference" href="#general" id="id29" name="id29">General</a><ul>
 
188
<li><a class="reference" href="#startup" id="id30" name="id30">Startup</a></li>
 
189
<li><a class="reference" href="#opening-files-from-the-command-line-in-a-running-instance" id="id31" name="id31">Opening files from the command-line in a running instance</a></li>
 
190
<li><a class="reference" href="#virtual-terminal-emulator-widget-vte" id="id32" name="id32">Virtual terminal emulator widget (VTE)</a></li>
 
191
<li><a class="reference" href="#defining-own-widget-styles-using-gtkrc-2-0" id="id33" name="id33">Defining own widget styles using .gtkrc-2.0</a></li>
 
192
</ul>
 
193
</li>
 
194
<li><a class="reference" href="#documents" id="id34" name="id34">Documents</a><ul>
 
195
<li><a class="reference" href="#switching-between-documents" id="id35" name="id35">Switching between documents</a></li>
 
196
</ul>
 
197
</li>
 
198
<li><a class="reference" href="#character-sets-and-unicode-byte-order-mark-bom" id="id36" name="id36">Character sets and Unicode Byte-Order-Mark (BOM)</a><ul>
 
199
<li><a class="reference" href="#using-character-sets" id="id37" name="id37">Using character sets</a></li>
 
200
<li><a class="reference" href="#in-file-encoding-specification" id="id38" name="id38">In-file encoding specification</a></li>
 
201
<li><a class="reference" href="#special-encoding-none" id="id39" name="id39">Special encoding &quot;None&quot;</a></li>
 
202
<li><a class="reference" href="#unicode-byte-order-mark-bom" id="id40" name="id40">Unicode Byte-Order-Mark (BOM)</a></li>
 
203
</ul>
 
204
</li>
 
205
<li><a class="reference" href="#editing" id="id41" name="id41">Editing</a><ul>
 
206
<li><a class="reference" href="#folding" id="id42" name="id42">Folding</a></li>
 
207
<li><a class="reference" href="#column-mode-editing-rectangular-selections" id="id43" name="id43">Column mode editing (rectangular selections)</a></li>
 
208
<li><a class="reference" href="#drag-and-drop-of-text" id="id44" name="id44">Drag and drop of text</a></li>
 
209
<li><a class="reference" href="#indentation" id="id45" name="id45">Indentation</a></li>
 
210
<li><a class="reference" href="#auto-indentation" id="id46" name="id46">Auto-indentation</a></li>
 
211
<li><a class="reference" href="#bookmarks" id="id47" name="id47">Bookmarks</a></li>
 
212
<li><a class="reference" href="#code-navigation-history" id="id48" name="id48">Code navigation history</a></li>
 
213
<li><a class="reference" href="#sending-text-through-custom-commands" id="id49" name="id49">Sending text through custom commands</a></li>
 
214
<li><a class="reference" href="#context-actions" id="id50" name="id50">Context actions</a></li>
 
215
<li><a class="reference" href="#autocompletion" id="id51" name="id51">Autocompletion</a><ul>
 
216
<li><a class="reference" href="#word-part-completion" id="id52" name="id52">Word part completion</a></li>
 
217
<li><a class="reference" href="#scope-autocompletion" id="id53" name="id53">Scope autocompletion</a></li>
 
218
</ul>
 
219
</li>
 
220
<li><a class="reference" href="#user-definable-snippets" id="id54" name="id54">User-definable snippets</a></li>
 
221
<li><a class="reference" href="#inserting-unicode-characters" id="id55" name="id55">Inserting Unicode characters</a></li>
 
222
</ul>
 
223
</li>
 
224
<li><a class="reference" href="#search-replace-and-go-to" id="id56" name="id56">Search, replace and go to</a><ul>
 
225
<li><a class="reference" href="#toolbar-entries" id="id57" name="id57">Toolbar entries</a><ul>
 
226
<li><a class="reference" href="#search-bar" id="id58" name="id58">Search bar</a></li>
 
227
</ul>
 
228
</li>
 
229
<li><a class="reference" href="#find" id="id59" name="id59">Find</a><ul>
 
230
<li><a class="reference" href="#matching-options" id="id60" name="id60">Matching options</a></li>
 
231
<li><a class="reference" href="#find-all" id="id61" name="id61">Find all</a></li>
 
232
<li><a class="reference" href="#change-font-in-search-dialog-text-fields" id="id62" name="id62">Change font in search dialog text fields</a></li>
 
233
</ul>
 
234
</li>
 
235
<li><a class="reference" href="#find-usage" id="id63" name="id63">Find usage</a></li>
 
236
<li><a class="reference" href="#find-in-files" id="id64" name="id64">Find in files</a><ul>
 
237
<li><a class="reference" href="#filtering-out-version-control-files" id="id65" name="id65">Filtering out version control files</a></li>
 
238
</ul>
 
239
</li>
 
240
<li><a class="reference" href="#replace" id="id66" name="id66">Replace</a><ul>
 
241
<li><a class="reference" href="#replace-all" id="id67" name="id67">Replace all</a></li>
 
242
</ul>
 
243
</li>
 
244
<li><a class="reference" href="#go-to-tag-definition" id="id68" name="id68">Go to tag definition</a></li>
 
245
<li><a class="reference" href="#go-to-tag-declaration" id="id69" name="id69">Go to tag declaration</a></li>
 
246
<li><a class="reference" href="#go-to-line" id="id70" name="id70">Go to line</a></li>
 
247
<li><a class="reference" href="#regular-expressions" id="id71" name="id71">Regular expressions</a></li>
 
248
</ul>
 
249
</li>
 
250
<li><a class="reference" href="#tags" id="id72" name="id72">Tags</a><ul>
 
251
<li><a class="reference" href="#workspace-tags" id="id73" name="id73">Workspace tags</a></li>
 
252
<li><a class="reference" href="#global-tags" id="id74" name="id74">Global tags</a><ul>
 
253
<li><a class="reference" href="#default-global-tags-files" id="id75" name="id75">Default global tags files</a></li>
 
254
<li><a class="reference" href="#global-tags-file-format" id="id76" name="id76">Global tags file format</a></li>
 
255
<li><a class="reference" href="#generating-a-global-tags-file" id="id77" name="id77">Generating a global tags file</a></li>
 
256
</ul>
 
257
</li>
 
258
<li><a class="reference" href="#ignore-tags" id="id78" name="id78">Ignore tags</a></li>
 
259
</ul>
 
260
</li>
 
261
<li><a class="reference" href="#preferences" id="id79" name="id79">Preferences</a><ul>
 
262
<li><a class="reference" href="#general-startup-preferences" id="id80" name="id80">General Startup preferences</a><ul>
 
263
<li><a class="reference" href="#id1" id="id81" name="id81">Startup</a></li>
 
264
<li><a class="reference" href="#shutdown" id="id82" name="id82">Shutdown</a></li>
 
265
<li><a class="reference" href="#paths" id="id83" name="id83">Paths</a></li>
 
266
</ul>
 
267
</li>
 
268
<li><a class="reference" href="#general-miscellaneous-preferences" id="id84" name="id84">General Miscellaneous preferences</a><ul>
 
269
<li><a class="reference" href="#miscellaneous" id="id85" name="id85">Miscellaneous</a></li>
 
270
<li><a class="reference" href="#search" id="id86" name="id86">Search</a></li>
 
271
<li><a class="reference" href="#projects" id="id87" name="id87">Projects</a></li>
 
272
</ul>
 
273
</li>
 
274
<li><a class="reference" href="#interface-preferences" id="id88" name="id88">Interface preferences</a><ul>
 
275
<li><a class="reference" href="#sidebar" id="id89" name="id89">Sidebar</a></li>
 
276
<li><a class="reference" href="#fonts" id="id90" name="id90">Fonts</a></li>
 
277
<li><a class="reference" href="#editor-tabs" id="id91" name="id91">Editor tabs</a></li>
 
278
<li><a class="reference" href="#tab-positions" id="id92" name="id92">Tab positions</a></li>
 
279
<li><a class="reference" href="#id2" id="id93" name="id93">Miscellaneous</a></li>
 
280
</ul>
 
281
</li>
 
282
<li><a class="reference" href="#toolbar-preferences" id="id94" name="id94">Toolbar preferences</a><ul>
 
283
<li><a class="reference" href="#toolbar" id="id95" name="id95">Toolbar</a></li>
 
284
<li><a class="reference" href="#appearance" id="id96" name="id96">Appearance</a></li>
 
285
</ul>
 
286
</li>
 
287
<li><a class="reference" href="#editor-features-preferences" id="id97" name="id97">Editor Features preferences</a><ul>
 
288
<li><a class="reference" href="#features" id="id98" name="id98">Features</a></li>
 
289
</ul>
 
290
</li>
 
291
<li><a class="reference" href="#editor-indentation-preferences" id="id99" name="id99">Editor Indentation preferences</a><ul>
 
292
<li><a class="reference" href="#indentation-group" id="id100" name="id100">Indentation group</a></li>
 
293
</ul>
 
294
</li>
 
295
<li><a class="reference" href="#editor-completions-preferences" id="id101" name="id101">Editor Completions preferences</a><ul>
 
296
<li><a class="reference" href="#completions" id="id102" name="id102">Completions</a></li>
 
297
<li><a class="reference" href="#auto-close-quotes-and-brackets" id="id103" name="id103">Auto-close quotes and brackets</a></li>
 
298
</ul>
 
299
</li>
 
300
<li><a class="reference" href="#editor-display-preferences" id="id104" name="id104">Editor Display preferences</a><ul>
 
301
<li><a class="reference" href="#display" id="id105" name="id105">Display</a></li>
 
302
<li><a class="reference" href="#long-line-marker" id="id106" name="id106">Long line marker</a></li>
 
303
<li><a class="reference" href="#virtual-spaces" id="id107" name="id107">Virtual spaces</a></li>
 
304
</ul>
 
305
</li>
 
306
<li><a class="reference" href="#files-preferences" id="id108" name="id108">Files preferences</a><ul>
 
307
<li><a class="reference" href="#new-files" id="id109" name="id109">New files</a></li>
 
308
<li><a class="reference" href="#saving-files" id="id110" name="id110">Saving files</a></li>
 
309
<li><a class="reference" href="#id3" id="id111" name="id111">Miscellaneous</a></li>
 
310
</ul>
 
311
</li>
 
312
<li><a class="reference" href="#tools-preferences" id="id112" name="id112">Tools preferences</a><ul>
 
313
<li><a class="reference" href="#tool-paths" id="id113" name="id113">Tool paths</a></li>
 
314
<li><a class="reference" href="#commands" id="id114" name="id114">Commands</a></li>
 
315
</ul>
 
316
</li>
 
317
<li><a class="reference" href="#template-preferences" id="id115" name="id115">Template preferences</a><ul>
 
318
<li><a class="reference" href="#template-data" id="id116" name="id116">Template data</a></li>
 
319
</ul>
 
320
</li>
 
321
<li><a class="reference" href="#keybinding-preferences" id="id117" name="id117">Keybinding preferences</a></li>
 
322
<li><a class="reference" href="#printing-preferences" id="id118" name="id118">Printing preferences</a></li>
 
323
<li><a class="reference" href="#terminal-vte-preferences" id="id119" name="id119">Terminal (VTE) preferences</a><ul>
 
324
<li><a class="reference" href="#terminal-widget" id="id120" name="id120">Terminal widget</a></li>
 
325
</ul>
 
326
</li>
 
327
</ul>
 
328
</li>
 
329
<li><a class="reference" href="#project-management" id="id121" name="id121">Project Management</a><ul>
 
330
<li><a class="reference" href="#new-project" id="id122" name="id122">New Project</a></li>
 
331
<li><a class="reference" href="#project-properties" id="id123" name="id123">Project Properties</a><ul>
 
332
<li><a class="reference" href="#set-base-path-button" id="id124" name="id124">Set Base Path Button</a></li>
 
333
</ul>
 
334
</li>
 
335
<li><a class="reference" href="#open-project" id="id125" name="id125">Open Project</a></li>
 
336
<li><a class="reference" href="#close-project" id="id126" name="id126">Close Project</a></li>
 
337
</ul>
 
338
</li>
 
339
<li><a class="reference" href="#build-menu" id="id127" name="id127">Build Menu</a><ul>
 
340
<li><a class="reference" href="#indicators" id="id128" name="id128">Indicators</a></li>
 
341
<li><a class="reference" href="#default-build-menu-items" id="id129" name="id129">Default Build Menu Items</a><ul>
 
342
<li><a class="reference" href="#compile" id="id130" name="id130">Compile</a></li>
 
343
<li><a class="reference" href="#build" id="id131" name="id131">Build</a></li>
 
344
<li><a class="reference" href="#make" id="id132" name="id132">Make</a></li>
 
345
<li><a class="reference" href="#make-custom-target" id="id133" name="id133">Make custom target</a></li>
 
346
<li><a class="reference" href="#make-object" id="id134" name="id134">Make object</a></li>
 
347
<li><a class="reference" href="#next-error" id="id135" name="id135">Next Error</a></li>
 
348
<li><a class="reference" href="#previous-error" id="id136" name="id136">Previous Error</a></li>
 
349
<li><a class="reference" href="#execute" id="id137" name="id137">Execute</a></li>
 
350
<li><a class="reference" href="#stopping-running-processes" id="id138" name="id138">Stopping running processes</a><ul>
 
351
<li><a class="reference" href="#terminal-emulators" id="id139" name="id139">Terminal emulators</a></li>
 
352
</ul>
 
353
</li>
 
354
<li><a class="reference" href="#set-build-commands" id="id140" name="id140">Set Build Commands</a></li>
 
355
</ul>
 
356
</li>
 
357
<li><a class="reference" href="#build-menu-configuration" id="id141" name="id141">Build Menu Configuration</a></li>
 
358
<li><a class="reference" href="#build-menu-commands-dialog" id="id142" name="id142">Build Menu Commands Dialog</a><ul>
 
359
<li><a class="reference" href="#substitutions-in-commands-and-working-directories" id="id143" name="id143">Substitutions in Commands and Working Directories</a></li>
 
360
<li><a class="reference" href="#build-menu-keyboard-shortcuts" id="id144" name="id144">Build Menu Keyboard Shortcuts</a></li>
 
361
<li><a class="reference" href="#configuration-files" id="id145" name="id145">Configuration Files</a></li>
 
362
</ul>
 
363
</li>
 
364
</ul>
 
365
</li>
 
366
<li><a class="reference" href="#printing-support" id="id146" name="id146">Printing support</a></li>
 
367
<li><a class="reference" href="#plugins" id="id147" name="id147">Plugins</a></li>
 
368
<li><a class="reference" href="#keybindings" id="id148" name="id148">Keybindings</a><ul>
 
369
<li><a class="reference" href="#switching-documents" id="id149" name="id149">Switching documents</a></li>
 
370
<li><a class="reference" href="#configurable-keybindings" id="id150" name="id150">Configurable keybindings</a><ul>
 
371
<li><a class="reference" href="#file-keybindings" id="id151" name="id151">File keybindings</a></li>
 
372
<li><a class="reference" href="#editor-keybindings" id="id152" name="id152">Editor keybindings</a></li>
 
373
<li><a class="reference" href="#clipboard-keybindings" id="id153" name="id153">Clipboard keybindings</a></li>
 
374
<li><a class="reference" href="#select-keybindings" id="id154" name="id154">Select keybindings</a></li>
 
375
<li><a class="reference" href="#insert-keybindings" id="id155" name="id155">Insert keybindings</a></li>
 
376
<li><a class="reference" href="#format-keybindings" id="id156" name="id156">Format keybindings</a></li>
 
377
<li><a class="reference" href="#settings-keybindings" id="id157" name="id157">Settings keybindings</a></li>
 
378
<li><a class="reference" href="#search-keybindings" id="id158" name="id158">Search keybindings</a></li>
 
379
<li><a class="reference" href="#go-to-keybindings" id="id159" name="id159">Go to keybindings</a></li>
 
380
<li><a class="reference" href="#view-keybindings" id="id160" name="id160">View keybindings</a></li>
 
381
<li><a class="reference" href="#focus-keybindings" id="id161" name="id161">Focus keybindings</a></li>
 
382
<li><a class="reference" href="#notebook-tab-keybindings" id="id162" name="id162">Notebook tab keybindings</a></li>
 
383
<li><a class="reference" href="#document-keybindings" id="id163" name="id163">Document keybindings</a></li>
 
384
<li><a class="reference" href="#build-keybindings" id="id164" name="id164">Build keybindings</a></li>
 
385
<li><a class="reference" href="#tools-keybindings" id="id165" name="id165">Tools keybindings</a></li>
 
386
<li><a class="reference" href="#help-keybindings" id="id166" name="id166">Help keybindings</a></li>
 
387
</ul>
 
388
</li>
 
389
</ul>
 
390
</li>
 
391
</ul>
 
392
</li>
 
393
<li><a class="reference" href="#id4" id="id167" name="id167">Configuration files</a><ul>
 
394
<li><a class="reference" href="#tools-menu-items" id="id168" name="id168">Tools menu items</a></li>
 
395
<li><a class="reference" href="#global-configuration-file" id="id169" name="id169">Global configuration file</a></li>
 
396
<li><a class="reference" href="#filetype-definition-files" id="id170" name="id170">Filetype definition files</a><ul>
 
397
<li><a class="reference" href="#custom-filetypes" id="id171" name="id171">Custom filetypes</a></li>
 
398
<li><a class="reference" href="#system-files" id="id172" name="id172">System files</a></li>
 
399
<li><a class="reference" href="#user-files" id="id173" name="id173">User files</a></li>
 
400
<li><a class="reference" href="#format" id="id174" name="id174">Format</a><ul>
 
401
<li><a class="reference" href="#styling-section" id="id175" name="id175">[styling] Section</a><ul>
 
402
<li><a class="reference" href="#using-a-named-style" id="id176" name="id176">Using a named style</a></li>
 
403
</ul>
 
404
</li>
 
405
<li><a class="reference" href="#keywords-section" id="id177" name="id177">[keywords] Section</a></li>
 
406
<li><a class="reference" href="#lexer-properties-section" id="id178" name="id178">[lexer_properties] Section</a></li>
 
407
<li><a class="reference" href="#settings-section" id="id179" name="id179">[settings] Section</a></li>
 
408
<li><a class="reference" href="#build-settings-section" id="id180" name="id180">[build_settings] Section</a></li>
 
409
</ul>
 
410
</li>
 
411
<li><a class="reference" href="#special-file-filetypes-common" id="id181" name="id181">Special file filetypes.common</a><ul>
 
412
<li><a class="reference" href="#named-styles-section" id="id182" name="id182">[named_styles] Section</a></li>
 
413
<li><a class="reference" href="#id5" id="id183" name="id183">[styling] Section</a></li>
 
414
<li><a class="reference" href="#id6" id="id184" name="id184">[settings] Section</a></li>
 
415
</ul>
 
416
</li>
 
417
</ul>
 
418
</li>
 
419
<li><a class="reference" href="#filetype-extensions" id="id185" name="id185">Filetype extensions</a></li>
 
420
<li><a class="reference" href="#preferences-file-format" id="id186" name="id186">Preferences File Format</a><ul>
 
421
<li><a class="reference" href="#hidden-preferences" id="id187" name="id187">Hidden preferences</a></li>
 
422
<li><a class="reference" href="#build-menu-section" id="id188" name="id188">[build-menu] Section</a></li>
 
423
</ul>
 
424
</li>
 
425
<li><a class="reference" href="#project-file-format" id="id189" name="id189">Project File Format</a><ul>
 
426
<li><a class="reference" href="#build-menu-additions" id="id190" name="id190">[build-menu] Additions</a></li>
 
427
</ul>
 
428
</li>
 
429
<li><a class="reference" href="#templates" id="id191" name="id191">Templates</a><ul>
 
430
<li><a class="reference" href="#template-meta-data" id="id192" name="id192">Template meta data</a></li>
 
431
<li><a class="reference" href="#file-templates" id="id193" name="id193">File templates</a><ul>
 
432
<li><a class="reference" href="#custom-file-templates" id="id194" name="id194">Custom file templates</a></li>
 
433
<li><a class="reference" href="#filetype-templates" id="id195" name="id195">Filetype templates</a></li>
 
434
</ul>
 
435
</li>
 
436
<li><a class="reference" href="#customizing-templates" id="id196" name="id196">Customizing templates</a><ul>
 
437
<li><a class="reference" href="#template-wildcards" id="id197" name="id197">Template wildcards</a><ul>
 
438
<li><a class="reference" href="#special-command-wildcard" id="id198" name="id198">Special {command:} wildcard</a></li>
 
439
</ul>
 
440
</li>
 
441
</ul>
 
442
</li>
 
443
</ul>
 
444
</li>
 
445
<li><a class="reference" href="#customizing-the-toolbar" id="id199" name="id199">Customizing the toolbar</a><ul>
 
446
<li><a class="reference" href="#manually-editing-of-the-toolbar-layout" id="id200" name="id200">Manually editing of the toolbar layout</a></li>
 
447
<li><a class="reference" href="#available-toolbar-elements" id="id201" name="id201">Available toolbar elements</a></li>
 
448
</ul>
 
449
</li>
 
450
</ul>
 
451
</li>
 
452
<li><a class="reference" href="#plugin-documentation" id="id202" name="id202">Plugin documentation</a><ul>
 
453
<li><a class="reference" href="#save-actions" id="id203" name="id203">Save Actions</a><ul>
 
454
<li><a class="reference" href="#instant-save" id="id204" name="id204">Instant Save</a></li>
 
455
<li><a class="reference" href="#backup-copy" id="id205" name="id205">Backup Copy</a></li>
 
456
</ul>
 
457
</li>
 
458
</ul>
 
459
</li>
 
460
<li><a class="reference" href="#contributing-to-this-document" id="id206" name="id206">Contributing to this document</a></li>
 
461
<li><a class="reference" href="#scintilla-keyboard-commands" id="id207" name="id207">Scintilla keyboard commands</a><ul>
 
462
<li><a class="reference" href="#keyboard-commands" id="id208" name="id208">Keyboard commands</a></li>
 
463
</ul>
 
464
</li>
 
465
<li><a class="reference" href="#tips-and-tricks" id="id209" name="id209">Tips and tricks</a><ul>
 
466
<li><a class="reference" href="#document-notebook" id="id210" name="id210">Document notebook</a></li>
 
467
<li><a class="reference" href="#editor" id="id211" name="id211">Editor</a></li>
 
468
<li><a class="reference" href="#interface" id="id212" name="id212">Interface</a></li>
 
469
<li><a class="reference" href="#gtk-related" id="id213" name="id213">GTK-related</a></li>
 
470
</ul>
 
471
</li>
 
472
<li><a class="reference" href="#compile-time-options" id="id214" name="id214">Compile-time options</a><ul>
 
473
<li><a class="reference" href="#src-geany-h" id="id215" name="id215">src/geany.h</a></li>
 
474
<li><a class="reference" href="#project-h" id="id216" name="id216">project.h</a></li>
 
475
<li><a class="reference" href="#editor-h" id="id217" name="id217">editor.h</a></li>
 
476
<li><a class="reference" href="#keyfile-c" id="id218" name="id218">keyfile.c</a></li>
 
477
<li><a class="reference" href="#build-h" id="id219" name="id219">build.h</a></li>
 
478
<li><a class="reference" href="#build-c" id="id220" name="id220">build.c</a></li>
 
479
</ul>
 
480
</li>
 
481
<li><a class="reference" href="#gnu-general-public-license" id="id221" name="id221">GNU General Public License</a></li>
 
482
<li><a class="reference" href="#license-for-scintilla-and-scite" id="id222" name="id222">License for Scintilla and SciTE</a></li>
433
483
</ul>
434
484
</div>
435
 
<div class="section" id="introduction">
436
 
<h1><a class="toc-backref" href="#id11">Introduction</a></h1>
437
 
<div class="section" id="about-geany">
438
 
<h2><a class="toc-backref" href="#id12">About Geany</a></h2>
 
485
<div class="section">
 
486
<h1><a class="toc-backref" href="#id8" id="introduction" name="introduction">Introduction</a></h1>
 
487
<div class="section">
 
488
<h2><a class="toc-backref" href="#id9" id="about-geany" name="about-geany">About Geany</a></h2>
439
489
<p>Geany is a small and lightweight Integrated Development Environment. It
440
490
was developed to provide a small and fast IDE, which has only a few
441
 
dependencies from other packages. Another goal was to be as independent
442
 
as possible from a special Desktop Environment like KDE or GNOME -
 
491
dependencies on other packages. Another goal was to be as independent
 
492
as possible from a particular Desktop Environment like KDE or GNOME -
443
493
Geany only requires the GTK2 runtime libraries.</p>
444
494
<p>Some basic features of Geany:</p>
445
495
<ul class="simple">
458
508
<li>Plugin interface</li>
459
509
</ul>
460
510
</div>
461
 
<div class="section" id="where-to-get-it">
462
 
<h2><a class="toc-backref" href="#id13">Where to get it</a></h2>
463
 
<p>You can obtain Geany from <a class="reference external" href="http://www.geany.org/">http://www.geany.org/</a> or perhaps also from
464
 
your distributor. For a list of available packages, please see
465
 
<a class="reference external" href="http://www.geany.org/Download/ThirdPartyPackages">http://www.geany.org/Download/ThirdPartyPackages</a>.</p>
 
511
<div class="section">
 
512
<h2><a class="toc-backref" href="#id10" id="where-to-get-it" name="where-to-get-it">Where to get it</a></h2>
 
513
<p>You can obtain Geany from <a class="reference" href="http://www.geany.org/">http://www.geany.org/</a> or perhaps also from
 
514
your distribution. For a list of available packages, please see
 
515
<a class="reference" href="http://www.geany.org/Download/ThirdPartyPackages">http://www.geany.org/Download/ThirdPartyPackages</a>.</p>
466
516
</div>
467
 
<div class="section" id="license">
468
 
<h2><a class="toc-backref" href="#id14">License</a></h2>
 
517
<div class="section">
 
518
<h2><a class="toc-backref" href="#id11" id="license" name="license">License</a></h2>
469
519
<p>Geany is distributed under the terms of the GNU General Public License
470
520
as published by the Free Software Foundation; either version 2 of
471
521
the License, or (at your option) any later version. A copy of this
472
522
license can be found in the file COPYING included with the source
473
 
code of this program and in the chapter, <a class="reference internal" href="#gnu-general-public-license">GNU General Public License</a>.</p>
 
523
code of this program and in the chapter, <a class="reference" href="#gnu-general-public-license">GNU General Public License</a>.</p>
474
524
<p>The included Scintilla library (found in the subdirectory
475
 
<tt class="docutils literal">scintilla/</tt>) has its own license, which can be found in the chapter,
476
 
<a class="reference internal" href="#license-for-scintilla-and-scite">License for Scintilla and SciTE</a>.</p>
 
525
<tt class="docutils literal"><span class="pre">scintilla/</span></tt>) has its own license, which can be found in the chapter,
 
526
<a class="reference" href="#license-for-scintilla-and-scite">License for Scintilla and SciTE</a>.</p>
477
527
</div>
478
 
<div class="section" id="about-this-document">
479
 
<h2><a class="toc-backref" href="#id15">About this document</a></h2>
 
528
<div class="section">
 
529
<h2><a class="toc-backref" href="#id12" id="about-this-document" name="about-this-document">About this document</a></h2>
480
530
<p>This documentation is available in HTML and text formats.
481
 
The latest version can always be found at <a class="reference external" href="http://www.geany.org/">http://www.geany.org/</a>.</p>
482
 
<p>If you want to contribute to it, see <a class="reference internal" href="#contributing-to-this-document">Contributing to this document</a>.</p>
483
 
</div>
484
 
</div>
485
 
<div class="section" id="installation">
486
 
<h1><a class="toc-backref" href="#id16">Installation</a></h1>
487
 
<div class="section" id="requirements">
488
 
<h2><a class="toc-backref" href="#id17">Requirements</a></h2>
 
531
The latest version can always be found at <a class="reference" href="http://www.geany.org/">http://www.geany.org/</a>.</p>
 
532
<p>If you want to contribute to it, see <a class="reference" href="#contributing-to-this-document">Contributing to this document</a>.</p>
 
533
</div>
 
534
</div>
 
535
<div class="section">
 
536
<h1><a class="toc-backref" href="#id13" id="installation" name="installation">Installation</a></h1>
 
537
<div class="section">
 
538
<h2><a class="toc-backref" href="#id14" id="requirements" name="requirements">Requirements</a></h2>
489
539
<p>You will need the GTK (&gt;= 2.8.0) libraries and their dependencies
490
540
(Pango, GLib and ATK). Your distro should provide packages for these,
491
541
usually installed by default. For Windows, you can download an installer
492
 
which bundles these libraries from the website.</p>
 
542
from the website which bundles these libraries.</p>
493
543
</div>
494
 
<div class="section" id="binary-packages">
495
 
<h2><a class="toc-backref" href="#id18">Binary packages</a></h2>
 
544
<div class="section">
 
545
<h2><a class="toc-backref" href="#id15" id="binary-packages" name="binary-packages">Binary packages</a></h2>
496
546
<p>There are many binary packages available. For an up-to-date but maybe
497
 
incomplete list see <a class="reference external" href="http://www.geany.org/Download/ThirdPartyPackages">http://www.geany.org/Download/ThirdPartyPackages</a>.</p>
 
547
incomplete list see <a class="reference" href="http://www.geany.org/Download/ThirdPartyPackages">http://www.geany.org/Download/ThirdPartyPackages</a>.</p>
498
548
</div>
499
 
<div class="section" id="source-compilation">
500
 
<h2><a class="toc-backref" href="#id19">Source compilation</a></h2>
 
549
<div class="section">
 
550
<h2><a class="toc-backref" href="#id16" id="source-compilation" name="source-compilation">Source compilation</a></h2>
501
551
<p>Compiling Geany is quite easy.
502
552
To do so, you need the GTK (&gt;= 2.8.0) libraries and header files.
503
553
You also need the Pango, GLib and ATK libraries and header files.
504
 
All these files are available at <a class="reference external" href="http://www.gtk.org">http://www.gtk.org</a>, but very often
 
554
All these files are available at <a class="reference" href="http://www.gtk.org">http://www.gtk.org</a>, but very often
505
555
your distro will provide development packages to save the trouble of
506
556
building these yourself.</p>
507
557
<p>Furthermore you need, of course, a C and C++ compiler. The GNU versions
508
558
of these tools are recommended.</p>
509
 
<div class="section" id="autotools-based-build-system">
510
 
<h3><a class="toc-backref" href="#id20">Autotools based build system</a></h3>
 
559
<div class="section">
 
560
<h3><a class="toc-backref" href="#id17" id="autotools-based-build-system" name="autotools-based-build-system">Autotools based build system</a></h3>
511
561
<p>The Autotools based build system is very mature and has been well tested.
512
562
To use it, you just need the Make tool, preferably GNU Make.</p>
513
563
<p>Then run the following commands:</p>
520
570
% make install
521
571
</pre>
522
572
</div>
523
 
<div class="section" id="waf-based-build-system">
524
 
<h3><a class="toc-backref" href="#id21">Waf based build system</a></h3>
525
 
<p>The Waf build system is still quite young and under heavy development but already in an
526
 
usable state. In contrary to the Autotools, Waf needs Python. So before using Waf, you need
 
573
<div class="section">
 
574
<h3><a class="toc-backref" href="#id18" id="waf-based-build-system" name="waf-based-build-system">Waf based build system</a></h3>
 
575
<p>The Waf build system is still quite young and under heavy development but already in a
 
576
usable state. In contrast to the Autotools system, Waf needs Python. So before using Waf, you need
527
577
to install Python on your system.
528
578
The advantage of the Waf build system over the Autotools based build system is that the whole
529
 
build process might be a bit faster. Especially when you use the Waf cache feature repetitive
530
 
builds (e.g. when changing only a few source files to test something) will become much faster
531
 
since Waf will cache and re-use the unchanged built files and only compile the changed code
532
 
again. See <a class="reference internal" href="#waf-cache">Waf Cache</a> for details.
533
 
To build Geany with Waf as usual run:</p>
 
579
build process might be a bit faster. Especially when you use the Waf
 
580
cache feature for repetitive builds (e.g. when changing only a few source files
 
581
to test something) will become much faster since Waf will cache and re-use the
 
582
unchanged built files and only compile the changed code again. See <a class="reference" href="#waf-cache">Waf Cache</a> for details.
 
583
To build Geany with Waf as run:</p>
534
584
<pre class="literal-block">
535
585
$ ./waf configure
536
586
$ ./waf build
539
589
<pre class="literal-block">
540
590
% ./waf install
541
591
</pre>
542
 
<div class="section" id="waf-cache">
543
 
<h4><a class="toc-backref" href="#id22">Waf Cache</a></h4>
544
 
<p>The Waf build system has a nice and interesting feature which can help a lot to avoid
545
 
unnecessary rebuilding of unchanged code. This often happens when developing new features
546
 
or trying to debug something.
 
592
<div class="section">
 
593
<h4><a class="toc-backref" href="#id19" id="waf-cache" name="waf-cache">Waf Cache</a></h4>
 
594
<p>The Waf build system has a nice and interesting feature which can help  to avoid
 
595
a lot of unnecessary rebuilding of unchanged code. This often happens when developing new features
 
596
or trying to debug something in Geany.
547
597
Waf is able to store and retrieve the object files from a cache. This cache is declared
548
 
using the environment variable <tt class="docutils literal">WAFCACHE</tt>.
 
598
using the environment variable <tt class="docutils literal"><span class="pre">WAFCACHE</span></tt>.
549
599
A possible location of the cache directory could be <tt class="docutils literal"><span class="pre">~/.cache/waf</span></tt>. In order to make use of
550
600
this, you first need to create this directory:</p>
551
601
<pre class="literal-block">
556
606
<pre class="literal-block">
557
607
export WAFCACHE=/home/username/.cache/waf
558
608
</pre>
559
 
<p>Remember to replace <tt class="docutils literal">username</tt> with your actual username.</p>
 
609
<p>Remember to replace <tt class="docutils literal"><span class="pre">username</span></tt> with your actual username.</p>
560
610
<p>More information about the Waf cache feature are available at
561
 
<a class="reference external" href="http://code.google.com/p/waf/wiki/CacheObjectFiles">http://code.google.com/p/waf/wiki/CacheObjectFiles</a>.</p>
562
 
<div class="section" id="cleaning-the-cache">
563
 
<h5><a class="toc-backref" href="#id23">Cleaning the Cache</a></h5>
564
 
<p>You should take care about the size of the cache directory as it may grow rapidly by time.
565
 
Waf doesn't do any cleaning or other house-keeping of the cache yet so you need to keep it
 
611
<a class="reference" href="http://code.google.com/p/waf/wiki/CacheObjectFiles">http://code.google.com/p/waf/wiki/CacheObjectFiles</a>.</p>
 
612
<div class="section">
 
613
<h5><a class="toc-backref" href="#id20" id="cleaning-the-cache" name="cleaning-the-cache">Cleaning the Cache</a></h5>
 
614
<p>You should be careful about the size of the cache directory as it may
 
615
grow rapidly over time.
 
616
Waf doesn't do any cleaning or other house-keeping of the cache yet, so you need to keep it
566
617
clean by yourself.
567
618
An easy way to keep it clean is to run the following command regularly to remove old
568
619
cached files:</p>
570
621
$ find /home/username/.cache/waf -mtime +14 -exec rm {} \;
571
622
</pre>
572
623
<p>This will delete all files in the cache directory which are older than 14 days.</p>
573
 
<p>For details about the <tt class="docutils literal">find</tt> command and its options, check its manual page.</p>
574
 
</div>
575
 
</div>
576
 
</div>
577
 
<div class="section" id="custom-installation">
578
 
<h3><a class="toc-backref" href="#id24">Custom installation</a></h3>
 
624
<p>For details about the <tt class="docutils literal"><span class="pre">find</span></tt> command and its options, check its manual page.</p>
 
625
</div>
 
626
</div>
 
627
</div>
 
628
<div class="section">
 
629
<h3><a class="toc-backref" href="#id21" id="custom-installation" name="custom-installation">Custom installation</a></h3>
579
630
<p>The configure script supports several common options, for a detailed
580
631
list, type:</p>
581
632
<pre class="literal-block">
589
640
<p>You may also want to read the INSTALL file for advanced installation
590
641
options.</p>
591
642
<ul class="simple">
592
 
<li>See also <a class="reference internal" href="#compile-time-options">Compile-time options</a>.</li>
 
643
<li>See also <a class="reference" href="#compile-time-options">Compile-time options</a>.</li>
593
644
</ul>
594
645
</div>
595
 
<div class="section" id="dynamic-linking-loader-support">
596
 
<h3><a class="toc-backref" href="#id25">Dynamic linking loader support</a></h3>
 
646
<div class="section">
 
647
<h3><a class="toc-backref" href="#id22" id="dynamic-linking-loader-support-and-vte" name="dynamic-linking-loader-support-and-vte">Dynamic linking loader support and VTE</a></h3>
597
648
<p>In the case that your system lacks dynamic linking loader support, you
598
 
probably want to pass the option <tt class="docutils literal"><span class="pre">--disable-vte</span></tt> to the <tt class="docutils literal">configure</tt>
 
649
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>
599
650
script. This prevents compiling Geany with dynamic linking loader
600
 
support to automatically load <tt class="docutils literal">libvte.so.4</tt> if available.</p>
 
651
support for automatically loading <tt class="docutils literal"><span class="pre">libvte.so.4</span></tt> if available.</p>
601
652
</div>
602
 
<div class="section" id="build-problems">
603
 
<h3><a class="toc-backref" href="#id26">Build problems</a></h3>
 
653
<div class="section">
 
654
<h3><a class="toc-backref" href="#id23" id="build-problems" name="build-problems">Build problems</a></h3>
604
655
<p>If there are any errors during compilation, check your build
605
656
environment and try to find the error, otherwise contact the mailing
606
657
list or one the authors. Sometimes you might need to ask for specific
607
 
help from your distro.</p>
608
 
</div>
609
 
</div>
610
 
<div class="section" id="installation-prefix">
611
 
<h2><a class="toc-backref" href="#id27">Installation prefix</a></h2>
 
658
help from your distribution.</p>
 
659
</div>
 
660
</div>
 
661
<div class="section">
 
662
<h2><a class="toc-backref" href="#id24" id="installation-prefix" name="installation-prefix">Installation prefix</a></h2>
612
663
<p>If you want to edit any of Geany's system configuration files after
613
664
installation you will need to know the installation prefix.  Usually this
614
 
is not necessary as you can just use user configuration files.</p>
615
 
<p>Use the <tt class="docutils literal"><span class="pre">--print-prefix</span></tt> option to check - see <a class="reference internal" href="#command-line-options">Command line
 
665
is not necessary as you can just use per user configuration files and
 
666
you will not need root permissions.</p>
 
667
<p>Use the <tt class="docutils literal"><span class="pre">--print-prefix</span></tt> option to Geany to check - see <a class="reference" href="#command-line-options">Command line
616
668
options</a>. The first path is the prefix.</p>
617
 
<p>This is commonly <tt class="docutils literal">/usr</tt> if you installed from a binary package, or
618
 
<tt class="docutils literal">/usr/local</tt> if you build from source.</p>
619
 
</div>
620
 
</div>
621
 
<div class="section" id="usage">
622
 
<h1><a class="toc-backref" href="#id28">Usage</a></h1>
623
 
<div class="section" id="getting-started">
624
 
<h2><a class="toc-backref" href="#id29">Getting started</a></h2>
 
669
<p>This is commonly <tt class="docutils literal"><span class="pre">/usr</span></tt> if you installed from a binary package, or
 
670
<tt class="docutils literal"><span class="pre">/usr/local</span></tt> if you build from source.</p>
 
671
</div>
 
672
</div>
 
673
<div class="section">
 
674
<h1><a class="toc-backref" href="#id25" id="usage" name="usage">Usage</a></h1>
 
675
<div class="section">
 
676
<h2><a class="toc-backref" href="#id26" id="getting-started" name="getting-started">Getting started</a></h2>
625
677
<p>You can start Geany in the following ways:</p>
626
678
<ul>
627
679
<li><p class="first">From the Desktop Environment menu:</p>
637
689
</li>
638
690
</ul>
639
691
</div>
640
 
<div class="section" id="command-line-options">
641
 
<h2><a class="toc-backref" href="#id30">Command line options</a></h2>
 
692
<div class="section">
 
693
<h2><a class="toc-backref" href="#id27" id="the-geany-workspace" name="the-geany-workspace">The Geany workspace</a></h2>
 
694
<p>The Geany window is shown in the following figure:</p>
 
695
<img alt="./images/main_window.png" src="./images/main_window.png" />
 
696
<p>The workspace has the following parts:</p>
 
697
<ul class="simple">
 
698
<li>The menu.</li>
 
699
<li>An optional toolbar.</li>
 
700
<li>An optional sidebar that can show the following tabs:<ul>
 
701
<li>Documents - A document list, and</li>
 
702
<li>Symbols - A list of symbols in your code.</li>
 
703
</ul>
 
704
</li>
 
705
<li>The main editor window.</li>
 
706
<li>An optional message window which can show the following tabs:<ul>
 
707
<li>Status - A list of status messages.</li>
 
708
<li>Compiler - The output of compiling or building programs.</li>
 
709
<li>Messages - Results of 'Find Usage', 'Find Usage' 'Find in Files' and other actions</li>
 
710
<li>Scribble - A text scratchpad for any use.</li>
 
711
<li>Terminal - An optional terminal window.</li>
 
712
</ul>
 
713
</li>
 
714
<li>A status bar</li>
 
715
</ul>
 
716
<p>Additional tabs may be added to the sidebar and message window by plugins.</p>
 
717
<p>The position of the tabs can be selected in the interface preferences.</p>
 
718
<p>The sizes of the sidebar and message window can be adjusted by
 
719
dragging the dividers.</p>
 
720
</div>
 
721
<div class="section">
 
722
<h2><a class="toc-backref" href="#id28" id="command-line-options" name="command-line-options">Command line options</a></h2>
642
723
<table border="1" class="docutils">
643
724
<colgroup>
644
 
<col width="13%" />
645
 
<col width="25%" />
646
 
<col width="62%" />
 
725
<col width="9%" />
 
726
<col width="18%" />
 
727
<col width="72%" />
647
728
</colgroup>
648
729
<thead valign="bottom">
649
730
<tr><th class="head">Short option</th>
665
746
</tr>
666
747
<tr><td>-c dir_name</td>
667
748
<td>--config=directory_name</td>
668
 
<td>Use an alternate configuration directory. Default
669
 
configuration directory is <tt class="docutils literal"><span class="pre">~/.config/geany/</span></tt> and there
670
 
resides <tt class="docutils literal">geany.conf</tt> and other configuration files.</td>
 
749
<td>Use an alternate configuration directory. The default
 
750
configuration directory is <tt class="docutils literal"><span class="pre">~/.config/geany/</span></tt> and that
 
751
is where <tt class="docutils literal"><span class="pre">geany.conf</span></tt> and other configuration files
 
752
reside.</td>
671
753
</tr>
672
754
<tr><td><em>none</em></td>
673
755
<td>--ft-names</td>
677
759
<tr><td>-g</td>
678
760
<td>--generate-tags</td>
679
761
<td>Generate a global tags file (see
680
 
<a class="reference internal" href="#generating-a-global-tags-file">Generating a global tags file</a>).</td>
 
762
<a class="reference" href="#generating-a-global-tags-file">Generating a global tags file</a>).</td>
681
763
</tr>
682
764
<tr><td>-P</td>
683
765
<td>--no-preprocessing</td>
693
775
<td>--line</td>
694
776
<td>Set initial line number for the first opened file.</td>
695
777
</tr>
 
778
<tr><td><em>none</em></td>
 
779
<td>--list-documents</td>
 
780
<td>Return a list of open documents in a running Geany
 
781
instance.
 
782
This can be used to read the currently opened documents in
 
783
Geany from an external script or tool. The returned list
 
784
is separated by newlines (LF) and consists of the full,
 
785
UTF-8 encoded filenames of the documents.
 
786
Only available if Geany was compiled with support for
 
787
Sockets.</td>
 
788
</tr>
696
789
<tr><td>-m</td>
697
790
<td>--no-msgwin</td>
698
791
<td>Do not show the message window. Use this option if you
711
804
<td>--print-prefix</td>
712
805
<td>Print installation prefix, the data directory, the lib
713
806
directory and the locale directory (in this order) to
714
 
stdout, each per line. This is mainly intended for plugin
 
807
stdout, one line each. This is mainly intended for plugin
715
808
authors to detect installation paths.</td>
716
809
</tr>
717
810
<tr><td>-s</td>
722
815
<td>--no-terminal</td>
723
816
<td>Do not load terminal support. Use this option if you do
724
817
not want to load the virtual terminal emulator widget
725
 
at startup. If you do not have <tt class="docutils literal">libvte.so.4</tt> installed,
 
818
at startup. If you do not have <tt class="docutils literal"><span class="pre">libvte.so.4</span></tt> installed,
726
819
then terminal-support is automatically disabled. Only
727
820
available if Geany was compiled with support for VTE.</td>
728
821
</tr>
729
822
<tr><td><em>none</em></td>
 
823
<td>--socket-file</td>
 
824
<td><p class="first">Use this socket filename for communication with a
 
825
running Geany instance. This can be used with the following
 
826
command to execute Geany on the current workspace:</p>
 
827
<pre class="last literal-block">
 
828
geany --socket-file=/tmp/geany-sock-$(xprop -root _NET_CURRENT_DESKTOP | awk '{print $3}')
 
829
</pre>
 
830
</td>
 
831
</tr>
 
832
<tr><td><em>none</em></td>
730
833
<td>--vte-lib</td>
731
834
<td>Specify explicitly the path including filename or only
732
835
the filename to the VTE library, e.g.
733
 
<tt class="docutils literal">/usr/lib/libvte.so</tt> or <tt class="docutils literal">libvte.so</tt>. This option is
 
836
<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
734
837
only needed when the auto-detection does not work. Only
735
838
available if Geany was compiled with support for VTE.</td>
736
839
</tr>
769
872
<p>Geany supports all generic GTK options, a list is available on the
770
873
help screen.</p>
771
874
</div>
772
 
<div class="section" id="general">
773
 
<h2><a class="toc-backref" href="#id31">General</a></h2>
774
 
<div class="section" id="startup">
775
 
<h3><a class="toc-backref" href="#id32">Startup</a></h3>
 
875
<div class="section">
 
876
<h2><a class="toc-backref" href="#id29" id="general" name="general">General</a></h2>
 
877
<div class="section">
 
878
<h3><a class="toc-backref" href="#id30" id="startup" name="startup">Startup</a></h3>
776
879
<p>At startup, Geany loads all files from the last time Geany was
777
880
launched. You can disable this feature in the preferences dialog
778
 
(see <a class="reference internal" href="#general-startup-preferences">General Startup preferences</a>). If you specify some
 
881
(see <a class="reference" href="#general-startup-preferences">General Startup preferences</a>). If you specify some
779
882
files on the command line, only these files will be opened, but you
780
883
can find the files from the last session in the file menu under the
781
884
&quot;Recent files&quot; item. By default this contains the last 10 recently
782
 
opened files. You can change the amount of recently opened files in
 
885
opened files. You can change the number of recently opened files in
783
886
the preferences dialog.</p>
784
887
<p>You can start several instances of Geany, but only the first will
785
888
load files from the last session. To run a second instance of Geany,
786
889
do not specify any filenames on the command-line, or disable opening
787
890
files in a running instance using the appropriate command line option.</p>
788
891
</div>
789
 
<div class="section" id="opening-files-from-the-command-line-in-a-running-instance">
790
 
<h3><a class="toc-backref" href="#id33">Opening files from the command-line in a running instance</a></h3>
791
 
<p>Geany detects an already running instance of itself and opens files
792
 
from the command-line in the already running instance. So, Geany can
 
892
<div class="section">
 
893
<h3><a class="toc-backref" href="#id31" 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>
 
894
<p>Geany detects if there is an an instance of itself already running and opens files
 
895
from the command-line in that instance. So, Geany can
793
896
be used to view and edit files by opening them from other programs
794
897
such as a file manager.</p>
795
898
<p>You can also pass line number and column number information, e.g.:</p>
796
899
<pre class="literal-block">
797
900
geany some_file.foo:55:4
798
901
</pre>
799
 
<p>This would open the file <tt class="docutils literal">some_file.foo</tt> with the cursor on line 55,
 
902
<p>This would open the file <tt class="docutils literal"><span class="pre">some_file.foo</span></tt> with the cursor on line 55,
800
903
column 4.</p>
801
904
<p>If you do not like this for some reason, you can disable using the first
802
905
instance by using the appropriate command line option -- see the section
803
 
called <a class="reference internal" href="#command-line-options">Command line options</a>.</p>
 
906
called <a class="reference" href="#command-line-options">Command line options</a>.</p>
804
907
</div>
805
 
<div class="section" id="virtual-terminal-emulator-widget-vte">
806
 
<h3><a class="toc-backref" href="#id34">Virtual terminal emulator widget (VTE)</a></h3>
807
 
<p>If you have installed <tt class="docutils literal">libvte.so</tt> in your system, it is loaded
 
908
<div class="section">
 
909
<h3><a class="toc-backref" href="#id32" id="virtual-terminal-emulator-widget-vte" name="virtual-terminal-emulator-widget-vte">Virtual terminal emulator widget (VTE)</a></h3>
 
910
<p>If you have installed <tt class="docutils literal"><span class="pre">libvte.so</span></tt> on your system, it is loaded
808
911
automatically by Geany, and you will have a terminal widget in the
809
912
notebook at the bottom.</p>
810
 
<p>If Geany cannot find any <tt class="docutils literal">libvte.so</tt> at startup, the terminal widget
 
913
<p>If Geany cannot find any <tt class="docutils literal"><span class="pre">libvte.so</span></tt> at startup, the terminal widget
811
914
will not be loaded. So there is no need to install the package containing
812
915
this file in order to run Geany. Additionally, you can disable the use
813
916
of the terminal widget by command line option, for more information
814
 
see the section called <a class="reference internal" href="#command-line-options">Command line options</a>.</p>
815
 
<p>You can use this terminal (from now on called VTE) nearly as an usual
816
 
terminal program like xterm. There is basic clipboard support. You
 
917
see the section called <a class="reference" href="#command-line-options">Command line options</a>.</p>
 
918
<p>You can use this terminal (from now on called VTE) much as you would
 
919
a terminal program like xterm. There is basic clipboard support. You
817
920
can paste the contents of the clipboard by pressing the right mouse
818
 
button to open the popup menu and choosing Paste. To copy text from
 
921
button to open the popup menu, and choosing Paste. To copy text from
819
922
the VTE, just select the desired text and then press the right mouse
820
923
button and choose Copy from the popup menu. On systems running the
821
924
X Window System you can paste the last selected text by pressing the
828
931
you can use the argument <tt class="docutils literal"><span class="pre">--login</span></tt>.</p>
829
932
<div class="note">
830
933
<p class="first admonition-title">Note</p>
831
 
<p class="last">Geany tries to load <tt class="docutils literal">libvte.so</tt>. If this fails, it tries to load
 
934
<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
832
935
some other filenames. If this fails too, you should check whether you
833
 
installed libvte correctly. Again, Geany also runs without this
 
936
installed libvte correctly. Again note, Geany will run without this
834
937
library.</p>
835
938
</div>
836
939
<p>It could be, that the library is called something else than
837
 
<tt class="docutils literal">libvte.so</tt> (e.g. on FreeBSD 6.0 it is called <tt class="docutils literal">libvte.so.8</tt>). So
 
940
<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>). If so
838
941
please set a link to the correct file (as root):</p>
839
942
<pre class="literal-block">
840
943
# ln -s /usr/lib/libvte.so.X /usr/lib/libvte.so
841
944
</pre>
842
945
<p>Obviously, you have to adjust the paths and set X to the number of your
843
 
<tt class="docutils literal">libvte.so</tt>.</p>
 
946
<tt class="docutils literal"><span class="pre">libvte.so</span></tt>.</p>
844
947
<p>You can also specify the filename of the VTE library to use on the command
845
 
line (see the section called <a class="reference internal" href="#command-line-options">Command line options</a>) or at compile time
 
948
line (see the section called <a class="reference" href="#command-line-options">Command line options</a>) or at compile time
846
949
by specifying the command line option <tt class="docutils literal"><span class="pre">--with-vte-module-path</span></tt> to
847
950
./configure.</p>
848
951
</div>
849
 
<div class="section" id="defining-own-widget-styles-using-gtkrc-2-0">
850
 
<h3><a class="toc-backref" href="#id35">Defining own widget styles using .gtkrc-2.0</a></h3>
 
952
<div class="section">
 
953
<h3><a class="toc-backref" href="#id33" 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>
851
954
<p>You can define your widget style for many of Geany's GUI parts. To
852
955
do this, just edit your <tt class="docutils literal"><span class="pre">.gtkrc-2.0</span></tt> (usually found in your home
853
956
directory on UNIX-like systems and in the etc subdirectory of your
854
957
Geany installation on Windows).</p>
855
 
<p>To get a defined style get noticed by Geany you must it assign to
856
 
one of Geany's widgets. To do so, use the following line:</p>
 
958
<p>To have a defined style used by Geany you must assign it to
 
959
at least one of Geany's widgets. For example use the following line:</p>
857
960
<pre class="literal-block">
858
961
widget &quot;Geany*&quot; style &quot;geanyStyle&quot;
859
962
</pre>
860
 
<p>This would assign your already defined style &quot;geany_style&quot; to all Geany
 
963
<p>This would assign your style &quot;geany_style&quot; to all Geany
861
964
widgets. You can also assign styles only to specific widgets. At the
862
965
moment you can use the following widgets:</p>
863
966
<ul class="simple">
871
974
<li>GeanyMenubar</li>
872
975
<li>GeanyToolbar</li>
873
976
</ul>
874
 
<p>Example of a simple <tt class="docutils literal"><span class="pre">.gtkrc-2.0</span></tt>:</p>
 
977
<p>An example of a simple <tt class="docutils literal"><span class="pre">.gtkrc-2.0</span></tt>:</p>
875
978
<pre class="literal-block">
876
979
style &quot;geanyStyle&quot;
877
980
{
887
990
</pre>
888
991
</div>
889
992
</div>
890
 
<div class="section" id="documents">
891
 
<h2><a class="toc-backref" href="#id36">Documents</a></h2>
892
 
<div class="section" id="switching-between-documents">
893
 
<h3><a class="toc-backref" href="#id37">Switching between documents</a></h3>
 
993
<div class="section">
 
994
<h2><a class="toc-backref" href="#id34" id="documents" name="documents">Documents</a></h2>
 
995
<div class="section">
 
996
<h3><a class="toc-backref" href="#id35" id="switching-between-documents" name="switching-between-documents">Switching between documents</a></h3>
894
997
<p>The documents list and the editor tabs are two different ways
895
998
to switch between documents using the mouse. When you hit the key
896
999
combination to move between tabs, the order is determined by the tab
897
 
order, not alphabetical as shown in the documents list (regardless
898
 
of whether or not editor tabs are visible).</p>
899
 
<p>See the <em>Notebook tabs</em> group in the <a class="reference internal" href="#keybindings">Keybindings</a> section for useful
 
1000
order. Its is not alphabetical as shown in the documents list
 
1001
(regardless of whether or not editor tabs are visible).</p>
 
1002
<p>The tabs can be positioned at the top, bottom, left, or right of the
 
1003
main editing window, by a selection in the interface preferences.</p>
 
1004
<p>See the <a class="reference" href="#notebook-tab-keybindings">Notebook tab keybindings</a> section for useful
900
1005
shortcuts including for Most-Recently-Used document switching.</p>
901
1006
</div>
902
1007
</div>
903
 
<div class="section" id="character-sets-and-unicode-byte-order-mark-bom">
904
 
<h2><a class="toc-backref" href="#id38">Character sets and Unicode Byte-Order-Mark (BOM)</a></h2>
905
 
<div class="section" id="using-character-sets">
906
 
<h3><a class="toc-backref" href="#id39">Using character sets</a></h3>
 
1008
<div class="section">
 
1009
<h2><a class="toc-backref" href="#id36" 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>
 
1010
<div class="section">
 
1011
<h3><a class="toc-backref" href="#id37" id="using-character-sets" name="using-character-sets">Using character sets</a></h3>
907
1012
<p>Geany provides support for detecting and converting character sets. So
908
 
you can open and save files in different character sets and even
909
 
can convert a file from a character set to another one. To do this,
910
 
Geany uses the character conversion capabilities of the GLib.</p>
 
1013
you can open and save files in different character sets, and even
 
1014
convert a file from one character set to another. To do this,
 
1015
Geany uses the character conversion capabilities of the GLib library.</p>
911
1016
<p>Only text files are supported, i.e. opening files which contain
912
1017
NULL-bytes may fail. Geany will try to open the file anyway but it is
913
 
likely that the file will be truncated because it can only opened up
 
1018
likely that the file will be truncated because it can only be read up
914
1019
to the first occurrence of a NULL-byte. All characters after this
915
1020
position are lost and are not written when you save the file.</p>
916
 
<p>Geany tries to detect the encoding of a file while opening it. It
917
 
might be that the encoding of a file cannot be detected correctly so
918
 
you have to set manually the encoding of the file in order to display
919
 
it correctly. You can this in the file open dialog by selecting
920
 
an encoding in the drop down box or by reloading the file with the
 
1021
<p>Geany tries to detect the encoding of a file while opening it, but
 
1022
auto-detecting the encoding of a file is not easy and sometimes an
 
1023
encoding might not be detected correctly. In this case you have to
 
1024
set the encoding of the file manually in order to display it
 
1025
correctly. You can this in the file open dialog by selecting an
 
1026
encoding in the drop down box or by reloading the file with the
921
1027
file menu item &quot;Reload as&quot;. The auto-detection works well for most
922
 
encodings but there are also some encodings known where auto-detection
923
 
has its problems. Auto-detecting the encoding of a file is not easy
924
 
and sometimes an encoding might be detected not correctly.</p>
925
 
<p>There are different ways to use different encodings in Geany:</p>
 
1028
encodings but there are also some encodings where it is known that
 
1029
auto-detection has problems.</p>
 
1030
<p>There are different ways to set different encodings in Geany:</p>
926
1031
<ul>
927
1032
<li><p class="first">Using the file open dialog</p>
928
1033
<p>This opens the file with the encoding specified in the encoding drop
933
1038
</li>
934
1039
<li><p class="first">Using the &quot;Reload as&quot; menu item</p>
935
1040
<p>This item reloads the current file with the specified encoding. It can
936
 
help if you opened a file and found out that a wrong encoding was used.</p>
 
1041
help if you opened a file and found out that the wrong encoding was used.</p>
937
1042
</li>
938
1043
<li><p class="first">Using the &quot;Set encoding&quot; menu item</p>
939
 
<p>In contrary to the above two options, this will not change or reload
 
1044
<p>Contrary to the above two options, this will not change or reload
940
1045
the current file unless you save it. It is useful when you want to
941
1046
change the encoding of the file.</p>
942
1047
</li>
943
1048
<li><p class="first">Specifying the encoding in the file itself</p>
944
1049
<p>As mentioned above, auto-detecting the encoding of a file may fail on
945
1050
some encodings. If you know that Geany doesn't open a certain file,
946
 
you can add a special line to the beginning of the file to force an
947
 
encoding when opening the file (for details see below).</p>
 
1051
you can add the specification line, described in the next section,
 
1052
to the beginning of the file to force Geany to use a specific
 
1053
encoding when opening the file.</p>
948
1054
</li>
949
1055
</ul>
950
1056
</div>
951
 
<div class="section" id="in-file-encoding-specification">
952
 
<h3><a class="toc-backref" href="#id40">In-file encoding specification</a></h3>
 
1057
<div class="section">
 
1058
<h3><a class="toc-backref" href="#id38" id="in-file-encoding-specification" name="in-file-encoding-specification">In-file encoding specification</a></h3>
953
1059
<p>Geany detects meta tags of HTML files which contain charset information
954
1060
like:</p>
955
1061
<pre class="literal-block">
956
1062
&lt;meta http-equiv=&quot;content-type&quot; content=&quot;text/html; charset=ISO-8859-15&quot; /&gt;
957
1063
</pre>
958
 
<p>and the found charset is used when opening the file. This is useful if the
 
1064
<p>and the specified charset is used when opening the file. This is useful if the
959
1065
encoding of the file cannot be detected properly.
960
1066
For non-HTML files you can also define a line like:</p>
961
1067
<pre class="literal-block">
965
1071
<pre class="literal-block">
966
1072
# geany_encoding=ISO-8859-15 #
967
1073
</pre>
968
 
<p>to force an encoding to be used. The used #, /* and */ are only examples
969
 
for filetype-specific comment characters. It doesn't matter which
 
1074
<p>to force an encoding to be used. The #, /* and */ are examples
 
1075
of filetype-specific comment characters. It doesn't matter which
970
1076
characters are around the string &quot; geany_encoding=ISO-8859-15 &quot; as long
971
1077
as there is at least one whitespace character before and after this
972
1078
string. Whitespace characters are in this case a space or tab character.
974
1080
encoding but Geany constantly detects the file encoding as ISO-8859-1.
975
1081
Then you simply add such a line to the file and Geany will open it
976
1082
correctly the next time.</p>
977
 
<p>Since Geany 0.15 you can also use lines like:</p>
 
1083
<p>Since Geany 0.15 you can also use lines which match the
 
1084
regular expression used to find the encoding string:
 
1085
<tt class="docutils literal"><span class="pre">coding[\t</span> <span class="pre">]*[:=][\t</span> <span class="pre">]*([a-z0-9-]+)[\t</span> <span class="pre">]*</span></tt></p>
 
1086
<div class="note">
 
1087
<p class="first admonition-title">Note</p>
 
1088
<p class="last">These specifications must be in the first 512 bytes of the file.
 
1089
Anything after the first 512 bytes will not be recognized.</p>
 
1090
</div>
 
1091
<p>Some examples are:</p>
978
1092
<pre class="literal-block">
979
1093
# encoding = ISO-8859-15
980
1094
</pre>
982
1096
<pre class="literal-block">
983
1097
# coding: ISO-8859-15
984
1098
</pre>
985
 
<p>The used regular expression to find the encoding string is:
986
 
<tt class="docutils literal"><span class="pre">coding[\t</span> <span class="pre">]*[:=][\t</span> <span class="pre">]*([a-z0-9-]+)[\t</span> ]*</tt></p>
987
 
<div class="note">
988
 
<p class="first admonition-title">Note</p>
989
 
<p class="last">These specifications must be in the first 512 bytes of the file.
990
 
Anything after the first 512 bytes will not be recognized.</p>
991
 
</div>
992
 
</div>
993
 
<div class="section" id="special-encoding-none">
994
 
<h3><a class="toc-backref" href="#id41">Special encoding &quot;None&quot;</a></h3>
995
 
<p>There is a special encoding &quot;None&quot; which is actually no real
 
1099
</div>
 
1100
<div class="section">
 
1101
<h3><a class="toc-backref" href="#id39" id="special-encoding-none" name="special-encoding-none">Special encoding &quot;None&quot;</a></h3>
 
1102
<p>There is a special encoding &quot;None&quot; which uses no
996
1103
encoding. It is useful when you know that Geany cannot auto-detect
997
1104
the encoding of a file and it is not displayed correctly. Especially
998
1105
when the file contains NULL-bytes this can be useful to skip auto
1000
1107
of the first NULL-byte. Using this encoding opens the file as it is
1001
1108
without any character conversion.</p>
1002
1109
</div>
1003
 
<div class="section" id="unicode-byte-order-mark-bom">
1004
 
<h3><a class="toc-backref" href="#id42">Unicode Byte-Order-Mark (BOM)</a></h3>
1005
 
<p>Furthermore, Geany detects an Unicode Byte Order Mark (see
1006
 
<a class="reference external" href="http://en.wikipedia.org/wiki/Byte_Order_Mark">http://en.wikipedia.org/wiki/Byte_Order_Mark</a> for details). Of course,
1007
 
this feature is only available if the opened file is in an Unicode
 
1110
<div class="section">
 
1111
<h3><a class="toc-backref" href="#id40" id="unicode-byte-order-mark-bom" name="unicode-byte-order-mark-bom">Unicode Byte-Order-Mark (BOM)</a></h3>
 
1112
<p>Furthermore, Geany detects a Unicode Byte Order Mark (see
 
1113
<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,
 
1114
this feature is only available if the opened file is in a Unicode
1008
1115
encoding. The Byte Order Mark helps to detect the encoding of a file,
1009
1116
e.g. whether it is UTF-16LE or UTF-16BE and so on. On Unix-like systems
1010
 
using a Byte Order Mark could cause some problems, e.g. the gcc stops
 
1117
using a Byte Order Mark could cause some problems for programs not
 
1118
expecting it, e.g. the compiler gcc stops
1011
1119
with stray errors, PHP does not parse a script containing a BOM and
1012
1120
script files starting with a she-bang maybe cannot be started. In the
1013
1121
status bar you can easily see whether the file starts with a BOM or
1014
 
not. If you want to set a BOM for a file or if you want to remove it
 
1122
not.</p>
 
1123
<p>If you want to set a BOM for a file or if you want to remove it
1015
1124
from a file, just use the document menu and toggle the checkbox.</p>
1016
1125
<div class="note">
1017
1126
<p class="first admonition-title">Note</p>
1021
1130
</div>
1022
1131
</div>
1023
1132
</div>
1024
 
<div class="section" id="editing">
1025
 
<h2><a class="toc-backref" href="#id43">Editing</a></h2>
1026
 
<div class="section" id="folding">
1027
 
<h3><a class="toc-backref" href="#id44">Folding</a></h3>
 
1133
<div class="section">
 
1134
<h2><a class="toc-backref" href="#id41" id="editing" name="editing">Editing</a></h2>
 
1135
<div class="section">
 
1136
<h3><a class="toc-backref" href="#id42" id="folding" name="folding">Folding</a></h3>
1028
1137
<p>Geany provides basic code folding support. Folding means the ability to
1029
1138
show and hide parts of the text in the current file. You can hide
1030
1139
unimportant code sections and concentrate on the parts you are working on
1031
 
and later you can show these sections again. In the editor window there is
1032
 
a small grey margin on the left side with some [+] and [-] symbols. By
 
1140
and later you can show hidden sections again. In the editor window there is
 
1141
a small grey margin on the left side with [+] and [-] symbols which
 
1142
show hidden parts and hide parts of the file respectively. By
1033
1143
clicking on these icons you can simply show and hide sections which are
1034
1144
marked by vertical lines within this margin. For many filetypes nested
1035
1145
folding is supported, so there may be several fold points within other
1036
1146
fold points.</p>
 
1147
<div class="note">
 
1148
<p class="first admonition-title">Note</p>
 
1149
<p class="last">You can customize the folding icon and line styles - see the
 
1150
filetypes.common <a class="reference" href="#folding-settings">Folding Settings</a>.</p>
 
1151
</div>
1037
1152
<p>If you don't like it or don't need it at all, you can simply disable
1038
1153
folding support completely in the preferences dialog.</p>
1039
1154
<p>The folding behaviour can be changed with the &quot;Fold/Unfold all children of
1042
1157
folded (when clicking on a [+] symbol).
1043
1158
When clicking on a [-] symbol, Geany will fold all nested fold points
1044
1159
below the current one if they are unfolded.</p>
1045
 
<p>The usage of this option can be instantly inverted by pressing the Shift
 
1160
<p>This option can be inverted by pressing the Shift
1046
1161
key while clicking on a fold symbol. That means, if the &quot;Fold/Unfold all
1047
1162
children of a fold point&quot; option is enabled, pressing Shift will disable
1048
1163
it for this click and vice versa.</p>
1049
1164
</div>
1050
 
<div class="section" id="column-mode-editing-rectangular-selections">
1051
 
<h3><a class="toc-backref" href="#id45">Column mode editing (rectangular selections)</a></h3>
 
1165
<div class="section">
 
1166
<h3><a class="toc-backref" href="#id43" id="column-mode-editing-rectangular-selections" name="column-mode-editing-rectangular-selections">Column mode editing (rectangular selections)</a></h3>
1052
1167
<p>There is basic support for column mode editing. To use it, create a
1053
1168
rectangular selection by holding down the Control and Shift keys
1054
1169
(or Control and Alt if it doesn't work) while
1055
 
selecting some text. It is also possible to create a zero-column selection
1056
 
but be careful because there is no visual indication of this selection.
 
1170
selecting some text. It is also possible to create a zero-column selection.
1057
1171
Once a rectangular selection exists you can start editing the text within
1058
1172
this selection and the modifications will be done for every line in the
1059
1173
selection.</p>
1060
1174
</div>
1061
 
<div class="section" id="drag-and-drop-of-text">
1062
 
<h3><a class="toc-backref" href="#id46">Drag and drop of text</a></h3>
 
1175
<div class="section">
 
1176
<h3><a class="toc-backref" href="#id44" id="drag-and-drop-of-text" name="drag-and-drop-of-text">Drag and drop of text</a></h3>
1063
1177
<p>If you drag selected text in the editor widget of Geany the text is
1064
1178
moved to the position where the mouse pointer is when releasing the
1065
1179
mouse button. Holding Control when releasing the mouse button will
1066
1180
copy the text instead. This behaviour was changed in Geany 0.11 -
1067
1181
before the selected text was copied to the new position.</p>
1068
1182
</div>
1069
 
<div class="section" id="indentation">
1070
 
<h3><a class="toc-backref" href="#id47">Indentation</a></h3>
 
1183
<div class="section">
 
1184
<h3><a class="toc-backref" href="#id45" id="indentation" name="indentation">Indentation</a></h3>
1071
1185
<p>Geany allows each document to indent either with a tab character or
1072
 
multiple spaces. The default indent mode is set in the <a class="reference internal" href="#editor-features-preferences">Editor Features
 
1186
multiple spaces. The default indent mode is set in the <a class="reference" href="#editor-features-preferences">Editor Features
1073
1187
preferences</a> (see the link for more information). But
1074
1188
this can be overridden using either the <em>Document-&gt;Indent Type</em> menu,
1075
1189
or by using the <em>Detect from file</em> indentation preference. When enabled,
1087
1201
on a line.</dd>
1088
1202
</dl>
1089
1203
</div>
1090
 
<div class="section" id="auto-indentation">
1091
 
<h3><a class="toc-backref" href="#id48">Auto-indentation</a></h3>
 
1204
<div class="section">
 
1205
<h3><a class="toc-backref" href="#id46" id="auto-indentation" name="auto-indentation">Auto-indentation</a></h3>
1092
1206
<p>When enabled, auto-indentation happens when pressing <em>Enter</em> in the
1093
1207
Editor. It adds a certain amount of indentation to the new line so the
1094
1208
user doesn't always have to indent each line manually.</p>
1095
 
<p>Geany knows four types of auto-indentation:</p>
 
1209
<p>Geany has four types of auto-indentation:</p>
1096
1210
<dl class="docutils">
1097
1211
<dt>None</dt>
1098
1212
<dd>Disables auto-indentation completely.</dd>
1108
1222
match the indentation of the line with the opening brace.</dd>
1109
1223
</dl>
1110
1224
</div>
1111
 
<div class="section" id="bookmarks">
1112
 
<h3><a class="toc-backref" href="#id49">Bookmarks</a></h3>
 
1225
<div class="section">
 
1226
<h3><a class="toc-backref" href="#id47" id="bookmarks" name="bookmarks">Bookmarks</a></h3>
1113
1227
<p>Geany provides a handy bookmarking feature that lets you mark one
1114
1228
or more lines in a document, and return the cursor to them using a
1115
1229
key combination.</p>
1116
1230
<p>To place a mark on a line, either left-mouse-click in the left margin
1117
 
of the editor window, or else use Ctrl-m. Either way, this will
 
1231
of the editor window, or else use Ctrl-m. This will
1118
1232
produce a small green plus symbol in the margin. You can have as many
1119
1233
marks in a document as you like. Click again (or use Ctrl-m again)
1120
1234
to remove the bookmark. To remove all the marks in a given document,
1126
1240
(Ctrl-PgUp/PgDn and Ctrl-Tab) provides a particularly fast way to
1127
1241
navigate around multiple files.</p>
1128
1242
</div>
1129
 
<div class="section" id="code-navigation-history">
1130
 
<h3><a class="toc-backref" href="#id50">Code navigation history</a></h3>
 
1243
<div class="section">
 
1244
<h3><a class="toc-backref" href="#id48" id="code-navigation-history" name="code-navigation-history">Code navigation history</a></h3>
1131
1245
<p>To ease navigation in source files and especially between
1132
1246
different files, Geany lets you jump between different navigation
1133
1247
points. Currently, this works for the following:</p>
1134
1248
<ul class="simple">
1135
 
<li><a class="reference internal" href="#go-to-tag-declaration">Go to tag declaration</a></li>
1136
 
<li><a class="reference internal" href="#go-to-tag-definition">Go to tag definition</a></li>
 
1249
<li><a class="reference" href="#go-to-tag-declaration">Go to tag declaration</a></li>
 
1250
<li><a class="reference" href="#go-to-tag-definition">Go to tag definition</a></li>
1137
1251
<li>Symbol list items</li>
1138
1252
<li>Build errors</li>
1139
1253
<li>Message items</li>
1145
1259
location&quot;. This makes it easier to navigate in e.g.  foreign code
1146
1260
and between different files.</p>
1147
1261
</div>
1148
 
<div class="section" id="send-text-through-definable-commands">
1149
 
<h3><a class="toc-backref" href="#id51">Send text through definable commands</a></h3>
 
1262
<div class="section">
 
1263
<h3><a class="toc-backref" href="#id49" id="sending-text-through-custom-commands" name="sending-text-through-custom-commands">Sending text through custom commands</a></h3>
1150
1264
<p>You can define several custom commands in Geany and send the current
1151
 
selection to one of these commands. The output of the command will be
1152
 
used to replace the current selection. So, it is possible to use text
 
1265
selection to one of these commands using the &quot;Edit-&gt;Format-&gt;Send
 
1266
Selection to&quot; menu or keybindings.
 
1267
The output of the command will be
 
1268
used to replace the current selection. This makes it possible to use text
1153
1269
formatting tools with Geany in a general way. The selected text will
1154
1270
be sent to the standard input of the executed command, so the command
1155
1271
should be able to read from it and it should print all results to its
1162
1278
some command line options. To delete a command, just clear the text
1163
1279
entry and press OK. It will be deleted automatically.</p>
1164
1280
</div>
1165
 
<div class="section" id="context-actions">
1166
 
<h3><a class="toc-backref" href="#id52">Context actions</a></h3>
1167
 
<p>You can execute a specified command on the current word near the
1168
 
cursor position or an available selection and this word is passed
1169
 
as an argument to this command. It can be used for example to open
1170
 
some API documentation in a browser window or open any other external
1171
 
program. To do this, there is an menu entry in the popup menu of the
1172
 
editor widget and also a keyboard shortcut(see the section called
1173
 
<a class="reference internal" href="#keybindings">Keybindings</a>).</p>
1174
 
<p>The command can be specified in the preferences dialog and additionally
1175
 
for each filetype (see &quot;context_action_cmd&quot; in the section called
1176
 
<a class="reference internal" href="#format">Format</a>). At executing, the filetype specific command is used if
1177
 
available otherwise the command specified in the preferences dialog
1178
 
is executed.</p>
1179
 
<p>The passed word can be referred with the wildcard &quot;%s&quot; everywhere
1180
 
in the command, before executing it will be replaced by the current
1181
 
word. For example, the command to open the PHP API documentation
 
1281
<div class="section">
 
1282
<h3><a class="toc-backref" href="#id50" id="context-actions" name="context-actions">Context actions</a></h3>
 
1283
<p>You can execute the context action command on the current word at the
 
1284
cursor position or the available selection.  This word or selection
 
1285
can be used as an argument to the command.
 
1286
The context action is invoked by a menu entry in the popup menu of the
 
1287
editor and also a keyboard shortcut (see the section called
 
1288
<a class="reference" href="#keybindings">Keybindings</a>).</p>
 
1289
<p>The command can be specified in the preferences dialog and also for
 
1290
each filetype (see &quot;context_action_cmd&quot; in the section called
 
1291
<a class="reference" href="#format">Format</a>). When the context action is invoked, the filetype
 
1292
specific command is used if available, otherwise the command
 
1293
specified in the preferences dialog is executed.</p>
 
1294
<p>The current word or selection can be referred with the wildcard &quot;%s&quot;
 
1295
in the command, it will be replaced by the current word or
 
1296
selection before the command is executed.</p>
 
1297
<p>For example a context action can be used to open API documentation
 
1298
in a browser window, the command to open the PHP API documentation
1182
1299
would be:</p>
1183
1300
<pre class="literal-block">
1184
1301
firefox &quot;http://www.php.net/%s&quot;
1186
1303
<p>when executing the command, the %s is substituted by the word near
1187
1304
the cursor position or by the current selection. If the cursor is at
1188
1305
the word &quot;echo&quot;, a browser window will open(assumed your browser is
1189
 
called firefox) and it will open the address: <a class="reference external" href="http://www.php.net/echo">http://www.php.net/echo</a>.</p>
 
1306
called firefox) and it will open the address: <a class="reference" href="http://www.php.net/echo">http://www.php.net/echo</a>.</p>
1190
1307
</div>
1191
 
<div class="section" id="autocompletion">
1192
 
<h3><a class="toc-backref" href="#id53">Autocompletion</a></h3>
 
1308
<div class="section">
 
1309
<h3><a class="toc-backref" href="#id51" id="autocompletion" name="autocompletion">Autocompletion</a></h3>
1193
1310
<p>Geany can offer a list of possible completions for symbols defined in the
1194
1311
tags and for all words in a document.</p>
1195
1312
<p>The autocompletion list for symbols is presented when the first few
1196
 
characters of the symbol are typed (configurable, see <a class="reference internal" href="#editor-completions-preferences">Editor Completions
 
1313
characters of the symbol are typed (configurable, see <a class="reference" href="#editor-completions-preferences">Editor Completions
1197
1314
preferences</a>, default 4) or when the <em>Complete word</em>
1198
 
keybinding is pressed (configurable, see <a class="reference internal" href="#configurable-keybindings">Configurable keybindings</a>,
 
1315
keybinding is pressed (configurable, see <a class="reference" href="#editor-keybindings">Editor keybindings</a>,
1199
1316
default Ctrl-Space).</p>
1200
1317
<p>When the defined keybinding is typed and the <em>Autocomplete all words in
1201
 
document</em> preference (in <a class="reference internal" href="#editor-completions-preferences">Editor Completions preferences</a>)
 
1318
document</em> preference (in <a class="reference" href="#editor-completions-preferences">Editor Completions preferences</a>)
1202
1319
is selected then the autocompletion list will show all matching words
1203
1320
in the document, if there are no matching symbols.</p>
1204
1321
<p>If you don't want to use autocompletion it can be dismissed until
1207
1324
with the characters typed so far. If no symbols begin with the sequence,
1208
1325
the autocompletion window is closed.</p>
1209
1326
<p>The up and down arrows will move the selected item. The highlighted
1210
 
item on the autocompletion list can be chosen from the list by Tab or
 
1327
item on the autocompletion list can be chosen from the list by pressing
1211
1328
Enter/Return. You can also double-click to select an item. The sequence
1212
1329
will be completed to match the chosen item, and if the <em>Drop rest of
1213
 
word on completion</em> preference is set (in <a class="reference internal" href="#editor-completions-preferences">Editor Completions
 
1330
word on completion</em> preference is set (in <a class="reference" href="#editor-completions-preferences">Editor Completions
1214
1331
preferences</a>) then any characters after the cursor that match
1215
1332
a symbol or word are deleted.</p>
1216
 
<div class="section" id="scope-autocompletion">
1217
 
<h4><a class="toc-backref" href="#id54">Scope autocompletion</a></h4>
 
1333
<div class="section">
 
1334
<h4><a class="toc-backref" href="#id52" id="word-part-completion" name="word-part-completion">Word part completion</a></h4>
 
1335
<p>By default, pressing Tab will complete the selected item by word part;
 
1336
useful e.g. for adding the prefix <tt class="docutils literal"><span class="pre">gtk_combo_box_entry_</span></tt> without typing it
 
1337
manually:</p>
 
1338
<ul class="simple">
 
1339
<li>gtk_com&lt;TAB&gt;</li>
 
1340
<li>gtk_combo_&lt;TAB&gt;</li>
 
1341
<li>gtk_combo_box_&lt;e&gt;&lt;TAB&gt;</li>
 
1342
<li>gtk_combo_box_entry_&lt;s&gt;&lt;ENTER&gt;</li>
 
1343
<li>gtk_combo_box_entry_set_text_column</li>
 
1344
</ul>
 
1345
<p>The key combination can be changed from Tab - See <a class="reference" href="#editor-keybindings">Editor keybindings</a>.
 
1346
If you clear/change the key combination for word part completion, Tab
 
1347
will complete the whole word instead, like Enter.</p>
 
1348
</div>
 
1349
<div class="section">
 
1350
<h4><a class="toc-backref" href="#id53" id="scope-autocompletion" name="scope-autocompletion">Scope autocompletion</a></h4>
1218
1351
<p>E.g.:</p>
1219
1352
<pre class="literal-block">
1220
1353
struct
1223
1356
    char c;
1224
1357
} foo;
1225
1358
</pre>
1226
 
<p>When you type <tt class="docutils literal">foo.</tt> it will show an autocompletion list with 'i' and
 
1359
<p>When you type <tt class="docutils literal"><span class="pre">foo.</span></tt> it will show an autocompletion list with 'i' and
1227
1360
'c' symbols.</p>
1228
1361
<p>It only works for languages that set parent scope names for e.g. struct
1229
1362
members. Currently this means C-like languages. The C tag parser only
1231
1364
in local scope.</p>
1232
1365
</div>
1233
1366
</div>
1234
 
<div class="section" id="user-definable-snippets">
1235
 
<h3><a class="toc-backref" href="#id55">User-definable snippets</a></h3>
 
1367
<div class="section">
 
1368
<h3><a class="toc-backref" href="#id54" id="user-definable-snippets" name="user-definable-snippets">User-definable snippets</a></h3>
1236
1369
<p>Snippets are small strings or code constructs which can be replaced or
1237
 
completed to a more complex string. So you can save a lot of time by
1238
 
not typing often used strings and letting Geany do the work for you.
 
1370
completed to a more complex string. So you can save a lot of time when
 
1371
typing common strings and letting Geany do the work for you.
1239
1372
To know what to complete or replace Geany reads a configuration file
1240
 
called <tt class="docutils literal">snippets.conf</tt> at startup.</p>
 
1373
called <tt class="docutils literal"><span class="pre">snippets.conf</span></tt> at startup.</p>
 
1374
<p>Maybe you need to often type your name, so define a snippet like this:</p>
 
1375
<pre class="literal-block">
 
1376
[Default]
 
1377
myname=Enrico Trƶger
 
1378
</pre>
 
1379
<p>Every time you write <tt class="docutils literal"><span class="pre">myname</span></tt> &lt;TAB&gt; in Geany, it will replace &quot;myname&quot;
 
1380
with &quot;Enrico Trƶger&quot;. The key to start autocompletion can be changed
 
1381
in the preferences dialog, by default it is TAB. The corresponding keybinding
 
1382
is called <tt class="docutils literal"><span class="pre">Complete</span> <span class="pre">snippet</span></tt>.</p>
1241
1383
<p>The system-wide configuration file can be found in
1242
 
<tt class="docutils literal">$prefix/share/geany</tt>, where <tt class="docutils literal">$prefix</tt> is the path where Geany is
1243
 
installed (see <a class="reference internal" href="#installation-prefix">Installation prefix</a>). It is not recommended to edit the
 
1384
<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
 
1385
installed (see <a class="reference" href="#installation-prefix">Installation prefix</a>). It is not recommended to edit the
1244
1386
system-wide file, because it will be overridden when Geany is updated.</p>
1245
 
<p>To change the settings, copy the file from <tt class="docutils literal">$prefix/share/geany</tt>
 
1387
<p>To change the settings, copy the file from <tt class="docutils literal"><span class="pre">$prefix/share/geany</span></tt>
1246
1388
in your configuration directory (usually <tt class="docutils literal"><span class="pre">~/.config/geany/</span></tt>).</p>
1247
1389
<p>For example:</p>
1248
1390
<pre class="literal-block">
1249
1391
% cp /usr/local/share/geany/snippets.conf /home/username/.config/geany/
1250
1392
</pre>
1251
 
<p>Then you can edit the file and the changes are also available
 
1393
<p>Then you can edit the file and the changes will remain available
1252
1394
after an update of Geany because the file resides in your
1253
1395
configuration directory. Alternatively, you can create a file
1254
1396
<tt class="docutils literal"><span class="pre">~/.config/geany/snippets.conf</span></tt> and add only these settings you want
1255
1397
to change. All missing settings will be read from the global snippets
1256
 
file in <tt class="docutils literal">$prefix/share/geany</tt>.</p>
1257
 
<p>The file <tt class="docutils literal">snippets.conf</tt> may contain several sections for each
1258
 
filetype. It also contains two additional sections &quot;Default&quot; and
1259
 
&quot;Special&quot;. Default contains all snippets which are available
1260
 
for every filetype. You may define another section for a certain
1261
 
filetype(e.g. C++) containing the same snippets. Then when using
1262
 
such a snippet in a C++ file the snippet defined in the C++ section will
1263
 
be used. In any other file the snippet defined in the Default section will
1264
 
be used unless a section for the current filetype exists and the used
1265
 
snippet is defined in this section. The section &quot;Special&quot; contains special
1266
 
snippets which can only be used in other snippets. So you can define often
1267
 
used parts of snippets and just use the special snippet as a placeholder
1268
 
(see the <tt class="docutils literal">snippets.conf</tt> for details).</p>
1269
 
<p>To define snippets you can use several special characters which
 
1398
file in <tt class="docutils literal"><span class="pre">$prefix/share/geany</span></tt>.</p>
 
1399
<p>The file <tt class="docutils literal"><span class="pre">snippets.conf</span></tt> contains sections defining snippets that
 
1400
are available for particular filetypes and in general.</p>
 
1401
<p>The two sections &quot;Default&quot; and &quot;Special&quot; apply to all filetypes.
 
1402
&quot;Default&quot; contains all snippets which are available for every
 
1403
filetype and &quot;Special&quot; contains snippets which can only be used in
 
1404
other snippets. So you can define often used parts of snippets and
 
1405
just use the special snippet as a placeholder (see the
 
1406
<tt class="docutils literal"><span class="pre">snippets.conf</span></tt> for details).</p>
 
1407
<p>You can define sections with the name of a filetype eg &quot;C++&quot;.  The
 
1408
snippets in that section are only available for use in files with that
 
1409
filetype.  Snippets in filetype sections will hide snippets with the
 
1410
same name in the &quot;Default&quot; section when used in a file of that
 
1411
filetype.</p>
 
1412
<p>To define snippets you can use several special character sequences which
1270
1413
will be replaced when using the snippet:</p>
1271
 
<p><strong>Wildcards for snippets</strong></p>
 
1414
<p><strong>Substitution Sequences for snippets</strong></p>
1272
1415
<table border="1" class="docutils">
1273
1416
<colgroup>
1274
1417
<col width="22%" />
1290
1433
<tr><td>%cursor%</td>
1291
1434
<td>Place the cursor at this position after completion has
1292
1435
been done. You can define multiple %cursor% wildcards
1293
 
and use the keybinding <tt class="docutils literal">Move cursor in snippet</tt> to jump
 
1436
and use the keybinding <tt class="docutils literal"><span class="pre">Move</span> <span class="pre">cursor</span> <span class="pre">in</span> <span class="pre">snippet</span></tt> to jump
1294
1437
to the next defined cursor position in the completed
1295
1438
snippet.</td>
1296
1439
</tr>
1297
1440
<tr><td>%...%</td>
1298
1441
<td>&quot;...&quot; means the name of a key in the &quot;Special&quot; section.
1299
1442
If you have defined a key &quot;brace_open&quot; in the &quot;Special&quot;
1300
 
section you can use %brace_open&quot; in any other snippet.</td>
 
1443
section you can use %brace_open% in any other snippet.</td>
1301
1444
</tr>
1302
1445
</tbody>
1303
1446
</table>
1304
1447
<p>Snippet names must not contain spaces otherwise they won't
1305
1448
work correctly. But beside that you can define almost any
1306
1449
string as a snippet and use it later in Geany. It is not limited
1307
 
to existing contructs of certain programming languages(like <tt class="docutils literal">if</tt>,
1308
 
<tt class="docutils literal">for</tt>, <tt class="docutils literal">switch</tt>). Define whatever you need.</p>
1309
 
<p>Maybe you need to often type your name, so define a snippet like this:</p>
1310
 
<pre class="literal-block">
1311
 
[Default]
1312
 
myname=Enrico Trƶger
1313
 
</pre>
1314
 
<p>Every time you write <tt class="docutils literal">myname</tt> &lt;TAB&gt; in Geany, it will replace &quot;myname&quot;
1315
 
with &quot;Enrico Trƶger&quot;. The key to start autocompletion can be changed
1316
 
in the preferences dialog, by default it is TAB. The corresponding keybinding
1317
 
is called <tt class="docutils literal">Complete snippet</tt>.</p>
 
1450
to existing contructs of certain programming languages(like <tt class="docutils literal"><span class="pre">if</span></tt>,
 
1451
<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>
1318
1452
<p>Since Geany 0.15 you can also use most of the available templates wildcards
1319
 
listed in <a class="reference internal" href="#template-wildcards">Template wildcards</a>. All wildcards which are listed as
 
1453
listed in <a class="reference" href="#template-wildcards">Template wildcards</a>. All wildcards which are listed as
1320
1454
<cite>available in snippets</cite> can be used. For instance to improve the above example:</p>
1321
1455
<pre class="literal-block">
1322
1456
[Default]
1323
1457
myname=My name is {developer}
 
1458
mysystem=My system: {command:uname -a}
1324
1459
</pre>
1325
 
<p>this will replace <tt class="docutils literal">myname</tt> with &quot;My name is &quot; and the value of the template
1326
 
preference <tt class="docutils literal">developer</tt>.</p>
1327
 
<p>You may change the behaviour Geany recognizes the word to complete,
1328
 
i.e. where define the start and end of a word. The section &quot;Special&quot; may
 
1460
<p>this will replace <tt class="docutils literal"><span class="pre">myname</span></tt> with &quot;My name is &quot; and the value of the template
 
1461
preference <tt class="docutils literal"><span class="pre">developer</span></tt>.</p>
 
1462
<p>You can change the way Geany recognizes the word to complete,
 
1463
that is how the start and end of a word is recognised when the
 
1464
snippet completion is requested. The section &quot;Special&quot; may
1329
1465
contain a key &quot;wordchars&quot; which lists all characters a string may contain
1330
1466
to be recognized as a word for completion. Leave it commented to use
1331
1467
default characters or define it to add or remove characters to fit your
1332
1468
needs.</p>
1333
1469
</div>
1334
 
<div class="section" id="inserting-unicode-characters">
1335
 
<h3><a class="toc-backref" href="#id56">Inserting Unicode characters</a></h3>
 
1470
<div class="section">
 
1471
<h3><a class="toc-backref" href="#id55" id="inserting-unicode-characters" name="inserting-unicode-characters">Inserting Unicode characters</a></h3>
1336
1472
<p>With GTK 2.10 and above, you can insert Unicode code points by hitting
1337
1473
Ctrl-Shift-u, then still holding Ctrl-Shift, type some hex digits representing
1338
 
the code point for the character you want, then let go of Ctrl-Shift and
1339
 
hit Enter or Return.</p>
1340
 
<p>For this to work in Geany, you'll need to first unbind Ctrl-Shift-u
1341
 
in the <a class="reference internal" href="#keybinding-preferences">keybinding preferences</a>, then restart Geany.
1342
 
Note that it works slightly differently from other GTK applications,
1343
 
in that you'll need to continue to hold down the Ctrl and Shift keys
1344
 
while typing the code point hex digits.</p>
 
1474
the code point for the character you want and hit Enter or Return (still
 
1475
holding Ctrl-Shift). If you release Ctrl-Shift before hitting Enter or Return
 
1476
(or any other character), the code insertion is completed, but the typed
 
1477
character is also entered.  In the case of Enter/Return, it is a newline, as
 
1478
you might expect.</p>
 
1479
<p>In some earlier versions of Geany, you might need to first unbind Ctrl-Shift-u
 
1480
in the <a class="reference" href="#keybinding-preferences">keybinding preferences</a>, then select <em>Tools-&gt;Reload Configuration</em>
 
1481
or restart Geany. Note that it works slightly differently from other GTK
 
1482
applications, in that you'll need to continue to hold down the Ctrl and Shift
 
1483
keys while typing the code point hex digits (and the Enter or Return to finish the code point).</p>
1345
1484
<p>For GTK &lt; 2.10, it is also possible, but typing the first Ctrl-Shift-u
1346
1485
is not necessary. One problem is that you may find the alphabetic
1347
1486
keys conflict with other Geany keybindings.</p>
1348
1487
</div>
1349
1488
</div>
1350
 
<div class="section" id="search-replace-and-go-to">
1351
 
<h2><a class="toc-backref" href="#id57">Search, replace and go to</a></h2>
 
1489
<div class="section">
 
1490
<h2><a class="toc-backref" href="#id56" id="search-replace-and-go-to" name="search-replace-and-go-to">Search, replace and go to</a></h2>
1352
1491
<p>This section describes search-related commands from the Search menu
1353
1492
and the editor window's popup menu:</p>
1354
1493
<ul class="simple">
1361
1500
<li>Go to line</li>
1362
1501
</ul>
1363
1502
<p>* These items are available from the editor window's popup menu, or by
1364
 
using a keyboard shortcut (see the section called <a class="reference internal" href="#keybindings">Keybindings</a>).</p>
1365
 
<div class="section" id="find">
1366
 
<h3><a class="toc-backref" href="#id58">Find</a></h3>
 
1503
using a keyboard shortcut (see <a class="reference" href="#search-keybindings">Search keybindings</a>).</p>
 
1504
<div class="section">
 
1505
<h3><a class="toc-backref" href="#id57" id="toolbar-entries" name="toolbar-entries">Toolbar entries</a></h3>
 
1506
<p>There are also two toolbar entries:</p>
 
1507
<ul class="simple">
 
1508
<li>Search bar</li>
 
1509
<li>Go to line entry</li>
 
1510
</ul>
 
1511
<p>There are keybindings to focus each of these - see <a class="reference" href="#focus-keybindings">Focus
 
1512
keybindings</a>. Pressing Escape will then focus the editor.</p>
 
1513
<div class="section">
 
1514
<h4><a class="toc-backref" href="#id58" id="search-bar" name="search-bar">Search bar</a></h4>
 
1515
<p>The quickest way to find some text is to use the search bar entry in
 
1516
the toolbar. This performs a case-insensitive search in the current
 
1517
document whilst you type. Pressing Enter will search again.</p>
 
1518
</div>
 
1519
</div>
 
1520
<div class="section">
 
1521
<h3><a class="toc-backref" href="#id59" id="find" name="find">Find</a></h3>
1367
1522
<p>The Find dialog is used for finding text in one or more open documents.</p>
1368
1523
<img alt="./images/find_dialog.png" src="./images/find_dialog.png" />
1369
 
<div class="section" id="matching-options">
1370
 
<h4><a class="toc-backref" href="#id59">Matching options</a></h4>
1371
 
<p>The syntax for the Use regular expressions option is shown in
1372
 
<a class="reference internal" href="#regular-expressions">Regular expressions</a>.</p>
1373
 
<p>The Use escape sequences option will transform any escaped characters
 
1524
<div class="section">
 
1525
<h4><a class="toc-backref" href="#id60" id="matching-options" name="matching-options">Matching options</a></h4>
 
1526
<p>The syntax for the <em>Use regular expressions</em> option is shown in
 
1527
<a class="reference" href="#regular-expressions">Regular expressions</a>.</p>
 
1528
<div class="note">
 
1529
<p class="first admonition-title">Note</p>
 
1530
<p class="last"><em>Use escape sequences</em> is implied for regular expressions.</p>
 
1531
</div>
 
1532
<p>The <em>Use escape sequences</em> option will transform any escaped characters
1374
1533
into their UTF-8 equivalent. For example, \t will be transformed into
1375
1534
a tab character. Other recognized symbols are: \\, \n, \r, \uXXXX
1376
1535
(Unicode characters).</p>
1377
1536
</div>
1378
 
<div class="section" id="find-all">
1379
 
<h4><a class="toc-backref" href="#id60">Find all</a></h4>
 
1537
<div class="section">
 
1538
<h4><a class="toc-backref" href="#id61" id="find-all" name="find-all">Find all</a></h4>
1380
1539
<p>To find all matches, click on the Find All expander. This will reveal
1381
1540
several options:</p>
1382
1541
<ul class="simple">
1391
1550
colored box. These markers can be removed by selecting the
1392
1551
Remove Markers command from the Document menu.</p>
1393
1552
</div>
1394
 
<div class="section" id="change-font-in-search-dialog-text-fields">
1395
 
<h4><a class="toc-backref" href="#id61">Change font in search dialog text fields</a></h4>
 
1553
<div class="section">
 
1554
<h4><a class="toc-backref" href="#id62" 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>
1396
1555
<p>All search related dialogs use a Monospace for the text input fields to
1397
1556
increase the readability of input text. This is useful when you are
1398
 
typing e.g. regular expressions with spaces, periods and commas which
 
1557
typing input such as regular expressions with spaces, periods and commas which
1399
1558
might it hard to read with a proportional font.</p>
1400
 
<p>If you want to change the font for some reason, you can do this easily
 
1559
<p>If you want to change the font, you can do this easily
1401
1560
by inserting the following style into your <tt class="docutils literal"><span class="pre">.gtkrc-2.0</span></tt>
1402
1561
(usually found in your home directory on UNIX-like systems and in the
1403
1562
etc subdirectory of your Geany installation on Windows):</p>
1408
1567
}
1409
1568
widget &quot;GeanyDialogSearch.*.GtkEntry&quot; style:highest &quot;search_style&quot;
1410
1569
</pre>
1411
 
<p>Please note the addition &quot;:highest&quot; in the last line which sets the priority
 
1570
<p>Please note the addition of &quot;:highest&quot; in the last line which sets the priority
1412
1571
of this style to the highest available. Otherwise, the style is ignored
1413
1572
for the search dialogs.</p>
1414
1573
</div>
1415
1574
</div>
1416
 
<div class="section" id="find-usage">
1417
 
<h3><a class="toc-backref" href="#id62">Find usage</a></h3>
 
1575
<div class="section">
 
1576
<h3><a class="toc-backref" href="#id63" id="find-usage" name="find-usage">Find usage</a></h3>
1418
1577
<p>Find usage searches all open files. It is similar to the Find All In
1419
 
Session Find dialog command.</p>
 
1578
Session option in the Find dialog.</p>
1420
1579
<p>If there is a selection, then it is used as the search text; otherwise
1421
1580
the current word is used. The current word is either taken from the
1422
1581
word nearest the edit cursor, or the word underneath the popup menu
1423
1582
click position when the popup menu is used. The search results are
1424
1583
shown in the Messages tab of the Message Window.</p>
1425
1584
</div>
1426
 
<div class="section" id="find-in-files">
1427
 
<h3><a class="toc-backref" href="#id63">Find in files</a></h3>
 
1585
<div class="section">
 
1586
<h3><a class="toc-backref" href="#id64" id="find-in-files" name="find-in-files">Find in files</a></h3>
1428
1587
<p>Find in files is a more powerful version of Find usage that searches
1429
1588
all files in a certain directory using the Grep tool. The Grep tool
1430
1589
must be correctly set in Preferences to the path of the system's Grep
1431
1590
utility. GNU Grep is recommended.</p>
1432
1591
<img alt="./images/find_in_files_dialog.png" src="./images/find_in_files_dialog.png" />
1433
1592
<p>The Encoding combo box can be used to define the encoding of the files
1434
 
to be searched. The chosen encoding is used to convert the entered search
1435
 
text into and to convert the search results back to UTF-8.
 
1593
to be searched. The entered search text is converted to the chosen encoding
 
1594
and the search results are converted back to UTF-8.
1436
1595
The Extra options field is used to pass any additional arguments to
1437
1596
the grep tool.</p>
1438
 
<div class="section" id="filtering-out-version-control-files">
1439
 
<h4><a class="toc-backref" href="#id64">Filtering out version control files</a></h4>
 
1597
<div class="section">
 
1598
<h4><a class="toc-backref" href="#id65" id="filtering-out-version-control-files" name="filtering-out-version-control-files">Filtering out version control files</a></h4>
1440
1599
<p>When using the <em>Recurse in subfolders</em> option with a directory that's
1441
1600
under version control, you can set the <em>Extra options</em> field to use
1442
1601
grep's <tt class="docutils literal"><span class="pre">--exclude</span></tt> flag to filter out filenames.</p>
1443
1602
<p>SVN Example: <tt class="docutils literal"><span class="pre">--exclude=*.svn-base</span></tt></p>
1444
1603
<p>The --exclude argument only matches the file name part, not the path. If
1445
1604
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
1446
 
filter out CVS and hidden directories like <tt class="docutils literal">.svn</tt>.</p>
 
1605
filter out CVS and hidden directories like <tt class="docutils literal"><span class="pre">.svn</span></tt>.</p>
1447
1606
<p>Example: <tt class="docutils literal"><span class="pre">--exclude-dir=.*</span> <span class="pre">--exclude-dir=CVS</span></tt></p>
1448
1607
</div>
1449
1608
</div>
1450
 
<div class="section" id="replace">
1451
 
<h3><a class="toc-backref" href="#id65">Replace</a></h3>
 
1609
<div class="section">
 
1610
<h3><a class="toc-backref" href="#id66" id="replace" name="replace">Replace</a></h3>
1452
1611
<p>The Replace dialog is used for replacing text in one or more open
1453
1612
documents.</p>
1454
1613
<img alt="./images/replace_dialog.png" src="./images/replace_dialog.png" />
1455
1614
<p>The Replace dialog has the same options for matching text as the Find
1456
 
dialog. See the section called <a class="reference internal" href="#matching-options">Matching options</a>.</p>
1457
 
<p>The <em>Use regular expressions</em> option applies both to the search string
1458
 
and to the replacement text; for the latter back references can be
1459
 
used -- see the entry for '\n' in <a class="reference internal" href="#regular-expressions">Regular expressions</a>.</p>
1460
 
<div class="section" id="replace-all">
1461
 
<h4><a class="toc-backref" href="#id66">Replace all</a></h4>
 
1615
dialog. See the section <a class="reference" href="#matching-options">Matching options</a>.</p>
 
1616
<p>The <em>Use regular expressions</em> option allows regular expressions to
 
1617
be used in the search string and back references in the replacement
 
1618
text -- see the entry for '\n' in <a class="reference" href="#regular-expressions">Regular expressions</a>.</p>
 
1619
<div class="section">
 
1620
<h4><a class="toc-backref" href="#id67" id="replace-all" name="replace-all">Replace all</a></h4>
1462
1621
<p>To replace several matches, click on the <em>Replace All</em> expander. This
1463
1622
will reveal several options:</p>
1464
1623
<ul class="simple">
1472
1631
in the current selection of the current document.</p>
1473
1632
</div>
1474
1633
</div>
1475
 
<div class="section" id="go-to-tag-definition">
1476
 
<h3><a class="toc-backref" href="#id67">Go to tag definition</a></h3>
 
1634
<div class="section">
 
1635
<h3><a class="toc-backref" href="#id68" id="go-to-tag-definition" name="go-to-tag-definition">Go to tag definition</a></h3>
1477
1636
<p>If the current word is the name of a tag definition (like a function
1478
1637
body) and the file containing the tag definition is open, this command
1479
1638
will switch to that file and go to the corresponding line number. The
1480
 
current word is either taken from the word nearest the edit cursor,
 
1639
current word is either the word nearest the edit cursor,
1481
1640
or the word underneath the popup menu click position when the popup
1482
1641
menu is used.</p>
1483
1642
</div>
1484
 
<div class="section" id="go-to-tag-declaration">
1485
 
<h3><a class="toc-backref" href="#id68">Go to tag declaration</a></h3>
 
1643
<div class="section">
 
1644
<h3><a class="toc-backref" href="#id69" id="go-to-tag-declaration" name="go-to-tag-declaration">Go to tag declaration</a></h3>
1486
1645
<p>Like Go to tag definition, but for a forward declaration such as a
1487
 
function prototype or <tt class="docutils literal">extern</tt> declaration instead of a function
 
1646
function prototype or <tt class="docutils literal"><span class="pre">extern</span></tt> declaration instead of a function
1488
1647
body.</p>
1489
1648
</div>
1490
 
<div class="section" id="go-to-line">
1491
 
<h3><a class="toc-backref" href="#id69">Go to line</a></h3>
 
1649
<div class="section">
 
1650
<h3><a class="toc-backref" href="#id70" id="go-to-line" name="go-to-line">Go to line</a></h3>
1492
1651
<p>Go to a particular line number in the current file.</p>
1493
1652
</div>
1494
 
<div class="section" id="regular-expressions">
1495
 
<h3><a class="toc-backref" href="#id70">Regular expressions</a></h3>
 
1653
<div class="section">
 
1654
<h3><a class="toc-backref" href="#id71" id="regular-expressions" name="regular-expressions">Regular expressions</a></h3>
1496
1655
<p>You can use regular expressions in the Find and Replace dialogs
1497
 
by selecting the Use regular expressions check box. The syntax is
1498
 
POSIX-like, as described in the table below.</p>
 
1656
by selecting the <em>Use regular expressions</em> check box (see <a class="reference" href="#matching-options">Matching
 
1657
options</a>). The syntax is POSIX compatible, as described in the table
 
1658
below.</p>
1499
1659
<div class="note">
1500
1660
<p class="first admonition-title">Note</p>
1501
1661
<ol class="last arabic simple">
 
1662
<li>The <em>Use escape sequences</em> dialog option always applies for regular
 
1663
expressions.</li>
1502
1664
<li>Searching backwards with regular expressions is not supported.</li>
1503
 
<li>\r and \n are never matched because regular expression
1504
 
searches are made line per line (stripped of end-of-line chars).</li>
1505
 
<li>The POSIX '?' regular expression character for optional
1506
 
matching is not supported.</li>
 
1665
<li>\b, \d, \s, \w are GNU extensions and may not be available
 
1666
on non-GNU POSIX systems unless you built Geany with the
 
1667
<tt class="docutils literal"><span class="pre">--enable-gnu-regex</span></tt> option (this is always used on Windows).</li>
1507
1668
</ol>
1508
1669
</div>
1509
1670
<p><strong>In a regular expression, the following characters are interpreted:</strong></p>
1510
1671
<table border="1" class="docutils">
1511
1672
<colgroup>
1512
 
<col width="8%" />
1513
 
<col width="92%" />
 
1673
<col width="10%" />
 
1674
<col width="90%" />
1514
1675
</colgroup>
1515
1676
<tbody valign="top">
1516
1677
<tr><td>.</td>
1523
1684
<td>This marks the end of a tagged region.</td>
1524
1685
</tr>
1525
1686
<tr><td>\n</td>
1526
 
<td>Where n is 1 through 9 refers to the first through ninth tagged
1527
 
region when replacing. For example, if the search string was
1528
 
Fred([1-9])XXX and the replace string was Sam\1YYY, when applied
1529
 
to Fred2XXX this would generate Sam2YYY.</td>
1530
 
</tr>
1531
 
<tr><td>\&lt;</td>
1532
 
<td>This matches the start of a word.</td>
1533
 
</tr>
1534
 
<tr><td>\&gt;</td>
1535
 
<td>This matches the end of a word.</td>
 
1687
<td><p class="first">Where n is 1 through 9 refers to the first through ninth tagged
 
1688
region when searching or replacing.</p>
 
1689
<p>Searching for (Wiki)\1 matches WikiWiki.</p>
 
1690
<p class="last">If the search string was Fred([1-9])XXX and the
 
1691
replace string was Sam\1YYY, when applied to Fred2XXX this
 
1692
would generate Sam2YYY.</p>
 
1693
</td>
 
1694
</tr>
 
1695
<tr><td>\0</td>
 
1696
<td>When replacing, the whole matching text.</td>
 
1697
</tr>
 
1698
<tr><td>\b</td>
 
1699
<td>This matches a word boundary.</td>
1536
1700
</tr>
1537
1701
<tr><td>\c</td>
1538
1702
<td><p class="first">A backslash followed by d, D, s, S, w or W, becomes a
1542
1706
<li>D: any char except decimal digits</li>
1543
1707
<li>s: whitespace (space, \t \n \r \f \v)</li>
1544
1708
<li>S: any char except whitespace (see above)</li>
1545
 
<li>w: alphanumeric &amp; underscore (changed by user setting)</li>
1546
 
<li>W: any char except alphanumeric &amp; underscore (see above)</li>
 
1709
<li>w: alphanumeric &amp; underscore</li>
 
1710
<li>W: any char except alphanumeric &amp; underscore</li>
1547
1711
</ul>
1548
1712
</td>
1549
1713
</tr>
1553
1717
and not as the start of a character set. Use \\ for a literal
1554
1718
backslash.</td>
1555
1719
</tr>
1556
 
<tr><td>\xHH</td>
1557
 
<td>A backslash followed by x and two hexa digits, becomes the
1558
 
character whose Ascii code is equal to these digits. If not
1559
 
followed by two digits, it is 'x' char itself.</td>
1560
 
</tr>
1561
1720
<tr><td>[...]</td>
1562
1721
<td><p class="first">Matches one of the characters in the set. If the first
1563
1722
character in the set is ^, it matches the characters NOT in
1564
1723
the set, i.e. complements the set. A shorthand S-E (start
1565
1724
dash end) is used to specify a set of characters S up to E,
1566
 
inclusive. The special characters ] and - have no special
1567
 
meaning if they appear as the first chars in the set. To
1568
 
include both, put - first: [-]A-Z] (or just backslash them).</p>
 
1725
inclusive.</p>
 
1726
<p>The special characters ] and - have no special
 
1727
meaning if they appear first in the set. - can also be last
 
1728
in the set. To include both, put ] first: []A-Z-].</p>
1569
1729
<p>Examples:</p>
1570
1730
<pre class="last literal-block">
1571
 
[-]|]    matches these 3 chars
 
1731
[]|-]    matches these 3 chars
1572
1732
[]-|]    matches from ] to | chars
1573
1733
[a-z]    any lowercase alpha
1574
 
[^-]]    any char except - and ]
 
1734
[^]-]    any char except - and ]
1575
1735
[^A-Z]   any char except uppercase alpha
1576
1736
[a-zA-Z] any alpha
1577
1737
</pre>
1592
1752
<td>This matches 1 or more times. For example, Sa+m matches Sam,
1593
1753
Saam, Saaam and so on.</td>
1594
1754
</tr>
 
1755
<tr><td>?</td>
 
1756
<td>This matches 0 or 1 time(s). For example, Joh?n matches John, Jon.</td>
 
1757
</tr>
1595
1758
</tbody>
1596
1759
</table>
1597
1760
<div class="note">
1598
1761
<p class="first admonition-title">Note</p>
1599
1762
<p class="last">This table is adapted from Scintilla and SciTE documentation,
1600
 
distributed under the <a class="reference internal" href="#license-for-scintilla-and-scite">License for Scintilla and SciTE</a>.</p>
1601
 
</div>
1602
 
</div>
1603
 
</div>
1604
 
<div class="section" id="tags">
1605
 
<h2><a class="toc-backref" href="#id71">Tags</a></h2>
 
1763
distributed under the <a class="reference" href="#license-for-scintilla-and-scite">License for Scintilla and SciTE</a>.</p>
 
1764
</div>
 
1765
</div>
 
1766
</div>
 
1767
<div class="section">
 
1768
<h2><a class="toc-backref" href="#id72" id="tags" name="tags">Tags</a></h2>
 
1769
<p>Tags are information that relates symbols in a program with the
 
1770
source file location of the declaration and definition.</p>
1606
1771
<p>Geany has built-in functionality for generating tag information (aka
1607
1772
&quot;workspace tags&quot;) for supported filetypes when you open a file.  You
1608
1773
can also have Geany automatically load external tag files (aka &quot;global
1609
1774
tags files&quot;) upon startup, or manually using <em>Tools --&gt; Load Tags</em>.</p>
1610
 
<p>Geany uses its own tag file format, similar to what <tt class="docutils literal">ctags</tt> uses
 
1775
<p>Geany uses its own tag file format, similar to what <tt class="docutils literal"><span class="pre">ctags</span></tt> uses
1611
1776
(but is incompatible with ctags). You use Geany to generate global
1612
1777
tags files, as described below.</p>
1613
 
<div class="section" id="workspace-tags">
1614
 
<h3><a class="toc-backref" href="#id72">Workspace tags</a></h3>
 
1778
<div class="section">
 
1779
<h3><a class="toc-backref" href="#id73" id="workspace-tags" name="workspace-tags">Workspace tags</a></h3>
1615
1780
<p>Tags for each document are parsed whenever a file is loaded or
1616
1781
saved. These are shown in the Symbol list in the Sidebar. These tags
1617
1782
are also used for autocompletion of symbols and calltips for all documents
1618
1783
open in the current session that have the same filetype.</p>
1619
1784
<p>The <em>Go to Tag</em> commands can be used with all workspace tags. See
1620
 
<a class="reference internal" href="#go-to-tag-definition">Go to tag definition</a>.</p>
 
1785
<a class="reference" href="#go-to-tag-definition">Go to tag definition</a>.</p>
1621
1786
</div>
1622
 
<div class="section" id="global-tags">
1623
 
<h3><a class="toc-backref" href="#id73">Global tags</a></h3>
 
1787
<div class="section">
 
1788
<h3><a class="toc-backref" href="#id74" id="global-tags" name="global-tags">Global tags</a></h3>
1624
1789
<p>Global tags are used to provide autocompletion of symbols and calltips
1625
1790
without having to open the corresponding source files. This is intended
1626
1791
for library APIs, as the tags file only has to be updated when you upgrade
1630
1795
<li>Using the <em>Load Tags</em> command in the Tools menu.</li>
1631
1796
<li>By creating a directory <tt class="docutils literal"><span class="pre">~/.config/geany/tags</span></tt>, and moving or symlinking
1632
1797
the tags files there before starting Geany.</li>
1633
 
<li>By creating a directory <tt class="docutils literal">$prefix/share/geany/tags</tt>, and moving
 
1798
<li>By creating a directory <tt class="docutils literal"><span class="pre">$prefix/share/geany/tags</span></tt>, and moving
1634
1799
or symlinking the tags files there before starting Geany.
1635
 
<tt class="docutils literal">$prefix</tt> is the installation prefix (see <a class="reference internal" href="#installation-prefix">Installation prefix</a>).</li>
 
1800
<tt class="docutils literal"><span class="pre">$prefix</span></tt> is the installation prefix (see <a class="reference" href="#installation-prefix">Installation prefix</a>).</li>
1636
1801
</ul>
1637
1802
<p>You can either download these files or generate your own. They have
1638
1803
the format:</p>
1640
1805
name.lang_ext.tags
1641
1806
</pre>
1642
1807
<p><em>lang_ext</em> is one of the extensions set for the filetype associated
1643
 
with the tags. See the section called <a class="reference internal" href="#filetype-extensions">Filetype extensions</a> for
 
1808
with the tags. See the section called <a class="reference" href="#filetype-extensions">Filetype extensions</a> for
1644
1809
more information.</p>
1645
 
<div class="section" id="default-global-tags-files">
1646
 
<h4><a class="toc-backref" href="#id74">Default global tags files</a></h4>
 
1810
<div class="section">
 
1811
<h4><a class="toc-backref" href="#id75" id="default-global-tags-files" name="default-global-tags-files">Default global tags files</a></h4>
1647
1812
<p>For some languages, a list of global tags is loaded when the
1648
1813
corresponding filetype is first used. Currently these are for:</p>
1649
1814
<ul class="simple">
1655
1820
<li>Python</li>
1656
1821
</ul>
1657
1822
</div>
1658
 
<div class="section" id="global-tags-file-format">
1659
 
<h4><a class="toc-backref" href="#id75">Global tags file format</a></h4>
 
1823
<div class="section">
 
1824
<h4><a class="toc-backref" href="#id76" id="global-tags-file-format" name="global-tags-file-format">Global tags file format</a></h4>
1660
1825
<p>Global tags files can have two different formats:</p>
1661
1826
<ul class="simple">
1662
1827
<li>Tagmanager format</li>
1663
1828
<li>Pipe-separated format</li>
1664
1829
</ul>
1665
1830
<p>The first line of global tags files should be a comment, introduced
1666
 
by <tt class="docutils literal">#</tt> followed by a space and a string like <tt class="docutils literal">format=pipe</tt>
1667
 
respectively <tt class="docutils literal">format=tagmanager</tt> (case-sensitive).
 
1831
by <tt class="docutils literal"><span class="pre">#</span></tt> followed by a space and a string like <tt class="docutils literal"><span class="pre">format=pipe</span></tt>
 
1832
or <tt class="docutils literal"><span class="pre">format=tagmanager</span></tt> respectively, these are case-sensitive.
1668
1833
This helps Geany to read the file properly. If this line
1669
1834
is missing, Geany tries to auto-detect the used format but this
1670
1835
might fail.</p>
1671
1836
<p>The Tagmanager format is a bit more complex and is used for files
1672
 
created by the <tt class="docutils literal">geany <span class="pre">-g</span></tt> command. There is one tag per line.
 
1837
created by the <tt class="docutils literal"><span class="pre">geany</span> <span class="pre">-g</span></tt> command. There is one tag per line.
1673
1838
Different tag attributes like the return value or the argument list
1674
1839
are separated with different characters indicating the type of the
1675
1840
following argument.</p>
1676
1841
<p>The Pipe-separated format is easier to read and write.
1677
1842
There is one tag per line and different tag attributes are separated
1678
 
by the pipe character (<tt class="docutils literal">|</tt>). A line looks like:</p>
 
1843
by the pipe character (<tt class="docutils literal"><span class="pre">|</span></tt>). A line looks like:</p>
1679
1844
<pre class="literal-block">
1680
1845
basename|string|(string path [, string suffix])|
1681
1846
</pre>
1690
1855
empty but the pipe separator must appear for them.</p>
1691
1856
<p>You can easily write your own global tag files using this format.
1692
1857
Just save them in your tags directory, as described earlier in the
1693
 
section <a class="reference internal" href="#global-tags">Global tags</a>.</p>
 
1858
section <a class="reference" href="#global-tags">Global tags</a>.</p>
1694
1859
</div>
1695
 
<div class="section" id="generating-a-global-tags-file">
1696
 
<h4><a class="toc-backref" href="#id76">Generating a global tags file</a></h4>
 
1860
<div class="section">
 
1861
<h4><a class="toc-backref" href="#id77" id="generating-a-global-tags-file" name="generating-a-global-tags-file">Generating a global tags file</a></h4>
1697
1862
<p>You can generate your own global tags files by parsing a list of
1698
1863
source files. The command is:</p>
1699
1864
<pre class="literal-block">
1701
1866
</pre>
1702
1867
<ul class="simple">
1703
1868
<li>Tag File filename should be in the format described earlier --
1704
 
see the section called <a class="reference internal" href="#global-tags">Global tags</a>.</li>
 
1869
see the section called <a class="reference" href="#global-tags">Global tags</a>.</li>
1705
1870
<li>File list is a list of filenames, each with a full path (unless
1706
1871
you are generating C/C++ tags and have set the CFLAGS environment
1707
1872
variable appropriately).</li>
1708
1873
<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
1709
 
to process <tt class="docutils literal">#include</tt> directives for C/C++ source files. Use this
 
1874
to process <tt class="docutils literal"><span class="pre">#include</span></tt> directives for C/C++ source files. Use this
1710
1875
option if you want to specify each source file on the command-line
1711
1876
instead of using a 'master' header file. Also can be useful if you
1712
1877
don't want to specify the CFLAGS environment variable.</li>
1737
1902
upgrading Geany.</p>
1738
1903
</div>
1739
1904
</div>
1740
 
<div class="section" id="ignore-tags">
1741
 
<h3><a class="toc-backref" href="#id77">Ignore tags</a></h3>
 
1905
<div class="section">
 
1906
<h3><a class="toc-backref" href="#id78" id="ignore-tags" name="ignore-tags">Ignore tags</a></h3>
1742
1907
<p>You can also ignore certain tags if they would lead to wrong parsing of
1743
1908
the code. Simply create a file called &quot;ignore.tags&quot; in your Geany
1744
1909
configuration directory (usually <tt class="docutils literal"><span class="pre">~/.config/geany/</span></tt>). Then list all tags
1761
1926
Exuberant Ctags.</p>
1762
1927
</div>
1763
1928
</div>
1764
 
<div class="section" id="preferences">
1765
 
<h2><a class="toc-backref" href="#id78">Preferences</a></h2>
 
1929
<div class="section">
 
1930
<h2><a class="toc-backref" href="#id79" id="preferences" name="preferences">Preferences</a></h2>
1766
1931
<p>You may adjust Geany's settings using the Edit --&gt; Preferences
1767
1932
dialog. Any changes you make there can be applied by hitting either
1768
1933
the Apply or the OK button. These settings will persist between Geany
1773
1938
persist between Geany sessions. The settings under the Document menu,
1774
1939
however, are only for the current document and revert to defaults
1775
1940
when restarting Geany.</p>
1776
 
<p>There are also some rarer <a class="reference internal" href="#hidden-preferences">Hidden preferences</a>.</p>
 
1941
<p>There are also some rarer <a class="reference" href="#hidden-preferences">Hidden preferences</a>.</p>
1777
1942
<div class="note">
1778
1943
<p class="first admonition-title">Note</p>
1779
1944
<p class="last">In the paragraphs that follow, the text describing a dialog tab
1780
1945
comes after the screenshot of that tab.</p>
1781
1946
</div>
1782
 
<div class="section" id="general-startup-preferences">
1783
 
<h3><a class="toc-backref" href="#id79">General Startup preferences</a></h3>
 
1947
<div class="section">
 
1948
<h3><a class="toc-backref" href="#id80" id="general-startup-preferences" name="general-startup-preferences">General Startup preferences</a></h3>
1784
1949
<img alt="./images/pref_dialog_gen_startup.png" src="./images/pref_dialog_gen_startup.png" />
1785
 
<div class="section" id="id1">
1786
 
<h4><a class="toc-backref" href="#id80">Startup</a></h4>
 
1950
<div class="section">
 
1951
<h4><a class="toc-backref" href="#id81" id="id1" name="id1">Startup</a></h4>
1787
1952
<dl class="docutils">
1788
1953
<dt>Load files from the last session</dt>
1789
1954
<dd>On startup, load the same files you had open the last time you
1794
1959
<dd>Allow plugins to be used in Geany.</dd>
1795
1960
</dl>
1796
1961
</div>
1797
 
<div class="section" id="shutdown">
1798
 
<h4><a class="toc-backref" href="#id81">Shutdown</a></h4>
 
1962
<div class="section">
 
1963
<h4><a class="toc-backref" href="#id82" id="shutdown" name="shutdown">Shutdown</a></h4>
1799
1964
<dl class="docutils">
1800
1965
<dt>Save window position and geometry</dt>
1801
1966
<dd>Save the current position and size of the main window so next time
1804
1969
<dd>Have a dialog pop up to confirm that you really want to quit Geany.</dd>
1805
1970
</dl>
1806
1971
</div>
1807
 
<div class="section" id="paths">
1808
 
<h4><a class="toc-backref" href="#id82">Paths</a></h4>
 
1972
<div class="section">
 
1973
<h4><a class="toc-backref" href="#id83" id="paths" name="paths">Paths</a></h4>
1809
1974
<dl class="docutils">
1810
1975
<dt>Startup path</dt>
1811
1976
<dd>Path to start in when opening or saving files.
1814
1979
<dt>Project files</dt>
1815
1980
<dd>Path to start in when opening project files.</dd>
1816
1981
<dt>Extra plugin path</dt>
1817
 
<dd>Geany looks by default in the global installation path and in the
1818
 
configuration directory. The path entered here will be searched additionally
 
1982
<dd>By default Geany looks in the global installation path and in the
 
1983
configuration directory. In addition the path entered here will be searched
1819
1984
for plugins. Usually you do not need to set an additional path to search for
1820
1985
plugins. It might be useful when Geany is installed on a multi-user machine
1821
 
and additional plugins should be available in a custom location for all users.
 
1986
and additional plugins are available in a common location for all users.
1822
1987
Leave blank to not set an additional lookup path.</dd>
1823
1988
</dl>
1824
1989
</div>
1825
1990
</div>
1826
 
<div class="section" id="general-miscellaneous-preferences">
1827
 
<h3><a class="toc-backref" href="#id83">General Miscellaneous preferences</a></h3>
 
1991
<div class="section">
 
1992
<h3><a class="toc-backref" href="#id84" id="general-miscellaneous-preferences" name="general-miscellaneous-preferences">General Miscellaneous preferences</a></h3>
1828
1993
<img alt="./images/pref_dialog_gen_misc.png" src="./images/pref_dialog_gen_misc.png" />
1829
 
<div class="section" id="miscellaneous">
1830
 
<h4><a class="toc-backref" href="#id84">Miscellaneous</a></h4>
 
1994
<div class="section">
 
1995
<h4><a class="toc-backref" href="#id85" id="miscellaneous" name="miscellaneous">Miscellaneous</a></h4>
1831
1996
<dl class="docutils">
1832
1997
<dt>Beep on errors when compilation has finished</dt>
1833
1998
<dd>Have the computer make a beeping sound when compilation of your program
1836
2001
<dd>Switch to the status message tab (in the notebook window at the bottom)
1837
2002
once a new status message arrives.</dd>
1838
2003
<dt>Suppress status messages in the status bar</dt>
1839
 
<dd>Remove all messages from the status bar. The messages are still displayed
1840
 
in the status messages window.</dd>
 
2004
<dd><p class="first">Remove all messages from the status bar. The messages are still displayed
 
2005
in the status messages window.</p>
 
2006
<div class="last tip">
 
2007
<p class="first admonition-title">Tip</p>
 
2008
<p class="last">Another option is to use the <em>Switch to Editor</em> keybinding - it
 
2009
reshows the document statistics on the status bar. See <a class="reference" href="#focus-keybindings">Focus
 
2010
keybindings</a>.</p>
 
2011
</div>
 
2012
</dd>
 
2013
<dt>Use Windows File Open/Save dialogs</dt>
 
2014
<dd>Defines whether to use the native Windows File Open/Save dialogs or
 
2015
whether to use the GTK default dialogs.</dd>
1841
2016
<dt>Auto-focus widgets (focus follows mouse)</dt>
1842
2017
<dd>Give the focus automatically to widgets below the mouse cursor.
1843
2018
This works for the main editor widget, the scribble, the toolbar search field
1844
2019
goto line fields and the VTE.</dd>
1845
2020
</dl>
1846
2021
</div>
1847
 
</div>
1848
 
<div class="section" id="search">
1849
 
<h3><a class="toc-backref" href="#id85">Search</a></h3>
 
2022
<div class="section">
 
2023
<h4><a class="toc-backref" href="#id86" id="search" name="search">Search</a></h4>
1850
2024
<dl class="docutils">
1851
2025
<dt>Always wrap search and hide the Find dialog</dt>
1852
2026
<dd>Always wrap search around the document and hide the Find dialog after clicking
1853
2027
Find Next/Previous.</dd>
1854
2028
<dt>Use the current word under the cursor for Find dialogs</dt>
1855
2029
<dd>Use current word under the cursor when opening the Find, Find in Files or Replace dialog and
1856
 
there is no selection. When this option is disabled, the search term of the last use of the
 
2030
there is no selection. When this option is disabled, the search term last used in the
1857
2031
appropriate Find dialog is used.</dd>
1858
2032
<dt>Use the current file's directory for Find in Files</dt>
1859
2033
<dd>When opening the Find in Files dialog, set the directory to search to the directory of the current
1860
2034
active file. When this option is disabled, the directory of the last use of the Find in Files
1861
2035
dialog is used.</dd>
1862
2036
</dl>
1863
 
<div class="section" id="projects">
1864
 
<h4><a class="toc-backref" href="#id86">Projects</a></h4>
 
2037
</div>
 
2038
<div class="section">
 
2039
<h4><a class="toc-backref" href="#id87" id="projects" name="projects">Projects</a></h4>
1865
2040
<dl class="docutils">
1866
2041
<dt>Use project-based session files</dt>
1867
2042
<dd>Save your current session when closing projects. You will be able to
1871
2046
<dd>When creating new projects, the default path for the project file contains
1872
2047
the project base path. Without this option enabled, the default project file
1873
2048
path is one level above the project base path.
1874
 
In any case, you can easily set the final project file path in the
1875
 
<em>New Project</em> dialog. This option is just for your convenience to get
1876
 
a proper default path.</dd>
 
2049
In either case, you can easily set the final project file path in the
 
2050
<em>New Project</em> dialog. This option provides the more common
 
2051
defaults automatically for convenience.</dd>
1877
2052
</dl>
1878
2053
</div>
1879
2054
</div>
1880
 
<div class="section" id="interface-preferences">
1881
 
<h3><a class="toc-backref" href="#id87">Interface preferences</a></h3>
 
2055
<div class="section">
 
2056
<h3><a class="toc-backref" href="#id88" id="interface-preferences" name="interface-preferences">Interface preferences</a></h3>
1882
2057
<img alt="./images/pref_dialog_interface.png" src="./images/pref_dialog_interface.png" />
1883
 
<div class="section" id="sidebar">
1884
 
<h4><a class="toc-backref" href="#id88">Sidebar</a></h4>
 
2058
<div class="section">
 
2059
<h4><a class="toc-backref" href="#id89" id="sidebar" name="sidebar">Sidebar</a></h4>
1885
2060
<dl class="docutils">
 
2061
<dt>Show sidebar</dt>
 
2062
<dd>Whether to show the sidebar at all.</dd>
1886
2063
<dt>Show symbol list</dt>
1887
2064
<dd>Show the list of functions, variables, and other information in the
1888
2065
current document you are editing.</dd>
1889
2066
<dt>Show documents list</dt>
1890
2067
<dd>Show all the documents you have open currently. This can be used to
1891
 
change between documents (see <a class="reference internal" href="#switching-between-documents">Switching between documents</a>) and
 
2068
change between documents (see <a class="reference" href="#switching-between-documents">Switching between documents</a>) and
1892
2069
to perform some common operations such as saving, closing and reloading.</dd>
 
2070
<dt>Position</dt>
 
2071
<dd>Whether to place the sidebar on the left or right of the editor window.</dd>
1893
2072
</dl>
1894
2073
</div>
1895
 
<div class="section" id="fonts">
1896
 
<h4><a class="toc-backref" href="#id89">Fonts</a></h4>
 
2074
<div class="section">
 
2075
<h4><a class="toc-backref" href="#id90" id="fonts" name="fonts">Fonts</a></h4>
1897
2076
<dl class="docutils">
1898
2077
<dt>Editor</dt>
1899
2078
<dd>Change the font used to display documents.</dd>
1903
2082
<dd>Change the font used for the message window area.</dd>
1904
2083
</dl>
1905
2084
</div>
1906
 
<div class="section" id="editor-tabs">
1907
 
<h4><a class="toc-backref" href="#id90">Editor tabs</a></h4>
 
2085
<div class="section">
 
2086
<h4><a class="toc-backref" href="#id91" id="editor-tabs" name="editor-tabs">Editor tabs</a></h4>
1908
2087
<dl class="docutils">
1909
2088
<dt>Show editor tabs</dt>
1910
2089
<dd>Show a notebook tab for all documents so you can switch between them
1915
2094
<dt>Placement of new file tabs</dt>
1916
2095
<dd>Whether to create a document with its notebook tab to the left or
1917
2096
right of all existing tabs.</dd>
 
2097
<dt>Next to current</dt>
 
2098
<dd>Whether to place file tabs next to the current tab
 
2099
rather than at the edges of the notebook.</dd>
1918
2100
<dt>Double-clicking hides all additional widgets</dt>
1919
2101
<dd>Whether to call the View-&gt;Toggle All Additional Widgets command
1920
2102
when double-clicking on a notebook tab.</dd>
1921
2103
</dl>
1922
2104
</div>
1923
 
<div class="section" id="tab-positions">
1924
 
<h4><a class="toc-backref" href="#id91">Tab positions</a></h4>
 
2105
<div class="section">
 
2106
<h4><a class="toc-backref" href="#id92" id="tab-positions" name="tab-positions">Tab positions</a></h4>
1925
2107
<dl class="docutils">
1926
2108
<dt>Editor</dt>
1927
2109
<dd>Set the positioning of the editor's notebook tabs to the right,
1934
2116
right, left, top, or bottom of the message window.</dd>
1935
2117
</dl>
1936
2118
</div>
1937
 
<div class="section" id="id2">
1938
 
<h4><a class="toc-backref" href="#id92">Miscellaneous</a></h4>
 
2119
<div class="section">
 
2120
<h4><a class="toc-backref" href="#id93" id="id2" name="id2">Miscellaneous</a></h4>
1939
2121
<dl class="docutils">
1940
2122
<dt>Show status bar</dt>
1941
2123
<dd>Show the status bar at the bottom of the main window. It gives information about
1944
2126
</dl>
1945
2127
</div>
1946
2128
</div>
1947
 
<div class="section" id="toolbar-preferences">
1948
 
<h3><a class="toc-backref" href="#id93">Toolbar preferences</a></h3>
 
2129
<div class="section">
 
2130
<h3><a class="toc-backref" href="#id94" id="toolbar-preferences" name="toolbar-preferences">Toolbar preferences</a></h3>
1949
2131
<p>Affects the main toolbar underneath the menu bar.</p>
1950
2132
<img alt="./images/pref_dialog_toolbar.png" src="./images/pref_dialog_toolbar.png" />
1951
 
<div class="section" id="toolbar">
1952
 
<h4><a class="toc-backref" href="#id94">Toolbar</a></h4>
 
2133
<div class="section">
 
2134
<h4><a class="toc-backref" href="#id95" id="toolbar" name="toolbar">Toolbar</a></h4>
1953
2135
<dl class="docutils">
1954
2136
<dt>Show Toolbar</dt>
1955
2137
<dd>Whether to show the toolbar.</dd>
1956
2138
<dt>Append Toolbar to the Menu</dt>
1957
2139
<dd>Allows to append the toolbar to the main menu bar instead of placing it below.
1958
2140
This is useful to save vertical space.</dd>
 
2141
<dt>Customize Toolbar</dt>
 
2142
<dd>See <a class="reference" href="#customizing-the-toolbar">Customizing the toolbar</a>.</dd>
1959
2143
</dl>
1960
2144
</div>
1961
 
<div class="section" id="appearance">
1962
 
<h4><a class="toc-backref" href="#id95">Appearance</a></h4>
 
2145
<div class="section">
 
2146
<h4><a class="toc-backref" href="#id96" id="appearance" name="appearance">Appearance</a></h4>
1963
2147
<dl class="docutils">
1964
2148
<dt>Icon Style</dt>
1965
2149
<dd>Select the toolbar icon style to use - either icons and text, just
1966
 
icons or just text.</dd>
 
2150
icons or just text.
 
2151
The choice System default uses whatever icon style is set by GTK.</dd>
1967
2152
<dt>Icon size</dt>
1968
 
<dd>Select the size of the icons you see (large, small or very small).</dd>
 
2153
<dd>Select the size of the icons you see (large, small or very small).
 
2154
The choice System default uses whatever icon size is set by GTK.</dd>
1969
2155
</dl>
1970
2156
</div>
1971
2157
</div>
1972
 
<div class="section" id="editor-features-preferences">
1973
 
<h3><a class="toc-backref" href="#id96">Editor Features preferences</a></h3>
 
2158
<div class="section">
 
2159
<h3><a class="toc-backref" href="#id97" id="editor-features-preferences" name="editor-features-preferences">Editor Features preferences</a></h3>
1974
2160
<img alt="./images/pref_dialog_edit_features.png" src="./images/pref_dialog_edit_features.png" />
1975
 
<div class="section" id="features">
1976
 
<h4><a class="toc-backref" href="#id97">Features</a></h4>
 
2161
<div class="section">
 
2162
<h4><a class="toc-backref" href="#id98" id="features" name="features">Features</a></h4>
1977
2163
<dl class="docutils">
1978
2164
<dt>Line wrapping</dt>
1979
2165
<dd>Show long lines wrapped around to new display lines.</dd>
2004
2190
</dl>
2005
2191
</div>
2006
2192
</div>
2007
 
<div class="section" id="editor-indentation-preferences">
2008
 
<h3><a class="toc-backref" href="#id98">Editor Indentation preferences</a></h3>
 
2193
<div class="section">
 
2194
<h3><a class="toc-backref" href="#id99" id="editor-indentation-preferences" name="editor-indentation-preferences">Editor Indentation preferences</a></h3>
2009
2195
<img alt="./images/pref_dialog_edit_indentation.png" src="./images/pref_dialog_edit_indentation.png" />
2010
 
<div class="section" id="indentation-group">
2011
 
<h4><a class="toc-backref" href="#id99">Indentation group</a></h4>
2012
 
<p>See <a class="reference internal" href="#indentation">Indentation</a> for more information.</p>
 
2196
<div class="section">
 
2197
<h4><a class="toc-backref" href="#id100" id="indentation-group" name="indentation-group">Indentation group</a></h4>
 
2198
<p>See <a class="reference" href="#indentation">Indentation</a> for more information.</p>
2013
2199
<dl class="docutils">
2014
2200
<dt>Type</dt>
2015
2201
<dd><p class="first">When Geany inserts indentation, whether to use:</p>
2024
2210
<dt>Width</dt>
2025
2211
<dd>The width of a single indent size in spaces. By default the indent
2026
2212
size is equivalent to 4 spaces.</dd>
2027
 
<dt>Hard tab width</dt>
2028
 
<dd>When the <em>Tabs and Spaces</em> indent type is enabled, this is the
2029
 
display size of a tab. Otherwise this is ignored. Although
2030
 
configurable, this should usually be set to 8.</dd>
2031
2213
<dt>Detect from file</dt>
2032
2214
<dd>Try to detect and set the indent type based on file content, when
2033
2215
a file is opened.</dd>
2039
2221
<dd>Just add the indentation of the previous line.</dd>
2040
2222
<dt>Current chars</dt>
2041
2223
<dd>Add indentation based on the current filetype and any characters at
2042
 
the end of the line such as <tt class="docutils literal">{</tt>, <tt class="docutils literal">}</tt> for C, <tt class="docutils literal">:</tt> for Python.</dd>
 
2224
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>
2043
2225
<dt>Match braces</dt>
2044
2226
<dd>Like <em>Current chars</em> but for C-like languages, make a closing
2045
 
<tt class="docutils literal">}</tt> brace line up with the matching opening brace.</dd>
 
2227
<tt class="docutils literal"><span class="pre">}</span></tt> brace line up with the matching opening brace.</dd>
2046
2228
</dl>
2047
2229
</dd>
2048
2230
<dt>Tab key indents</dt>
2050
2232
unindent when pressing Shift-tab. Otherwise, the tab key will
2051
2233
insert a tab character into the document (which can be different
2052
2234
from indentation, depending on the indent type).</p>
2053
 
<div class="note last">
 
2235
<div class="last note">
2054
2236
<p class="first admonition-title">Note</p>
2055
2237
<p class="last">There are also separate configurable keybindings for indent &amp;
2056
 
unindent, but this pref allows the tab key to have different
 
2238
unindent, but this preference allows the tab key to have different
2057
2239
meanings in different contexts - e.g. for snippet completion.</p>
2058
2240
</div>
2059
2241
</dd>
2060
2242
</dl>
2061
2243
</div>
2062
2244
</div>
2063
 
<div class="section" id="editor-completions-preferences">
2064
 
<h3><a class="toc-backref" href="#id100">Editor Completions preferences</a></h3>
 
2245
<div class="section">
 
2246
<h3><a class="toc-backref" href="#id101" id="editor-completions-preferences" name="editor-completions-preferences">Editor Completions preferences</a></h3>
2065
2247
<img alt="./images/pref_dialog_edit_completions.png" src="./images/pref_dialog_edit_completions.png" />
2066
 
<div class="section" id="completions">
2067
 
<h4><a class="toc-backref" href="#id101">Completions</a></h4>
 
2248
<div class="section">
 
2249
<h4><a class="toc-backref" href="#id102" id="completions" name="completions">Completions</a></h4>
2068
2250
<dl class="docutils">
2069
2251
<dt>Snippet Completion</dt>
2070
2252
<dd>Whether to replace special keywords after typing Tab into a
2071
2253
pre-defined text snippet.
2072
 
See <a class="reference internal" href="#user-definable-snippets">User-definable snippets</a>.</dd>
 
2254
See <a class="reference" href="#user-definable-snippets">User-definable snippets</a>.</dd>
2073
2255
<dt>XML tag autocompletion</dt>
2074
2256
<dd>When you open an XML tag automatically generate its completion tag.</dd>
2075
2257
<dt>Automatic continuation multi-line comments</dt>
2076
2258
<dd><p class="first">Continue automatically multi-line comments in languages like C, C++
2077
2259
and Java when a new line is entered inside such a comment.
2078
 
With this option enabled, Geany will insert a <tt class="docutils literal">*</tt> on every new line
 
2260
With this option enabled, Geany will insert a <tt class="docutils literal"><span class="pre">*</span></tt> on every new line
2079
2261
inside a multi-line comment, for example when you press return in the
2080
2262
following C code:</p>
2081
2263
<pre class="literal-block">
2087
2269
*
2088
2270
</pre>
2089
2271
<p class="last">on the next line with the correct indentation based on the previous line,
2090
 
as long as the multi-line is not closed by <tt class="docutils literal">*/</tt>.</p>
 
2272
as long as the multi-line is not closed by <tt class="docutils literal"><span class="pre">*/</span></tt>.</p>
2091
2273
</dd>
2092
2274
<dt>Autocomplete symbols</dt>
2093
2275
<dd>When you start to type a symbol name, look for the full string to
2108
2290
<dd>The maximum number of items in the autocompletion list.</dd>
2109
2291
</dl>
2110
2292
</div>
2111
 
<div class="section" id="auto-close-quotes-and-brackets">
2112
 
<h4><a class="toc-backref" href="#id102">Auto-close quotes and brackets</a></h4>
 
2293
<div class="section">
 
2294
<h4><a class="toc-backref" href="#id103" id="auto-close-quotes-and-brackets" name="auto-close-quotes-and-brackets">Auto-close quotes and brackets</a></h4>
2113
2295
<p>Geany can automatically insert a closing bracket and quote characters when
2114
 
you open them. For instance, you type a <tt class="docutils literal">(</tt> and Geany will automatically
2115
 
insert <tt class="docutils literal">)</tt>. With the following options, you can define for which
 
2296
you open them. For instance, you type a <tt class="docutils literal"><span class="pre">(</span></tt> and Geany will automatically
 
2297
insert <tt class="docutils literal"><span class="pre">)</span></tt>. With the following options, you can define for which
2116
2298
characters this should work.</p>
2117
2299
<dl class="docutils">
2118
2300
<dt>Parenthesis ( )</dt>
2119
2301
<dd>Auto-close parenthesis when typing an opening one</dd>
2120
2302
<dt>Curly brackets { }</dt>
2121
 
<dd>Auto-close parenthesis when typing an opening one</dd>
 
2303
<dd>Auto-close curly brackets (braces) when typing an opening one</dd>
2122
2304
<dt>Square brackets [ ]</dt>
2123
 
<dd>Auto-close parenthesis when typing an opening one</dd>
 
2305
<dd>Auto-close square brackets when typing an opening one</dd>
2124
2306
<dt>Single quotes ' '</dt>
2125
 
<dd>Auto-close parenthesis when typing an opening one</dd>
 
2307
<dd>Auto-close single quotes when typing an opening one</dd>
2126
2308
<dt>Double quotes &quot; &quot;</dt>
2127
 
<dd>Auto-close parenthesis when typing an opening one</dd>
 
2309
<dd>Auto-close double quotes when typing an opening one</dd>
2128
2310
</dl>
2129
2311
</div>
2130
2312
</div>
2131
 
<div class="section" id="editor-display-preferences">
2132
 
<h3><a class="toc-backref" href="#id103">Editor Display preferences</a></h3>
 
2313
<div class="section">
 
2314
<h3><a class="toc-backref" href="#id104" id="editor-display-preferences" name="editor-display-preferences">Editor Display preferences</a></h3>
2133
2315
<p>This is for visual elements displayed in the editor window.</p>
2134
2316
<img alt="./images/pref_dialog_edit_display.png" src="./images/pref_dialog_edit_display.png" />
2135
 
<div class="section" id="display">
2136
 
<h4><a class="toc-backref" href="#id104">Display</a></h4>
 
2317
<div class="section">
 
2318
<h4><a class="toc-backref" href="#id105" id="display" name="display">Display</a></h4>
2137
2319
<dl class="docutils">
2138
2320
<dt>Invert syntax highlighting colors</dt>
2139
2321
<dd>Invert all colors, by default this makes white text on a black
2157
2339
Otherwise you can scroll one more page even if there are no real lines.</dd>
2158
2340
</dl>
2159
2341
</div>
2160
 
<div class="section" id="long-line-marker">
2161
 
<h4><a class="toc-backref" href="#id105">Long line marker</a></h4>
 
2342
<div class="section">
 
2343
<h4><a class="toc-backref" href="#id106" id="long-line-marker" name="long-line-marker">Long line marker</a></h4>
2162
2344
<p>The long line marker helps to indicate overly-long lines, or as a hint
2163
2345
to the user for when to break the line.</p>
2164
2346
<dl class="docutils">
2182
2364
<dd>Set the color of the long line marker.</dd>
2183
2365
</dl>
2184
2366
</div>
2185
 
</div>
2186
 
<div class="section" id="files-preferences">
2187
 
<h3><a class="toc-backref" href="#id106">Files preferences</a></h3>
 
2367
<div class="section">
 
2368
<h4><a class="toc-backref" href="#id107" id="virtual-spaces" name="virtual-spaces">Virtual spaces</a></h4>
 
2369
<p>Virtual space is space beyond the end of each line.
 
2370
The cursor may be moved into virtual space but no real space will be
 
2371
added to the document until there is some text typed or some other
 
2372
text insertion command is used.</p>
 
2373
<dl class="docutils">
 
2374
<dt>Disabled</dt>
 
2375
<dd>Do not show virtual spaces</dd>
 
2376
<dt>Only for rectangular selections</dt>
 
2377
<dd>Only show virtual spaces beyond the end of lines when drawing a rectangular selection</dd>
 
2378
<dt>Always</dt>
 
2379
<dd>Always show virtual spaces beyond the end of lines</dd>
 
2380
</dl>
 
2381
</div>
 
2382
</div>
 
2383
<div class="section">
 
2384
<h3><a class="toc-backref" href="#id108" id="files-preferences" name="files-preferences">Files preferences</a></h3>
2188
2385
<img alt="./images/pref_dialog_files.png" src="./images/pref_dialog_files.png" />
2189
 
<div class="section" id="new-files">
2190
 
<h4><a class="toc-backref" href="#id107">New files</a></h4>
 
2386
<div class="section">
 
2387
<h4><a class="toc-backref" href="#id109" id="new-files" name="new-files">New files</a></h4>
2191
2388
<dl class="docutils">
2192
2389
<dt>Open new documents from the command-line</dt>
2193
2390
<dd>Whether to create new documents when passing filenames that don't
2206
2403
On Unix-like systems, LF is default and CR is used on MAC systems.</dd>
2207
2404
</dl>
2208
2405
</div>
2209
 
<div class="section" id="saving-files">
2210
 
<h4><a class="toc-backref" href="#id108">Saving files</a></h4>
2211
 
<p>Perform special formatting operations when a document is saved. These
2212
 
can each be undone with the Undo command as usual.</p>
 
2406
<div class="section">
 
2407
<h4><a class="toc-backref" href="#id110" id="saving-files" name="saving-files">Saving files</a></h4>
 
2408
<p>Perform formatting operations when a document is saved. These
 
2409
can each be undone with the Undo command.</p>
2213
2410
<dl class="docutils">
2214
2411
<dt>Ensure newline at file end</dt>
2215
2412
<dd>Add a newline at the end of the document if one is missing.</dd>
2217
2414
<dd>Remove the trailing spaces on each line of the document.</dd>
2218
2415
<dt>Replace tabs by space</dt>
2219
2416
<dd><p class="first">Replace all tabs in the document with the equivalent number of spaces.</p>
2220
 
<div class="note last">
 
2417
<div class="last note">
2221
2418
<p class="first admonition-title">Note</p>
2222
2419
<p class="last">It is better to use spaces to indent than use this preference - see
2223
 
<a class="reference internal" href="#indentation">Indentation</a>.</p>
 
2420
<a class="reference" href="#indentation">Indentation</a>.</p>
2224
2421
</div>
2225
2422
</dd>
2226
2423
</dl>
2227
2424
</div>
2228
 
<div class="section" id="id3">
2229
 
<h4><a class="toc-backref" href="#id109">Miscellaneous</a></h4>
 
2425
<div class="section">
 
2426
<h4><a class="toc-backref" href="#id111" id="id3" name="id3">Miscellaneous</a></h4>
2230
2427
<dl class="docutils">
2231
2428
<dt>Recent files list length</dt>
2232
2429
<dd>The number of files to remember in the recently used files list.</dd>
2234
2431
<dd><p class="first">The number of seconds to periodically check the current document's
2235
2432
file on disk in case it has changed. Setting it to 0 will disable
2236
2433
this feature.</p>
2237
 
<div class="note last">
 
2434
<div class="last note">
2238
2435
<p class="first admonition-title">Note</p>
2239
2436
<p class="last">These checks are only performed on local files. Remote files are
2240
2437
not checked for changes due to performance issues
2244
2441
</dl>
2245
2442
</div>
2246
2443
</div>
2247
 
<div class="section" id="tools-preferences">
2248
 
<h3><a class="toc-backref" href="#id110">Tools preferences</a></h3>
 
2444
<div class="section">
 
2445
<h3><a class="toc-backref" href="#id112" id="tools-preferences" name="tools-preferences">Tools preferences</a></h3>
2249
2446
<img alt="./images/pref_dialog_tools.png" src="./images/pref_dialog_tools.png" />
2250
 
<div class="section" id="tool-paths">
2251
 
<h4><a class="toc-backref" href="#id111">Tool paths</a></h4>
 
2447
<div class="section">
 
2448
<h4><a class="toc-backref" href="#id113" id="tool-paths" name="tool-paths">Tool paths</a></h4>
2252
2449
<dl class="docutils">
2253
 
<dt>Make</dt>
2254
 
<dd>The location of the make executable.</dd>
2255
2450
<dt>Terminal</dt>
2256
2451
<dd>The location of your terminal executable.</dd>
2257
2452
<dt>Browser</dt>
2263
2458
<p class="first admonition-title">Note</p>
2264
2459
<p class="last">For Windows users: at the time of writing it is recommended to use
2265
2460
the grep.exe from the UnxUtils project
2266
 
(<a class="reference external" href="http://sourceforge.net/projects/unxutils">http://sourceforge.net/projects/unxutils</a>). The grep.exe from the
 
2461
(<a class="reference" href="http://sourceforge.net/projects/unxutils">http://sourceforge.net/projects/unxutils</a>). The grep.exe from the
2267
2462
Mingw project for instance might not work with Geany at the moment.</p>
2268
2463
</div>
2269
2464
</div>
2270
 
<div class="section" id="commands">
2271
 
<h4><a class="toc-backref" href="#id112">Commands</a></h4>
 
2465
<div class="section">
 
2466
<h4><a class="toc-backref" href="#id114" id="commands" name="commands">Commands</a></h4>
2272
2467
<dl class="docutils">
2273
2468
<dt>Context action</dt>
2274
2469
<dd>Set this to a command to execute on the current word.
2277
2472
</dl>
2278
2473
</div>
2279
2474
</div>
2280
 
<div class="section" id="template-preferences">
2281
 
<h3><a class="toc-backref" href="#id113">Template preferences</a></h3>
 
2475
<div class="section">
 
2476
<h3><a class="toc-backref" href="#id115" id="template-preferences" name="template-preferences">Template preferences</a></h3>
2282
2477
<p>This data is used as meta data for various template text to insert into
2283
2478
a document, such as the file header. You only need to set fields that
2284
2479
you want to use in your template files.</p>
2285
2480
<div class="note">
2286
2481
<p class="first admonition-title">Note</p>
2287
 
<p class="last">For changes made here to take effect a restart of geany is required.</p>
 
2482
<p class="last">For changes made here to take effect, you must either select
 
2483
<em>Tools-&gt;Reload Configuration</em> or restart Geany.</p>
2288
2484
</div>
2289
2485
<img alt="./images/pref_dialog_templ.png" src="./images/pref_dialog_templ.png" />
2290
 
<div class="section" id="template-data">
2291
 
<h4><a class="toc-backref" href="#id114">Template data</a></h4>
 
2486
<div class="section">
 
2487
<h4><a class="toc-backref" href="#id116" id="template-data" name="template-data">Template data</a></h4>
2292
2488
<dl class="docutils">
2293
2489
<dt>Developer</dt>
2294
2490
<dd>The name of the developer who will be creating files.</dd>
2296
2492
<dd>The initials of the developer.</dd>
2297
2493
<dt>Mail address</dt>
2298
2494
<dd><p class="first">The email address of the developer.</p>
2299
 
<div class="note last">
 
2495
<div class="last note">
2300
2496
<p class="first admonition-title">Note</p>
2301
 
<p class="last">You may wish to add anti-spam markup, e.g. <tt class="docutils literal">name&lt;at&gt;site&lt;dot&gt;ext</tt>.</p>
 
2497
<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>
2302
2498
</div>
2303
2499
</dd>
2304
2500
<dt>Company</dt>
2308
2504
<dt>Year</dt>
2309
2505
<dd>Specify a format for the the {year} wildcard. You can use any conversion specifiers
2310
2506
which can be used with the ANSI C strftime function.  For details please see
2311
 
<a class="reference external" href="http://man.cx/strftime">http://man.cx/strftime</a>.</dd>
 
2507
<a class="reference" href="http://man.cx/strftime">http://man.cx/strftime</a>.</dd>
2312
2508
<dt>Date</dt>
2313
2509
<dd>Specify a format for the the {date} wildcard. You can use any conversion specifiers
2314
2510
which can be used with the ANSI C strftime function.  For details please see
2315
 
<a class="reference external" href="http://man.cx/strftime">http://man.cx/strftime</a>.</dd>
 
2511
<a class="reference" href="http://man.cx/strftime">http://man.cx/strftime</a>.</dd>
2316
2512
<dt>Date &amp; Time</dt>
2317
2513
<dd>Specify a format for the the {datetime} wildcard. You can use any conversion specifiers
2318
2514
which can be used with the ANSI C strftime function.  For details please see
2319
 
<a class="reference external" href="http://man.cx/strftime">http://man.cx/strftime</a>.</dd>
 
2515
<a class="reference" href="http://man.cx/strftime">http://man.cx/strftime</a>.</dd>
2320
2516
</dl>
2321
2517
</div>
2322
2518
</div>
2323
 
<div class="section" id="keybinding-preferences">
2324
 
<h3><a class="toc-backref" href="#id115">Keybinding preferences</a></h3>
 
2519
<div class="section">
 
2520
<h3><a class="toc-backref" href="#id117" id="keybinding-preferences" name="keybinding-preferences">Keybinding preferences</a></h3>
2325
2521
<img alt="./images/pref_dialog_keys.png" src="./images/pref_dialog_keys.png" />
2326
 
<p>There are some handy commands in here that are not, by default,
 
2522
<p>There are some commands listed in the keybinding dialog that are not, by default,
2327
2523
bound to a key combination, and may not be available as a menu item.</p>
2328
2524
<div class="note">
2329
2525
<p class="first admonition-title">Note</p>
2330
 
<p class="last">For more information see the section called <a class="reference internal" href="#keybindings">Keybindings</a>.</p>
2331
 
</div>
2332
 
</div>
2333
 
<div class="section" id="printing-preferences">
2334
 
<h3><a class="toc-backref" href="#id116">Printing preferences</a></h3>
 
2526
<p class="last">For more information see the section <a class="reference" href="#keybindings">Keybindings</a>.</p>
 
2527
</div>
 
2528
</div>
 
2529
<div class="section">
 
2530
<h3><a class="toc-backref" href="#id118" id="printing-preferences" name="printing-preferences">Printing preferences</a></h3>
2335
2531
<img alt="./images/pref_dialog_printing.png" src="./images/pref_dialog_printing.png" />
2336
2532
<dl class="docutils">
2337
2533
<dt>Use external command for printing</dt>
2349
2545
<dt>Date format</dt>
2350
2546
<dd>How the date should be printed. You can use the same format
2351
2547
specifiers as in the ANSI C function strftime(). For details please
2352
 
see <a class="reference external" href="http://man.cx/strftime">http://man.cx/strftime</a>.</dd>
 
2548
see <a class="reference" href="http://man.cx/strftime">http://man.cx/strftime</a>.</dd>
2353
2549
</dl>
2354
2550
</div>
2355
 
<div class="section" id="terminal-vte-preferences">
2356
 
<h3><a class="toc-backref" href="#id117">Terminal (VTE) preferences</a></h3>
2357
 
<p>See also: <a class="reference internal" href="#virtual-terminal-emulator-widget-vte">Virtual terminal emulator widget (VTE)</a>.</p>
 
2551
<div class="section">
 
2552
<h3><a class="toc-backref" href="#id119" id="terminal-vte-preferences" name="terminal-vte-preferences">Terminal (VTE) preferences</a></h3>
 
2553
<p>See also: <a class="reference" href="#virtual-terminal-emulator-widget-vte">Virtual terminal emulator widget (VTE)</a>.</p>
2358
2554
<img alt="./images/pref_dialog_vte.png" src="./images/pref_dialog_vte.png" />
2359
 
<div class="section" id="terminal-widget">
2360
 
<h4><a class="toc-backref" href="#id118">Terminal widget</a></h4>
 
2555
<div class="section">
 
2556
<h4><a class="toc-backref" href="#id120" id="terminal-widget" name="terminal-widget">Terminal widget</a></h4>
2361
2557
<dl class="docutils">
2362
2558
<dt>Terminal font</dt>
2363
2559
<dd>Select the font that will be used in the terminal emulation control.</dd>
2384
2580
current file.</dd>
2385
2581
<dt>Execute programs in VTE</dt>
2386
2582
<dd>Execute programs in the virtual terminal instead of using the external
2387
 
terminal tool.</dd>
 
2583
terminal tool.  Note that if you run multiple execute commands at once
 
2584
the output may become mixed together in the VTE.</dd>
2388
2585
<dt>Don't use run script</dt>
2389
2586
<dd>Don't use the simple run script which is usually used to display
2390
2587
the exit status of the executed program.
2394
2591
</div>
2395
2592
</div>
2396
2593
</div>
2397
 
<div class="section" id="project-management">
2398
 
<h2><a class="toc-backref" href="#id119">Project Management</a></h2>
 
2594
<div class="section">
 
2595
<h2><a class="toc-backref" href="#id121" id="project-management" name="project-management">Project Management</a></h2>
2399
2596
<p>Project Management is optional in Geany. Currently it can be used for:</p>
2400
2597
<ul class="simple">
2401
2598
<li>Storing and opening session files on a project basis.</li>
2402
 
<li>Running <em>Make</em> from the project's base directory.</li>
2403
 
<li>Setting a custom <em>Run</em> command specific to the project.</li>
 
2599
<li>Configuring the Build menu on a project basis.</li>
2404
2600
</ul>
2405
2601
<p>A list of session files can be stored and opened with the project
2406
2602
when the <em>Use project-based session files</em> preference is enabled,
2407
 
in the <em>Project</em> group of the <a class="reference internal" href="#preferences">Preferences</a> dialog.</p>
2408
 
<p>As long as a project is open, the Make and Run commands will use
2409
 
the project's settings, instead of the defaults. These will be used
2410
 
whichever document is currently displayed.</p>
 
2603
in the <em>Project</em> group of the <a class="reference" href="#preferences">Preferences</a> dialog.</p>
 
2604
<p>As long as a project is open, the Build menu will use
 
2605
the items defined in project's settings, instead of the defaults.
 
2606
See <a class="reference" href="#build-menu-configuration">Build Menu Configuration</a> for information on configuring the menu.</p>
2411
2607
<p>The current project's settings are saved when it is closed, or when
2412
2608
Geany is shutdown. When restarting Geany, the previously opened project
2413
2609
file that was in use at the end of the last session will be reopened.</p>
2414
 
<p>Below are the commands used to create, modify, open and close projects.</p>
2415
 
<div class="section" id="new-project">
2416
 
<h3><a class="toc-backref" href="#id120">New Project</a></h3>
 
2610
<p>The project menu items are detailed below.</p>
 
2611
<div class="section">
 
2612
<h3><a class="toc-backref" href="#id122" id="new-project" name="new-project">New Project</a></h3>
2417
2613
<p>To create a new project, fill in the <em>Name</em> field. By default this
2418
 
will setup a new project file <tt class="docutils literal">~/projects/name.geany</tt>. Usually it's
 
2614
will setup a new project file <tt class="docutils literal"><span class="pre">~/projects/name.geany</span></tt>. Usually it's
2419
2615
best to store all your project files in the same directory (they are
2420
2616
independent of any source directory trees).</p>
2421
 
<p>The Base path text field is setup to use <tt class="docutils literal">~/projects/name</tt>. This
 
2617
<p>The Base path text field is setup to use <tt class="docutils literal"><span class="pre">~/projects/name</span></tt>. This
2422
2618
can safely be set to any existing path -- it will not touch the file
2423
2619
structure contained in it.</p>
2424
2620
</div>
2425
 
<div class="section" id="project-properties">
2426
 
<h3><a class="toc-backref" href="#id121">Project Properties</a></h3>
 
2621
<div class="section">
 
2622
<h3><a class="toc-backref" href="#id123" id="project-properties" name="project-properties">Project Properties</a></h3>
2427
2623
<p>You can set an optional description for the project, but it is not
2428
2624
used elsewhere by Geany.</p>
2429
 
<p>The <em>Base path</em> field is used as the directory to run the Make and Make
2430
 
custom commands in. It is also used as working directory for the project
2431
 
specific <em>Run command</em>.
2432
 
The specified path can be an absolute path or relative to the project's
2433
 
file name.</p>
2434
 
<div class="section" id="make-in-base-path">
2435
 
<h4><a class="toc-backref" href="#id122">Make in base path</a></h4>
2436
 
<p>This setting makes the <em>Build-&gt;Make</em> command use the project's base
2437
 
path. Uncheck this if you want to use the current file's directory
2438
 
instead.</p>
2439
 
</div>
2440
 
<div class="section" id="run-command">
2441
 
<h4><a class="toc-backref" href="#id123">Run command</a></h4>
2442
 
<p>The <em>Run command</em> overrides the default run command. You can set this
2443
 
to the executable or main script file for the project, and append
2444
 
any command-line arguments.</p>
2445
 
<p>The following variables can be used:</p>
2446
 
<ul class="simple">
2447
 
<li>%f -- complete filename without path</li>
2448
 
<li>%e -- filename without path and without extension</li>
2449
 
</ul>
2450
 
<p>See <a class="reference internal" href="#build-settings-section">[build_settings] Section</a> for details.</p>
2451
 
</div>
2452
 
</div>
2453
 
<div class="section" id="open-project">
2454
 
<h3><a class="toc-backref" href="#id124">Open Project</a></h3>
 
2625
<p>The <em>Base path</em> field is used as the directory to run the Build menu commands.
 
2626
The specified path can be an absolute path or it is considered to be
 
2627
relative to the project's file name.</p>
 
2628
<div class="section">
 
2629
<h4><a class="toc-backref" href="#id124" id="set-base-path-button" name="set-base-path-button">Set Base Path Button</a></h4>
 
2630
<p>This button is a convenience to set the working directory fields
 
2631
in the non-filetype Build menu items to %p to use the project base path.</p>
 
2632
<div class="note">
 
2633
<p class="first admonition-title">Note</p>
 
2634
<p class="last">Pressing the 'set' button will override any working directories
 
2635
you have configured for the project.</p>
 
2636
</div>
 
2637
</div>
 
2638
</div>
 
2639
<div class="section">
 
2640
<h3><a class="toc-backref" href="#id125" id="open-project" name="open-project">Open Project</a></h3>
2455
2641
<p>The Open command displays a standard file chooser, starting in
2456
 
<tt class="docutils literal">~/projects</tt>. Choose a project file named with the <tt class="docutils literal">.geany</tt>
 
2642
<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>
2457
2643
extension.</p>
2458
2644
<p>When project session support is enabled, Geany will close the currently
2459
2645
open files and open the session files associated with the project.</p>
2460
2646
</div>
2461
 
<div class="section" id="close-project">
2462
 
<h3><a class="toc-backref" href="#id125">Close Project</a></h3>
 
2647
<div class="section">
 
2648
<h3><a class="toc-backref" href="#id126" id="close-project" name="close-project">Close Project</a></h3>
2463
2649
<p>Project file settings are saved when the project is closed.</p>
2464
2650
<p>When project session support is enabled, Geany will close the project
2465
2651
session files and open any previously closed default session files.</p>
2466
2652
</div>
2467
2653
</div>
2468
 
<div class="section" id="build-system">
2469
 
<h2><a class="toc-backref" href="#id126">Build system</a></h2>
2470
 
<p>Geany has an integrated build system. Firstly this means that the
2471
 
current source file will be saved before it is processed. This is
2472
 
for convenience so that you don't need to keep saving small changes
2473
 
to the current file before building.</p>
2474
 
<p>Secondly the output for Compile, Build and Make actions will be captured
2475
 
in the Compiler notebook tab of the messages window. If there are
2476
 
any warnings or errors with line numbers shown in red in the Compiler
2477
 
output tab, you can click on them and Geany will switch to the relevant
2478
 
source file (or open it) and mark the line number so the problem can be
2479
 
corrected. Geany will also set indicators for warnings or errors with
2480
 
line numbers.</p>
 
2654
<div class="section">
 
2655
<h2><a class="toc-backref" href="#id127" id="build-menu" name="build-menu">Build Menu</a></h2>
 
2656
<p>After editing code with Geany, the next step is to compile, link, build,
 
2657
interpret, run etc.  As Geany supports many languages each with a different
 
2658
approach to such operations, and as there are also many language independent
 
2659
software building systems, Geany does not have a built-in build system, nor
 
2660
does it limit which system you can use.  Instead the build menu provides
 
2661
a configurable and flexible means of running any external commands to
 
2662
execute your preferred build system.</p>
 
2663
<p>This section provides a description of the default configuration of the
 
2664
build menu and then covers how to configure it, and where the defaults fit in.</p>
 
2665
<p>Running the commands from within Geany has two benefits:</p>
 
2666
<ul class="simple">
 
2667
<li>The current file is automatically saved before the command is run.</li>
 
2668
<li>The output is captured in the Compiler notebook tab and parsed for
 
2669
warnings or errors.</li>
 
2670
</ul>
 
2671
<p>Warnings and errors that can be parsed for line numbers will be shown in
 
2672
red in the Compiler tab and you can click on them to switch to the relevant
 
2673
source file (or open it) and mark the line number.  Also lines with
 
2674
warnings or errors are marked in the source, see <a class="reference" href="#indicators">Indicators</a> below.</p>
2481
2675
<div class="tip">
2482
2676
<p class="first admonition-title">Tip</p>
2483
2677
<p class="last">If Geany's default error message parsing does not parse errors for
2484
 
the tool you're using, you can set a custom regex. See <a class="reference internal" href="#filetype-definition-files">Filetype
2485
 
definition files</a> and the <a class="reference internal" href="#build-settings-section">[build_settings] Section</a>.</p>
2486
 
</div>
2487
 
<p>Depending on the current file's filetype, the Build menu will contain
 
2678
the tool you're using, you can set a custom regex in the Build Commands
 
2679
Dialog, see <a class="reference" href="#build-menu-configuration">Build Menu Configuration</a>.</p>
 
2680
</div>
 
2681
<div class="section">
 
2682
<h3><a class="toc-backref" href="#id128" id="indicators" name="indicators">Indicators</a></h3>
 
2683
<p>Indicators are red squiggly underlines which are used to highlight
 
2684
errors which occurred while compiling the current file. So you can
 
2685
easily see where your code failed to compile. You can remove them by
 
2686
selecting <em>Remove Error Indicators</em> in the Document menu.</p>
 
2687
<p>If you do not like this feature, you can disable it - see <a class="reference" href="#editor-features-preferences">Editor Features
 
2688
preferences</a>.</p>
 
2689
</div>
 
2690
<div class="section">
 
2691
<h3><a class="toc-backref" href="#id129" id="default-build-menu-items" name="default-build-menu-items">Default Build Menu Items</a></h3>
 
2692
<p>Depending on the current file's filetype, the default Build menu will contain
2488
2693
the following items:</p>
2489
2694
<ul class="simple">
2490
2695
<li>Compile</li>
2492
2697
<li>Make All</li>
2493
2698
<li>Make Custom Target</li>
2494
2699
<li>Make Object</li>
 
2700
<li>Next Error</li>
 
2701
<li>Previous Error</li>
2495
2702
<li>Execute</li>
2496
 
<li>Set Includes and Arguments</li>
 
2703
<li>Set Build Menu Commands</li>
2497
2704
</ul>
2498
 
<div class="section" id="compile">
2499
 
<h3><a class="toc-backref" href="#id127">Compile</a></h3>
 
2705
<div class="section">
 
2706
<h4><a class="toc-backref" href="#id130" id="compile" name="compile">Compile</a></h4>
2500
2707
<p>The Compile command has different uses for different kinds of files.</p>
2501
2708
<p>For compilable languages such as C and C++, the Compile command is
2502
 
setup to compile the current source file into a binary object file.</p>
2503
 
<p>Java source files will be compiled to class file bytecode. Interpreted
2504
 
languages such as Perl, Python, Ruby will compile to bytecode if the
2505
 
language supports it, or will run a syntax check, or failing that
2506
 
will run the file in its language interpreter.</p>
 
2709
set up to compile the current source file into a binary object file.</p>
 
2710
<p>Java source files will be compiled to class file bytecode.</p>
 
2711
<p>Interpreted languages such as Perl, Python, Ruby will compile to
 
2712
bytecode if the language supports it, or will run a syntax check,
 
2713
or if that is not available will run the file in its language interpreter.</p>
2507
2714
</div>
2508
 
<div class="section" id="build">
2509
 
<h3><a class="toc-backref" href="#id128">Build</a></h3>
 
2715
<div class="section">
 
2716
<h4><a class="toc-backref" href="#id131" id="build" name="build">Build</a></h4>
2510
2717
<p>For compilable languages such as C and C++, the Build command will link
2511
2718
the current source file's equivalent object file into an executable. If
2512
2719
the object file does not exist, the source will be compiled and linked
2513
2720
in one step, producing just the executable binary.</p>
2514
2721
<p>Interpreted languages do not use the Build command.</p>
2515
 
</div>
2516
 
<div class="section" id="make-all">
2517
 
<h3><a class="toc-backref" href="#id129">Make all</a></h3>
2518
 
<p>This effectively runs &quot;make all&quot; in the same directory as the
 
2722
<div class="note">
 
2723
<p class="first admonition-title">Note</p>
 
2724
<p class="last">If you need complex settings for your build system, or several
 
2725
different settings, then writing a Makefile and using the Make
 
2726
commands is recommended; this will also make it easier for users to
 
2727
build your software.</p>
 
2728
</div>
 
2729
</div>
 
2730
<div class="section">
 
2731
<h4><a class="toc-backref" href="#id132" id="make" name="make">Make</a></h4>
 
2732
<p>This runs &quot;make&quot; in the same directory as the
2519
2733
current file.</p>
2520
 
<div class="note">
2521
 
<p class="first admonition-title">Note</p>
2522
 
<p class="last">For each of the Make commands, The Make tool path must be correctly
2523
 
set in the Tools tab of the Preferences dialog.</p>
2524
 
</div>
2525
 
</div>
2526
 
<div class="section" id="make-custom-target">
2527
 
<h3><a class="toc-backref" href="#id130">Make custom target</a></h3>
2528
 
<p>This is similar to running 'Make all' but you will be prompted for
 
2734
</div>
 
2735
<div class="section">
 
2736
<h4><a class="toc-backref" href="#id133" id="make-custom-target" name="make-custom-target">Make custom target</a></h4>
 
2737
<p>This is similar to running 'Make' but you will be prompted for
2529
2738
the make target name to be passed to the Make tool. For example,
2530
2739
typing 'clean' in the dialog prompt will run &quot;make clean&quot;.</p>
2531
2740
</div>
2532
 
<div class="section" id="make-object">
2533
 
<h3><a class="toc-backref" href="#id131">Make object</a></h3>
 
2741
<div class="section">
 
2742
<h4><a class="toc-backref" href="#id134" id="make-object" name="make-object">Make object</a></h4>
2534
2743
<p>Make object will run &quot;make current_file.o&quot; in the same directory as
2535
 
the current file, using its prefix for 'current_file'. It is useful
2536
 
for compiling just the current file without building the whole project.</p>
2537
 
</div>
2538
 
<div class="section" id="execute">
2539
 
<h3><a class="toc-backref" href="#id132">Execute</a></h3>
 
2744
the current file, using the filename for 'current_file'. It is useful
 
2745
for building just the current file without building the whole project.</p>
 
2746
</div>
 
2747
<div class="section">
 
2748
<h4><a class="toc-backref" href="#id135" id="next-error" name="next-error">Next Error</a></h4>
 
2749
<p>The next error item will move to the next detected error in the file.</p>
 
2750
</div>
 
2751
<div class="section">
 
2752
<h4><a class="toc-backref" href="#id136" id="previous-error" name="previous-error">Previous Error</a></h4>
 
2753
<p>The previous error item will move to the previous detected error in the file.</p>
 
2754
</div>
 
2755
<div class="section">
 
2756
<h4><a class="toc-backref" href="#id137" id="execute" name="execute">Execute</a></h4>
2540
2757
<p>Execute will run the corresponding executable file, shell script or
2541
2758
interpreted script in a terminal window. Note that the Terminal tool
2542
2759
path must be correctly set in the Tools tab of the Preferences dialog -
2543
2760
you can use any terminal program that runs a Bourne compatible shell
2544
 
and accept the &quot;-e&quot; command line argument to start a command.</p>
 
2761
and accept the &quot;-e&quot; command line argument to start a command or can be
 
2762
selected to use the built-in VTE if it is available - see
 
2763
<a class="reference" href="#virtual-terminal-emulator-widget-vte">Virtual terminal emulator widget (VTE)</a>.</p>
2545
2764
<p>After your program or script has finished executing, you will be
2546
2765
prompted to press the return key. This allows you to review any text
2547
2766
output from the program before the terminal window is closed.</p>
2548
 
</div>
2549
 
<div class="section" id="stopping-running-processes">
2550
 
<h3><a class="toc-backref" href="#id133">Stopping running processes</a></h3>
2551
 
<p>When there is a running program, the Run button in the toolbar
2552
 
becomes a stop button and you can stop the current action. This
2553
 
works by sending a signal to the process (and its child process(es))
2554
 
to stop the process. The used signal is SIGQUIT.</p>
2555
 
<p>Depending on the process you started it might occur that the process
2556
 
cannot be stopped. This can happen when the process creates more than
2557
 
one child process.</p>
2558
 
<div class="section" id="terminal-emulators">
2559
 
<h4><a class="toc-backref" href="#id134">Terminal emulators</a></h4>
 
2767
<div class="note">
 
2768
<p class="first admonition-title">Note</p>
 
2769
<p class="last">The execute command output is not parsed for errors.</p>
 
2770
</div>
 
2771
</div>
 
2772
<div class="section">
 
2773
<h4><a class="toc-backref" href="#id138" id="stopping-running-processes" name="stopping-running-processes">Stopping running processes</a></h4>
 
2774
<p>When there is a running program, the Execute menu item in the menu and
 
2775
the Run button in the toolbar
 
2776
each become a stop button so you can stop the current running program (and
 
2777
any child processes). This works by sending the SIGQUIT signal to the process.</p>
 
2778
<p>Depending on the process you started it is possible that the process
 
2779
cannot be stopped. For example this can happen when the process creates
 
2780
more than one child process.</p>
 
2781
<div class="section">
 
2782
<h5><a class="toc-backref" href="#id139" id="terminal-emulators" name="terminal-emulators">Terminal emulators</a></h5>
2560
2783
<p>Xterm is known to work properly. If you are using &quot;Terminal&quot;
2561
2784
(the terminal program of Xfce), you should add the command line
2562
2785
option <tt class="docutils literal"><span class="pre">--disable-server</span></tt> otherwise the started process cannot be
2564
2787
tab in the terminal field.</p>
2565
2788
</div>
2566
2789
</div>
2567
 
<div class="section" id="set-includes-and-arguments">
2568
 
<h3><a class="toc-backref" href="#id135">Set Includes and Arguments</a></h3>
2569
 
<p>By default the Compile and Build commands invoke the compiler and
 
2790
<div class="section">
 
2791
<h4><a class="toc-backref" href="#id140" id="set-build-commands" name="set-build-commands">Set Build Commands</a></h4>
 
2792
<p>By default the Compile and Build commands invoke the GCC compiler and
2570
2793
linker with only the basic arguments needed by all programs. Using
2571
 
Set Includes and Arguments you can add any include paths and compile
 
2794
<em>Set Build Commands</em> you can add any include paths and compile
2572
2795
flags for the compiler, any library names and paths for the linker,
2573
2796
and any arguments you want to use when running Execute.</p>
2574
 
<div class="note">
2575
 
<p class="first admonition-title">Note</p>
2576
 
<p class="last">If you need complex settings for your build system, or several
2577
 
different settings, then writing a Makefile and using the Make
2578
 
commands is recommended; this will also make it easier for users to
2579
 
build your software.</p>
2580
 
</div>
 
2797
</div>
 
2798
</div>
 
2799
<div class="section">
 
2800
<h3><a class="toc-backref" href="#id141" id="build-menu-configuration" name="build-menu-configuration">Build Menu Configuration</a></h3>
 
2801
<p>The build menu has considerable flexibility and configurability, allowing
 
2802
both menu labels the commands they execute and the directory they execute
 
2803
in to be configured.</p>
 
2804
<p>For example, if you change one of the default make commands to run say 'waf'
 
2805
you can also change the label to match.</p>
2581
2806
<p>These settings are saved automatically when Geany is shut down.</p>
2582
 
<p>The following variables can be used:</p>
2583
 
<ul class="simple">
2584
 
<li>%f -- complete filename without path</li>
2585
 
<li>%e -- filename without path and without extension</li>
2586
 
</ul>
2587
 
<p>See <a class="reference internal" href="#build-settings-section">[build_settings] Section</a> for details.</p>
2588
 
<div class="section" id="one-step-compilation">
2589
 
<h4><a class="toc-backref" href="#id136">One step compilation</a></h4>
2590
 
<p>If you are using the Build command to compile and link in one step,
2591
 
you will need to set both the compiler arguments and the linker
2592
 
arguments in the linker command setting.</p>
2593
 
</div>
2594
 
</div>
2595
 
<div class="section" id="indicators">
2596
 
<h3><a class="toc-backref" href="#id137">Indicators</a></h3>
2597
 
<p>Indicators are red squiggly underlines which are used to highlight
2598
 
errors which occurred while compiling the current file. So you can
2599
 
easily see where your code failed to compile. To remove the indicators,
2600
 
just click on &quot;Remove all indicators&quot; in the document file menu.</p>
2601
 
<p>If you do not like this feature, you can disable it in the preferences
2602
 
dialog.</p>
2603
 
</div>
2604
 
</div>
2605
 
<div class="section" id="printing-support">
2606
 
<h2><a class="toc-backref" href="#id138">Printing support</a></h2>
2607
 
<p>Since Geany 0.13 there is full printing support using GTK's printing API.
 
2807
<p>The build menu is divided into four groups of items each with different
 
2808
behaviors:</p>
 
2809
<ul>
 
2810
<li><p class="first">File items - are configurable and depend on the filetype of the current
 
2811
document; they capture output in the compiler tab and parse it for
 
2812
errors.</p>
 
2813
</li>
 
2814
<li><p class="first">Non-file items - are configurable and mostly don't depend on the filetype
 
2815
of the current document; they also capture output in the compiler tab and
 
2816
parse it for errors.</p>
 
2817
</li>
 
2818
<li><p class="first">Execute items - are configurable and intended for executing your
 
2819
program or other long running programs.  The output is not parsed for errors
 
2820
and is directed to the terminal selected in preferences.</p>
 
2821
</li>
 
2822
<li><dl class="first docutils">
 
2823
<dt>Fixed items - these perform built-in actions:</dt>
 
2824
<dd><ul class="first last simple">
 
2825
<li>Go to the next error.</li>
 
2826
<li>Go to the previous error.</li>
 
2827
<li>Show the build menu commands dialog.</li>
 
2828
</ul>
 
2829
</dd>
 
2830
</dl>
 
2831
</li>
 
2832
</ul>
 
2833
<p>The maximum numbers of items in each of the configurable groups can be
 
2834
configured when Geany starts using hidden settings (see <a class="reference" href="#preferences-file-format">Preferences File Format</a>).
 
2835
Even though the maximum number of items may have been increased, only
 
2836
those menu items that have values configured are shown in the menu.</p>
 
2837
<p>The groups of menu items obtain their configuration from four potential
 
2838
sources.  The highest priority source that has the menu item defined will
 
2839
be used. The sources in decreasing priority are:</p>
 
2840
<ul class="simple">
 
2841
<li>A project file if open</li>
 
2842
<li>The user preferences</li>
 
2843
<li>The system filetype definitions</li>
 
2844
<li>The defaults</li>
 
2845
</ul>
 
2846
<p>The detailed relationships between sources and the configurable menu item groups
 
2847
is shown in the following table.</p>
 
2848
<table border="1" class="docutils">
 
2849
<colgroup>
 
2850
<col width="13%" />
 
2851
<col width="19%" />
 
2852
<col width="23%" />
 
2853
<col width="17%" />
 
2854
<col width="28%" />
 
2855
</colgroup>
 
2856
<thead valign="bottom">
 
2857
<tr><th class="head">Group</th>
 
2858
<th class="head">Project File</th>
 
2859
<th class="head">Preferences</th>
 
2860
<th class="head">System Filetype</th>
 
2861
<th class="head">Defaults</th>
 
2862
</tr>
 
2863
</thead>
 
2864
<tbody valign="top">
 
2865
<tr><td>Filetype</td>
 
2866
<td><p class="first">Loads From: project
 
2867
file</p>
 
2868
<p class="last">Saves To: project
 
2869
file</p>
 
2870
</td>
 
2871
<td><p class="first">Loads From:
 
2872
filetype.xxx file in
 
2873
~/.config/geany/filedefs</p>
 
2874
<p class="last">Saves to: as above,
 
2875
creating if needed.</p>
 
2876
</td>
 
2877
<td><p class="first">Loads From:
 
2878
filetype.xxx in
 
2879
Geany install</p>
 
2880
<p class="last">Saves to: as user
 
2881
preferences left.</p>
 
2882
</td>
 
2883
<td>None</td>
 
2884
</tr>
 
2885
<tr><td>Non-Filetype</td>
 
2886
<td><p class="first">Loads From: project
 
2887
file</p>
 
2888
<p class="last">Saves To: project
 
2889
file</p>
 
2890
</td>
 
2891
<td><p class="first">Loads From:
 
2892
geany.conf file in
 
2893
~/.config/geany</p>
 
2894
<p class="last">Saves to: as above,
 
2895
creating if needed.</p>
 
2896
</td>
 
2897
<td><p class="first">Loads From:
 
2898
filetype.xxx in
 
2899
Geany install</p>
 
2900
<p class="last">Saves to: as user
 
2901
preferences left.</p>
 
2902
</td>
 
2903
<td><dl class="first last docutils">
 
2904
<dt>1:</dt>
 
2905
<dd>Label: _Make
 
2906
Command: make</dd>
 
2907
<dt>2:</dt>
 
2908
<dd>Label: Make Custom _Target
 
2909
Command: make</dd>
 
2910
<dt>3:</dt>
 
2911
<dd>Label: Make _Object
 
2912
Command: make %e.o</dd>
 
2913
</dl>
 
2914
</td>
 
2915
</tr>
 
2916
<tr><td>Execute</td>
 
2917
<td><p class="first">Loads From: project
 
2918
file or else
 
2919
filetype defined in
 
2920
project file</p>
 
2921
<p class="last">Saves To:
 
2922
project file</p>
 
2923
</td>
 
2924
<td><p class="first">Loads From:
 
2925
geany.conf file in
 
2926
~/.config/geany or else
 
2927
filetype.xxx file in
 
2928
~/.config/geany/filedefs</p>
 
2929
<p class="last">Saves To:
 
2930
filetype.xxx file in
 
2931
~/.config/geany/filedefs</p>
 
2932
</td>
 
2933
<td><p class="first">Loads From:
 
2934
filetype.xxx in
 
2935
Geany install</p>
 
2936
<p class="last">Saves To: as user
 
2937
preferences left</p>
 
2938
</td>
 
2939
<td>Label: _Execute Command: ./%e</td>
 
2940
</tr>
 
2941
</tbody>
 
2942
</table>
 
2943
<p>The following notes on the table reference cells by coordinate as (group,source):</p>
 
2944
<ul class="simple">
 
2945
<li>General - for filetype.xxx substitute the filetype name of the
 
2946
current document for xxx.</li>
 
2947
<li>System Filetypes - Labels loaded from these sources are locale sensitive
 
2948
and can contain translations.</li>
 
2949
<li>(Filetype, Project File) and (Filetype, Preferences) - preferences use a full
 
2950
filetype file so that users can configure all other filetype preferences
 
2951
as well.  Projects can only configure menu items per filetype.  Saving
 
2952
in the project file means that there is only one file per project not
 
2953
a whole directory.</li>
 
2954
<li>(Non-Filetype, System Filetype) - although conceptually strange, defining
 
2955
non-filetype commands in a filetype file, this provides the ability to
 
2956
define filetype dependent default menu items.</li>
 
2957
<li>(Execute, Project File) and (Execute, Preferences) - the project filetype based execute
 
2958
configuration and preferences non-filetype based execute can only be set by hand editing the
 
2959
appropriate file, see <a class="reference" href="#preferences-file-format">Preferences File Format</a> and <a class="reference" href="#project-file-format">Project File Format</a>.</li>
 
2960
</ul>
 
2961
</div>
 
2962
<div class="section">
 
2963
<h3><a class="toc-backref" href="#id142" id="build-menu-commands-dialog" name="build-menu-commands-dialog">Build Menu Commands Dialog</a></h3>
 
2964
<p>Most of the configuration of the build menu is done through the Build Menu
 
2965
Commands Dialog.  You edit the configuration sourced from preferences in the
 
2966
dialog opened from the Build-&gt;Build Menu Commands item and you edit the
 
2967
configuration from the project in the build tab of the project preferences
 
2968
dialog.  Both use the same form shown below.</p>
 
2969
<img alt="./images/build_menu_commands_dialog.png" src="./images/build_menu_commands_dialog.png" />
 
2970
<p>The dialog is divided into three sections:</p>
 
2971
<ul class="simple">
 
2972
<li>Filetype menu items which will be selected based on the filetype of the
 
2973
currently open document.</li>
 
2974
<li>Non-filetype menu items.</li>
 
2975
<li>Execute menu items.</li>
 
2976
</ul>
 
2977
<p>The filetype and non-filetype sections also each contain a field for the regular
 
2978
expression used for parsing command output for error and warning messages.</p>
 
2979
<p>The columns in the first three sections allow setting of the label, command,
 
2980
and working directory to run the command in.</p>
 
2981
<p>An item with an empty label will not be shown in the menu.</p>
 
2982
<p>An empty working directory will default to the directory of the current document.
 
2983
If there is no current document then the command will not run.</p>
 
2984
<p>The dialog will always show the command selected by priority, not just the
 
2985
commands configured in this configuration source. This ensures that you always
 
2986
see what the menu item is going to do if activated.</p>
 
2987
<p>If the current source of the menu item is higher priority than the
 
2988
configuration source you are editing then the command will be shown
 
2989
in the dialog but will be insensitive (greyed out).  This can't happen
 
2990
with the project source but can with the preferences source dialog.</p>
 
2991
<p>The clear buttons remove the definition from the configuration source you are editing.
 
2992
When you do this the command from the next lower priority source will be shown.
 
2993
To hide lower priority menu items without having anything show in the menu
 
2994
configure with a nothing in the label but at least one character in the command.</p>
 
2995
<div class="section">
 
2996
<h4><a class="toc-backref" href="#id143" id="substitutions-in-commands-and-working-directories" name="substitutions-in-commands-and-working-directories">Substitutions in Commands and Working Directories</a></h4>
 
2997
<p>The first occurance of each of the following character sequences in each of the
 
2998
command and working directory fields is substituted by the items specified below
 
2999
before the command is run.</p>
 
3000
<ul class="simple">
 
3001
<li>%d - substituted by the absolute path to the directory of the current file.</li>
 
3002
<li>%e - substituted by the name of the current file without the extension or path.</li>
 
3003
<li>%f - substituted by the name of the current file without the path.</li>
 
3004
<li>%p - if a project is open, substituted by the base path from the project.</li>
 
3005
</ul>
 
3006
<div class="note">
 
3007
<p class="first admonition-title">Note</p>
 
3008
<p class="last">If the basepath set in the project preferences is not an absolute path , then it is
 
3009
taken as relative to the directory of the project file.  This allows a project file
 
3010
stored in the source tree to specify all commands and working directories relative
 
3011
to the tree itself, so that the whole tree including the project file, can be moved
 
3012
and even checked into and out of version control without having to re-configure the
 
3013
build menu.</p>
 
3014
</div>
 
3015
</div>
 
3016
<div class="section">
 
3017
<h4><a class="toc-backref" href="#id144" id="build-menu-keyboard-shortcuts" name="build-menu-keyboard-shortcuts">Build Menu Keyboard Shortcuts</a></h4>
 
3018
<p>Keyboard shortcuts can be defined for the first two filetype menu items, the first three
 
3019
non-filetype menu items, the first two execute menu items and the fixed menu items.
 
3020
In the keybindings configuration dialog (see <a class="reference" href="#keybinding-preferences">Keybinding preferences</a>)
 
3021
these items are identified by the default labels shown in the <a class="reference" href="#build-menu">Build Menu</a> section above.</p>
 
3022
<p>It is currently not possible to bind keyboard shortcuts to more than these menu items.</p>
 
3023
<p>You can also use underlines in the labels to set mnemonic characters.</p>
 
3024
</div>
 
3025
<div class="section">
 
3026
<h4><a class="toc-backref" href="#id145" id="configuration-files" name="configuration-files">Configuration Files</a></h4>
 
3027
<p>The configurable Build Menu capability was introduced in Geany V0.19 and
 
3028
required a new section to be added to the configuration files (See
 
3029
<a class="reference" href="#preferences-file-format">Preferences File Format</a>).  Geany will still load older format project,
 
3030
preferences and filetype file settings and will attempt to map them into the new
 
3031
configuration format.  There is not a simple clean mapping between the formats.
 
3032
The mapping used produces the most sensible results for the majority of cases.
 
3033
However, if they do not map the way you want, you may have to manually
 
3034
configure some settings using the Build Commands
 
3035
Dialog or the Build tab of the project preferences dialog.</p>
 
3036
<p>Any setting configured in either of these dialogs will override settings mapped from
 
3037
older format configuration files.</p>
 
3038
</div>
 
3039
</div>
 
3040
</div>
 
3041
<div class="section">
 
3042
<h2><a class="toc-backref" href="#id146" id="printing-support" name="printing-support">Printing support</a></h2>
 
3043
<p>Since Geany 0.13 there has been printing support using GTK's printing API.
2608
3044
The printed page(s) will look nearly the same as on your screen in Geany.
2609
 
Additionally, there are some options to modify the printed page(s). You
2610
 
can define whether to print line numbers, page numbers at the bottom of
 
3045
Additionally, there are some options to modify the printed page(s).</p>
 
3046
<p>You can define whether to print line numbers, page numbers at the bottom of
2611
3047
each page and whether to print a page header on each page. This header
2612
3048
contains the filename of the printed document, the current page number and
2613
3049
the date and time of printing. By default, the file name of the document
2614
 
is added with full path information to the header. If you prefer to add
 
3050
with full path information is added to the header. If you prefer to add
2615
3051
only the basename of the file(without any path information) you can set it
2616
3052
in the preferences dialog. You can also adjust the format of the date and
2617
3053
time added to the page header. The available conversion specifiers are the
2618
 
same as the ones which can be used with the ANSI C strftime function.
2619
 
All of these settings can also be changed in the print dialog just before
 
3054
same as the ones which can be used with the ANSI C strftime function.</p>
 
3055
<p>All of these settings can also be changed in the print dialog just before
2620
3056
actual printing is done.
2621
3057
On Unix-like systems the provided print dialog offers a print preview. The
2622
 
preview file is opened with a PDF viewer and by default GTK uses <tt class="docutils literal">evince</tt>
2623
 
for print preview. If you don't have installed evince or just want to use
 
3058
preview file is opened with a PDF viewer and by default GTK uses <tt class="docutils literal"><span class="pre">evince</span></tt>
 
3059
for print preview. If you have not installed evince or just want to use
2624
3060
another PDF viewer, you can change the program to use in the file
2625
3061
<tt class="docutils literal"><span class="pre">.gtkrc-2.0</span></tt> (usually found in your home directory). Simply add a line
2626
3062
like:</p>
2639
3075
<pre class="literal-block">
2640
3076
% lpr %f
2641
3077
</pre>
2642
 
<p><tt class="docutils literal">%f</tt> will be substituted by the filename of the current file. Geany
 
3078
<p><tt class="docutils literal"><span class="pre">%f</span></tt> will be substituted by the filename of the current file. Geany
2643
3079
will not show errors from the command itself, so you should make
2644
3080
sure that it works before(e.g. by trying to execute it from the
2645
3081
command line).</p>
2646
 
<p>A nicer example, which I prefer is:</p>
 
3082
<p>A nicer example, which many prefer is:</p>
2647
3083
<pre class="literal-block">
2648
3084
% a2ps -1 --medium=A4 -o - %f | xfprint4
2649
3085
</pre>
2650
3086
<p>But this depends on a2ps and xfprint4. As a replacement for xfprint4,
2651
3087
gtklp or similar programs can be used.</p>
2652
3088
</div>
2653
 
<div class="section" id="plugins">
2654
 
<h2><a class="toc-backref" href="#id139">Plugins</a></h2>
 
3089
<div class="section">
 
3090
<h2><a class="toc-backref" href="#id147" id="plugins" name="plugins">Plugins</a></h2>
2655
3091
<p>Plugins are loaded at startup, if the <em>Enable plugin support</em>
2656
3092
general preference is set. There is also a command-line option,
2657
3093
<tt class="docutils literal"><span class="pre">-p</span></tt>, which prevents plugins being loaded. Plugins are scanned in
2658
3094
the following directories:</p>
2659
3095
<ul class="simple">
2660
 
<li><tt class="docutils literal">$prefix/lib/geany</tt> (see <a class="reference internal" href="#installation-prefix">Installation prefix</a>)</li>
 
3096
<li><tt class="docutils literal"><span class="pre">$prefix/lib/geany</span></tt> (see <a class="reference" href="#installation-prefix">Installation prefix</a>)</li>
2661
3097
<li><tt class="docutils literal"><span class="pre">~/.config/geany/plugins</span></tt></li>
2662
3098
</ul>
2663
3099
<p>Most plugins add menu items to the <em>Tools</em> menu when they are loaded.</p>
2668
3104
By default, no plugins are loaded at startup until you select some.
2669
3105
You can also configure some plugin specific options when the plugin
2670
3106
provides some.</p>
2671
 
<p>See also <a class="reference internal" href="#plugin-documentation">Plugin documentation</a> for information about single plugins
 
3107
<p>See also <a class="reference" href="#plugin-documentation">Plugin documentation</a> for information about single plugins
2672
3108
which are included in Geany.</p>
2673
3109
</div>
2674
 
<div class="section" id="keybindings">
2675
 
<h2><a class="toc-backref" href="#id140">Keybindings</a></h2>
 
3110
<div class="section">
 
3111
<h2><a class="toc-backref" href="#id148" id="keybindings" name="keybindings">Keybindings</a></h2>
2676
3112
<p>Geany supports the default keyboard shortcuts for the Scintilla
2677
 
editing widget. For a list of these commands, see <a class="reference internal" href="#scintilla-keyboard-commands">Scintilla
 
3113
editing widget. For a list of these commands, see <a class="reference" href="#scintilla-keyboard-commands">Scintilla
2678
3114
keyboard commands</a>. The Scintilla keyboard shortcuts will be overridden
2679
3115
by any custom keybindings with the same keyboard shortcut.</p>
2680
 
<div class="section" id="switching-documents">
2681
 
<h3><a class="toc-backref" href="#id141">Switching documents</a></h3>
 
3116
<div class="section">
 
3117
<h3><a class="toc-backref" href="#id149" id="switching-documents" name="switching-documents">Switching documents</a></h3>
2682
3118
<p>There are a few non-configurable bindings to switch between documents,
2683
3119
listed below. These can also be overridden by custom keybindings.</p>
2684
3120
<table border="1" class="docutils">
2707
3143
</tbody>
2708
3144
</table>
2709
3145
</div>
2710
 
<div class="section" id="configurable-keybindings">
2711
 
<h3><a class="toc-backref" href="#id142">Configurable keybindings</a></h3>
 
3146
<div class="section">
 
3147
<h3><a class="toc-backref" href="#id150" id="configurable-keybindings" name="configurable-keybindings">Configurable keybindings</a></h3>
2712
3148
<p>For all actions listed below you can define your own keybindings. Open
2713
3149
the Preferences dialog, select the desired action and click on
2714
 
change. In the opening dialog you can press any key combination you
2715
 
want and it will be saved when you press OK. You can define only one
2716
 
key combination for one action.</p>
2717
 
<p>Some of the default key combinations cannot be changed, e.g. menu_new
2718
 
or menu_open. These are set by GTK and should be kept, but you can
2719
 
still add other key combinations for these actions. For example to
2720
 
execute menu_open by default <em>Ctrl-O</em> is set, but you can also define
2721
 
<em>Alt-O</em>, so that the file open dialog is shown by pressing either
2722
 
<em>Ctrl-O</em> or <em>Alt-O</em>.</p>
2723
 
<p>The following table lists all customizable keyboard shortcuts.</p>
 
3150
change. In the resulting dialog you can press the key combination you
 
3151
want to assign to the action and it will be saved when you press OK.
 
3152
You can define only one key combination for each action and each key
 
3153
combination can only be defined for one action.</p>
 
3154
<p>Some of the default key combinations are common across many
 
3155
applications, for example <em>Ctrl-N</em> for New and <em>Ctrl-O</em> for Open.
 
3156
Because they are so common it is not advisable to change these, but
 
3157
you can add other key combinations for these actions. For example
 
3158
<em>Ctrl-O</em> is set to execute menu_open by default, but you can also
 
3159
define <em>Alt-O</em>, so that the file open dialog is shown by pressing
 
3160
either <em>Ctrl-O</em> or <em>Alt-O</em>.</p>
 
3161
<p>The following tables list all customizable keyboard shortcuts, those
 
3162
which are common to many applications are marked with (C) after the
 
3163
shortcut.</p>
 
3164
<div class="section">
 
3165
<h4><a class="toc-backref" href="#id151" id="file-keybindings" name="file-keybindings">File keybindings</a></h4>
2724
3166
<table border="1" class="docutils">
2725
3167
<colgroup>
2726
 
<col width="28%" />
2727
 
<col width="23%" />
2728
 
<col width="49%" />
 
3168
<col width="29%" />
 
3169
<col width="24%" />
 
3170
<col width="47%" />
2729
3171
</colgroup>
2730
3172
<thead valign="bottom">
2731
3173
<tr><th class="head">Action</th>
2734
3176
</tr>
2735
3177
</thead>
2736
3178
<tbody valign="top">
2737
 
<tr><td><strong>File</strong></td>
2738
 
<td>&nbsp;</td>
2739
 
<td>&nbsp;</td>
2740
 
</tr>
2741
3179
<tr><td>New</td>
2742
 
<td>Ctrl-N</td>
 
3180
<td>Ctrl-N  (C)</td>
2743
3181
<td>Creates a new file.</td>
2744
3182
</tr>
2745
3183
<tr><td>Open</td>
2746
 
<td>Ctrl-O</td>
 
3184
<td>Ctrl-O  (C)</td>
2747
3185
<td>Opens a file.</td>
2748
3186
</tr>
 
3187
<tr><td>Open selected file</td>
 
3188
<td>Ctrl-Shift-O</td>
 
3189
<td>Opens the selected filename.</td>
 
3190
</tr>
 
3191
<tr><td>Re-open last closed tab</td>
 
3192
<td>&nbsp;</td>
 
3193
<td>Re-opens the last closed document tab.</td>
 
3194
</tr>
2749
3195
<tr><td>Save</td>
2750
 
<td>Ctrl-S</td>
 
3196
<td>Ctrl-S  (C)</td>
2751
3197
<td>Saves the current file.</td>
2752
3198
</tr>
2753
3199
<tr><td>Save As</td>
2763
3209
<td>Closes all open files.</td>
2764
3210
</tr>
2765
3211
<tr><td>Close</td>
2766
 
<td>Ctrl-W</td>
 
3212
<td>Ctrl-W  (C)</td>
2767
3213
<td>Closes the current file.</td>
2768
3214
</tr>
2769
3215
<tr><td>Reload file</td>
2770
 
<td>Ctrl-R</td>
 
3216
<td>Ctrl-R  (C)</td>
2771
3217
<td>Reloads the current file. All unsaved changes
2772
3218
will be lost.</td>
2773
3219
</tr>
2774
3220
<tr><td>Print</td>
2775
 
<td>Ctrl-P</td>
 
3221
<td>Ctrl-P  (C)</td>
2776
3222
<td>Prints the current file.</td>
2777
3223
</tr>
2778
 
<tr><td><strong>Editor</strong></td>
2779
 
<td>&nbsp;</td>
2780
 
<td>&nbsp;</td>
 
3224
</tbody>
 
3225
</table>
 
3226
</div>
 
3227
<div class="section">
 
3228
<h4><a class="toc-backref" href="#id152" id="editor-keybindings" name="editor-keybindings">Editor keybindings</a></h4>
 
3229
<table border="1" class="docutils">
 
3230
<colgroup>
 
3231
<col width="29%" />
 
3232
<col width="24%" />
 
3233
<col width="47%" />
 
3234
</colgroup>
 
3235
<thead valign="bottom">
 
3236
<tr><th class="head">Action</th>
 
3237
<th class="head">Default shortcut</th>
 
3238
<th class="head">Description</th>
2781
3239
</tr>
 
3240
</thead>
 
3241
<tbody valign="top">
2782
3242
<tr><td>Undo</td>
2783
 
<td>Ctrl-Z</td>
 
3243
<td>Ctrl-Z  (C)</td>
2784
3244
<td>Un-does the last action.</td>
2785
3245
</tr>
2786
3246
<tr><td>Redo</td>
2829
3289
</tr>
2830
3290
<tr><td>Show calltip</td>
2831
3291
<td>Ctrl-Shift-Space</td>
2832
 
<td>Shows call tips for the current function or
 
3292
<td>Shows a calltip for the current function or
2833
3293
method.</td>
2834
3294
</tr>
2835
3295
<tr><td>Show macro list</td>
2858
3318
<td>&nbsp;</td>
2859
3319
<td>Executes a command and passes the current word
2860
3320
(near the cursor position) or selection as an
2861
 
argument. See the section called <a class="reference internal" href="#context-actions">Context
 
3321
argument. See the section called <a class="reference" href="#context-actions">Context
2862
3322
actions</a>.</td>
2863
3323
</tr>
2864
3324
<tr><td>Move cursor in snippet</td>
2867
3327
completed snippets if multiple cursor positions
2868
3328
where defined.</td>
2869
3329
</tr>
2870
 
<tr><td><strong>Clipboard</strong></td>
2871
 
<td>&nbsp;</td>
2872
 
<td>&nbsp;</td>
2873
 
</tr>
 
3330
<tr><td>Word part completion</td>
 
3331
<td>Tab</td>
 
3332
<td>When the autocompletion list is visible, complete
 
3333
the currently selected item up to the next word
 
3334
part.</td>
 
3335
</tr>
 
3336
<tr><td>Move line(s) up</td>
 
3337
<td>&nbsp;</td>
 
3338
<td>Move the current line or selected lines up by
 
3339
one line.</td>
 
3340
</tr>
 
3341
<tr><td>Move line(s) down</td>
 
3342
<td>&nbsp;</td>
 
3343
<td>Move the current line or selected lines down by
 
3344
one line.</td>
 
3345
</tr>
 
3346
</tbody>
 
3347
</table>
 
3348
</div>
 
3349
<div class="section">
 
3350
<h4><a class="toc-backref" href="#id153" id="clipboard-keybindings" name="clipboard-keybindings">Clipboard keybindings</a></h4>
 
3351
<table border="1" class="docutils">
 
3352
<colgroup>
 
3353
<col width="29%" />
 
3354
<col width="23%" />
 
3355
<col width="48%" />
 
3356
</colgroup>
 
3357
<thead valign="bottom">
 
3358
<tr><th class="head">Action</th>
 
3359
<th class="head">Default shortcut</th>
 
3360
<th class="head">Description</th>
 
3361
</tr>
 
3362
</thead>
 
3363
<tbody valign="top">
2874
3364
<tr><td>Cut</td>
2875
 
<td>Ctrl-X</td>
 
3365
<td>Ctrl-X  (C)</td>
2876
3366
<td>Cut the current selection to the clipboard.</td>
2877
3367
</tr>
2878
3368
<tr><td>Copy</td>
2879
 
<td>Ctrl-C</td>
 
3369
<td>Ctrl-C  (C)</td>
2880
3370
<td>Copy the current selection to the clipboard.</td>
2881
3371
</tr>
2882
3372
<tr><td>Paste</td>
2883
 
<td>Ctrl-V</td>
 
3373
<td>Ctrl-V  (C)</td>
2884
3374
<td>Paste the clipboard text into the current document.</td>
2885
3375
</tr>
2886
3376
<tr><td>Cut current line(s)</td>
2893
3383
<td>Copies the current line (and any lines with a
2894
3384
selection) to the clipboard.</td>
2895
3385
</tr>
2896
 
<tr><td><strong>Select</strong></td>
2897
 
<td>&nbsp;</td>
2898
 
<td>&nbsp;</td>
 
3386
</tbody>
 
3387
</table>
 
3388
</div>
 
3389
<div class="section">
 
3390
<h4><a class="toc-backref" href="#id154" id="select-keybindings" name="select-keybindings">Select keybindings</a></h4>
 
3391
<table border="1" class="docutils">
 
3392
<colgroup>
 
3393
<col width="29%" />
 
3394
<col width="24%" />
 
3395
<col width="47%" />
 
3396
</colgroup>
 
3397
<thead valign="bottom">
 
3398
<tr><th class="head">Action</th>
 
3399
<th class="head">Default shortcut</th>
 
3400
<th class="head">Description</th>
2899
3401
</tr>
 
3402
</thead>
 
3403
<tbody valign="top">
2900
3404
<tr><td>Select all</td>
2901
 
<td>Ctrl-A</td>
 
3405
<td>Ctrl-A  (C)</td>
2902
3406
<td>Makes a selection of all text in the current
2903
3407
document.</td>
2904
3408
</tr>
2916
3420
<td>Selects the current line under the cursor (and any
2917
3421
partially selected lines).</td>
2918
3422
</tr>
2919
 
<tr><td><strong>Insert</strong></td>
2920
 
<td>&nbsp;</td>
2921
 
<td>&nbsp;</td>
2922
 
</tr>
 
3423
<tr><td>Select to previous word part</td>
 
3424
<td>&nbsp;</td>
 
3425
<td>(Extend) selection to previous word part boundary.</td>
 
3426
</tr>
 
3427
<tr><td>Select to next word part</td>
 
3428
<td>&nbsp;</td>
 
3429
<td>(Extend) selection to next word part boundary.</td>
 
3430
</tr>
 
3431
</tbody>
 
3432
</table>
 
3433
</div>
 
3434
<div class="section">
 
3435
<h4><a class="toc-backref" href="#id155" id="insert-keybindings" name="insert-keybindings">Insert keybindings</a></h4>
 
3436
<table border="1" class="docutils">
 
3437
<colgroup>
 
3438
<col width="29%" />
 
3439
<col width="24%" />
 
3440
<col width="47%" />
 
3441
</colgroup>
 
3442
<thead valign="bottom">
 
3443
<tr><th class="head">Action</th>
 
3444
<th class="head">Default shortcut</th>
 
3445
<th class="head">Description</th>
 
3446
</tr>
 
3447
</thead>
 
3448
<tbody valign="top">
2923
3449
<tr><td>Insert date</td>
2924
3450
<td>Shift-Alt-D</td>
2925
3451
<td>Inserts a customisable date.</td>
2931
3457
characters of the amount of a tab width when
2932
3458
tabs should be used for indentation.</td>
2933
3459
</tr>
2934
 
<tr><td><strong>Format</strong></td>
2935
 
<td>&nbsp;</td>
2936
 
<td>&nbsp;</td>
 
3460
</tbody>
 
3461
</table>
 
3462
</div>
 
3463
<div class="section">
 
3464
<h4><a class="toc-backref" href="#id156" id="format-keybindings" name="format-keybindings">Format keybindings</a></h4>
 
3465
<table border="1" class="docutils">
 
3466
<colgroup>
 
3467
<col width="29%" />
 
3468
<col width="24%" />
 
3469
<col width="47%" />
 
3470
</colgroup>
 
3471
<thead valign="bottom">
 
3472
<tr><th class="head">Action</th>
 
3473
<th class="head">Default shortcut</th>
 
3474
<th class="head">Description</th>
2937
3475
</tr>
 
3476
</thead>
 
3477
<tbody valign="top">
2938
3478
<tr><td>Toggle case of selection</td>
2939
3479
<td>Ctrl-Alt-U</td>
2940
3480
<td>Changes the case of the selection. A lowercase
2988
3528
<td>Passes the current selection to a configured
2989
3529
external command (available for the first
2990
3530
three configured commands, see
2991
 
<a class="reference internal" href="#send-text-through-definable-commands">Send text through definable commands</a> for
 
3531
<a class="reference" href="#sending-text-through-custom-commands">Sending text through custom commands</a> for
2992
3532
details).</td>
2993
3533
</tr>
2994
3534
<tr><td>Send Selection to Terminal</td>
3001
3541
<td>&nbsp;</td>
3002
3542
<td>Reformat selected lines or current
3003
3543
(indented) text block,
3004
 
breaking lines at the long line marker.</td>
3005
 
</tr>
3006
 
<tr><td><strong>Settings</strong></td>
3007
 
<td>&nbsp;</td>
3008
 
<td>&nbsp;</td>
3009
 
</tr>
 
3544
breaking lines at the long line marker or the
 
3545
line breaking column if line breaking is
 
3546
enabled for the current document.</td>
 
3547
</tr>
 
3548
</tbody>
 
3549
</table>
 
3550
</div>
 
3551
<div class="section">
 
3552
<h4><a class="toc-backref" href="#id157" id="settings-keybindings" name="settings-keybindings">Settings keybindings</a></h4>
 
3553
<table border="1" class="docutils">
 
3554
<colgroup>
 
3555
<col width="29%" />
 
3556
<col width="24%" />
 
3557
<col width="47%" />
 
3558
</colgroup>
 
3559
<thead valign="bottom">
 
3560
<tr><th class="head">Action</th>
 
3561
<th class="head">Default shortcut</th>
 
3562
<th class="head">Description</th>
 
3563
</tr>
 
3564
</thead>
 
3565
<tbody valign="top">
3010
3566
<tr><td>Preferences</td>
3011
3567
<td>Ctrl-Alt-P</td>
3012
3568
<td>Opens preferences dialog.</td>
3013
3569
</tr>
3014
 
<tr><td><strong>Search</strong></td>
3015
 
<td>&nbsp;</td>
3016
 
<td>&nbsp;</td>
3017
 
</tr>
 
3570
<tr><td>Plugin Preferences</td>
 
3571
<td>&nbsp;</td>
 
3572
<td>Opens plugin preferences dialog.</td>
 
3573
</tr>
 
3574
</tbody>
 
3575
</table>
 
3576
</div>
 
3577
<div class="section">
 
3578
<h4><a class="toc-backref" href="#id158" id="search-keybindings" name="search-keybindings">Search keybindings</a></h4>
 
3579
<table border="1" class="docutils">
 
3580
<colgroup>
 
3581
<col width="29%" />
 
3582
<col width="24%" />
 
3583
<col width="47%" />
 
3584
</colgroup>
 
3585
<thead valign="bottom">
 
3586
<tr><th class="head">Action</th>
 
3587
<th class="head">Default shortcut</th>
 
3588
<th class="head">Description</th>
 
3589
</tr>
 
3590
</thead>
 
3591
<tbody valign="top">
3018
3592
<tr><td>Find</td>
3019
 
<td>Ctrl-F</td>
 
3593
<td>Ctrl-F  (C)</td>
3020
3594
<td>Opens the Find dialog.</td>
3021
3595
</tr>
3022
3596
<tr><td>Find Next</td>
3028
3602
<td>Finds previous result.</td>
3029
3603
</tr>
3030
3604
<tr><td>Replace</td>
3031
 
<td>Ctrl-H</td>
 
3605
<td>Ctrl-H  (C)</td>
3032
3606
<td>Opens the Replace dialog.</td>
3033
3607
</tr>
3034
3608
<tr><td>Find in files</td>
3060
3634
window.</td>
3061
3635
</tr>
3062
3636
<tr><td>Mark All</td>
3063
 
<td>&nbsp;</td>
 
3637
<td>Ctrl-Shift-M</td>
3064
3638
<td>Highlight all matches of the current
3065
3639
word/selection in the current document
3066
3640
with a colored box. If there's nothing to
3067
3641
find, highlighted matches will be cleared.</td>
3068
3642
</tr>
3069
 
<tr><td><strong>Go to</strong></td>
3070
 
<td>&nbsp;</td>
3071
 
<td>&nbsp;</td>
 
3643
</tbody>
 
3644
</table>
 
3645
</div>
 
3646
<div class="section">
 
3647
<h4><a class="toc-backref" href="#id159" id="go-to-keybindings" name="go-to-keybindings">Go to keybindings</a></h4>
 
3648
<table border="1" class="docutils">
 
3649
<colgroup>
 
3650
<col width="29%" />
 
3651
<col width="24%" />
 
3652
<col width="47%" />
 
3653
</colgroup>
 
3654
<thead valign="bottom">
 
3655
<tr><th class="head">Action</th>
 
3656
<th class="head">Default shortcut</th>
 
3657
<th class="head">Description</th>
3072
3658
</tr>
 
3659
</thead>
 
3660
<tbody valign="top">
3073
3661
<tr><td>Navigate forward a location</td>
3074
3662
<td>&nbsp;</td>
3075
3663
<td>Switches to the next location in the navigation
3076
 
history. See the section called <a class="reference internal" href="#code-navigation-history">Code Navigation
 
3664
history. See the section called <a class="reference" href="#code-navigation-history">Code Navigation
3077
3665
History</a>.</td>
3078
3666
</tr>
3079
3667
<tr><td>Navigate back a location</td>
3080
3668
<td>&nbsp;</td>
3081
3669
<td>Switches to the previous location in the
3082
3670
navigation history. See the section called
3083
 
<a class="reference internal" href="#code-navigation-history">Code navigation history</a>.</td>
 
3671
<a class="reference" href="#code-navigation-history">Code navigation history</a>.</td>
3084
3672
</tr>
3085
3673
<tr><td>Go to line</td>
3086
3674
<td>Ctrl-L</td>
3087
 
<td>Opens the Go to line dialog.</td>
 
3675
<td>Focuses the Go to Line entry (if visible) or
 
3676
shows the Go to line dialog.</td>
3088
3677
</tr>
3089
3678
<tr><td>Goto matching brace</td>
3090
3679
<td>Ctrl-B</td>
3112
3701
the keyboard cursor). If the definition cannot be
3113
3702
found (e.g. the relevant file is not open) Geany
3114
3703
will beep and do nothing. See the section called
3115
 
<a class="reference internal" href="#go-to-tag-definition">Go to tag definition</a>.</td>
 
3704
<a class="reference" href="#go-to-tag-definition">Go to tag definition</a>.</td>
3116
3705
</tr>
3117
3706
<tr><td>Go to tag declaration</td>
3118
3707
<td>&nbsp;</td>
3120
3709
the keyboard cursor). If the declaration cannot be
3121
3710
found (e.g. the relevant file is not open) Geany
3122
3711
will beep and do nothing. See the section called
3123
 
<a class="reference internal" href="#go-to-tag-declaration">Go to tag declaration</a>.</td>
 
3712
<a class="reference" href="#go-to-tag-declaration">Go to tag declaration</a>.</td>
3124
3713
</tr>
3125
3714
<tr><td>Go to Start of Line</td>
3126
3715
<td>Home</td>
3149
3738
<td>Ctrl-</td>
3150
3739
<td>Goto the next part of the current word.</td>
3151
3740
</tr>
3152
 
<tr><td><strong>View</strong></td>
3153
 
<td>&nbsp;</td>
3154
 
<td>&nbsp;</td>
 
3741
</tbody>
 
3742
</table>
 
3743
</div>
 
3744
<div class="section">
 
3745
<h4><a class="toc-backref" href="#id160" id="view-keybindings" name="view-keybindings">View keybindings</a></h4>
 
3746
<table border="1" class="docutils">
 
3747
<colgroup>
 
3748
<col width="29%" />
 
3749
<col width="24%" />
 
3750
<col width="47%" />
 
3751
</colgroup>
 
3752
<thead valign="bottom">
 
3753
<tr><th class="head">Action</th>
 
3754
<th class="head">Default shortcut</th>
 
3755
<th class="head">Description</th>
3155
3756
</tr>
 
3757
</thead>
 
3758
<tbody valign="top">
3156
3759
<tr><td>Fullscreen</td>
3157
 
<td>F11</td>
 
3760
<td>F11  (C)</td>
3158
3761
<td>Switches to fullscreen mode.</td>
3159
3762
</tr>
3160
3763
<tr><td>Toggle Messages Window</td>
3170
3773
<td>&nbsp;</td>
3171
3774
<td>Hide and show all additional widgets like the
3172
3775
notebook tabs, the toolbar, the messages window
3173
 
and the statusbar.</td>
 
3776
and the status bar.</td>
3174
3777
</tr>
3175
3778
<tr><td>Zoom In</td>
3176
 
<td>Ctrl-+</td>
3177
 
<td>Zooms in the text</td>
 
3779
<td>Ctrl-+  (C)</td>
 
3780
<td>Zooms in the text.</td>
3178
3781
</tr>
3179
3782
<tr><td>Zoom Out</td>
3180
 
<td>Ctrl--</td>
3181
 
<td>Zooms out the text</td>
3182
 
</tr>
3183
 
<tr><td><strong>Focus</strong></td>
3184
 
<td>&nbsp;</td>
3185
 
<td>&nbsp;</td>
3186
 
</tr>
 
3783
<td>Ctrl--  (C)</td>
 
3784
<td>Zooms out the text.</td>
 
3785
</tr>
 
3786
<tr><td>Zoom Reset</td>
 
3787
<td>Ctrl-0</td>
 
3788
<td>Reset any previous zoom on the text.</td>
 
3789
</tr>
 
3790
</tbody>
 
3791
</table>
 
3792
</div>
 
3793
<div class="section">
 
3794
<h4><a class="toc-backref" href="#id161" id="focus-keybindings" name="focus-keybindings">Focus keybindings</a></h4>
 
3795
<table border="1" class="docutils">
 
3796
<colgroup>
 
3797
<col width="30%" />
 
3798
<col width="23%" />
 
3799
<col width="47%" />
 
3800
</colgroup>
 
3801
<thead valign="bottom">
 
3802
<tr><th class="head">Action</th>
 
3803
<th class="head">Default shortcut</th>
 
3804
<th class="head">Description</th>
 
3805
</tr>
 
3806
</thead>
 
3807
<tbody valign="top">
3187
3808
<tr><td>Switch to Editor</td>
3188
3809
<td>F2</td>
3189
 
<td>Switches to editor widget.</td>
 
3810
<td>Switches to editor widget.
 
3811
Also reshows the document statistics line
 
3812
(after a short timeout).</td>
3190
3813
</tr>
3191
3814
<tr><td>Switch to Scribble</td>
3192
3815
<td>F6</td>
3209
3832
<td>&nbsp;</td>
3210
3833
<td>Focus the Compiler message window tab.</td>
3211
3834
</tr>
3212
 
<tr><td><strong>Notebook tabs</strong></td>
3213
 
<td>&nbsp;</td>
3214
 
<td>&nbsp;</td>
3215
 
</tr>
 
3835
<tr><td>Switch to Messages</td>
 
3836
<td>&nbsp;</td>
 
3837
<td>Focus the Messages message window tab.</td>
 
3838
</tr>
 
3839
<tr><td>Switch to Message Window</td>
 
3840
<td>&nbsp;</td>
 
3841
<td>Focus the Message Window's current tab.</td>
 
3842
</tr>
 
3843
<tr><td>Switch to Sidebar Document List</td>
 
3844
<td>&nbsp;</td>
 
3845
<td>Focus the Document list tab in the Sidebar
 
3846
(if visible).</td>
 
3847
</tr>
 
3848
<tr><td>Switch to Sidebar Symbol List</td>
 
3849
<td>&nbsp;</td>
 
3850
<td>Focus the Symbol list tab in the Sidebar
 
3851
(if visible).</td>
 
3852
</tr>
 
3853
</tbody>
 
3854
</table>
 
3855
</div>
 
3856
<div class="section">
 
3857
<h4><a class="toc-backref" href="#id162" id="notebook-tab-keybindings" name="notebook-tab-keybindings">Notebook tab keybindings</a></h4>
 
3858
<table border="1" class="docutils">
 
3859
<colgroup>
 
3860
<col width="28%" />
 
3861
<col width="23%" />
 
3862
<col width="49%" />
 
3863
</colgroup>
 
3864
<thead valign="bottom">
 
3865
<tr><th class="head">Action</th>
 
3866
<th class="head">Default shortcut</th>
 
3867
<th class="head">Description</th>
 
3868
</tr>
 
3869
</thead>
 
3870
<tbody valign="top">
3216
3871
<tr><td>Switch to left document</td>
3217
 
<td>Ctrl-PageUp</td>
 
3872
<td>Ctrl-PageUp   (C)</td>
3218
3873
<td>Switches to the previous open document.</td>
3219
3874
</tr>
3220
3875
<tr><td>Switch to right document</td>
3221
 
<td>Ctrl-PageDown</td>
 
3876
<td>Ctrl-PageDown (C)</td>
3222
3877
<td>Switches to the next open document.</td>
3223
3878
</tr>
3224
3879
<tr><td>Switch to last used document</td>
3249
3904
<td>&nbsp;</td>
3250
3905
<td>Moves the current document to the last position.</td>
3251
3906
</tr>
3252
 
<tr><td><strong>Document</strong></td>
3253
 
<td>&nbsp;</td>
3254
 
<td>&nbsp;</td>
 
3907
</tbody>
 
3908
</table>
 
3909
</div>
 
3910
<div class="section">
 
3911
<h4><a class="toc-backref" href="#id163" id="document-keybindings" name="document-keybindings">Document keybindings</a></h4>
 
3912
<table border="1" class="docutils">
 
3913
<colgroup>
 
3914
<col width="29%" />
 
3915
<col width="23%" />
 
3916
<col width="48%" />
 
3917
</colgroup>
 
3918
<thead valign="bottom">
 
3919
<tr><th class="head">Action</th>
 
3920
<th class="head">Default shortcut</th>
 
3921
<th class="head">Description</th>
3255
3922
</tr>
 
3923
</thead>
 
3924
<tbody valign="top">
3256
3925
<tr><td>Replace tabs by space</td>
3257
3926
<td>&nbsp;</td>
3258
3927
<td>Replaces all tabs with the right amount of spaces.</td>
3286
3955
<td>Enables or disables automatic breaking of long
3287
3956
lines at a configurable column.</td>
3288
3957
</tr>
3289
 
<tr><td><strong>Build</strong></td>
3290
 
<td>&nbsp;</td>
3291
 
<td>&nbsp;</td>
3292
 
</tr>
 
3958
<tr><td>Remove Markers</td>
 
3959
<td>&nbsp;</td>
 
3960
<td>Remove any markers on lines or words which
 
3961
were set by using 'Mark All' in the
 
3962
search dialog or by manually marking lines.</td>
 
3963
</tr>
 
3964
<tr><td>Remove Error Indicators</td>
 
3965
<td>&nbsp;</td>
 
3966
<td>Remove any error indicators in the
 
3967
current document.</td>
 
3968
</tr>
 
3969
</tbody>
 
3970
</table>
 
3971
</div>
 
3972
<div class="section">
 
3973
<h4><a class="toc-backref" href="#id164" id="build-keybindings" name="build-keybindings">Build keybindings</a></h4>
 
3974
<table border="1" class="docutils">
 
3975
<colgroup>
 
3976
<col width="29%" />
 
3977
<col width="24%" />
 
3978
<col width="47%" />
 
3979
</colgroup>
 
3980
<thead valign="bottom">
 
3981
<tr><th class="head">Action</th>
 
3982
<th class="head">Default shortcut</th>
 
3983
<th class="head">Description</th>
 
3984
</tr>
 
3985
</thead>
 
3986
<tbody valign="top">
3293
3987
<tr><td>Compile</td>
3294
3988
<td>F8</td>
3295
3989
<td>Compiles the current file.</td>
3326
4020
<td>F5</td>
3327
4021
<td>Executes the current file in a terminal emulation.</td>
3328
4022
</tr>
3329
 
<tr><td>Run (alternative command)</td>
3330
 
<td>&nbsp;</td>
3331
 
<td>Executes the current file in a terminal emulation.</td>
3332
 
</tr>
3333
 
<tr><td>Build options</td>
3334
 
<td>&nbsp;</td>
3335
 
<td>Opens the build options dialog.</td>
3336
 
</tr>
3337
 
<tr><td><strong>Tools</strong></td>
3338
 
<td>&nbsp;</td>
3339
 
<td>&nbsp;</td>
3340
 
</tr>
 
4023
<tr><td>Set Build Commands</td>
 
4024
<td>&nbsp;</td>
 
4025
<td>Opens the build commands dialog.</td>
 
4026
</tr>
 
4027
</tbody>
 
4028
</table>
 
4029
</div>
 
4030
<div class="section">
 
4031
<h4><a class="toc-backref" href="#id165" id="tools-keybindings" name="tools-keybindings">Tools keybindings</a></h4>
 
4032
<table border="1" class="docutils">
 
4033
<colgroup>
 
4034
<col width="29%" />
 
4035
<col width="24%" />
 
4036
<col width="47%" />
 
4037
</colgroup>
 
4038
<thead valign="bottom">
 
4039
<tr><th class="head">Action</th>
 
4040
<th class="head">Default shortcut</th>
 
4041
<th class="head">Description</th>
 
4042
</tr>
 
4043
</thead>
 
4044
<tbody valign="top">
3341
4045
<tr><td>Show Color Chooser</td>
3342
4046
<td>&nbsp;</td>
3343
4047
<td>Opens the Color Chooser dialog.</td>
3344
4048
</tr>
3345
 
<tr><td><strong>Help</strong></td>
3346
 
<td>&nbsp;</td>
3347
 
<td>&nbsp;</td>
 
4049
</tbody>
 
4050
</table>
 
4051
</div>
 
4052
<div class="section">
 
4053
<h4><a class="toc-backref" href="#id166" id="help-keybindings" name="help-keybindings">Help keybindings</a></h4>
 
4054
<table border="1" class="docutils">
 
4055
<colgroup>
 
4056
<col width="29%" />
 
4057
<col width="24%" />
 
4058
<col width="47%" />
 
4059
</colgroup>
 
4060
<thead valign="bottom">
 
4061
<tr><th class="head">Action</th>
 
4062
<th class="head">Default shortcut</th>
 
4063
<th class="head">Description</th>
3348
4064
</tr>
 
4065
</thead>
 
4066
<tbody valign="top">
3349
4067
<tr><td>Help</td>
3350
 
<td>F1</td>
 
4068
<td>F1 (C)</td>
3351
4069
<td>Opens the manual.</td>
3352
4070
</tr>
3353
4071
</tbody>
3355
4073
</div>
3356
4074
</div>
3357
4075
</div>
3358
 
<div class="section" id="configuration-files">
3359
 
<h1><a class="toc-backref" href="#id143">Configuration files</a></h1>
3360
 
<div class="section" id="tools-menu-items">
3361
 
<h2><a class="toc-backref" href="#id144">Tools menu items</a></h2>
 
4076
</div>
 
4077
<div class="section">
 
4078
<h1><a class="toc-backref" href="#id167" id="id4" name="id4">Configuration files</a></h1>
 
4079
<div class="warning">
 
4080
<p class="first admonition-title">Warning</p>
 
4081
<p class="last">You must use UTF-8 encoding <em>without BOM</em> for configuration files.</p>
 
4082
</div>
 
4083
<div class="section">
 
4084
<h2><a class="toc-backref" href="#id168" id="tools-menu-items" name="tools-menu-items">Tools menu items</a></h2>
3362
4085
<p>There's a <em>Configuration files</em> submenu in the <em>Tools</em> menu that
3363
4086
contains items for some of the available user configuration files.
3364
4087
Clicking on one opens it in the editor for you to update. Geany will
3365
4088
reload the file after you have saved it.</p>
3366
4089
<div class="note">
3367
4090
<p class="first admonition-title">Note</p>
3368
 
<p class="last">Other configuration files are not shown here and you will need to open
3369
 
them manually and usually restart Geany to see any changes.</p>
 
4091
<p class="last">Other configuration files not shown here will need to be opened
 
4092
manually, and will not be automatically reloaded when saved.
 
4093
(see <em>Reload Configuration</em> below).</p>
3370
4094
</div>
3371
4095
<p>There's also a <em>Reload Configuration</em> item which can be used if you
3372
 
updated a configuration file outside of the current instance. This
3373
 
item is also necessary to update syntax highlighting colors.</p>
 
4096
updated one of the other configuration files, or modified or added
 
4097
template files.</p>
 
4098
<p><em>Reload Configuration</em> is also necessary to update syntax highlighting colors.</p>
3374
4099
<div class="note">
3375
4100
<p class="first admonition-title">Note</p>
3376
 
<p class="last">Syntax highlighting colors aren't updated after saving
3377
 
filetypes.common as this can take a short while depending on which
3378
 
documents are open.</p>
3379
 
</div>
3380
 
</div>
3381
 
<div class="section" id="global-configuration-file">
3382
 
<h2><a class="toc-backref" href="#id145">Global configuration file</a></h2>
3383
 
<p>You can use a global configuration file for Geany which will be used if
3384
 
the user starts Geany for the first time and an user's configuration
3385
 
file was not yet created or in case an user deleted the configuration
3386
 
file to use default values.</p>
 
4101
<p class="last">Syntax highlighting colors aren't updated in open documents after
 
4102
saving filetypes.common as this can possibly take a significant
 
4103
amount of time.</p>
 
4104
</div>
 
4105
</div>
 
4106
<div class="section">
 
4107
<h2><a class="toc-backref" href="#id169" id="global-configuration-file" name="global-configuration-file">Global configuration file</a></h2>
 
4108
<p>There is a global configuration file for Geany which will be used for
 
4109
any settings not defined in the users local configuration file.
 
4110
Settings present in the local configuration file override those in the global
 
4111
file.</p>
3387
4112
<p>The global configuration file is read from
3388
 
<tt class="docutils literal">$prefix/share/geany/geany.conf</tt> (where <tt class="docutils literal">$prefix</tt> is the path where
3389
 
Geany is installed, see <a class="reference internal" href="#installation-prefix">Installation prefix</a>) when starting Geany and
 
4113
<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
 
4114
Geany is installed, see <a class="reference" href="#installation-prefix">Installation prefix</a>) when starting Geany and
3390
4115
an user configuration file does not exist. It can contain any settings
3391
4116
which are found in the usual configuration file created by Geany but
3392
4117
does not have to contain all settings.</p>
3394
4119
<p class="first admonition-title">Note</p>
3395
4120
<p class="last">This feature is mainly intended for package maintainers or system
3396
4121
admins who want to set up Geany in a multi user environment and
3397
 
set some sane default values for this environment. Usual users won't
 
4122
set some sane default values for this environment. Usually users won't
3398
4123
need to do that.</p>
3399
4124
</div>
3400
4125
</div>
3401
 
<div class="section" id="filetype-definition-files">
3402
 
<h2><a class="toc-backref" href="#id146">Filetype definition files</a></h2>
 
4126
<div class="section">
 
4127
<h2><a class="toc-backref" href="#id170" id="filetype-definition-files" name="filetype-definition-files">Filetype definition files</a></h2>
3403
4128
<p>All color definitions and other filetype specific settings are
3404
4129
stored in the filetype definition files. Those settings are colors
3405
4130
for syntax highlighting, general settings like comment characters or
3406
4131
word delimiter characters as well as compiler and linker settings.</p>
 
4132
<div class="section">
 
4133
<h3><a class="toc-backref" href="#id171" id="custom-filetypes" name="custom-filetypes">Custom filetypes</a></h3>
 
4134
<p>At startup Geany looks for <tt class="docutils literal"><span class="pre">filetypes.*.conf</span></tt> files in the system and
 
4135
user filetype paths, adding any filetypes found with the name matching
 
4136
the '<tt class="docutils literal"><span class="pre">*</span></tt>' wildcard.</p>
 
4137
<p>Custom filetypes are not as powerful as built-in filetypes, but the following
 
4138
have been implemented:</p>
 
4139
<ul>
 
4140
<li><p class="first">Recognizing and setting the filetype (after the user has manually edited
 
4141
<tt class="docutils literal"><span class="pre">filetype_extensions.conf</span></tt>).</p>
 
4142
</li>
 
4143
<li><dl class="first docutils">
 
4144
<dt>Filetype settings in the [settings] section (see <a class="reference" href="#format">Format</a>).</dt>
 
4145
<dd><ul class="first last simple">
 
4146
<li>Using existing tag parsing (<tt class="docutils literal"><span class="pre">tag_parser</span></tt> key).</li>
 
4147
<li>Using existing syntax highlighting (<tt class="docutils literal"><span class="pre">lexer_filetype</span></tt> key).</li>
 
4148
</ul>
 
4149
</dd>
 
4150
</dl>
 
4151
</li>
 
4152
<li><p class="first">Build commands.</p>
 
4153
</li>
 
4154
<li><p class="first">Loading global tags files (namespace will be shared with tag_parser
 
4155
type).</p>
 
4156
</li>
 
4157
</ul>
 
4158
</div>
 
4159
<div class="section">
 
4160
<h3><a class="toc-backref" href="#id172" id="system-files" name="system-files">System files</a></h3>
3407
4161
<p>The system-wide configuration files can be found in
3408
 
<tt class="docutils literal">$prefix/share/geany</tt> and are called <tt class="docutils literal"><span class="pre">filetypes.$ext</span></tt>,
3409
 
where <tt class="docutils literal">$prefix</tt> is the path where Geany is installed (see
3410
 
<a class="reference internal" href="#installation-prefix">Installation prefix</a>) and $ext is the name of the filetype. For every
 
4162
<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>,
 
4163
where <tt class="docutils literal"><span class="pre">$prefix</span></tt> is the path where Geany is installed (see
 
4164
<a class="reference" href="#installation-prefix">Installation prefix</a>) and $ext is the name of the filetype. For every
3411
4165
filetype there is a corresponding definition file. There is one
3412
 
exception: <tt class="docutils literal">filetypes.common</tt> -- this file is for general settings,
 
4166
exception: <tt class="docutils literal"><span class="pre">filetypes.common</span></tt> -- this file is for general settings,
3413
4167
which are not specific to a certain filetype.</p>
3414
4168
<div class="warning">
3415
4169
<p class="first admonition-title">Warning</p>
3416
 
<p class="last">It is not recommended for users to edit the system-wide files,
 
4170
<p class="last">It is not recommended that users edit the system-wide files,
3417
4171
because they will be overridden when Geany is updated.</p>
3418
4172
</div>
3419
 
<p>To change the settings, copy a file from <tt class="docutils literal">$prefix/share/geany</tt> to
 
4173
</div>
 
4174
<div class="section">
 
4175
<h3><a class="toc-backref" href="#id173" id="user-files" name="user-files">User files</a></h3>
 
4176
<p>To change the settings, copy a file from <tt class="docutils literal"><span class="pre">$prefix/share/geany</span></tt> to
3420
4177
the subdirectory filedefs in your configuration directory (usually
3421
4178
<tt class="docutils literal"><span class="pre">~/.config/geany/</span></tt>).</p>
3422
4179
<p>For example:</p>
3428
4185
configuration directory. Alternatively, you can create a file
3429
4186
<tt class="docutils literal"><span class="pre">~/.config/geany/filedefs/filetypes.X</span></tt> and add only these settings you want
3430
4187
to change. All missing settings will be read from the corresponding
3431
 
global definition file in <tt class="docutils literal">$prefix/share/geany</tt>.</p>
3432
 
<div class="section" id="format">
3433
 
<h3><a class="toc-backref" href="#id147">Format</a></h3>
3434
 
<div class="section" id="styling-section">
3435
 
<h4><a class="toc-backref" href="#id148">[styling] Section</a></h4>
 
4188
global definition file in <tt class="docutils literal"><span class="pre">$prefix/share/geany</span></tt>.</p>
 
4189
<p>As well as the sections listed below, each filetype file can contain
 
4190
a [build-menu] section as described in <a class="reference" href="#build-menu-section">[build-menu] Section</a>.</p>
 
4191
</div>
 
4192
<div class="section">
 
4193
<h3><a class="toc-backref" href="#id174" id="format" name="format">Format</a></h3>
 
4194
<div class="section">
 
4195
<h4><a class="toc-backref" href="#id175" id="styling-section" name="styling-section">[styling] Section</a></h4>
3436
4196
<p>In this section the colors for syntax highlighting are defined. The
3437
4197
manual format is:</p>
3438
4198
<ul class="simple">
3439
 
<li><tt class="docutils literal">key=foreground_color;background_color;bold_flag;italic_flag</tt></li>
 
4199
<li><tt class="docutils literal"><span class="pre">key=foreground_color;background_color;bold_flag;italic_flag</span></tt></li>
3440
4200
</ul>
3441
4201
<p>Colors have to be specified as RGB hex values prefixed by
3442
4202
0x. For example red is 0xff0000, blue is 0x0000ff. The values are
3443
4203
case-insensitive, but it is a good idea to use small letters. Bold
3444
4204
and italic are flags and should only be &quot;true&quot; or &quot;false&quot;. If their
3445
4205
value is something other than &quot;true&quot; or &quot;false&quot;, &quot;false&quot; is assumed.</p>
3446
 
<p>You can omit fields to use the <tt class="docutils literal">&quot;default&quot;</tt> named style.</p>
 
4206
<p>You can omit fields to use the values from the style named <tt class="docutils literal"><span class="pre">&quot;default&quot;</span></tt>.</p>
3447
4207
<p>E.g. <tt class="docutils literal"><span class="pre">key=0xff0000;;true</span></tt></p>
3448
4208
<p>This makes the key style have red foreground text, default background
3449
4209
color text and bold emphasis.</p>
3450
 
<div class="section" id="using-a-named-style">
3451
 
<h5><a class="toc-backref" href="#id149">Using a named style</a></h5>
 
4210
<div class="section">
 
4211
<h5><a class="toc-backref" href="#id176" id="using-a-named-style" name="using-a-named-style">Using a named style</a></h5>
3452
4212
<p>The second format uses a <em>named style</em> name to reference a style
3453
4213
defined in filetypes.common.</p>
3454
4214
<ul class="simple">
3455
 
<li><tt class="docutils literal">key=named_style</tt></li>
3456
 
<li><tt class="docutils literal">key2=named_style2,bold,italic</tt></li>
 
4215
<li><tt class="docutils literal"><span class="pre">key=named_style</span></tt></li>
 
4216
<li><tt class="docutils literal"><span class="pre">key2=named_style2,bold,italic</span></tt></li>
3457
4217
</ul>
3458
4218
<p>The bold and italic parts are optional, and if present are used to
3459
4219
toggle the bold or italic flags to the opposite of the named style's
3460
4220
flags. In contrast to style definition booleans, they are a literal
3461
4221
&quot;,bold,italic&quot; and commas are used instead of semi-colons.</p>
3462
 
<p>E.g. <tt class="docutils literal">key=comment,italic</tt></p>
3463
 
<p>This makes the key style match the <tt class="docutils literal">&quot;comment&quot;</tt> named style, but with
 
4222
<p>E.g. <tt class="docutils literal"><span class="pre">key=comment,italic</span></tt></p>
 
4223
<p>This makes the key style match the <tt class="docutils literal"><span class="pre">&quot;comment&quot;</span></tt> named style, but with
3464
4224
italic emphasis.</p>
3465
 
<p>To define named styles, see the filetypes.common <a class="reference internal" href="#named-styles-section">[named_styles]
 
4225
<p>To define named styles, see the filetypes.common <a class="reference" href="#named-styles-section">[named_styles]
3466
4226
Section</a>.</p>
3467
4227
</div>
3468
4228
</div>
3469
 
<div class="section" id="keywords-section">
3470
 
<h4><a class="toc-backref" href="#id150">[keywords] Section</a></h4>
 
4229
<div class="section">
 
4230
<h4><a class="toc-backref" href="#id177" id="keywords-section" name="keywords-section">[keywords] Section</a></h4>
3471
4231
<p>This section contains keys for different keyword lists specific to
3472
4232
the filetype. Some filetypes do not support keywords, so adding a
3473
4233
new key will not work. You can only add or remove keywords to/from
3477
4237
<p class="last">The keywords list must be in one line without line ending characters.</p>
3478
4238
</div>
3479
4239
</div>
3480
 
<div class="section" id="settings-section">
3481
 
<h4><a class="toc-backref" href="#id151">[settings] Section</a></h4>
 
4240
<div class="section">
 
4241
<h4><a class="toc-backref" href="#id178" id="lexer-properties-section" name="lexer-properties-section">[lexer_properties] Section</a></h4>
 
4242
<p>Here any special properties for the Scintilla lexer can be set in the
 
4243
format <tt class="docutils literal"><span class="pre">key.name.field=some.value</span></tt>.</p>
 
4244
</div>
 
4245
<div class="section">
 
4246
<h4><a class="toc-backref" href="#id179" id="settings-section" name="settings-section">[settings] Section</a></h4>
3482
4247
<dl class="docutils">
3483
4248
<dt>extension</dt>
3484
4249
<dd><p class="first">This is the default file extension used when saving files, not
3485
 
including the period character (<tt class="docutils literal">.</tt>). The extension used should
 
4250
including the period character (<tt class="docutils literal"><span class="pre">.</span></tt>). The extension used should
3486
4251
match one of the patterns associated with that filetype (see
3487
 
<a class="reference internal" href="#filetype-extensions">Filetype extensions</a>).</p>
3488
 
<p class="last"><em>Example:</em> <tt class="docutils literal">extension=cxx</tt></p>
 
4252
<a class="reference" href="#filetype-extensions">Filetype extensions</a>).</p>
 
4253
<p class="last"><em>Example:</em> <tt class="docutils literal"><span class="pre">extension=cxx</span></tt></p>
3489
4254
</dd>
3490
4255
<dt>wordchars</dt>
3491
4256
<dd><p class="first">These characters define word boundaries when making selections
3508
4273
column 0 of a line. If set to true it uses any indentation of the
3509
4274
line.</p>
3510
4275
<p>Note: Comment indentation</p>
3511
 
<p><tt class="docutils literal">comment_use_indent=true</tt> would generate this if a line is
 
4276
<p><tt class="docutils literal"><span class="pre">comment_use_indent=true</span></tt> would generate this if a line is
3512
4277
commented (e.g. with Ctrl-D):</p>
3513
4278
<pre class="literal-block">
3514
4279
#command_example();
3515
4280
</pre>
3516
 
<p><tt class="docutils literal">comment_use_indent=false</tt> would generate this if a line is
 
4281
<p><tt class="docutils literal"><span class="pre">comment_use_indent=false</span></tt> would generate this if a line is
3517
4282
commented (e.g. with Ctrl-D):</p>
3518
4283
<pre class="literal-block">
3519
4284
#   command_example();
3520
4285
</pre>
3521
4286
<p>Note: This setting only works for single line comments (like '//',
3522
4287
'#' or ';').</p>
3523
 
<p class="last"><em>Example:</em> <tt class="docutils literal">comment_use_indent=true</tt></p>
 
4288
<p class="last"><em>Example:</em> <tt class="docutils literal"><span class="pre">comment_use_indent=true</span></tt></p>
3524
4289
</dd>
3525
4290
<dt>context_action_cmd</dt>
3526
 
<dd><p class="first">A command which can be executed on a certain word or the current
3527
 
selection. Example usage: Open the API documentation for the
3528
 
current function call at the cursor position. The command can
 
4291
<dd><p class="first">A command which can be executed on the current word or the current
 
4292
selection.</p>
 
4293
<p>Example usage: Open the API documentation for the
 
4294
current function call at the cursor position.</p>
 
4295
<p>The command can
3529
4296
be set for every filetype or if not set, a global command will
3530
4297
be used. The command itself can be specified without the full
3531
4298
path, then it is searched in $PATH. But for security reasons,
3533
4300
wildcard %s will be replaced by the current word at the cursor
3534
4301
position or by the current selection.</p>
3535
4302
<p>Hint: for PHP files the following could be quite useful:
3536
 
context_action_cmd=firefox &quot;<a class="reference external" href="http://www.php.net/%s">http://www.php.net/%s</a>&quot;</p>
3537
 
<p class="last"><em>Example:</em> <tt class="docutils literal">context_action_cmd=devhelp <span class="pre">-s</span> &quot;%s&quot;</tt></p>
 
4303
context_action_cmd=firefox &quot;<a class="reference" href="http://www.php.net/%s">http://www.php.net/%s</a>&quot;</p>
 
4304
<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>
3538
4305
</dd>
 
4306
<dt>tag_parser</dt>
 
4307
<dd>The TagManager language name, e.g. &quot;C&quot;.</dd>
 
4308
<dt>lexer_filetype</dt>
 
4309
<dd>A filetype name to setup syntax highlighting from another filetype.
 
4310
This must not be recursive, i.e. it should be a filetype name that
 
4311
doesn't use the lexer_filetype key itself.</dd>
3539
4312
</dl>
3540
4313
</div>
3541
 
<div class="section" id="build-settings-section">
3542
 
<h4><a class="toc-backref" href="#id152">[build_settings] Section</a></h4>
 
4314
<div class="section">
 
4315
<h4><a class="toc-backref" href="#id180" id="build-settings-section" name="build-settings-section">[build_settings] Section</a></h4>
 
4316
<p>As of Geany v0.19 this section is supplemented by the <a class="reference" href="#build-menu-section">[build-menu] Section</a>.
 
4317
Values that are set in the [build-menu] section will override those in this section.</p>
3543
4318
<dl class="docutils">
3544
4319
<dt>error_regex</dt>
3545
4320
<dd><p class="first">This is a GNU-style extended regular expression to parse a filename
3550
4325
remaining match will be used as the filename.</p>
3551
4326
<p><em>Example:</em> <tt class="docutils literal"><span class="pre">error_regex=(.+):([0-9]+):[0-9]+</span></tt></p>
3552
4327
<p class="last">This will parse a message such as:
3553
 
<tt class="docutils literal">test.py:7:24: E202 whitespace before ']'</tt></p>
 
4328
<tt class="docutils literal"><span class="pre">test.py:7:24:</span> <span class="pre">E202</span> <span class="pre">whitespace</span> <span class="pre">before</span> <span class="pre">']'</span></tt></p>
3554
4329
</dd>
3555
4330
</dl>
3556
4331
<p><strong>Build commands</strong></p>
3557
 
<p>The build commands are all configurable using the <a class="reference internal" href="#set-includes-and-arguments">Set Includes and
3558
 
Arguments</a> dialog.</p>
 
4332
<p>If any build menu item settings have been configured in the Build Menu Commands
 
4333
dialog or the Build tab of the project preferences dialog then these
 
4334
settings are stored in the [build-menu] section and override the settings in
 
4335
this section for that item.</p>
3559
4336
<dl class="docutils">
3560
4337
<dt>compiler</dt>
3561
4338
<dd><p class="first">This item specifies the command to compile source code files. But
3568
4345
<li>%f -- complete filename without path</li>
3569
4346
<li>%e -- filename without path and without extension</li>
3570
4347
</ul>
3571
 
<p class="last"><em>Example:</em> <tt class="docutils literal">compiler=gcc <span class="pre">-Wall</span> <span class="pre">-c</span> &quot;%f&quot;</tt></p>
 
4348
<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>
3572
4349
</dd>
3573
4350
<dt>linker</dt>
3574
4351
<dd><p class="first">This item specifies the command to link the file. If the file is not
3575
4352
already compiled, it will be compiled while linking. The -o option
3576
4353
is automatically added by Geany. This item works well with GNU gcc,
3577
4354
but may be problematic with other compilers (esp. with the linker).</p>
3578
 
<p class="last"><em>Example:</em> <tt class="docutils literal">linker=gcc <span class="pre">-Wall</span> &quot;%f&quot;</tt></p>
 
4355
<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>
3579
4356
</dd>
3580
4357
<dt>run_cmd</dt>
3581
4358
<dd><p class="first">Use this item to execute your file. It has to have been built
3587
4364
</dl>
3588
4365
</div>
3589
4366
</div>
3590
 
<div class="section" id="special-file-filetypes-common">
3591
 
<h3><a class="toc-backref" href="#id153">Special file filetypes.common</a></h3>
 
4367
<div class="section">
 
4368
<h3><a class="toc-backref" href="#id181" id="special-file-filetypes-common" name="special-file-filetypes-common">Special file filetypes.common</a></h3>
3592
4369
<p>There is a special filetype definition file called
3593
4370
filetypes.common. This file defines some general non-filetype-specific
3594
4371
settings.</p>
3595
 
<p>See the <a class="reference internal" href="#format">Format</a> section for how to define styles.</p>
3596
 
<div class="section" id="named-styles-section">
3597
 
<h4><a class="toc-backref" href="#id154">[named_styles] Section</a></h4>
 
4372
<p>See the <a class="reference" href="#format">Format</a> section for how to define styles.</p>
 
4373
<div class="section">
 
4374
<h4><a class="toc-backref" href="#id182" id="named-styles-section" name="named-styles-section">[named_styles] Section</a></h4>
3598
4375
<p>Named styles declared here can be used in the [styling] section of any
3599
4376
filetypes.* file.</p>
3600
4377
<p>For example:</p>
3613
4390
different files.</p>
3614
4391
<div class="note">
3615
4392
<p class="first admonition-title">Note</p>
3616
 
<p class="last">You can define aliases for named styles, as shown with the <tt class="docutils literal">bar</tt>
 
4393
<p class="last">You can define aliases for named styles, as shown with the <tt class="docutils literal"><span class="pre">bar</span></tt>
3617
4394
entry in the above example, but they must be declared after the
3618
4395
original style.</p>
3619
4396
</div>
3620
4397
</div>
3621
 
<div class="section" id="id4">
3622
 
<h4><a class="toc-backref" href="#id155">[styling] Section</a></h4>
 
4398
<div class="section">
 
4399
<h4><a class="toc-backref" href="#id183" id="id5" name="id5">[styling] Section</a></h4>
3623
4400
<dl class="docutils">
3624
4401
<dt>default</dt>
3625
4402
<dd><p class="first">This is the default style. It is used for styling files without a
3626
4403
filetype set.</p>
3627
 
<p class="last"><em>Example:</em> <tt class="docutils literal">default=0x000000;0xffffff;false;false</tt></p>
 
4404
<p class="last"><em>Example:</em> <tt class="docutils literal"><span class="pre">default=0x000000;0xffffff;false;false</span></tt></p>
3628
4405
</dd>
3629
4406
<dt>selection</dt>
3630
4407
<dd><p class="first">The style for coloring selected text. The format is:</p>
3637
4414
<p>The colors are only set if the 3rd or 4th argument is true. When
3638
4415
the colors are not overridden, the default is a dark grey
3639
4416
background with syntax highlighted foreground text.</p>
3640
 
<p class="last"><em>Example:</em> <tt class="docutils literal">selection=0xc0c0c0;0x00007F;true;true</tt></p>
 
4417
<p class="last"><em>Example:</em> <tt class="docutils literal"><span class="pre">selection=0xc0c0c0;0x00007F;true;true</span></tt></p>
3641
4418
</dd>
3642
4419
<dt>brace_good</dt>
3643
4420
<dd><p class="first">The style for brace highlighting when a matching brace was found.</p>
3644
 
<p class="last"><em>Example:</em> <tt class="docutils literal">brace_good=0xff0000;0xFFFFFF;true;false</tt></p>
 
4421
<p class="last"><em>Example:</em> <tt class="docutils literal"><span class="pre">brace_good=0xff0000;0xFFFFFF;true;false</span></tt></p>
3645
4422
</dd>
3646
4423
<dt>brace_bad</dt>
3647
4424
<dd><p class="first">The style for brace highlighting when no matching brace was found.</p>
3648
 
<p class="last"><em>Example:</em> <tt class="docutils literal">brace_bad=0x0000ff;0xFFFFFF;true;false</tt></p>
 
4425
<p class="last"><em>Example:</em> <tt class="docutils literal"><span class="pre">brace_bad=0x0000ff;0xFFFFFF;true;false</span></tt></p>
3649
4426
</dd>
3650
4427
<dt>caret</dt>
3651
4428
<dd><p class="first">The style for coloring the caret(the blinking cursor). Only first
3652
4429
and third argument is interpreted.
3653
4430
Set the third argument to true to change the caret into a block caret.</p>
3654
 
<p class="last"><em>Example:</em> <tt class="docutils literal">caret=0x000000;0x0;false;false</tt></p>
 
4431
<p class="last"><em>Example:</em> <tt class="docutils literal"><span class="pre">caret=0x000000;0x0;false;false</span></tt></p>
3655
4432
</dd>
3656
4433
<dt>caret_width</dt>
3657
4434
<dd><p class="first">The width for the caret(the blinking cursor). Only the first
3658
4435
argument is interpreted. The width is specified in pixels with
3659
4436
a maximum of three pixel. Use the width 0 to make the caret
3660
4437
invisible.</p>
3661
 
<p class="last"><em>Example:</em> <tt class="docutils literal">caret=1;0;false;false</tt></p>
 
4438
<p class="last"><em>Example:</em> <tt class="docutils literal"><span class="pre">caret=1;0;false;false</span></tt></p>
3662
4439
</dd>
3663
4440
<dt>current_line</dt>
3664
4441
<dd><p class="first">The style for coloring the background of the current line. Only
3666
4443
is the background color. Use the third argument to enable or
3667
4444
disable background highlighting for the current line (has to be
3668
4445
true/false).</p>
3669
 
<p class="last"><em>Example:</em> <tt class="docutils literal">current_line=0x0;0xe5e5e5;true;false</tt></p>
 
4446
<p class="last"><em>Example:</em> <tt class="docutils literal"><span class="pre">current_line=0x0;0xe5e5e5;true;false</span></tt></p>
3670
4447
</dd>
3671
4448
<dt>indent_guide</dt>
3672
4449
<dd><p class="first">The style for coloring the indentation guides. Only the first and
3673
4450
second arguments are interpreted.</p>
3674
 
<p class="last"><em>Example:</em> <tt class="docutils literal">indent_guide=0xc0c0c0;0xffffff;false;false</tt></p>
 
4451
<p class="last"><em>Example:</em> <tt class="docutils literal"><span class="pre">indent_guide=0xc0c0c0;0xffffff;false;false</span></tt></p>
3675
4452
</dd>
3676
4453
<dt>white_space</dt>
3677
4454
<dd><p class="first">The style for coloring the white space if it is shown. The first
3679
4456
third argument sets whether to use the defined foreground color
3680
4457
or to use the color defined by each filetype for the white space.
3681
4458
The fourth argument defines whether to use the background color.</p>
3682
 
<p class="last"><em>Example:</em> <tt class="docutils literal">white_space=0xc0c0c0;0xffffff;true;true</tt></p>
 
4459
<p class="last"><em>Example:</em> <tt class="docutils literal"><span class="pre">white_space=0xc0c0c0;0xffffff;true;true</span></tt></p>
3683
4460
</dd>
 
4461
</dl>
 
4462
<dl class="docutils" id="folding-settings">
3684
4463
<dt>folding_style</dt>
3685
4464
<dd><p class="first">The style of folding icons. Only first and second arguments are
3686
4465
used.</p>
3688
4467
<ul class="simple">
3689
4468
<li>1 -- for boxes</li>
3690
4469
<li>2 -- for circles</li>
 
4470
<li>3 -- for arrows</li>
 
4471
<li>4 -- for +/-</li>
3691
4472
</ul>
3692
4473
<p>Valid values for the second argument are:</p>
3693
4474
<ul class="simple">
 
4475
<li>0 -- for no lines</li>
3694
4476
<li>1 -- for straight lines</li>
3695
4477
<li>2 -- for curved lines</li>
3696
4478
</ul>
3697
 
<p class="last"><em>Example:</em> <tt class="docutils literal">folding_style=1;1;false;false</tt></p>
 
4479
<p><em>Default:</em> <tt class="docutils literal"><span class="pre">folding_style=1;1;</span></tt></p>
 
4480
<p class="last"><em>Arrows:</em> <tt class="docutils literal"><span class="pre">folding_style=3;0;</span></tt></p>
3698
4481
</dd>
3699
4482
<dt>folding_horiz_line</dt>
3700
4483
<dd><p class="first">Draw a thin horizontal line at the line where text is folded. Only
3705
4488
<li>1 -- draw the line above folded text</li>
3706
4489
<li>2 -- draw the line below folded text</li>
3707
4490
</ul>
3708
 
<p class="last"><em>Example:</em> <tt class="docutils literal">folding_horiz_line=0;0;false;false</tt></p>
 
4491
<p class="last"><em>Example:</em> <tt class="docutils literal"><span class="pre">folding_horiz_line=0;0;false;false</span></tt></p>
3709
4492
</dd>
3710
4493
<dt>line_wrap_visuals</dt>
3711
4494
<dd><p class="first">First argument: drawing of visual flags to indicate a line is wrapped.
3724
4507
<li>2 -- Visual flag at begin of subline drawn near text</li>
3725
4508
</ul>
3726
4509
<p>Only first and second argument is interpreted.</p>
3727
 
<p class="last"><em>Example:</em> <tt class="docutils literal">line_wrap_visuals=3;0;false;false</tt></p>
 
4510
<p class="last"><em>Example:</em> <tt class="docutils literal"><span class="pre">line_wrap_visuals=3;0;false;false</span></tt></p>
3728
4511
</dd>
3729
4512
<dt>line_wrap_indent</dt>
3730
4513
<dd><p class="first">First argument: sets the size of indentation of sublines for wrapped lines
3731
 
in terms of the width of a space, only used when the second argument is <tt class="docutils literal">0</tt>.</p>
 
4514
in terms of the width of a space, only used when the second argument is <tt class="docutils literal"><span class="pre">0</span></tt>.</p>
3732
4515
<p>Second argument: wrapped sublines can be indented to the position of their
3733
4516
first subline or one more indent level. Possible values:</p>
3734
4517
<ul class="simple">
3737
4520
<li>2 - Wrapped sublines are aligned to first subline indent plus one more level of indentation</li>
3738
4521
</ul>
3739
4522
<p>Only first and second argument is interpreted.</p>
3740
 
<p class="last"><em>Example:</em> <tt class="docutils literal">line_wrap_indent=0;1;false;false</tt></p>
 
4523
<p class="last"><em>Example:</em> <tt class="docutils literal"><span class="pre">line_wrap_indent=0;1;false;false</span></tt></p>
3741
4524
</dd>
3742
4525
<dt>translucency</dt>
3743
4526
<dd><p class="first">Translucency for the current line (first argument) and the selection
3745
4528
<p>Note for Windows 95, 98 and ME users:
3746
4529
keep this value at 256 to disable translucency otherwise Geany might crash.</p>
3747
4530
<p>Only the first and second argument is interpreted.</p>
3748
 
<p class="last"><em>Example:</em> <tt class="docutils literal">translucency=256;256;false;false</tt></p>
 
4531
<p class="last"><em>Example:</em> <tt class="docutils literal"><span class="pre">translucency=256;256;false;false</span></tt></p>
3749
4532
</dd>
3750
4533
<dt>marker_line</dt>
3751
4534
<dd><p class="first">The style for a highlighted line (e.g when using Goto line or goto tag).
3752
4535
The foreground color (first argument) is only used when the Markers margin
3753
4536
is enabled (see View menu).</p>
3754
4537
<p>Only the first and second argument is interpreted.</p>
3755
 
<p class="last"><em>Example:</em> <tt class="docutils literal">marker_line=0x000000;0xffff00;false;false</tt></p>
 
4538
<p class="last"><em>Example:</em> <tt class="docutils literal"><span class="pre">marker_line=0x000000;0xffff00;false;false</span></tt></p>
3756
4539
</dd>
3757
4540
<dt>marker_search</dt>
3758
4541
<dd><p class="first">The style for a marked search results (when using &quot;Mark&quot; in Search dialogs).
3759
4542
The second argument sets the background colour for the drawn rectangle.</p>
3760
4543
<p>Only the second argument is interpreted.</p>
3761
 
<p class="last"><em>Example:</em> <tt class="docutils literal">marker_search=0x000000;0xb8f4b8;false;false</tt></p>
 
4544
<p class="last"><em>Example:</em> <tt class="docutils literal"><span class="pre">marker_search=0x000000;0xb8f4b8;false;false</span></tt></p>
3762
4545
</dd>
3763
4546
<dt>marker_mark</dt>
3764
4547
<dd><p class="first">The style for a marked line (e.g when using the &quot;Toggle Marker&quot; keybinding
3765
4548
(Ctrl-M)). The foreground color (first argument) is only used
3766
4549
when the Markers margin is enabled (see View menu).</p>
3767
4550
<p>Only the first and second argument is interpreted.</p>
3768
 
<p class="last"><em>Example:</em> <tt class="docutils literal">marker_mark=0x000000;0xb8f4b8;false;false</tt></p>
 
4551
<p class="last"><em>Example:</em> <tt class="docutils literal"><span class="pre">marker_mark=0x000000;0xb8f4b8;false;false</span></tt></p>
3769
4552
</dd>
3770
4553
<dt>marker_translucency</dt>
3771
4554
<dd><p class="first">Translucency for the line marker (first argument) and the search marker
3773
4556
<p>Note for Windows 95, 98 and ME users:
3774
4557
keep this value at 256 to disable translucency otherwise Geany might crash.</p>
3775
4558
<p>Only the first and second argument is interpreted.</p>
3776
 
<p class="last"><em>Example:</em> <tt class="docutils literal">marker_translucency=256;256;false;false</tt></p>
 
4559
<p class="last"><em>Example:</em> <tt class="docutils literal"><span class="pre">marker_translucency=256;256;false;false</span></tt></p>
3777
4560
</dd>
3778
4561
<dt>line_height</dt>
3779
4562
<dd><p class="first">Amount of space to be drawn above and below the line's baseline.
3780
4563
The first argument defines the amount of space to be drawn above the line, the second
3781
4564
argument defines the amount of space to be drawn below.</p>
3782
4565
<p>Only the first and second argument is interpreted.</p>
3783
 
<p class="last"><em>Example:</em> <tt class="docutils literal">line_height=0;0;false;false</tt></p>
 
4566
<p class="last"><em>Example:</em> <tt class="docutils literal"><span class="pre">line_height=0;0;false;false</span></tt></p>
 
4567
</dd>
 
4568
<dt>calltips</dt>
 
4569
<dd><p class="first">The style for coloring the calltips. The first two arguments
 
4570
define the foreground and background colors, the third and fourth
 
4571
arguments set whether to use the defined colors.</p>
 
4572
<p class="last"><em>Example:</em> <tt class="docutils literal"><span class="pre">calltips=0xc0c0c0;0xffffff;false;false</span></tt></p>
3784
4573
</dd>
3785
4574
</dl>
3786
4575
</div>
3787
 
<div class="section" id="id5">
3788
 
<h4><a class="toc-backref" href="#id156">[settings] Section</a></h4>
 
4576
<div class="section">
 
4577
<h4><a class="toc-backref" href="#id184" id="id6" name="id6">[settings] Section</a></h4>
3789
4578
<dl class="docutils">
3790
4579
<dt>whitespace_chars</dt>
3791
4580
<dd><p class="first">Characters to treat as whitespace. These characters are ignored
3792
4581
when moving, selecting and deleting across word boundaries
3793
 
(see <a class="reference internal" href="#scintilla-keyboard-commands">Scintilla keyboard commands</a>).</p>
 
4582
(see <a class="reference" href="#scintilla-keyboard-commands">Scintilla keyboard commands</a>).</p>
3794
4583
<p>This should include space (\s) and tab (\t).</p>
3795
4584
<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>
3796
4585
</dd>
3798
4587
</div>
3799
4588
</div>
3800
4589
</div>
3801
 
<div class="section" id="filetype-extensions">
3802
 
<h2><a class="toc-backref" href="#id157">Filetype extensions</a></h2>
 
4590
<div class="section">
 
4591
<h2><a class="toc-backref" href="#id185" id="filetype-extensions" name="filetype-extensions">Filetype extensions</a></h2>
3803
4592
<p>To change the default filetype extension used when saving a new file,
3804
 
see <a class="reference internal" href="#filetype-definition-files">Filetype definition files</a>.</p>
 
4593
see <a class="reference" href="#filetype-definition-files">Filetype definition files</a>.</p>
3805
4594
<p>You can override the list of file extensions that Geany uses for each
3806
 
filetype using the <tt class="docutils literal">filetype_extensions.conf</tt> file.</p>
 
4595
filetype using the <tt class="docutils literal"><span class="pre">filetype_extensions.conf</span></tt> file.</p>
3807
4596
<p>To override the system-wide configuration file, copy it from
3808
 
<tt class="docutils literal">$prefix/share/geany</tt> to your configuration directory, usually
3809
 
<tt class="docutils literal"><span class="pre">~/.config/geany/</span></tt>. <tt class="docutils literal">$prefix</tt> is the path where Geany is installed
3810
 
(see <a class="reference internal" href="#installation-prefix">Installation prefix</a>).</p>
 
4597
<tt class="docutils literal"><span class="pre">$prefix/share/geany</span></tt> to your configuration directory, usually
 
4598
<tt class="docutils literal"><span class="pre">~/.config/geany/</span></tt>. <tt class="docutils literal"><span class="pre">$prefix</span></tt> is the path where Geany is installed
 
4599
(see <a class="reference" href="#installation-prefix">Installation prefix</a>).</p>
3811
4600
<p>For example:</p>
3812
4601
<pre class="literal-block">
3813
4602
% cp /usr/local/share/geany/filetype_extensions.conf /home/username/.config/geany/
3814
4603
</pre>
3815
4604
<p>Then edit it and remove all the lines for filetype extensions that
3816
4605
you do not want to override. The remaining lines can be edited after
3817
 
the <tt class="docutils literal">=</tt> sign, using a semi-colon separated list of patterns which
 
4606
the <tt class="docutils literal"><span class="pre">=</span></tt> sign, using a semi-colon separated list of patterns which
3818
4607
should be matched for that filetype.</p>
3819
4608
<p>For example, to set the filetype extensions for Make, the
3820
4609
<tt class="docutils literal"><span class="pre">/home/username/.config/geany/filetype_extensions.conf</span></tt> file should
3824
4613
Make=Makefile*;*.mk;Buildfile;
3825
4614
</pre>
3826
4615
</div>
3827
 
<div class="section" id="templates">
3828
 
<h2><a class="toc-backref" href="#id158">Templates</a></h2>
 
4616
<div class="section">
 
4617
<h2><a class="toc-backref" href="#id186" id="preferences-file-format" name="preferences-file-format">Preferences File Format</a></h2>
 
4618
<p>The preferences file <tt class="docutils literal"><span class="pre">~/.config/geany/geany.conf</span></tt> holds settings for all the items configured
 
4619
in the preferences dialog. This file should not be edited while Geany is running
 
4620
as the file will be overwritten when the preferences in Geany are changed or Geany
 
4621
is quitted.</p>
 
4622
<div class="section">
 
4623
<h3><a class="toc-backref" href="#id187" id="hidden-preferences" name="hidden-preferences">Hidden preferences</a></h3>
 
4624
<p>There are some rarely used preferences that are not shown in the Preferences
 
4625
dialog. These can be set by editing the preferences file, then
 
4626
selecting <em>Tools-&gt;Reload Configuration</em> or restarting Geany. Search for the
 
4627
key name, then edit the value. Example:</p>
 
4628
<blockquote>
 
4629
<tt class="docutils literal"><span class="pre">brace_match_ltgt=true</span></tt></blockquote>
 
4630
<p>The table below show the key names of hidden preferences in the
 
4631
configuration file.</p>
 
4632
<table border="1" class="docutils">
 
4633
<colgroup>
 
4634
<col width="34%" />
 
4635
<col width="46%" />
 
4636
<col width="19%" />
 
4637
</colgroup>
 
4638
<thead valign="bottom">
 
4639
<tr><th class="head">Key</th>
 
4640
<th class="head">Description</th>
 
4641
<th class="head">Default</th>
 
4642
</tr>
 
4643
</thead>
 
4644
<tbody valign="top">
 
4645
<tr><td><strong>Editor related</strong></td>
 
4646
<td>&nbsp;</td>
 
4647
<td>&nbsp;</td>
 
4648
</tr>
 
4649
<tr><td>brace_match_ltgt</td>
 
4650
<td>Whether to highlight &lt;, &gt; angle brackets.</td>
 
4651
<td>false</td>
 
4652
</tr>
 
4653
<tr><td>show_editor_scrollbars</td>
 
4654
<td>Whether to display scrollbars. If set to
 
4655
false, the horizontal and vertical
 
4656
scrollbars are hidden completely.</td>
 
4657
<td>true</td>
 
4658
</tr>
 
4659
<tr><td>use_gtk_word_boundaries</td>
 
4660
<td>Whether to look for the end of a word when
 
4661
using word-boundary related Scintilla
 
4662
commands (see <a class="reference" href="#scintilla-keyboard-commands">Scintilla keyboard
 
4663
commands</a>).</td>
 
4664
<td>true</td>
 
4665
</tr>
 
4666
<tr><td>complete_snippets_whilst_editing</td>
 
4667
<td>Whether to allow completion of snippets
 
4668
when editing an existing line (i.e. there
 
4669
is some text after the current cursor
 
4670
position on the line). Only used when the
 
4671
keybinding <tt class="docutils literal"><span class="pre">Complete</span> <span class="pre">snippet</span></tt> is set to
 
4672
<tt class="docutils literal"><span class="pre">Space</span></tt>.</td>
 
4673
<td>false</td>
 
4674
</tr>
 
4675
<tr><td><strong>Interface related</strong></td>
 
4676
<td>&nbsp;</td>
 
4677
<td>&nbsp;</td>
 
4678
</tr>
 
4679
<tr><td>show_symbol_list_expanders</td>
 
4680
<td>Whether to show or hide the small expander
 
4681
icons on the symbol list treeview (only
 
4682
available with GTK 2.12 or above).</td>
 
4683
<td>true</td>
 
4684
</tr>
 
4685
<tr><td>allow_always_save</td>
 
4686
<td>Whether files can be saved always, even if
 
4687
they don't have any changes. By default,
 
4688
the Save buttons and menu items are
 
4689
disabled when a file is unchanged. When
 
4690
setting this option to true, the Save
 
4691
buttons and menu items are always active
 
4692
and files can be saved.</td>
 
4693
<td>false</td>
 
4694
</tr>
 
4695
<tr><td>compiler_tab_autoscroll</td>
 
4696
<td>Whether to automatically scroll to the
 
4697
last line of the output in the Compiler
 
4698
tab.</td>
 
4699
<td>true</td>
 
4700
</tr>
 
4701
<tr><td><strong>VTE related</strong></td>
 
4702
<td>&nbsp;</td>
 
4703
<td>&nbsp;</td>
 
4704
</tr>
 
4705
<tr><td>emulation</td>
 
4706
<td>Terminal emulation mode. Only change this
 
4707
if you have VTE termcap files other than
 
4708
<tt class="docutils literal"><span class="pre">vte/termcap/xterm</span></tt>.</td>
 
4709
<td>xterm</td>
 
4710
</tr>
 
4711
<tr><td>send_selection_unsafe</td>
 
4712
<td>By default, Geany strips any trailing
 
4713
newline characters from the current
 
4714
selection before sending it to the terminal
 
4715
to not execute arbitrary code. This is
 
4716
mainly a security feature.
 
4717
If, for whatever reasons, you really want
 
4718
it to be executed directly, set this option
 
4719
to true.</td>
 
4720
<td>false</td>
 
4721
</tr>
 
4722
<tr><td><strong>File related</strong></td>
 
4723
<td>&nbsp;</td>
 
4724
<td>&nbsp;</td>
 
4725
</tr>
 
4726
<tr><td>use_safe_file_saving</td>
 
4727
<td>Defines the mode how Geany saves files to
 
4728
disk. If disabled, Geany directly writes
 
4729
the content of the document to disk. This
 
4730
might cause in loss of data when there is
 
4731
no more free space on disk to save the
 
4732
file. When set to true, Geany first saves
 
4733
the contents into a temporary file and if
 
4734
this succeeded, the temporary file is
 
4735
moved to the real file to save.
 
4736
This gives better error checking in case of
 
4737
no more free disk space. But it also
 
4738
destroys hard links of the original file
 
4739
and its permissions (e.g. executable flags
 
4740
are reset). Use this with care as it can
 
4741
break things seriously.
 
4742
The better approach would be to ensure your
 
4743
disk won't run out of free space.</td>
 
4744
<td>false</td>
 
4745
</tr>
 
4746
<tr><td><strong>Build Menu related</strong></td>
 
4747
<td>&nbsp;</td>
 
4748
<td>&nbsp;</td>
 
4749
</tr>
 
4750
<tr><td>number_ft_menu_items</td>
 
4751
<td>The maximum number of menu items in the
 
4752
filetype section of the Build menu.</td>
 
4753
<td>2</td>
 
4754
</tr>
 
4755
<tr><td>number_non_ft_menu_items</td>
 
4756
<td>The maximum number of menu items in the
 
4757
non-filetype section of the Build menu.</td>
 
4758
<td>3</td>
 
4759
</tr>
 
4760
<tr><td>number_exec_menu_items</td>
 
4761
<td>The maximum number of menu items in the
 
4762
execute section of the Build menu.</td>
 
4763
<td>2</td>
 
4764
</tr>
 
4765
</tbody>
 
4766
</table>
 
4767
</div>
 
4768
<div class="section">
 
4769
<h3><a class="toc-backref" href="#id188" id="build-menu-section" name="build-menu-section">[build-menu] Section</a></h3>
 
4770
<p>The [build-menu] section contains the configuration of the build menu.
 
4771
This section can occur in filetype, preferences and project files and
 
4772
always has the format described here.  Different menu items are loaded
 
4773
from different files, see the table in the <a class="reference" href="#build-menu-configuration">Build Menu Configuration</a>
 
4774
section for details.  All the settings can be configured from the dialogs
 
4775
except the execute command in filetype files and filetype definitions in
 
4776
the project file, so these are the only ones which need hand editing.</p>
 
4777
<p>The build-menu section stores one entry for each setting for each menu item that
 
4778
is configured.  The keys for these settings have the format:</p>
 
4779
<blockquote>
 
4780
<tt class="docutils literal"><span class="pre">GG_NN_FF</span></tt></blockquote>
 
4781
<p>where:</p>
 
4782
<ul class="simple">
 
4783
<li>GG - is the menu item group,<ul>
 
4784
<li>FT for filetype</li>
 
4785
<li>NF for non-filetype</li>
 
4786
<li>EX for execute</li>
 
4787
</ul>
 
4788
</li>
 
4789
<li>NN - is a two decimal digit number of the item within the group,
 
4790
starting at 00</li>
 
4791
<li>FF - is the field,<ul>
 
4792
<li>LB for label</li>
 
4793
<li>CM for command</li>
 
4794
<li>WD for working directory</li>
 
4795
</ul>
 
4796
</li>
 
4797
</ul>
 
4798
</div>
 
4799
</div>
 
4800
<div class="section">
 
4801
<h2><a class="toc-backref" href="#id189" id="project-file-format" name="project-file-format">Project File Format</a></h2>
 
4802
<p>The project file contains project related settings and possibly a
 
4803
record of the current session files.</p>
 
4804
<div class="section">
 
4805
<h3><a class="toc-backref" href="#id190" id="build-menu-additions" name="build-menu-additions">[build-menu] Additions</a></h3>
 
4806
<p>The project file also can have extra fields in the [build-menu] section
 
4807
in addition to those listed in <a class="reference" href="#build-menu-section">[build-menu] Section</a> above.</p>
 
4808
<p>When filetype menu items are configured for the project they are stored
 
4809
in the project file.</p>
 
4810
<p>The <tt class="docutils literal"><span class="pre">filetypes</span></tt> entry is a list of the filetypes which exist in the
 
4811
project file.</p>
 
4812
<p>For each filetype the entries for that filetype have the format defined in
 
4813
<a class="reference" href="#build-menu-section">[build-menu] Section</a> but the key is prefixed by the name of the filetype
 
4814
as it appears in the <tt class="docutils literal"><span class="pre">filetypes</span></tt> entry, eg the entry for the label of
 
4815
filetype menu item 0 for the C filetype would be</p>
 
4816
<blockquote>
 
4817
<tt class="docutils literal"><span class="pre">CFT_00_LB=Label</span></tt></blockquote>
 
4818
</div>
 
4819
</div>
 
4820
<div class="section">
 
4821
<h2><a class="toc-backref" href="#id191" id="templates" name="templates">Templates</a></h2>
3829
4822
<p>Geany supports the following templates:</p>
3830
4823
<ul class="simple">
3831
4824
<li>ChangeLog entry</li>
3833
4826
<li>Function description</li>
3834
4827
<li>Short GPL notice</li>
3835
4828
<li>Short BSD notice</li>
3836
 
<li>Filetype template</li>
 
4829
<li>File templates</li>
3837
4830
</ul>
3838
4831
<p>To use these templates, just open the Edit menu or open the popup menu
3839
4832
by right-clicking in the editor widget, and choose &quot;Insert Comments&quot;
3847
4840
of a function or the function name cannot be determined, the inserted
3848
4841
function description won't contain the correct function name but &quot;unknown&quot;
3849
4842
instead.</p>
3850
 
<div class="section" id="template-meta-data">
3851
 
<h3><a class="toc-backref" href="#id159">Template meta data</a></h3>
 
4843
<div class="note">
 
4844
<p class="first admonition-title">Note</p>
 
4845
<p class="last">Geany automatically reloads template information when it notices you
 
4846
save a file in the user's template configuration directory. You can
 
4847
also force this by selecting <em>Tools-&gt;Reload Configuration</em>.</p>
 
4848
</div>
 
4849
<div class="section">
 
4850
<h3><a class="toc-backref" href="#id192" id="template-meta-data" name="template-meta-data">Template meta data</a></h3>
3852
4851
<p>Meta data can be used with all templates, but by default user set
3853
4852
meta data is only used for the ChangeLog and File header templates.</p>
3854
4853
<p>In the configuration dialog you can find a tab &quot;Templates&quot; (see
3855
 
<a class="reference internal" href="#template-preferences">Template preferences</a>). You can define the
3856
 
default values which will be inserted in the templates. You should
3857
 
restart Geany after making changes, because they are only read
3858
 
at startup.</p>
 
4854
<a class="reference" href="#template-preferences">Template preferences</a>). You can define the default values
 
4855
which will be inserted in the templates. You should select
 
4856
<em>Tools-&gt;Reload Configuration</em> or restart Geany after making changes.</p>
3859
4857
</div>
3860
 
<div class="section" id="file-templates">
3861
 
<h3><a class="toc-backref" href="#id160">File templates</a></h3>
 
4858
<div class="section">
 
4859
<h3><a class="toc-backref" href="#id193" id="file-templates" name="file-templates">File templates</a></h3>
3862
4860
<p>File templates are templates used as the basis of a new file. To
3863
4861
use them, choose the <em>New (with Template)</em> menu item from the <em>File</em>
3864
4862
menu.</p>
3865
 
<p>By default, templates are created for some filetypes. Custom file
3866
 
templates can be added by creating the appropriate template file and
3867
 
restarting Geany. You can also edit the default filetype templates.</p>
3868
 
<p>The file's contents are just the text to place in the document,
3869
 
except for the optional <tt class="docutils literal">{fileheader}</tt> template wildcard. This can
3870
 
be placed anywhere, but is usually on the first line of the file,
3871
 
followed by a blank line.</p>
3872
 
<div class="section" id="custom-file-templates">
3873
 
<h4><a class="toc-backref" href="#id161">Custom file templates</a></h4>
3874
 
<p>These are read from the <tt class="docutils literal"><span class="pre">~/.config/geany/templates/files</span></tt> directory
3875
 
(created the first time Geany is started). The filetype to use is
3876
 
detected from the template file's extension, if any. For example, creating
3877
 
a file <tt class="docutils literal">main.c</tt> would add a menu item which created a new document with
3878
 
the filetype set to 'C'.</p>
 
4863
<p>By default, file templates are installed for some filetypes. Custom
 
4864
file templates can be added by creating the appropriate template file
 
4865
and then selecting <em>Tools-&gt;Reload Configuration</em> or restarting Geany. You can
 
4866
also edit the default file templates.</p>
 
4867
<p>The file's contents are just the text to place in the document, with
 
4868
optional template wildcards like <tt class="docutils literal"><span class="pre">{fileheader}</span></tt>. The fileheader
 
4869
wildcard can be placed anywhere, but it's usually put on the first
 
4870
line of the file, followed by a blank line.</p>
 
4871
<div class="section">
 
4872
<h4><a class="toc-backref" href="#id194" id="custom-file-templates" name="custom-file-templates">Custom file templates</a></h4>
 
4873
<p>These are read from the following directories:</p>
 
4874
<ul class="simple">
 
4875
<li><tt class="docutils literal"><span class="pre">$prefix/share/geany/templates/files</span></tt> (see <a class="reference" href="#installation-prefix">Installation prefix</a>)</li>
 
4876
<li><tt class="docutils literal"><span class="pre">~/.config/geany/templates/files</span></tt> (created the first time
 
4877
Geany is started).</li>
 
4878
</ul>
 
4879
<p>The filetype to use is detected from the template file's extension, if
 
4880
any. For example, creating a file <tt class="docutils literal"><span class="pre">module.c</span></tt> would add a menu item
 
4881
which created a new document with the filetype set to 'C'.</p>
3879
4882
<p>The template file is read from disk when the corresponding menu item is
3880
 
clicked, so you don't need to restart Geany after editing a custom file
3881
 
template.</p>
3882
 
</div>
3883
 
<div class="section" id="filetype-templates">
3884
 
<h4><a class="toc-backref" href="#id162">Filetype templates</a></h4>
 
4883
clicked.</p>
 
4884
</div>
 
4885
<div class="section">
 
4886
<h4><a class="toc-backref" href="#id195" id="filetype-templates" name="filetype-templates">Filetype templates</a></h4>
 
4887
<div class="note">
 
4888
<p class="first admonition-title">Note</p>
 
4889
<p class="last">It's recommended to use custom file templates instead.</p>
 
4890
</div>
3885
4891
<p>Filetype template files are read from the <tt class="docutils literal"><span class="pre">~/.config/geany/templates</span></tt>
3886
4892
directory, and are named &quot;filetype.&quot; followed by the filetype
3887
4893
name, e.g. &quot;filetype.python&quot;, &quot;filetype.sh&quot;, etc. If you are
3888
4894
unsure about the filetype name extensions, they are the same as
3889
4895
the filetype configuration file extensions, commonly installed in
3890
 
<tt class="docutils literal">/usr/share/geany</tt>, with the prefix &quot;filetypes.&quot;.</p>
3891
 
<p>There is also a template file <tt class="docutils literal">filetype.none</tt> which is used when
 
4896
<tt class="docutils literal"><span class="pre">/usr/share/geany</span></tt>, with the prefix &quot;filetypes.&quot;.</p>
 
4897
<p>There is also a template file <tt class="docutils literal"><span class="pre">filetype.none</span></tt> which is used when
3892
4898
the New command is used without a filetype. This is empty by default.</p>
3893
4899
</div>
3894
4900
</div>
3895
 
<div class="section" id="customizing-templates">
3896
 
<h3><a class="toc-backref" href="#id163">Customizing templates</a></h3>
 
4901
<div class="section">
 
4902
<h3><a class="toc-backref" href="#id196" id="customizing-templates" name="customizing-templates">Customizing templates</a></h3>
3897
4903
<p>Each template can be customized to your needs. The templates are
3898
4904
stored in the <tt class="docutils literal"><span class="pre">~/.config/geany/templates/</span></tt> directory (see the section called
3899
 
<a class="reference internal" href="#command-line-options">Command line options</a> for further information about the configuration
 
4905
<a class="reference" href="#command-line-options">Command line options</a> for further information about the configuration
3900
4906
directory). Just open the desired template with an editor (ideally,
3901
4907
Geany ;-) ) and edit the template to your needs. There are some
3902
4908
wildcards which will be automatically replaced by Geany at startup.</p>
3903
 
<div class="section" id="template-wildcards">
3904
 
<h4><a class="toc-backref" href="#id164">Template wildcards</a></h4>
 
4909
<div class="section">
 
4910
<h4><a class="toc-backref" href="#id197" id="template-wildcards" name="template-wildcards">Template wildcards</a></h4>
3905
4911
<p>All wildcards must be enclosed by &quot;{&quot; and &quot;}&quot;, e.g. {date}.</p>
 
4912
<p><strong>Wildcards for character escaping</strong></p>
 
4913
<table border="1" class="docutils">
 
4914
<colgroup>
 
4915
<col width="14%" />
 
4916
<col width="46%" />
 
4917
<col width="40%" />
 
4918
</colgroup>
 
4919
<thead valign="bottom">
 
4920
<tr><th class="head">Wildcard</th>
 
4921
<th class="head">Description</th>
 
4922
<th class="head">Available in</th>
 
4923
</tr>
 
4924
</thead>
 
4925
<tbody valign="top">
 
4926
<tr><td>ob</td>
 
4927
<td>{ Opening Brace (used to prevent other
 
4928
wildcards being expanded).</td>
 
4929
<td>file templates, file header, snippets.</td>
 
4930
</tr>
 
4931
<tr><td>cb</td>
 
4932
<td>} Closing Brace.</td>
 
4933
<td>file templates, file header, snippets.</td>
 
4934
</tr>
 
4935
<tr><td>pc</td>
 
4936
<td>% Percent (used to escape e.g. %block% in
 
4937
snippets).</td>
 
4938
<td>snippets.</td>
 
4939
</tr>
 
4940
</tbody>
 
4941
</table>
 
4942
<p><strong>Global wildcards</strong></p>
 
4943
<p>These are configurable, see <a class="reference" href="#template-preferences">Template preferences</a>.</p>
3906
4944
<table border="1" class="docutils">
3907
4945
<colgroup>
3908
4946
<col width="14%" />
3918
4956
<tbody valign="top">
3919
4957
<tr><td>developer</td>
3920
4958
<td>The name of the developer.</td>
3921
 
<td>filetype templates, file header,
 
4959
<td>file templates, file header,
3922
4960
function description, ChangeLog entry,
3923
 
bsd, gpl, snippets</td>
 
4961
bsd, gpl, snippets.</td>
3924
4962
</tr>
3925
4963
<tr><td>initial</td>
3926
4964
<td>The developer's initials, e.g. &quot;ET&quot; for
3927
4965
Enrico Trƶger or &quot;JFD&quot; for John Foobar Doe.</td>
3928
 
<td>filetype templates, file header,
 
4966
<td>file templates, file header,
3929
4967
function description, ChangeLog entry,
3930
 
bsd, gpl, snippets</td>
 
4968
bsd, gpl, snippets.</td>
3931
4969
</tr>
3932
4970
<tr><td>mail</td>
3933
4971
<td>The email address of the developer.</td>
3934
 
<td>filetype templates, file header,
 
4972
<td>file templates, file header,
3935
4973
function description, ChangeLog entry,
3936
 
bsd, gpl, snippets</td>
 
4974
bsd, gpl, snippets.</td>
3937
4975
</tr>
3938
4976
<tr><td>company</td>
3939
4977
<td>The company the developer is working for.</td>
3940
 
<td>filetype templates, file header,
3941
 
function description, ChangeLog entry,
3942
 
bsd, gpl, snippets</td>
3943
 
</tr>
3944
 
<tr><td>year <a class="footnote-reference" href="#id9" id="id6">[1]</a></td>
3945
 
<td>The current year. Default format is: YYYY</td>
3946
 
<td>filetype templates, file header,
3947
 
function description, ChangeLog entry,
3948
 
bsd, gpl, snippets</td>
 
4978
<td>file templates, file header,
 
4979
function description, ChangeLog entry,
 
4980
bsd, gpl, snippets.</td>
3949
4981
</tr>
3950
4982
<tr><td>version</td>
3951
4983
<td>The initial version of a new file.</td>
3952
 
<td>filetype templates, file header,
3953
 
function description, ChangeLog entry,
3954
 
bsd, gpl, snippets</td>
3955
 
</tr>
3956
 
<tr><td>date <a class="footnote-reference" href="#id9" id="id7">[1]</a></td>
3957
 
<td>The current date. Default format: YYYY-MM-DD.</td>
3958
 
<td>filetype templates, file header,
3959
 
function description, ChangeLog entry,
3960
 
bsd, gpl, snippets</td>
3961
 
</tr>
 
4984
<td>file templates, file header,
 
4985
function description, ChangeLog entry,
 
4986
bsd, gpl, snippets.</td>
 
4987
</tr>
 
4988
</tbody>
 
4989
</table>
 
4990
<p><strong>Date &amp; time wildcards</strong></p>
 
4991
<p>The format for these wildcards can be changed in the preferences
 
4992
dialog, see <a class="reference" href="#template-preferences">Template preferences</a>. You can use any conversion
 
4993
specifiers which can be used with the ANSI C strftime function.
 
4994
For details please see <a class="reference" href="http://man.cx/strftime">http://man.cx/strftime</a>.</p>
 
4995
<table border="1" class="docutils">
 
4996
<colgroup>
 
4997
<col width="14%" />
 
4998
<col width="46%" />
 
4999
<col width="40%" />
 
5000
</colgroup>
 
5001
<thead valign="bottom">
 
5002
<tr><th class="head">Wildcard</th>
 
5003
<th class="head">Description</th>
 
5004
<th class="head">Available in</th>
 
5005
</tr>
 
5006
</thead>
 
5007
<tbody valign="top">
 
5008
<tr><td>year</td>
 
5009
<td>The current year. Default format is: YYYY.</td>
 
5010
<td>file templates, file header,
 
5011
function description, ChangeLog entry,
 
5012
bsd, gpl, snippets.</td>
 
5013
</tr>
 
5014
<tr><td>date</td>
 
5015
<td>The current date. Default format:
 
5016
YYYY-MM-DD.</td>
 
5017
<td>file templates, file header,
 
5018
function description, ChangeLog entry,
 
5019
bsd, gpl, snippets.</td>
 
5020
</tr>
 
5021
<tr><td>datetime</td>
 
5022
<td>The current date and time. Default format:
 
5023
DD.MM.YYYY HH:mm:ss ZZZZ.</td>
 
5024
<td>file templates, file header,
 
5025
function description, ChangeLog entry,
 
5026
bsd, gpl, snippets.</td>
 
5027
</tr>
 
5028
</tbody>
 
5029
</table>
 
5030
<p><strong>Dynamic wildcards</strong></p>
 
5031
<table border="1" class="docutils">
 
5032
<colgroup>
 
5033
<col width="14%" />
 
5034
<col width="46%" />
 
5035
<col width="40%" />
 
5036
</colgroup>
 
5037
<thead valign="bottom">
 
5038
<tr><th class="head">Wildcard</th>
 
5039
<th class="head">Description</th>
 
5040
<th class="head">Available in</th>
 
5041
</tr>
 
5042
</thead>
 
5043
<tbody valign="top">
3962
5044
<tr><td>untitled</td>
3963
5045
<td>The string &quot;untitled&quot; (this will be
3964
5046
translated to your locale), used in
3965
 
filetype templates.</td>
3966
 
<td>filetype templates, file header,
 
5047
file templates.</td>
 
5048
<td>file templates, file header,
3967
5049
function description, ChangeLog entry,
3968
 
bsd, gpl, snippets</td>
 
5050
bsd, gpl, snippets.</td>
3969
5051
</tr>
3970
5052
<tr><td>geanyversion</td>
3971
5053
<td>The actual Geany version, e.g.
3972
 
&quot;Geany 0.18.1&quot;.</td>
3973
 
<td>filetype templates, file header,
3974
 
function description, ChangeLog entry,
3975
 
bsd, gpl, snippets</td>
3976
 
</tr>
3977
 
<tr><td>datetime <a class="footnote-reference" href="#id9" id="id8">[1]</a></td>
3978
 
<td>The current date and time. Default format:
3979
 
DD.MM.YYYY HH:mm:ss ZZZZ.</td>
3980
 
<td>filetype templates, file header,
3981
 
function description, ChangeLog entry,
3982
 
bsd, gpl, snippets</td>
 
5054
&quot;Geany 0.19&quot;.</td>
 
5055
<td>file templates, file header,
 
5056
function description, ChangeLog entry,
 
5057
bsd, gpl, snippets.</td>
3983
5058
</tr>
3984
5059
<tr><td>filename</td>
3985
 
<td>The filename of the current file.</td>
3986
 
<td>file header, snippets</td>
3987
 
</tr>
 
5060
<td>The filename of the current file.
 
5061
For new files, it's only replaced when
 
5062
first saving if found on the first 3 lines
 
5063
of the file.</td>
 
5064
<td>file header, snippets, file
 
5065
templates.</td>
 
5066
</tr>
 
5067
<tr><td>project</td>
 
5068
<td>The current project's name, if any.</td>
 
5069
<td>file header, snippets, file templates.</td>
 
5070
</tr>
 
5071
<tr><td>description</td>
 
5072
<td>The current project's description, if any.</td>
 
5073
<td>file header, snippets, file templates.</td>
 
5074
</tr>
 
5075
<tr><td>functionname</td>
 
5076
<td>The function name of the function at the
 
5077
cursor position. This wildcard will only be
 
5078
replaced in the function description
 
5079
template.</td>
 
5080
<td>function description.</td>
 
5081
</tr>
 
5082
<tr><td>command:path</td>
 
5083
<td>Executes the specified command and replace
 
5084
the wildcard with the command's standard
 
5085
output. See <a class="reference" href="#special-command-wildcard">Special {command:} wildcard</a>
 
5086
for details.</td>
 
5087
<td>file templates, file header,
 
5088
function description, ChangeLog entry,
 
5089
bsd, gpl, snippets.</td>
 
5090
</tr>
 
5091
</tbody>
 
5092
</table>
 
5093
<p><strong>Template insertion wildcards</strong></p>
 
5094
<table border="1" class="docutils">
 
5095
<colgroup>
 
5096
<col width="14%" />
 
5097
<col width="46%" />
 
5098
<col width="40%" />
 
5099
</colgroup>
 
5100
<thead valign="bottom">
 
5101
<tr><th class="head">Wildcard</th>
 
5102
<th class="head">Description</th>
 
5103
<th class="head">Available in</th>
 
5104
</tr>
 
5105
</thead>
 
5106
<tbody valign="top">
3988
5107
<tr><td>gpl</td>
3989
5108
<td>This wildcard inserts a short GPL notice.</td>
3990
 
<td>file header</td>
 
5109
<td>file header.</td>
3991
5110
</tr>
3992
5111
<tr><td>bsd</td>
3993
5112
<td>This wildcard inserts a BSD licence notice.</td>
3994
 
<td>file header</td>
3995
 
</tr>
3996
 
<tr><td>functionname</td>
3997
 
<td>The function name of the function at the
3998
 
cursor position. This wildcard will only be
3999
 
replaced in the function description
4000
 
template.</td>
4001
 
<td>function description</td>
 
5113
<td>file header.</td>
4002
5114
</tr>
4003
5115
<tr><td>fileheader</td>
4004
5116
<td>The file header template. This wildcard
4005
5117
will only be replaced in filetype
4006
5118
templates.</td>
4007
 
<td>file header, snippets, custom filetype
4008
 
templates</td>
 
5119
<td>snippets, file templates.</td>
4009
5120
</tr>
4010
5121
</tbody>
4011
5122
</table>
4012
 
<table class="docutils footnote" frame="void" id="id9" rules="none">
4013
 
<colgroup><col class="label" /><col /></colgroup>
4014
 
<tbody valign="top">
4015
 
<tr><td class="label">[1]</td><td><em>(<a class="fn-backref" href="#id6">1</a>, <a class="fn-backref" href="#id7">2</a>, <a class="fn-backref" href="#id8">3</a>)</em> The format for the <tt class="docutils literal">year</tt>, <tt class="docutils literal">date</tt> and <tt class="docutils literal">datetime</tt> wildcards can be changed
4016
 
in the preferences dialog, see <a class="reference internal" href="#template-preferences">Template preferences</a>. You can
4017
 
use any conversion specifiers which can be used with the ANSI C strftime function.
4018
 
For details please see <a class="reference external" href="http://man.cx/strftime">http://man.cx/strftime</a>.</td></tr>
4019
 
</tbody>
4020
 
</table>
4021
 
</div>
4022
 
</div>
4023
 
</div>
4024
 
<div class="section" id="customizing-the-toolbar">
4025
 
<h2><a class="toc-backref" href="#id165">Customizing the toolbar</a></h2>
 
5123
<div class="section">
 
5124
<h5><a class="toc-backref" href="#id198" id="special-command-wildcard" name="special-command-wildcard">Special {command:} wildcard</a></h5>
 
5125
<p>The {command:} wildcard is a special one because it can execute
 
5126
a specified command and put the command's output (stdout) into
 
5127
the template.</p>
 
5128
<p>Example:</p>
 
5129
<pre class="literal-block">
 
5130
{command:uname -a}
 
5131
</pre>
 
5132
<p>will result in:</p>
 
5133
<pre class="literal-block">
 
5134
Linux localhost 2.6.9-023stab046.2-smp #1 SMP Mon Dec 10 15:04:55 MSK 2007 x86_64 GNU/Linux
 
5135
</pre>
 
5136
<p>Using this wildcard you can insert nearly any arbitrary text into the
 
5137
template.</p>
 
5138
<p>In the environment of the executed command the variables
 
5139
<tt class="docutils literal"><span class="pre">GEANY_FILENAME</span></tt>, <tt class="docutils literal"><span class="pre">GEANY_FILETYPE</span></tt> and <tt class="docutils literal"><span class="pre">GEANY_FUNCNAME</span></tt> are set.
 
5140
The value of these variables is filled in only if Geany knows about it.
 
5141
For example, <tt class="docutils literal"><span class="pre">GEANY_FUNCNAME</span></tt> is only filled within the function
 
5142
description template. However, these variables are <tt class="docutils literal"><span class="pre">always</span></tt> set,
 
5143
just maybe with an empty value.
 
5144
You can easily access them e.g. within an executed shell script using:</p>
 
5145
<pre class="literal-block">
 
5146
$GEANY_FILENAME
 
5147
</pre>
 
5148
<div class="note">
 
5149
<p class="first admonition-title">Note</p>
 
5150
<p class="last">If the specified command could not be found or not executed, the wildcard is substituted
 
5151
by an empty string. In such cases, you can find the occurred error message on Geany's
 
5152
standard error and in the Help-&gt;Debug Messages dialog.</p>
 
5153
</div>
 
5154
</div>
 
5155
</div>
 
5156
</div>
 
5157
</div>
 
5158
<div class="section">
 
5159
<h2><a class="toc-backref" href="#id199" id="customizing-the-toolbar" name="customizing-the-toolbar">Customizing the toolbar</a></h2>
4026
5160
<p>You can add, remove and reorder the elements in the toolbar by using the toolbar editor
4027
 
by manually editing the file <tt class="docutils literal">ui_toolbar.xml</tt>.</p>
 
5161
by manually editing the file <tt class="docutils literal"><span class="pre">ui_toolbar.xml</span></tt>.</p>
4028
5162
<p>The toolbar editor can be opened from the preferences editor on the Toolbar tab or
4029
5163
by right-clicking on the toolbar itself and choosing it from the menu.</p>
4030
 
<div class="section" id="manually-editing-of-the-toolbar-layout">
4031
 
<h3><a class="toc-backref" href="#id166">Manually editing of the toolbar layout</a></h3>
 
5164
<div class="section">
 
5165
<h3><a class="toc-backref" href="#id200" id="manually-editing-of-the-toolbar-layout" name="manually-editing-of-the-toolbar-layout">Manually editing of the toolbar layout</a></h3>
4032
5166
<p>To override the system-wide configuration file, copy it from
4033
 
<tt class="docutils literal">$prefix/share/geany</tt> to your configuration directory, usually
4034
 
<tt class="docutils literal"><span class="pre">~/.config/geany/</span></tt>. <tt class="docutils literal">$prefix</tt> is the path where Geany is installed
4035
 
(see <a class="reference internal" href="#installation-prefix">Installation prefix</a>).</p>
 
5167
<tt class="docutils literal"><span class="pre">$prefix/share/geany</span></tt> to your configuration directory, usually
 
5168
<tt class="docutils literal"><span class="pre">~/.config/geany/</span></tt>. <tt class="docutils literal"><span class="pre">$prefix</span></tt> is the path where Geany is installed
 
5169
(see <a class="reference" href="#installation-prefix">Installation prefix</a>).</p>
4036
5170
<p>For example:</p>
4037
5171
<pre class="literal-block">
4038
5172
% cp /usr/local/share/geany/ui_toolbar.xml /home/username/.config/geany/
4051
5185
</ol>
4052
5186
</div>
4053
5187
</div>
4054
 
<div class="section" id="available-toolbar-elements">
4055
 
<h3><a class="toc-backref" href="#id167">Available toolbar elements</a></h3>
 
5188
<div class="section">
 
5189
<h3><a class="toc-backref" href="#id201" id="available-toolbar-elements" name="available-toolbar-elements">Available toolbar elements</a></h3>
4056
5190
<table border="1" class="docutils">
4057
5191
<colgroup>
4058
5192
<col width="19%" />
4116
5250
<td>Compile the current file</td>
4117
5251
</tr>
4118
5252
<tr><td>Build</td>
4119
 
<td>Build the current file, includes also a submenu for Make commands. Geany
 
5253
<td>Build the current file, includes a submenu for Make commands. Geany
4120
5254
remembers the last chosen action from the submenu and uses this as default
4121
5255
action when the button itself is clicked.</td>
4122
5256
</tr>
4165
5299
</div>
4166
5300
</div>
4167
5301
</div>
4168
 
<div class="section" id="plugin-documentation">
4169
 
<h1><a class="toc-backref" href="#id168">Plugin documentation</a></h1>
4170
 
<div class="section" id="instant-save">
4171
 
<h2><a class="toc-backref" href="#id169">Instant Save</a></h2>
 
5302
<div class="section">
 
5303
<h1><a class="toc-backref" href="#id202" id="plugin-documentation" name="plugin-documentation">Plugin documentation</a></h1>
 
5304
<div class="section">
 
5305
<h2><a class="toc-backref" href="#id203" id="save-actions" name="save-actions">Save Actions</a></h2>
 
5306
<div class="section">
 
5307
<h3><a class="toc-backref" href="#id204" id="instant-save" name="instant-save">Instant Save</a></h3>
4172
5308
<p>This plugin sets on every new file (File-&gt;New or File-&gt; New (with template))
4173
5309
a randomly chosen filename and set its filetype appropriate to the used template
4174
5310
or when no template was used, to a configurable default filetype.
4177
5313
useful when you often create new files just for testing some code or something
4178
5314
similar.</p>
4179
5315
</div>
4180
 
<div class="section" id="backup-copy">
4181
 
<h2><a class="toc-backref" href="#id170">Backup Copy</a></h2>
 
5316
<div class="section">
 
5317
<h3><a class="toc-backref" href="#id205" id="backup-copy" name="backup-copy">Backup Copy</a></h3>
4182
5318
<p>This plugin creates a backup copy of the current file in Geany when it is
4183
5319
saved. You can specify the directory where the backup copy is saved and
4184
5320
you can configure the automatically added extension in the configure dialog
4187
5323
copied into the configured backup directory when the file is saved in Geany.</p>
4188
5324
</div>
4189
5325
</div>
4190
 
<div class="section" id="contributing-to-this-document">
4191
 
<h1><a class="toc-backref" href="#id171">Contributing to this document</a></h1>
4192
 
<p>This document (<tt class="docutils literal">geany.txt</tt>) is written in <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a>
4193
 
(or &quot;reST&quot;). The source file for it is located in Geany's <tt class="docutils literal">doc</tt>
 
5326
</div>
 
5327
<div class="section">
 
5328
<h1><a class="toc-backref" href="#id206" id="contributing-to-this-document" name="contributing-to-this-document">Contributing to this document</a></h1>
 
5329
<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>
 
5330
(or &quot;reST&quot;). The source file for it is located in Geany's <tt class="docutils literal"><span class="pre">doc</span></tt>
4194
5331
subdirectory.  If you intend on making changes, you should grab the
4195
5332
source right from SVN to make sure you've got the newest version. After
4196
5333
editing the file, to build the HTML document to see how your changes
4197
 
look, run &quot;<tt class="docutils literal">make doc</tt>&quot; in the subdirectory <tt class="docutils literal">doc</tt> of Geany's source
4198
 
directory. This regenerates the <tt class="docutils literal">geany.html</tt> file. To generate a PDF
4199
 
file, use the command &quot;<tt class="docutils literal">make pdf</tt>&quot; which should generate a file called
4200
 
geany-0.18.1.pdf.</p>
 
5334
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
 
5335
directory. This regenerates the <tt class="docutils literal"><span class="pre">geany.html</span></tt> file. To generate a PDF
 
5336
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
 
5337
geany-0.19.pdf.</p>
4201
5338
<p>After you are happy with your changes, create a patch:</p>
4202
5339
<pre class="literal-block">
4203
5340
% svn diff geany.txt &gt; foo.patch
4207
5344
to build the docs. The package is named <tt class="docutils literal"><span class="pre">python-docutils</span></tt> on Debian
4208
5345
and Fedora systems.</p>
4209
5346
</div>
4210
 
<div class="section" id="scintilla-keyboard-commands">
4211
 
<h1><a class="toc-backref" href="#id172">Scintilla keyboard commands</a></h1>
 
5347
<div class="section">
 
5348
<h1><a class="toc-backref" href="#id207" id="scintilla-keyboard-commands" name="scintilla-keyboard-commands">Scintilla keyboard commands</a></h1>
4212
5349
<p>Copyright Ā© 1998, 2006 Neil Hodgson &lt;neilh(at)scintilla(dot)org&gt;</p>
4213
5350
<p>This appendix is distributed under the terms of the License for
4214
5351
Scintilla and SciTE. A copy of this license can be found in the file
4215
 
<tt class="docutils literal">scintilla/License.txt</tt> included with the source code of this
4216
 
program and in the appendix of this document. See <a class="reference internal" href="#license-for-scintilla-and-scite">License for
 
5352
<tt class="docutils literal"><span class="pre">scintilla/License.txt</span></tt> included with the source code of this
 
5353
program and in the appendix of this document. See <a class="reference" href="#license-for-scintilla-and-scite">License for
4217
5354
Scintilla and SciTE</a>.</p>
4218
5355
<p>20 June 2006</p>
4219
 
<div class="section" id="keyboard-commands">
4220
 
<h2><a class="toc-backref" href="#id173">Keyboard commands</a></h2>
 
5356
<div class="section">
 
5357
<h2><a class="toc-backref" href="#id208" id="keyboard-commands" name="keyboard-commands">Keyboard commands</a></h2>
4221
5358
<p>Keyboard commands for Scintilla mostly follow common Windows and GTK+
4222
5359
conventions. All move keys (arrows, page up/down, home and end)
4223
5360
allows to extend or reduce the stream selection when holding the
4298
5435
</table>
4299
5436
</div>
4300
5437
</div>
4301
 
<div class="section" id="tips-and-tricks">
4302
 
<h1><a class="toc-backref" href="#id174">Tips and tricks</a></h1>
4303
 
<div class="section" id="document-notebook">
4304
 
<h2><a class="toc-backref" href="#id175">Document notebook</a></h2>
 
5438
<div class="section">
 
5439
<h1><a class="toc-backref" href="#id209" id="tips-and-tricks" name="tips-and-tricks">Tips and tricks</a></h1>
 
5440
<div class="section">
 
5441
<h2><a class="toc-backref" href="#id210" id="document-notebook" name="document-notebook">Document notebook</a></h2>
4305
5442
<ul class="simple">
4306
5443
<li>Double-click on empty space in the notebook tab bar to open a
4307
5444
new document.</li>
 
5445
<li>Middle-click on a document's notebook tab to close the document.</li>
 
5446
<li>Hold <cite>Ctrl</cite> and click on any notebook tab to switch to the last used
 
5447
document.</li>
4308
5448
<li>Double-click on a document's notebook tab to toggle all additional
4309
5449
widgets (to show them again use the View menu or the keyboard
4310
5450
shortcut). The interface pref must be enabled for this to work.</li>
4311
 
<li>Middle-click on a document's notebook tab to close the document.</li>
4312
5451
</ul>
4313
5452
</div>
4314
 
<div class="section" id="editor">
4315
 
<h2><a class="toc-backref" href="#id176">Editor</a></h2>
 
5453
<div class="section">
 
5454
<h2><a class="toc-backref" href="#id211" id="editor" name="editor">Editor</a></h2>
4316
5455
<ul class="simple">
4317
5456
<li>Alt-scroll wheel moves up/down a page.</li>
4318
5457
<li>Ctrl-scroll wheel zooms in/out.</li>
4321
5460
<li>Ctrl-click on a bracket/brace to perform <em>Go to Matching Brace</em>.</li>
4322
5461
</ul>
4323
5462
</div>
4324
 
<div class="section" id="interface">
4325
 
<h2><a class="toc-backref" href="#id177">Interface</a></h2>
 
5463
<div class="section">
 
5464
<h2><a class="toc-backref" href="#id212" id="interface" name="interface">Interface</a></h2>
4326
5465
<ul class="simple">
4327
5466
<li>Double-click on a symbol-list group to expand or compact it.</li>
4328
5467
</ul>
4329
5468
</div>
4330
 
<div class="section" id="gtk-related">
4331
 
<h2><a class="toc-backref" href="#id178">GTK-related</a></h2>
 
5469
<div class="section">
 
5470
<h2><a class="toc-backref" href="#id213" id="gtk-related" name="gtk-related">GTK-related</a></h2>
4332
5471
<ul class="simple">
4333
5472
<li>Scrolling the mouse wheel over a notebook tab bar will switch
4334
5473
notebook pages.</li>
4342
5481
</ul>
4343
5482
</div>
4344
5483
</div>
4345
 
<div class="section" id="hidden-preferences">
4346
 
<h1><a class="toc-backref" href="#id179">Hidden preferences</a></h1>
4347
 
<p>There are some uncommon preferences that are not shown in the Preferences
4348
 
dialog. These can be set by editing <tt class="docutils literal"><span class="pre">~/.config/geany/geany.conf</span></tt>, then
4349
 
restarting Geany. Search for the key name, then edit the value. Example:</p>
4350
 
<blockquote>
4351
 
<tt class="docutils literal">brace_match_ltgt=true</tt></blockquote>
4352
 
<p>The table below show the key names of hidden preferences in the
4353
 
configuration file.</p>
4354
 
<table border="1" class="docutils">
4355
 
<colgroup>
4356
 
<col width="34%" />
4357
 
<col width="46%" />
4358
 
<col width="19%" />
4359
 
</colgroup>
4360
 
<thead valign="bottom">
4361
 
<tr><th class="head">Key</th>
4362
 
<th class="head">Description</th>
4363
 
<th class="head">Default</th>
4364
 
</tr>
4365
 
</thead>
4366
 
<tbody valign="top">
4367
 
<tr><td><strong>Editor related</strong></td>
4368
 
<td>&nbsp;</td>
4369
 
<td>&nbsp;</td>
4370
 
</tr>
4371
 
<tr><td>brace_match_ltgt</td>
4372
 
<td>Whether to highlight &lt;, &gt; angle brackets.</td>
4373
 
<td>false</td>
4374
 
</tr>
4375
 
<tr><td>show_editor_scrollbars</td>
4376
 
<td>Whether to display scrollbars. If set to
4377
 
false, the horizontal and vertical
4378
 
scrollbars are hidden completely.</td>
4379
 
<td>true</td>
4380
 
</tr>
4381
 
<tr><td>use_gtk_word_boundaries</td>
4382
 
<td>Whether to look for the end of a word when
4383
 
using word-boundary related Scintilla
4384
 
commands (see <a class="reference internal" href="#scintilla-keyboard-commands">Scintilla keyboard
4385
 
commands</a>).</td>
4386
 
<td>true</td>
4387
 
</tr>
4388
 
<tr><td>complete_snippets_whilst_editing</td>
4389
 
<td>Whether to allow completion of snippets
4390
 
when editing an existing line (i.e. there
4391
 
is some text after the current cursor
4392
 
position on the line). Only used when the
4393
 
keybinding <tt class="docutils literal">Complete snippet</tt> is set to
4394
 
<tt class="docutils literal">Space</tt>.</td>
4395
 
<td>false</td>
4396
 
</tr>
4397
 
<tr><td><strong>Interface related</strong></td>
4398
 
<td>&nbsp;</td>
4399
 
<td>&nbsp;</td>
4400
 
</tr>
4401
 
<tr><td>show_symbol_list_expanders</td>
4402
 
<td>Whether to show or hide the small expander
4403
 
icons on the symbol list treeview (only
4404
 
available with GTK 2.12 or above).</td>
4405
 
<td>true</td>
4406
 
</tr>
4407
 
<tr><td>allow_always_save</td>
4408
 
<td>Whether files can be saved always, even if
4409
 
they don't have any changes. By default,
4410
 
the Save buttons and menu items are
4411
 
disabled when a file is unchanged. When
4412
 
setting this option to true, the Save
4413
 
buttons and menu items are always active
4414
 
and files can be saved.</td>
4415
 
<td>false</td>
4416
 
</tr>
4417
 
<tr><td><strong>VTE related</strong></td>
4418
 
<td>&nbsp;</td>
4419
 
<td>&nbsp;</td>
4420
 
</tr>
4421
 
<tr><td>emulation</td>
4422
 
<td>Terminal emulation mode. Only change this
4423
 
if you have VTE termcap files other than
4424
 
<tt class="docutils literal">vte/termcap/xterm</tt>.</td>
4425
 
<td>xterm</td>
4426
 
</tr>
4427
 
<tr><td><strong>File related</strong></td>
4428
 
<td>&nbsp;</td>
4429
 
<td>&nbsp;</td>
4430
 
</tr>
4431
 
<tr><td>use_safe_file_saving</td>
4432
 
<td>Defines the mode how Geany saves files to
4433
 
disk. If disabled, Geany directly writes
4434
 
the content of the document to disk. This
4435
 
might cause in loss of data when there is
4436
 
no more free space on disk to save the
4437
 
file. When set to true, Geany first saves
4438
 
the contents into a temporary file and if
4439
 
this succeeded, the temporary file is
4440
 
moved to the real file to save.
4441
 
This gives better error checking in case of
4442
 
no more free disk space. But it also
4443
 
destroys hard links of the original file
4444
 
and its permissions (e.g. executable flags
4445
 
are reset). Use this with care as it can
4446
 
break things seriously.
4447
 
The better approach would be to ensure your
4448
 
disk won't run out of free space.</td>
4449
 
<td>false</td>
4450
 
</tr>
4451
 
</tbody>
4452
 
</table>
4453
 
</div>
4454
 
<div class="section" id="compile-time-options">
4455
 
<h1><a class="toc-backref" href="#id180">Compile-time options</a></h1>
 
5484
<div class="section">
 
5485
<h1><a class="toc-backref" href="#id214" id="compile-time-options" name="compile-time-options">Compile-time options</a></h1>
4456
5486
<p>There are some options which can only be changed at compile time,
4457
5487
and some options which are used as the default for configurable
4458
5488
options. To change these options, edit the appropriate source file
4459
 
in the <tt class="docutils literal">src</tt> subdirectory. Look for a block of lines starting with
4460
 
<tt class="docutils literal">#define GEANY_*</tt>. Any definitions which are not listed here should
 
5489
in the <tt class="docutils literal"><span class="pre">src</span></tt> subdirectory. Look for a block of lines starting with
 
5490
<tt class="docutils literal"><span class="pre">#define</span> <span class="pre">GEANY_*</span></tt>. Any definitions which are not listed here should
4461
5491
not be changed.</p>
4462
5492
<div class="note">
4463
5493
<p class="first admonition-title">Note</p>
4464
5494
<p class="last">Most users should not need to change these options.</p>
4465
5495
</div>
4466
 
<div class="section" id="src-geany-h">
4467
 
<h2><a class="toc-backref" href="#id181">src/geany.h</a></h2>
 
5496
<div class="section">
 
5497
<h2><a class="toc-backref" href="#id215" id="src-geany-h" name="src-geany-h">src/geany.h</a></h2>
4468
5498
<table border="1" class="docutils">
4469
5499
<colgroup>
4470
5500
<col width="33%" />
4520
5550
</tbody>
4521
5551
</table>
4522
5552
</div>
4523
 
<div class="section" id="project-h">
4524
 
<h2><a class="toc-backref" href="#id182">project.h</a></h2>
 
5553
<div class="section">
 
5554
<h2><a class="toc-backref" href="#id216" id="project-h" name="project-h">project.h</a></h2>
4525
5555
<table border="1" class="docutils">
4526
5556
<colgroup>
4527
5557
<col width="33%" />
4545
5575
</tbody>
4546
5576
</table>
4547
5577
</div>
4548
 
<div class="section" id="editor-h">
4549
 
<h2><a class="toc-backref" href="#id183">editor.h</a></h2>
 
5578
<div class="section">
 
5579
<h2><a class="toc-backref" href="#id217" id="editor-h" name="editor-h">editor.h</a></h2>
4550
5580
<table border="1" class="docutils">
4551
5581
<colgroup>
4552
5582
<col width="33%" />
4571
5601
</tbody>
4572
5602
</table>
4573
5603
</div>
4574
 
<div class="section" id="keyfile-c">
4575
 
<h2><a class="toc-backref" href="#id184">keyfile.c</a></h2>
4576
 
<p>These are default settings that can be overridden in the <a class="reference internal" href="#preferences">Preferences</a> dialog.</p>
 
5604
<div class="section">
 
5605
<h2><a class="toc-backref" href="#id218" id="keyfile-c" name="keyfile-c">keyfile.c</a></h2>
 
5606
<p>These are default settings that can be overridden in the <a class="reference" href="#preferences">Preferences</a> dialog.</p>
4577
5607
<table border="1" class="docutils">
4578
5608
<colgroup>
4579
5609
<col width="33%" />
4652
5682
</tbody>
4653
5683
</table>
4654
5684
</div>
4655
 
<div class="section" id="build-h">
4656
 
<h2><a class="toc-backref" href="#id185">build.h</a></h2>
 
5685
<div class="section">
 
5686
<h2><a class="toc-backref" href="#id219" id="build-h" name="build-h">build.h</a></h2>
4657
5687
<table border="1" class="docutils">
4658
5688
<colgroup>
4659
5689
<col width="33%" />
4682
5712
</tbody>
4683
5713
</table>
4684
5714
</div>
4685
 
</div>
4686
 
<div class="section" id="gnu-general-public-license">
4687
 
<h1><a class="toc-backref" href="#id186">GNU General Public License</a></h1>
 
5715
<div class="section">
 
5716
<h2><a class="toc-backref" href="#id220" id="build-c" name="build-c">build.c</a></h2>
 
5717
<table border="1" class="docutils">
 
5718
<colgroup>
 
5719
<col width="33%" />
 
5720
<col width="48%" />
 
5721
<col width="20%" />
 
5722
</colgroup>
 
5723
<thead valign="bottom">
 
5724
<tr><th class="head">Option</th>
 
5725
<th class="head">Description</th>
 
5726
<th class="head">Default</th>
 
5727
</tr>
 
5728
</thead>
 
5729
<tbody valign="top">
 
5730
<tr><td>PRINTBUILDCMDS</td>
 
5731
<td>Every time a build menu item priority
 
5732
calculation is run, print the state of the
 
5733
menu item table in the form of the table
 
5734
in <a class="reference" href="#build-menu-configuration">Build Menu Configuration</a>.  May be
 
5735
useful to debug configuration file
 
5736
overloading.  Warning produces a lot of
 
5737
output.  Can also be enabled/disabled by the
 
5738
debugger by setting printbuildcmds to 1/0
 
5739
overriding the compile setting.</td>
 
5740
<td>FALSE</td>
 
5741
</tr>
 
5742
</tbody>
 
5743
</table>
 
5744
</div>
 
5745
</div>
 
5746
<div class="section">
 
5747
<h1><a class="toc-backref" href="#id221" id="gnu-general-public-license" name="gnu-general-public-license">GNU General Public License</a></h1>
4688
5748
<pre class="literal-block">
4689
5749
            GNU GENERAL PUBLIC LICENSE
4690
5750
               Version 2, June 1991
5028
6088
Public License instead of this License.
5029
6089
</pre>
5030
6090
</div>
5031
 
<div class="section" id="license-for-scintilla-and-scite">
5032
 
<h1><a class="toc-backref" href="#id187">License for Scintilla and SciTE</a></h1>
 
6091
<div class="section">
 
6092
<h1><a class="toc-backref" href="#id222" id="license-for-scintilla-and-scite" name="license-for-scintilla-and-scite">License for Scintilla and SciTE</a></h1>
5033
6093
<p>Copyright 1998-2003 by Neil Hodgson &lt;neilh(at)scintilla(dot)org&gt;</p>
5034
6094
<p>All Rights Reserved</p>
5035
6095
<p>Permission to use, copy, modify, and distribute this software and
5048
6108
</div>
5049
6109
<div class="footer">
5050
6110
<hr class="footer" />
5051
 
<a class="reference external" href="geany.txt">View document source</a>.
5052
 
Generated on: 2010-02-14 10:37 UTC.
5053
 
Generated by <a class="reference external" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
 
6111
<a class="reference" href="geany.txt">View document source</a>.
 
6112
Generated on: 2010-06-04 16:33 UTC.
 
6113
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.
5054
6114
 
5055
6115
</div>
5056
6116
</body>