Compare commits

...

43 Commits
master ... 0.10

Author SHA1 Message Date
Enrico Tröger
9caca768a9 Tagging the 0.10.2 release.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/tags/Geany-0_10_2@1339 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-02-25 18:58:07 +00:00
Enrico Tröger
c4c9573c19 Fixed serious crash of complete X session when using the Stop command when Geany is run from the program menu (closes #1668017).
Created new release: Geany 0.10.2


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/geany-0.10.2@1338 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-02-25 18:55:24 +00:00
Enrico Tröger
985c45f06e create branch for 0.10.2
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/geany-0.10.2@1337 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-02-25 18:29:18 +00:00
Enrico Tröger
171046dffd Tagging the 0.10.1 release.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/tags/Geany-0_10_1@1327 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-02-23 16:10:50 +00:00
Enrico Tröger
1cb9455a03 Updated for 0.10.1 release (oops).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/geany-0.10.1@1321 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-02-23 12:23:28 +00:00
Enrico Tröger
d2e813cedf Updated for 0.10.1 release.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/geany-0.10.1@1320 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-02-23 12:16:29 +00:00
Enrico Tröger
86e85de3d8 Update of German translation
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/geany-0.10.1@1319 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-02-23 12:15:01 +00:00
Enrico Tröger
c4f48844aa Updated copyright information.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/geany-0.10.1@1318 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-02-23 12:14:14 +00:00
Nick Treleaven
699af1c5e3 Fixed switching to the wrong tab when showing the unsaved dialog.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/geany-0.10.1@1316 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-02-22 12:41:48 +00:00
Nick Treleaven
77eb51fa65 Added note to see the NEWS file for a list of changes for the 0.10.1 release.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/geany-0.10.1@1315 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-02-22 11:46:57 +00:00
Enrico Tröger
88e69e512c Updated version and date information.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/geany-0.10.1@1312 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-02-21 14:13:29 +00:00
Enrico Tröger
f5e8cf19c9 Auto close brackets only when auto completion of constructs is enabled (closes #1665015).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/geany-0.10.1@1311 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-02-21 14:01:41 +00:00
Frank Lanitz
cee5bdcd43 Update of Hungarian translation
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/geany-0.10.1@1308 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-02-19 21:19:37 +00:00
Nick Treleaven
413475b25e Scroll Compiler and Messages window in view when using Next Error
or Next Message.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/geany-0.10.1@1300 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-02-17 16:59:36 +00:00
Nick Treleaven
0bf91bdab6 Update for fixed loading global tags bug
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/geany-0.10.1@1299 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-02-17 16:57:17 +00:00
Enrico Tröger
87d6c3cc32 Update the symbol list when starting a new document.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/geany-0.10.1@1295 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-02-16 16:59:24 +00:00
Nick Treleaven
1fa67e991b Set single undo action when stripping trailing spaces.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/geany-0.10.1@1294 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-02-16 16:53:45 +00:00
Enrico Tröger
e8fe361989 Prevent right click in Symbol list from selecting a tag.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/geany-0.10.1@1291 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-02-16 16:34:57 +00:00
Enrico Tröger
d58415671b Added several missing style types for filetype Perl (thanks to John Gabriele for reporting).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/geany-0.10.1@1288 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-02-15 19:39:22 +00:00
Enrico Tröger
8f27032e30 Update of Czech translation.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/geany-0.10.1@1286 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-02-15 13:41:21 +00:00
Nick Treleaven
e4e8b4e223 Fixed wrong D function return type after a class definition.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/geany-0.10.1@1281 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-02-14 17:43:19 +00:00
Nick Treleaven
f64556d29a Redraw instead of scrolling in ScintillaGTK::ScrollText if there is
an existing update region.
Revert earlier ScintillaGTK::ExposeTextThis change.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/geany-0.10.1@1279 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-02-14 12:50:15 +00:00
Frank Lanitz
038a3a8853 Update of French translation
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/geany-0.10.1@1276 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-02-13 20:14:27 +00:00
Nick Treleaven
6aebe35343 Support newer so-names when loading the VTE library
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/geany-0.10.1@1275 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-02-13 12:50:22 +00:00
Nick Treleaven
d295cfa45e Improved the auto scrolling of documents (from r1237)
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/geany-0.10.1@1274 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-02-13 12:29:41 +00:00
Frank Lanitz
b4639a8448 Update of Finnish translation
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/geany-0.10.1@1271 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-02-12 20:40:56 +00:00
Enrico Tröger
a235a33be4 Ensure the VTE visual settings are applied when switching to VTE when the Message Window is hidden.
Fixed several issues while opening files and improved code.
Improved the auto scrolling of documents and fixed a bug when opening files remotely.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/geany-0.10.1@1270 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-02-12 18:42:15 +00:00
Enrico Tröger
2e44ab50c1 Convert config, application and documentation dir paths to locale encoding before using it.
Fixed errors when changing directories containing special characters within the VTE component.
Fixed paste problems on Windows.
When using Save As the returned filename needs to be converted into UTF-8.
Fixed error when parsing of compiler errors by the va_list system.
Added MimeType entry as suggested by Nick Schermer.
LaTeX parser: Allow \section*{} and other commands with *.
Change default keybinding for Close All to Ctrl-Shift-W.
Allow Make for files with no extension - prevent Build when the output filename would be the same as the source file.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/geany-0.10.1@1269 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-02-12 17:21:57 +00:00
Frank Lanitz
838c6ed202 Update of NEWS-text
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/geany-0.10.1@1267 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-02-10 11:47:47 +00:00
Frank Lanitz
d5162d9d26 Update of German translation
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/geany-0.10.1@1266 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-02-10 11:46:18 +00:00
Frank Lanitz
0d6f30b5d9 Update of Spanish translation
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/geany-0.10.1@1265 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-02-08 21:52:58 +00:00
Nick Treleaven
a8a475294c Set single undo action when toggling multiple lines. (r1173)
Prevent some possible invalid memory reads. (r1171)

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/geany-0.10.1@1261 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-02-08 13:12:48 +00:00
Nick Treleaven
e779ce1d8b Correct Stop button text for 0.10 release
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/geany-0.10.1@1260 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-02-08 13:08:15 +00:00
Nick Treleaven
fdaece3d8d New translations: fi (thanks to Harri Koskinen).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/geany-0.10.1@1259 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-02-08 11:58:45 +00:00
Frank Lanitz
c07edc7c2a Added Harri Koskinen to about dialog
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/geany-0.10.1@1258 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-02-07 19:25:44 +00:00
Frank Lanitz
013d669da6 Update po files
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/geany-0.10.1@1257 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-02-07 19:07:01 +00:00
Frank Lanitz
414468cc0b Added Finnish translation
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/geany-0.10.1@1256 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-02-07 19:03:04 +00:00
Frank Lanitz
3cb247515d Fixed a wrong PASCAL autocompletion
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/geany-0.10.1@1255 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-02-07 18:37:21 +00:00
Nick Treleaven
dab9eda574 Fixed autocompletion missing tag matches.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/geany-0.10.1@1254 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-02-07 12:44:37 +00:00
Nick Treleaven
2c6670cbe6 Fix missing global tags for C files when a C++ source file was loaded first.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/geany-0.10.1@1253 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-02-07 12:28:09 +00:00
Nick Treleaven
3eb5bfdb8b Fixed crashes when closing dialogs by clicking X on some systems.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/geany-0.10.1@1252 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-02-06 17:39:19 +00:00
Nick Treleaven
548b89c093 Fix wrong tab foreground colour for unmodified documents.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/geany-0.10.1@1251 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-02-06 17:15:44 +00:00
Enrico Tröger
f9c6292e25 Create branch for 0.10.1 bugfix release.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/geany-0.10.1@1234 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-01-29 17:39:09 +00:00
86 changed files with 23179 additions and 13515 deletions

View File

@ -1,3 +1,7 @@
*** NOTE: This ChangeLog was not updated for the 0.10.1 and 0.10.2 release.
Instead see the NEWS file for a list of changes.
2006-12-21 Enrico Tröger <enrico.troeger@uvena.de>
* doc/geany.1.in, doc/Makefile.am, doc/geany.docbook, doc/images/*,

58
NEWS
View File

@ -1,3 +1,58 @@
Geany 0.10.2 (February 25, 2007)
Bugs fixed:
* Fixed serious crash of complete X session when using the Stop
command when Geany is run from the program menu (closes #1668017).
Geany 0.10.1 (February 23, 2007)
Bugs fixed:
* Wrong tab foreground colour for unmodified documents.
* Fixed crashes when closing dialogs by clicking X on some systems.
* Fixed missing global tags for C files when a C++ source file was
loaded first.
* Fixed autocompletion missing tag matches.
* Fixed a wrong PASCAL autocompletion.
* Set single undo action when toggling multiple lines or stripping
trailing spaces.
* Prevent some possible invalid memory reads.
* Convert config, application and documentation dir paths to locale
encoding before using it.
* Fixed errors when changing directories containing special
characters within the VTE component (thanks to Jeff Pohlmeyer).
* Support newer so-names when loading the VTE library (thanks to
Jeff Pohlmeyer).
* Fixed paste problems on Windows.
* When using Save As the returned filename needs to be converted
into UTF-8.
* Fixed error when parsing of compiler errors by the va_list system.
* Added MimeType entry as suggested by Nick Schermer.
* LaTeX parser: Allow \section*{} and other commands with *.
* Change default keybinding for Close All to Ctrl-Shift-W.
* Allow Make for files with no extension - prevent Build when the
output filename would be the same as the source file.
* Ensure the VTE visual settings are applied when switching to VTE
when the Message Window is hidden.
* Fixed several issues while opening files and improved code.
* Improved the auto scrolling of documents and fixed a bug when
opening files remotely.
* Fixed wrong D function return type after a class definition.
* Added several missing style types for filetype Perl (thanks to
John Gabriele for reporting).
* Prevent right click in Symbol list from selecting a tag.
* Update the symbol list when starting a new document.
* Scroll Compiler and Messages window in view when using Next Error
or Next Message.
* Auto close brackets only when auto completion of constructs is
enabled (closes #1665015).
* Fixed switching to the wrong tab when showing the unsaved dialog.
Internationalisation:
* New translations: fi (thanks to Harri Koskinen).
* Updated translations: cs, de, es, fr, hu.
Geany 0.10 (December 21, 2006)
Changes:
@ -9,8 +64,7 @@ Geany 0.10 (December 21, 2006)
patched file in a diff file.
* Added new encoding "None" to open files without any character
conversions.
* Added stop button(using the Run button) to cancel the execution
of a command like Run, Compile or Build.
* Added Stop button to abort the Run command.
* New filetype VHDL.
* New scintilla lexer for filetype D with several improvements.
* Improved auto completion of multi line comments

2
THANKS
View File

@ -20,6 +20,7 @@ Kevin Ellwood <kellwood(at)ameritech(dot)net>
Stefan Oltmanns <stefan(dot)oltmanns(at)abi2006(dot)gymnasium-achim(dot)de> - escape sequences patch
Bob Doan <bdoan(at)sicom(dot)com> - some patches
Rob van der Linde <robvdl(at)paradise(dot)net(dot)nz> - fixed wrong vte height on some systems
Dirk Weber <dietrich-weber(at)web(dot)de>
Translators:
----------------------------------
@ -29,6 +30,7 @@ Toni Garcia-Navarro <topi(at)elpiset(dot)net> - ca_ES
Petr Messner <messa(at)messa(dot)cz> - cs_CZ
Frank Lanitz <frank(at)frank(dot)uvena(dot)de> - de_DE
Damián Viano <debian(at)damianv(dot)com(dot)ar> - es
Harri Koskinen <harri(at)fastmonkey(dot)org> - fi_FI
Jean-Philippe Moal <skateinmars(at)momo(dot)servegame(dot)org> - fr
Gabor Kmetyko aka kilo <kg_kilo(at)freemail(dot)hu> - hu
M.Baldinelli <m(dot)baldinelli(at)agora(dot)it> - it

2
TODO
View File

@ -5,8 +5,6 @@ TODO List:
Next version or later:
o fix problems when loading global.tags and other tags files are
already loaded
o fix calltip return type to show pointers (and maybe const, etc.)
o Go to xxx - definable command
o documentation: list and explain filetype modes

View File

@ -2,7 +2,7 @@ dnl Process this file with autoconf to produce a configure script.
dnl $Id$
AC_INIT(configure.in)
AM_INIT_AUTOMAKE(geany, 0.10)
AM_INIT_AUTOMAKE(geany, 0.10.2)
AM_CONFIG_HEADER(config.h)
@ -125,7 +125,7 @@ AC_SUBST(GETTEXT_PACKAGE)
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Gettext package.])
# Add the languages which your application supports here.
ALL_LINGUAS="be ca cs de es fr hu it nl pl pt_BR ru vi zh_CN zh_TW"
ALL_LINGUAS="be ca cs de es fi fr hu it nl pl pt_BR ru vi zh_CN zh_TW"
AM_GLIB_GNU_GETTEXT

View File

@ -18,6 +18,19 @@ array=0x105090;0xffffff;false;false
hash=0x105090;0xffffff;false;false
symboltable=0x105090;0xffffff;false;false
backticks=0x000000;0xe0c0e0;false;false
pod_verbatim=0x004000;0xc0ffc0;false;false
reg_subst=0x000000;0xf0e080;false;false
datasection=0x600000;0xfff0d8;false;false
here_delim=0x000000;0xddd0dd;false;false
here_q=0x7f007f;0xddd0dd;false;false
here_qq=0x7f007f;0xddd0dd;true;false
here_qx=0x7f007f;0xddd0dd;false;true
string_q=0x7f007f;0xffffff;false;false
string_qq=0xff901e;0xffffff;false;false
string_qx=0x000000;0xe0c0e0;false;false
string_qr=0x105090;0xffffff;false;false
string_qw=0x105090;0xffffff;false;false
variable_indexer=0x000000;0xffffff;false;false
[keywords]
primary=NULL __FILE__ __LINE__ __PACKAGE__ __DATA__ __END__ AUTOLOAD BEGIN CORE DESTROY END EQ GE GT INIT LE LT NE CHECK abs accept alarm and atan2 bind binmode bless caller chdir chmod chomp chop chown chr chroot close closedir cmp connect continue cos crypt dbmclose dbmopen defined delete die do dump each else elsif endgrent endhostent endnetent endprotoent endpwent endservent eof eq eval exec exists exit exp fcntl fileno flock for foreach fork format formline ge getc getgrent getgrgid getgrnam gethostbyaddr gethostbyname gethostent getlogin getnetbyaddr getnetbyname getnetent getpeername getpgrp getppid getpriority getprotobyname getprotobynumber getprotoent getpwent getpwnam getpwuid getservbyname getservbyport getservent getsockname getsockopt glob gmtime goto grep gt hex if index int ioctl join keys kill last lc lcfirst le length link listen local localtime lock log lstat lt m map mkdir msgctl msgget msgrcv msgsnd my ne next no not oct open opendir or ord our pack package pipe pop pos print printf prototype push q qq qr quotemeta qu qw qx rand read readdir readline readlink readpipe recv redo ref rename require reset return reverse rewinddir rindex rmdir s scalar seek seekdir select semctl semget semop send setgrent sethostent setnetent setpgrp setpriority setprotoent setpwent setservent setsockopt shift shmctl shmget shmread shmwrite shutdown sin sleep socket socketpair sort splice split sprintf sqrt srand stat study sub substr symlink syscall sysopen sysread sysseek system syswrite tell telldir tie tied time times tr truncate uc ucfirst umask undef unless unlink unpack unshift untie until use utime values vec wait waitpid wantarray warn while write x xor y

View File

@ -113,7 +113,7 @@ settextstyle||(font: Word; direction: Word; charsize: Word)|
setusercharsize||(Multx: Word; Divx: Word; Multy: Word; Divy: Word)|
setviewport||(X1: SmallInt; Y1: SmallInt; X2: SmallInt; Y2: SmallInt; Clip: Boolean)|
setwritemode||(WriteMode: SmallInt)|
soundSound||(Hz: Word)|
sound||(Hz: Word)|
textbackground||(Color: Byte)|
textcolor||(Color: Byte)|
textheight|Word|(const TextString: String)|

View File

@ -1,4 +1,4 @@
.TH "GEANY" "1" "December 21, 2006" "@PACKAGE@ @VERSION@" ""
.TH "GEANY" "1" "February 25, 2007" "@PACKAGE@ @VERSION@" ""
.SH "NAME"
Geany \(em a small and lightweight IDE
.SH "SYNOPSIS"
@ -12,9 +12,6 @@ Some of its features: syntax highlighting, code completion, code folding, symbol
many supported filetypes like C(++), Java, PHP, HTML, DocBook, Perl and more.
.PP
Homepage: http://geany.uvena.de
Set initial line number for the first opened file
.SH "OPTIONS"
.IP "\fB-c\fP \fB\-\-config\fP " 10
Use an alternate configuration directory. Default configuration directory is
@ -48,13 +45,11 @@ Show version information and exit.
Show help information and exit.
.PP
Geany supports all generic GTK options, a list is available on the help screen.
.SH "AUTHOR"
.PP
This manual page was written by Enrico Tröger <enrico.troeger@uvena.de>. Permission is
This manual page was written by Enrico Troeger <enrico.troeger@uvena.de>. Permission is
granted to copy, distribute and/or modify this document under
the terms of the GNU General Public License, Version 2 any
later version published by the Free Software Foundation.
.PP
The complete text of the GNU General Public License can be found in @GEANY_DATA_DIR@/GPL-2.

View File

@ -2,10 +2,10 @@
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
<!ENTITY app_small "geany">
<!ENTITY appversion "0.10">
<!ENTITY appversion "0.10.2">
<!ENTITY appurl "http://geany.uvena.de">
<!ENTITY author_mail "enrico.troeger@uvena.de">
<!ENTITY date "December 21, 2006">
<!ENTITY date "February 25, 2007">
<!ENTITY legal SYSTEM "geany_gpl.docbook">
<!ENTITY scikeybinding SYSTEM "scikeybinding.docbook">
]>
@ -28,7 +28,7 @@
<address><email>frank@frank.uvena.de</email></address>
</author>
<copyright>
<year>2005-2006</year>
<year>2005-2007</year>
</copyright>
<legalnotice>
<para>

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Appendix A. Scintilla keyboard commands</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10"><link rel="up" href="index.html" title="Geany 0.10"><link rel="prev" href="ch04s03.html" title="Templates"><link rel="next" href="apb.html" title="Appendix B. GNU General Public License"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix A. Scintilla keyboard commands</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04s03.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="apb.html">Next</a></td></tr></table><hr></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="scikeybinding"></a>Scintilla keyboard commands</h1></div><div><p class="copyright">Copyright © 1998, 2006 Neil Hodgson &lt;neilh@scintilla.org&gt;</p></div><div><div class="legalnotice"><a name="id2798015"></a><p>
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Appendix A. Scintilla keyboard commands</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10.2"><link rel="up" href="index.html" title="Geany 0.10.2"><link rel="prev" href="ch04s03.html" title="Templates"><link rel="next" href="apb.html" title="Appendix B. GNU General Public License"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix A. Scintilla keyboard commands</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04s03.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="apb.html">Next</a></td></tr></table><hr></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="scikeybinding"></a>Scintilla keyboard commands</h1></div><div><p class="copyright">Copyright © 1998, 2006 Neil Hodgson &lt;neilh@scintilla.org&gt;</p></div><div><div class="legalnotice"><a name="id2798631"></a><p>
This appendix is distributed under the terms of the License for
Scintilla and SciTE.
A copy of this license can be found in the file scintilla/License.txt
@ -6,9 +6,9 @@
program and in the
appendix of this document.
See <a href="apc.html" title="Appendix C. License for Scintilla and SciTE">Appendix C, <i>License for Scintilla and SciTE</i></a>.
</p></div></div><div><p class="pubdate">20 June 2006</p></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="apa.html#id2798042">
</p></div></div><div><p class="pubdate">20 June 2006</p></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="apa.html#id2798657">
Keyboard commands
</a></span></dt></dl></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2798042"></a>
</a></span></dt></dl></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2798657"></a>
Keyboard commands
</h2></div></div></div><p>
@ -21,5 +21,5 @@
Keyboard equivalents of menu commands are listed in the menus.
Some less common commands with no menu equivalent are:
</p><p>
</p><div class="table"><a name="id2798676"></a><p class="title"><b>Table A.1. Scintilla keyboard commands</b></p><div class="table-contents"><table summary="Scintilla keyboard commands" cellspacing="0" cellpadding="4" border="1"><colgroup><col><col></colgroup><thead><tr><th>Action</th><th>Shortcut key</th></tr></thead><tbody><tr><td>Magnify text size.</td><td>Ctrl+Keypad+</td></tr><tr><td>Reduce text size.</td><td>Ctrl+Keypad-</td></tr><tr><td>Restore text size to normal.</td><td>Ctrl+Keypad/</td></tr><tr><td>Indent block.</td><td>Tab</td></tr><tr><td>Dedent block.</td><td>Shift+Tab</td></tr><tr><td>Delete to start of word.</td><td>Ctrl+BackSpace</td></tr><tr><td>Delete to end of word.</td><td>Ctrl+Delete</td></tr><tr><td>Delete to start of line.</td><td>Ctrl+Shift+BackSpace</td></tr><tr><td>Delete to end of line.</td><td>Ctrl+Shift+Delete</td></tr><tr><td>Go to start of document.</td><td>Ctrl+Home</td></tr><tr><td>Extend selection to start of document.</td><td>Ctrl+Shift+Home</td></tr><tr><td>Go to start of display line.</td><td>Alt+Home</td></tr><tr><td>Extend selection to start of display line.</td><td>Alt+Shift+Home</td></tr><tr><td>Go to end of document.</td><td>Ctrl+End</td></tr><tr><td>Extend selection to end of document.</td><td>Ctrl+Shift+End</td></tr><tr><td>Go to end of display line.</td><td>Alt+End</td></tr><tr><td>Extend selection to end of display line.</td><td>Alt+Shift+End</td></tr><tr><td>Scroll up.</td><td>Ctrl+Up</td></tr><tr><td>Scroll down.</td><td>Ctrl+Down</td></tr><tr><td>Line cut.</td><td>Ctrl+L</td></tr><tr><td>Line copy.</td><td>Ctrl+Shift+T</td></tr><tr><td>Line delete.</td><td>Ctrl+Shift+L</td></tr><tr><td>Line transpose with previous.</td><td>Ctrl+T</td></tr><tr><td>Selection duplicate.</td><td>Ctrl+D</td></tr><tr><td>Previous paragraph. Shift extends selection.</td><td>Ctrl+[</td></tr><tr><td>Next paragraph. Shift extends selection.</td><td>Ctrl+]</td></tr><tr><td>Previous word. Shift extends selection.</td><td>Ctrl+Left</td></tr><tr><td>Next word. Shift extends selection.</td><td>Ctrl+Right</td></tr><tr><td>Previous word part. Shift extends selection</td><td>Ctrl+/</td></tr><tr><td>Next word part. Shift extends selection.</td><td>Ctrl+\</td></tr></tbody></table></div></div><p><br class="table-break">
</p><div class="table"><a name="id2799292"></a><p class="title"><b>Table A.1. Scintilla keyboard commands</b></p><div class="table-contents"><table summary="Scintilla keyboard commands" cellspacing="0" cellpadding="4" border="1"><colgroup><col><col></colgroup><thead><tr><th>Action</th><th>Shortcut key</th></tr></thead><tbody><tr><td>Magnify text size.</td><td>Ctrl+Keypad+</td></tr><tr><td>Reduce text size.</td><td>Ctrl+Keypad-</td></tr><tr><td>Restore text size to normal.</td><td>Ctrl+Keypad/</td></tr><tr><td>Indent block.</td><td>Tab</td></tr><tr><td>Dedent block.</td><td>Shift+Tab</td></tr><tr><td>Delete to start of word.</td><td>Ctrl+BackSpace</td></tr><tr><td>Delete to end of word.</td><td>Ctrl+Delete</td></tr><tr><td>Delete to start of line.</td><td>Ctrl+Shift+BackSpace</td></tr><tr><td>Delete to end of line.</td><td>Ctrl+Shift+Delete</td></tr><tr><td>Go to start of document.</td><td>Ctrl+Home</td></tr><tr><td>Extend selection to start of document.</td><td>Ctrl+Shift+Home</td></tr><tr><td>Go to start of display line.</td><td>Alt+Home</td></tr><tr><td>Extend selection to start of display line.</td><td>Alt+Shift+Home</td></tr><tr><td>Go to end of document.</td><td>Ctrl+End</td></tr><tr><td>Extend selection to end of document.</td><td>Ctrl+Shift+End</td></tr><tr><td>Go to end of display line.</td><td>Alt+End</td></tr><tr><td>Extend selection to end of display line.</td><td>Alt+Shift+End</td></tr><tr><td>Scroll up.</td><td>Ctrl+Up</td></tr><tr><td>Scroll down.</td><td>Ctrl+Down</td></tr><tr><td>Line cut.</td><td>Ctrl+L</td></tr><tr><td>Line copy.</td><td>Ctrl+Shift+T</td></tr><tr><td>Line delete.</td><td>Ctrl+Shift+L</td></tr><tr><td>Line transpose with previous.</td><td>Ctrl+T</td></tr><tr><td>Selection duplicate.</td><td>Ctrl+D</td></tr><tr><td>Previous paragraph. Shift extends selection.</td><td>Ctrl+[</td></tr><tr><td>Next paragraph. Shift extends selection.</td><td>Ctrl+]</td></tr><tr><td>Previous word. Shift extends selection.</td><td>Ctrl+Left</td></tr><tr><td>Next word. Shift extends selection.</td><td>Ctrl+Right</td></tr><tr><td>Previous word part. Shift extends selection</td><td>Ctrl+/</td></tr><tr><td>Next word part. Shift extends selection.</td><td>Ctrl+\</td></tr></tbody></table></div></div><p><br class="table-break">
</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch04s03.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="apb.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Templates </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Appendix B. GNU General Public License</td></tr></table></div></body></html>

View File

@ -1,4 +1,4 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Appendix B. GNU General Public License</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10"><link rel="up" href="index.html" title="Geany 0.10"><link rel="prev" href="apa.html" title="Appendix A. Scintilla keyboard commands"><link rel="next" href="apbs02.html" title="TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix B. GNU General Public License</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="apa.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="apbs02.html">Next</a></td></tr></table><hr></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="geany-gpl"></a>GNU General Public License</h1></div><div><p class="releaseinfo"> Version 2, June 1991</p></div><div><p class="copyright">Copyright © 1989, 1991 Free Software Foundation, Inc.</p></div><div><div class="legalnotice"><a name="id2798382"></a><p>
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Appendix B. GNU General Public License</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10.2"><link rel="up" href="index.html" title="Geany 0.10.2"><link rel="prev" href="apa.html" title="Appendix A. Scintilla keyboard commands"><link rel="next" href="apbs02.html" title="TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix B. GNU General Public License</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="apa.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="apbs02.html">Next</a></td></tr></table><hr></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="geany-gpl"></a>GNU General Public License</h1></div><div><p class="releaseinfo"> Version 2, June 1991</p></div><div><p class="copyright">Copyright © 1989, 1991 Free Software Foundation, Inc.</p></div><div><div class="legalnotice"><a name="id2798997"></a><p>
</p><div class="address"><p>Free Software Foundation, Inc.<br>
  <span class="street">59 Temple Place, Suite 330</span>,<br>
  <span class="city">Boston</span>,<br>
@ -7,18 +7,18 @@
  <span class="country">USA</span><br>
</p></div><p>.
</p><p> Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
</p></div></div><div><p class="pubdate">Version 2, June 1991</p></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="apb.html#id2798471">Preamble</a></span></dt><dt><span class="sect1"><a href="apbs02.html">TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</a></span></dt><dd><dl><dt><span class="sect2"><a href="apbs02.html#id2799701">Section 0</a></span></dt><dt><span class="sect2"><a href="apbs02.html#sect1">Section 1</a></span></dt><dt><span class="sect2"><a href="apbs02.html#sect2">Section 2</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2799887">Section 3
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2799987">Section 4
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800005">Section 5
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800023">Section 6
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800040">Section 7
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800091">Section 8
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800109">Section 9
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800142">Section 10
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800160">Section 11 NO WARRANTY
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800181">Section 12
</p></div></div><div><p class="pubdate">Version 2, June 1991</p></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="apb.html#id2799087">Preamble</a></span></dt><dt><span class="sect1"><a href="apbs02.html">TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</a></span></dt><dd><dl><dt><span class="sect2"><a href="apbs02.html#id2800317">Section 0</a></span></dt><dt><span class="sect2"><a href="apbs02.html#sect1">Section 1</a></span></dt><dt><span class="sect2"><a href="apbs02.html#sect2">Section 2</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800503">Section 3
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800604">Section 4
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800621">Section 5
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800640">Section 6
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800657">Section 7
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800707">Section 8
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800725">Section 9
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800758">Section 10
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800777">Section 11 NO WARRANTY
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800797">Section 12
</a></span></dt></dl></dd><dt><span class="sect1"><a href="apbs03.html">How to Apply These Terms to Your New Programs
</a></span></dt></dl></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2798471"></a>Preamble</h2></div></div></div><p> The licenses for most software are designed to take away your
</a></span></dt></dl></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2799087"></a>Preamble</h2></div></div></div><p> The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public License is
intended to guarantee your freedom to share and change
free software - to make sure the software is free for all its users.

View File

@ -1,4 +1,4 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10"><link rel="up" href="apb.html" title="Appendix B. GNU General Public License"><link rel="prev" href="apb.html" title="Appendix B. GNU General Public License"><link rel="next" href="apbs03.html" title="How to Apply These Terms to Your New Programs"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="apb.html">Prev</a> </td><th width="60%" align="center">Appendix B. GNU General Public License</th><td width="20%" align="right"> <a accesskey="n" href="apbs03.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2799694"></a>TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2799701"></a>Section 0</h3></div></div></div><p> This License applies to any program or other work which contains a notice
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10.2"><link rel="up" href="apb.html" title="Appendix B. GNU General Public License"><link rel="prev" href="apb.html" title="Appendix B. GNU General Public License"><link rel="next" href="apbs03.html" title="How to Apply These Terms to Your New Programs"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="apb.html">Prev</a> </td><th width="60%" align="center">Appendix B. GNU General Public License</th><td width="20%" align="right"> <a accesskey="n" href="apbs03.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2800310"></a>TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2800317"></a>Section 0</h3></div></div></div><p> This License applies to any program or other work which contains a notice
placed by the copyright holder saying it may be distributed under the terms
of this General Public License. The "Program", below, refers to any such
program or work, and a
@ -61,7 +61,7 @@
</p><p> In addition, mere aggregation of another work not based on the Program with the Program
(or with a work based on the Program) on a volume of a storage or distribution medium
does not bring the other work under the scope of this License.
</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2799887"></a>Section 3
</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2800503"></a>Section 3
</h3></div></div></div><p> You may copy and distribute the Program (or a work based on it, under
<a href="apbs02.html#sect2" title="Section 2">Section 2</a> in object code or executable form under the terms of
<a href="apbs02.html#sect1" title="Section 1">Sections 1</a> and
@ -90,26 +90,26 @@
designated place, then offering equivalent access to copy the source code from the same place
counts as distribution of the source code, even though third parties are not compelled to
copy the source along with the object code.
</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2799987"></a>Section 4
</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2800604"></a>Section 4
</h3></div></div></div><p> You may not copy, modify, sublicense, or distribute the Program except as expressly provided
under this License. Any attempt otherwise to copy, modify, sublicense or distribute the
Program is void, and will automatically terminate your rights under this License. However,
parties who have received copies, or rights, from you under this License will not have their
licenses terminated so long as such parties remain in full compliance.
</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2800005"></a>Section 5
</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2800621"></a>Section 5
</h3></div></div></div><p> You are not required to accept this License, since you have not signed it. However, nothing
else grants you permission to modify or distribute the Program or its derivative works.
These actions are prohibited by law if you do not accept this License. Therefore, by modifying
or distributing the Program (or any work based on the Program), you indicate your acceptance
of this License to do so, and all its terms and conditions for copying, distributing or
modifying the Program or works based on it.
</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2800023"></a>Section 6
</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2800640"></a>Section 6
</h3></div></div></div><p> Each time you redistribute the Program (or any work based on the Program), the recipient
automatically receives a license from the original licensor to copy, distribute or modify
the Program subject to these terms and conditions. You may not impose any further restrictions
on the recipients' exercise of the rights granted herein. You are not responsible for enforcing
compliance by third parties to this License.
</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2800040"></a>Section 7
</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2800657"></a>Section 7
</h3></div></div></div><p> If, as a consequence of a court judgment or allegation of patent infringement or for any other
reason (not limited to patent issues), conditions are imposed on you (whether by court order,
agreement or otherwise) that contradict the conditions of this License, they do not excuse you
@ -131,13 +131,13 @@
system and a licensee cannot impose that choice.
</p><p> This section is intended to make thoroughly clear what is believed to be a consequence of the
rest of this License.
</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2800091"></a>Section 8
</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2800707"></a>Section 8
</h3></div></div></div><p> If the distribution and/or use of the Program is restricted in certain countries either by patents
or by copyrighted interfaces, the original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding those countries, so that
distribution is permitted only in or among countries not thus excluded. In such case, this License
incorporates the limitation as if written in the body of this License.
</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2800109"></a>Section 9
</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2800725"></a>Section 9
</h3></div></div></div><p> The Free Software Foundation may publish revised and/or new versions of the General Public License
from time to time. Such new versions will be similar in spirit to the present version, but may differ
in detail to address new problems or concerns.
@ -146,20 +146,20 @@
and conditions either of that version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of this License, you may choose any
version ever published by the Free Software Foundation.
</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2800142"></a>Section 10
</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2800758"></a>Section 10
</h3></div></div></div><p> If you wish to incorporate parts of the Program into other free programs whose distribution
conditions are different, write to the author to ask for permission. For software which is copyrighted
by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions
for this. Our decision will be guided by the two goals of preserving the free status of all
derivatives of our free software and of promoting the sharing and reuse of software generally.
</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2800160"></a>Section 11 NO WARRANTY
</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2800777"></a>Section 11 NO WARRANTY
</h3></div></div></div><p> BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT
PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2800181"></a>Section 12
</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2800797"></a>Section 12
</h3></div></div></div><p> IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR
ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE

View File

@ -1,5 +1,5 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>How to Apply These Terms to Your New Programs</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10"><link rel="up" href="apb.html" title="Appendix B. GNU General Public License"><link rel="prev" href="apbs02.html" title="TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION"><link rel="next" href="apc.html" title="Appendix C. License for Scintilla and SciTE"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">How to Apply These Terms to Your New Programs
</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="apbs02.html">Prev</a> </td><th width="60%" align="center">Appendix B. GNU General Public License</th><td width="20%" align="right"> <a accesskey="n" href="apc.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2800206"></a>How to Apply These Terms to Your New Programs
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>How to Apply These Terms to Your New Programs</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10.2"><link rel="up" href="apb.html" title="Appendix B. GNU General Public License"><link rel="prev" href="apbs02.html" title="TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION"><link rel="next" href="apc.html" title="Appendix C. License for Scintilla and SciTE"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">How to Apply These Terms to Your New Programs
</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="apbs02.html">Prev</a> </td><th width="60%" align="center">Appendix B. GNU General Public License</th><td width="20%" align="right"> <a accesskey="n" href="apc.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2800823"></a>How to Apply These Terms to Your New Programs
</h2></div></div></div><p>
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it

View File

@ -1,4 +1,4 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Appendix C. License for Scintilla and SciTE</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10"><link rel="up" href="index.html" title="Geany 0.10"><link rel="prev" href="apbs03.html" title="How to Apply These Terms to Your New Programs"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix C. License for Scintilla and SciTE</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="apbs03.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> </td></tr></table><hr></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="scintilla-license"></a>Appendix C. License for Scintilla and SciTE</h2></div></div></div><p>Copyright 1998-2003 by Neil Hodgson &lt;neilh@scintilla.org&gt;</p><p>All Rights Reserved</p><p>Permission to use, copy, modify, and distribute this software and its
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Appendix C. License for Scintilla and SciTE</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10.2"><link rel="up" href="index.html" title="Geany 0.10.2"><link rel="prev" href="apbs03.html" title="How to Apply These Terms to Your New Programs"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix C. License for Scintilla and SciTE</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="apbs03.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> </td></tr></table><hr></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="scintilla-license"></a>Appendix C. License for Scintilla and SciTE</h2></div></div></div><p>Copyright 1998-2003 by Neil Hodgson &lt;neilh@scintilla.org&gt;</p><p>All Rights Reserved</p><p>Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted, provided that
the above copyright notice appear in all copies and that both that copyright
notice and this permission notice appear in supporting documentation.

View File

@ -1,8 +1,8 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Chapter 1.  Introduction</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10"><link rel="up" href="index.html" title="Geany 0.10"><link rel="prev" href="index.html" title="Geany 0.10"><link rel="next" href="ch01s02.html" title="About this document"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 1. 
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Chapter 1.  Introduction</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10.2"><link rel="up" href="index.html" title="Geany 0.10.2"><link rel="prev" href="index.html" title="Geany 0.10.2"><link rel="next" href="ch01s02.html" title="About this document"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 1. 
Introduction
</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="index.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch01s02.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="intro"></a>Chapter 1. 
Introduction
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="ch01.html#id2784276">About Geany</a></span></dt><dt><span class="section"><a href="ch01s02.html">About this document</a></span></dt><dt><span class="section"><a href="ch01s03.html">Where to get it</a></span></dt><dt><span class="section"><a href="ch01s04.html">License</a></span></dt></dl></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2784276"></a>About Geany</h2></div></div></div><p>
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="ch01.html#id2746564">About Geany</a></span></dt><dt><span class="section"><a href="ch01s02.html">About this document</a></span></dt><dt><span class="section"><a href="ch01s03.html">Where to get it</a></span></dt><dt><span class="section"><a href="ch01s04.html">License</a></span></dt></dl></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2746564"></a>About Geany</h2></div></div></div><p>
<span class="application">Geany</span> is a small and lightweight Integrated Development Environment.
It was developed to provide a small and fast IDE, which has only a few dependencies from other
packages. Another goal was to be as independent as possible from a special Desktop Environment
@ -12,5 +12,5 @@
The basic features of <span class="application">Geany</span> are:
</p><div class="itemizedlist"><ul type="disc"><li><p>Syntax highlighting</p></li><li><p>Code completion</p></li><li><p>Auto completion of often used constructs like if, for and while</p></li><li><p>Auto completion of XML and HTML tags</p></li><li><p>Call tips</p></li><li><p>Many supported filetypes like C, Java, PHP, HTML, Python, Perl, Pascal</p></li><li><p>Tag/Symbol lists</p></li></ul></div><p>
</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="index.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch01s02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">
Geany 0.10
Geany 0.10.2
 </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> About this document</td></tr></table></div></body></html>

View File

@ -1,6 +1,6 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>About this document</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10"><link rel="up" href="ch01.html" title="Chapter 1.  Introduction"><link rel="prev" href="ch01.html" title="Chapter 1.  Introduction"><link rel="next" href="ch01s03.html" title="Where to get it"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">About this document</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch01.html">Prev</a> </td><th width="60%" align="center">Chapter 1. 
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>About this document</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10.2"><link rel="up" href="ch01.html" title="Chapter 1.  Introduction"><link rel="prev" href="ch01.html" title="Chapter 1.  Introduction"><link rel="next" href="ch01s03.html" title="Where to get it"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">About this document</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch01.html">Prev</a> </td><th width="60%" align="center">Chapter 1. 
Introduction
</th><td width="20%" align="right"> <a accesskey="n" href="ch01s03.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2746203"></a>About this document</h2></div></div></div><p>
</th><td width="20%" align="right"> <a accesskey="n" href="ch01s03.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2746811"></a>About this document</h2></div></div></div><p>
This documentation is available in various formats like HTML, text and PDF. The latest version is
always available at <a href="http://geany.uvena.de" target="_top">http://geany.uvena.de</a>.
</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch01.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch01.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch01s03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 1. 

View File

@ -1,6 +1,6 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Where to get it</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10"><link rel="up" href="ch01.html" title="Chapter 1.  Introduction"><link rel="prev" href="ch01s02.html" title="About this document"><link rel="next" href="ch01s04.html" title="License"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Where to get it</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch01s02.html">Prev</a> </td><th width="60%" align="center">Chapter 1. 
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Where to get it</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10.2"><link rel="up" href="ch01.html" title="Chapter 1.  Introduction"><link rel="prev" href="ch01s02.html" title="About this document"><link rel="next" href="ch01s04.html" title="License"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Where to get it</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch01s02.html">Prev</a> </td><th width="60%" align="center">Chapter 1. 
Introduction
</th><td width="20%" align="right"> <a accesskey="n" href="ch01s04.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2746221"></a>Where to get it</h2></div></div></div><p>
</th><td width="20%" align="right"> <a accesskey="n" href="ch01s04.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2746829"></a>Where to get it</h2></div></div></div><p>
You can obtain <span class="application">Geany</span> from <a href="http://geany.uvena.de" target="_top">http://geany.uvena.de</a>
or perhaps from your distributor.
</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch01s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch01.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch01s04.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">About this document </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> License</td></tr></table></div></body></html>

View File

@ -1,6 +1,6 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>License</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10"><link rel="up" href="ch01.html" title="Chapter 1.  Introduction"><link rel="prev" href="ch01s03.html" title="Where to get it"><link rel="next" href="ch02.html" title="Chapter 2.  Installation"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">License</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch01s03.html">Prev</a> </td><th width="60%" align="center">Chapter 1. 
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>License</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10.2"><link rel="up" href="ch01.html" title="Chapter 1.  Introduction"><link rel="prev" href="ch01s03.html" title="Where to get it"><link rel="next" href="ch02.html" title="Chapter 2.  Installation"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">License</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch01s03.html">Prev</a> </td><th width="60%" align="center">Chapter 1. 
Introduction
</th><td width="20%" align="right"> <a accesskey="n" href="ch02.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2746245"></a>License</h2></div></div></div><p>
</th><td width="20%" align="right"> <a accesskey="n" href="ch02.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2746854"></a>License</h2></div></div></div><p>
<span class="application">Geany</span> is distributed under the terms of the GNU General Public License as published
by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
A copy of this license can be found in the file COPYING included with the source code of this

View File

@ -1,8 +1,8 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Chapter 2.  Installation</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10"><link rel="up" href="index.html" title="Geany 0.10"><link rel="prev" href="ch01s04.html" title="License"><link rel="next" href="ch02s02.html" title="Source compilation"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 2. 
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Chapter 2.  Installation</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10.2"><link rel="up" href="index.html" title="Geany 0.10.2"><link rel="prev" href="ch01s04.html" title="License"><link rel="next" href="ch02s02.html" title="Source compilation"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 2. 
Installation
</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch01s04.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch02s02.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="installation"></a>Chapter 2. 
Installation
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="ch02.html#id2746438">Requirements</a></span></dt><dt><span class="section"><a href="ch02s02.html">Source compilation</a></span></dt><dt><span class="section"><a href="ch02s03.html">Binary packages</a></span></dt><dd><dl><dt><span class="section"><a href="ch02s03.html#id2746702">Fedora</a></span></dt><dt><span class="section"><a href="ch02s03.html#id2746730">Debian</a></span></dt><dt><span class="section"><a href="ch02s03.html#id2746756">SuSE</a></span></dt><dt><span class="section"><a href="ch02s03.html#id2746767">Gentoo</a></span></dt></dl></dd></dl></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2746438"></a>Requirements</h2></div></div></div><p>
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="ch02.html#id2747048">Requirements</a></span></dt><dt><span class="section"><a href="ch02s02.html">Source compilation</a></span></dt><dt><span class="section"><a href="ch02s03.html">Binary packages</a></span></dt><dd><dl><dt><span class="section"><a href="ch02s03.html#id2747323">Fedora</a></span></dt><dt><span class="section"><a href="ch02s03.html#id2747350">Debian</a></span></dt><dt><span class="section"><a href="ch02s03.html#id2747376">SuSE</a></span></dt><dt><span class="section"><a href="ch02s03.html#id2747387">Gentoo</a></span></dt></dl></dd></dl></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2747048"></a>Requirements</h2></div></div></div><p>
For compiling <span class="application">Geany</span> yourself, you will need the GTK (&gt;= 2.6.0)
libraries and header files. You will also need the Pango, Glib and ATK libraries and header files.
All these files are available at <a href="http://www.gtk.org" target="_top">http://www.gtk.org</a>.

View File

@ -1,4 +1,4 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Source compilation</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10"><link rel="up" href="ch02.html" title="Chapter 2.  Installation"><link rel="prev" href="ch02.html" title="Chapter 2.  Installation"><link rel="next" href="ch02s03.html" title="Binary packages"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Source compilation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02.html">Prev</a> </td><th width="60%" align="center">Chapter 2. 
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Source compilation</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10.2"><link rel="up" href="ch02.html" title="Chapter 2.  Installation"><link rel="prev" href="ch02.html" title="Chapter 2.  Installation"><link rel="next" href="ch02s03.html" title="Binary packages"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Source compilation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02.html">Prev</a> </td><th width="60%" align="center">Chapter 2. 
Installation
</th><td width="20%" align="right"> <a accesskey="n" href="ch02s03.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="source_compilation"></a>Source compilation</h2></div></div></div><p>
Compiling <span class="application">Geany</span> is quite easy. The following should do it:

View File

@ -1,17 +1,17 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Binary packages</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10"><link rel="up" href="ch02.html" title="Chapter 2.  Installation"><link rel="prev" href="ch02s02.html" title="Source compilation"><link rel="next" href="ch03.html" title="Chapter 3. Usage"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Binary packages</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s02.html">Prev</a> </td><th width="60%" align="center">Chapter 2. 
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Binary packages</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10.2"><link rel="up" href="ch02.html" title="Chapter 2.  Installation"><link rel="prev" href="ch02s02.html" title="Source compilation"><link rel="next" href="ch03.html" title="Chapter 3. Usage"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Binary packages</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s02.html">Prev</a> </td><th width="60%" align="center">Chapter 2. 
Installation
</th><td width="20%" align="right"> <a accesskey="n" href="ch03.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="binary_packages"></a>Binary packages</h2></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2746702"></a>Fedora</h3></div></div></div><p>
</th><td width="20%" align="right"> <a accesskey="n" href="ch03.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="binary_packages"></a>Binary packages</h2></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2747323"></a>Fedora</h3></div></div></div><p>
You can use the Fedora Core 4 repository from
<a href="http://naturidentisch.de/packages/fc4/" target="_top">http://naturidentisch.de/packages/fc4/</a>.
</p><p>
You can also use the Fedora Core 5 repository from
<a href="http://naturidentisch.de/packages/fc5/" target="_top">http://naturidentisch.de/packages/fc5/</a>.
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2746730"></a>Debian</h3></div></div></div><p>
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2747350"></a>Debian</h3></div></div></div><p>
<span class="application">Geany</span> is available through the official Debian archives.
</p><p>
<span><strong class="command">apt-get install geany</strong></span>
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2746756"></a>SuSE</h3></div></div></div><p>
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2747376"></a>SuSE</h3></div></div></div><p>
Packages for SuSE are not yet available.
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2746767"></a>Gentoo</h3></div></div></div><p>
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2747387"></a>Gentoo</h3></div></div></div><p>
An ebuild for Gentoo can be found on <a href="https://bugs.gentoo.org/show_bug.cgi?id=114815" target="_top">http://bugs.gentoo.de</a>.
</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Source compilation </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 3. Usage</td></tr></table></div></body></html>

View File

@ -1,4 +1,4 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Chapter 3. Usage</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10"><link rel="up" href="index.html" title="Geany 0.10"><link rel="prev" href="ch02s03.html" title="Binary packages"><link rel="next" href="ch03s02.html" title="Command line options"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 3. Usage</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s03.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch03s02.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="usage"></a>Chapter 3. Usage</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="ch03.html#getting_started">Getting started</a></span></dt><dt><span class="section"><a href="ch03s02.html">Command line options</a></span></dt><dt><span class="section"><a href="ch03s03.html">General</a></span></dt><dd><dl><dt><span class="section"><a href="ch03s03.html#general_startup">Startup</a></span></dt><dt><span class="section"><a href="ch03s03.html#general_instance">Opening files from the command-line in a running instance</a></span></dt><dt><span class="section"><a href="ch03s03.html#general_vte">Virtual terminal emulator widget (VTE)</a></span></dt></dl></dd><dt><span class="section"><a href="ch03s04.html">Character sets and Unicode Byte-Order-Mark (BOM)</a></span></dt><dd><dl><dt><span class="section"><a href="ch03s04.html#id2794005">Using character sets</a></span></dt><dt><span class="section"><a href="ch03s04.html#id2794136">Special encoding "None"</a></span></dt><dt><span class="section"><a href="ch03s04.html#id2794154">Unicode Byte-Order-Mark (BOM)</a></span></dt></dl></dd><dt><span class="section"><a href="ch03s05.html">Search, replace and go to</a></span></dt><dd><dl><dt><span class="section"><a href="ch03s05.html#id2794269">Find</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2794305">Find usage</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2794321">Find in files</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2794352">Replace</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2794395">Go to tag definition</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2794419">Go to tag declaration</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2794432">Go to line</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2794443">Regular expressions</a></span></dt></dl></dd><dt><span class="section"><a href="ch03s06.html">Preferences</a></span></dt><dd><dl><dt><span class="section"><a href="ch03s06.html#cto">Compile time options</a></span></dt></dl></dd><dt><span class="section"><a href="ch03s07.html">Build system</a></span></dt><dd><dl><dt><span class="section"><a href="ch03s07.html#id2795368">Compile</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2795393">Build</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2795412">Make all</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2795431">Make custom target</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2795444">Make object</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2795458">Execute</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2795481">Stopping running processes</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2745299">Set Includes and Arguments</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2745340">Indicators</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2745360">File type configuration settings</a></span></dt></dl></dd><dt><span class="section"><a href="ch03s08.html">Printing support</a></span></dt><dt><span class="section"><a href="ch03s09.html">Keybindings</a></span></dt></dl></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="getting_started"></a>Getting started</h2></div></div></div><p>
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Chapter 3. Usage</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10.2"><link rel="up" href="index.html" title="Geany 0.10.2"><link rel="prev" href="ch02s03.html" title="Binary packages"><link rel="next" href="ch03s02.html" title="Command line options"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 3. Usage</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s03.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch03s02.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="usage"></a>Chapter 3. Usage</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="ch03.html#getting_started">Getting started</a></span></dt><dt><span class="section"><a href="ch03s02.html">Command line options</a></span></dt><dt><span class="section"><a href="ch03s03.html">General</a></span></dt><dd><dl><dt><span class="section"><a href="ch03s03.html#general_startup">Startup</a></span></dt><dt><span class="section"><a href="ch03s03.html#general_instance">Opening files from the command-line in a running instance</a></span></dt><dt><span class="section"><a href="ch03s03.html#general_vte">Virtual terminal emulator widget (VTE)</a></span></dt></dl></dd><dt><span class="section"><a href="ch03s04.html">Character sets and Unicode Byte-Order-Mark (BOM)</a></span></dt><dd><dl><dt><span class="section"><a href="ch03s04.html#id2794621">Using character sets</a></span></dt><dt><span class="section"><a href="ch03s04.html#id2794752">Special encoding "None"</a></span></dt><dt><span class="section"><a href="ch03s04.html#id2794770">Unicode Byte-Order-Mark (BOM)</a></span></dt></dl></dd><dt><span class="section"><a href="ch03s05.html">Search, replace and go to</a></span></dt><dd><dl><dt><span class="section"><a href="ch03s05.html#id2794885">Find</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2794921">Find usage</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2794937">Find in files</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2794968">Replace</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2795011">Go to tag definition</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2795035">Go to tag declaration</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2795048">Go to line</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2795059">Regular expressions</a></span></dt></dl></dd><dt><span class="section"><a href="ch03s06.html">Preferences</a></span></dt><dd><dl><dt><span class="section"><a href="ch03s06.html#cto">Compile time options</a></span></dt></dl></dd><dt><span class="section"><a href="ch03s07.html">Build system</a></span></dt><dd><dl><dt><span class="section"><a href="ch03s07.html#id2795984">Compile</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2796009">Build</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2796028">Make all</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2796047">Make custom target</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2796060">Make object</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2796074">Execute</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2796097">Stopping running processes</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2745909">Set Includes and Arguments</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2745950">Indicators</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2745969">File type configuration settings</a></span></dt></dl></dd><dt><span class="section"><a href="ch03s08.html">Printing support</a></span></dt><dt><span class="section"><a href="ch03s09.html">Keybindings</a></span></dt></dl></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="getting_started"></a>Getting started</h2></div></div></div><p>
You can start <span class="application">Geany</span> in the following ways:
</p><div class="itemizedlist"><ul type="disc"><li><p>
From the Desktop Environment menu

View File

@ -1,5 +1,5 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Command line options</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10"><link rel="up" href="ch03.html" title="Chapter 3. Usage"><link rel="prev" href="ch03.html" title="Chapter 3. Usage"><link rel="next" href="ch03s03.html" title="General"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Command line options</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Usage</th><td width="20%" align="right"> <a accesskey="n" href="ch03s03.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="clo"></a>Command line options</h2></div></div></div><p>
</p><div class="table"><a name="id2746904"></a><p class="title"><b>Table 3.1. Command line Options</b></p><div class="table-contents"><table summary="Command line Options" cellspacing="0" cellpadding="4" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Short option</th><th>Long option</th><th>Function</th></tr></thead><tbody><tr><td>-c dir_name</td><td>--config=directory_name</td><td>Use an alternate configuration directory. Default
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Command line options</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10.2"><link rel="up" href="ch03.html" title="Chapter 3. Usage"><link rel="prev" href="ch03.html" title="Chapter 3. Usage"><link rel="next" href="ch03s03.html" title="General"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Command line options</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Usage</th><td width="20%" align="right"> <a accesskey="n" href="ch03s03.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="clo"></a>Command line options</h2></div></div></div><p>
</p><div class="table"><a name="id2747524"></a><p class="title"><b>Table 3.1. Command line Options</b></p><div class="table-contents"><table summary="Command line Options" cellspacing="0" cellpadding="4" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Short option</th><th>Long option</th><th>Function</th></tr></thead><tbody><tr><td>-c dir_name</td><td>--config=directory_name</td><td>Use an alternate configuration directory. Default
configuration directory is <code class="filename">~/.geany/</code>
and there resides <code class="filename">geany.conf</code> and
other configuration files.

View File

@ -1,4 +1,4 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>General</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10"><link rel="up" href="ch03.html" title="Chapter 3. Usage"><link rel="prev" href="ch03s02.html" title="Command line options"><link rel="next" href="ch03s04.html" title="Character sets and Unicode Byte-Order-Mark (BOM)"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">General</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s02.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Usage</th><td width="20%" align="right"> <a accesskey="n" href="ch03s04.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="general"></a>General</h2></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="general_startup"></a>Startup</h3></div></div></div><p>
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>General</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10.2"><link rel="up" href="ch03.html" title="Chapter 3. Usage"><link rel="prev" href="ch03s02.html" title="Command line options"><link rel="next" href="ch03s04.html" title="Character sets and Unicode Byte-Order-Mark (BOM)"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">General</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s02.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Usage</th><td width="20%" align="right"> <a accesskey="n" href="ch03s04.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="general"></a>General</h2></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="general_startup"></a>Startup</h3></div></div></div><p>
At startup, <span class="application">Geany</span> loads all files from the last time
<span class="application">Geany</span> was launched. You can disable this feature in the
preferences dialog(see <a href="ch03s06.html#confdialog_gen" title="Figure 3.4. General tab in preferences dialog">Figure 3.4, “General tab in preferences dialog”</a>). If you specify some files on

View File

@ -1,4 +1,4 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Character sets and Unicode Byte-Order-Mark (BOM)</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10"><link rel="up" href="ch03.html" title="Chapter 3. Usage"><link rel="prev" href="ch03s03.html" title="General"><link rel="next" href="ch03s05.html" title="Search, replace and go to"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Character sets and Unicode Byte-Order-Mark (BOM)</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s03.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Usage</th><td width="20%" align="right"> <a accesskey="n" href="ch03s05.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="charset"></a>Character sets and Unicode Byte-Order-Mark (BOM)</h2></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2794005"></a>Using character sets</h3></div></div></div><p>
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Character sets and Unicode Byte-Order-Mark (BOM)</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10.2"><link rel="up" href="ch03.html" title="Chapter 3. Usage"><link rel="prev" href="ch03s03.html" title="General"><link rel="next" href="ch03s05.html" title="Search, replace and go to"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Character sets and Unicode Byte-Order-Mark (BOM)</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s03.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Usage</th><td width="20%" align="right"> <a accesskey="n" href="ch03s05.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="charset"></a>Character sets and Unicode Byte-Order-Mark (BOM)</h2></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2794621"></a>Using character sets</h3></div></div></div><p>
<span class="application">Geany</span> provides support for detecting and converting
character sets. So you can open and save files in different character sets and
even can convert a file from a character set to another one.
@ -33,14 +33,14 @@
</p></li><li><p>Using the "Set encoding" menu item</p><p>In contrary to the above two options, this will not change or
reload the current file unless you save it. It is useful when
you want to change the encoding of the file.</p></li></ol></div><p>
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2794136"></a>Special encoding "None"</h3></div></div></div><p>
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2794752"></a>Special encoding "None"</h3></div></div></div><p>
There is a special encoding "None" which is actually no real encoding. It is
useful when you know that Geany cannot auto detect the encoding of a file and
it is not displayed correctly. Especially when the file contains NUL-bytes this
can be useful to skip auto detection and open the file properly at least until
the occurrence of the first NUL-byte. Using this encoding opens the file as it
is without any character conversion.
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2794154"></a>Unicode Byte-Order-Mark (BOM)</h3></div></div></div><p>
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2794770"></a>Unicode Byte-Order-Mark (BOM)</h3></div></div></div><p>
Furthermore, <span class="application">Geany</span> detects an Unicode Byte Order Mark
(see <a href="http://en.wikipedia.org/wiki/Byte_Order_Mark" target="_top">
<em class="citetitle">http://en.wikipedia.org/wiki/Byte_Order_Mark</em>

View File

@ -1,4 +1,4 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Search, replace and go to</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10"><link rel="up" href="ch03.html" title="Chapter 3. Usage"><link rel="prev" href="ch03s04.html" title="Character sets and Unicode Byte-Order-Mark (BOM)"><link rel="next" href="ch03s06.html" title="Preferences"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Search, replace and go to</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s04.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Usage</th><td width="20%" align="right"> <a accesskey="n" href="ch03s06.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="search_replace"></a>Search, replace and go to</h2></div></div></div><p>
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Search, replace and go to</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10.2"><link rel="up" href="ch03.html" title="Chapter 3. Usage"><link rel="prev" href="ch03s04.html" title="Character sets and Unicode Byte-Order-Mark (BOM)"><link rel="next" href="ch03s06.html" title="Preferences"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Search, replace and go to</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s04.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Usage</th><td width="20%" align="right"> <a accesskey="n" href="ch03s06.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="search_replace"></a>Search, replace and go to</h2></div></div></div><p>
This section describes search-related commands from the Search menu and
the editor window's popup menu:
</p><p>
@ -6,48 +6,48 @@
</p><p>
* These items are available from the editor window's popup menu, or by
using a keyboard shortcut (see <a href="ch03s09.html" title="Keybindings">the section called “Keybindings”</a>).
</p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2794269"></a>Find</h3></div></div></div><p>
</p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2794885"></a>Find</h3></div></div></div><p>
The Find dialog is used for finding text within the current document.
The syntax for the "Use regular expressions" option is shown in
<a href="ch03s05.html#regexp" title="Table 3.2. Regular expressions">Table 3.2, “Regular expressions”</a>.
</p><p>
</p><div class="figure"><a name="id2794289"></a><p class="title"><b>Figure 3.1. Find dialog</b></p><div class="figure-contents"><div><img src="images/find_dialog.png" alt="Find dialog"></div></div></div><p><br class="figure-break">
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2794305"></a>Find usage</h3></div></div></div><p>
</p><div class="figure"><a name="id2794905"></a><p class="title"><b>Figure 3.1. Find dialog</b></p><div class="figure-contents"><div><img src="images/find_dialog.png" alt="Find dialog"></div></div></div><p><br class="figure-break">
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2794921"></a>Find usage</h3></div></div></div><p>
Find usage searches all open files. If there is a selection, then it is used
as the search text; otherwise the current word is used.
The current word is either taken from the word nearest the edit cursor, or
the word underneath the popup menu click position when the popup menu is
used.
The search results are shown in the Messages window.
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2794321"></a>Find in files</h3></div></div></div><p>
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2794937"></a>Find in files</h3></div></div></div><p>
Find in files is a more powerful version of Find usage that searches all files
in a certain directory using the Grep tool. The Grep tool must be correctly set
in Preferences to the path of the system's Grep utility.
</p><p>
</p><div class="figure"><a name="id2794336"></a><p class="title"><b>Figure 3.2. Find in files dialog</b></p><div class="figure-contents"><div><img src="images/find_in_files_dialog.png" alt="Find in files dialog"></div></div></div><p><br class="figure-break">
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2794352"></a>Replace</h3></div></div></div><p>
</p><div class="figure"><a name="id2794952"></a><p class="title"><b>Figure 3.2. Find in files dialog</b></p><div class="figure-contents"><div><img src="images/find_in_files_dialog.png" alt="Find in files dialog"></div></div></div><p><br class="figure-break">
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2794968"></a>Replace</h3></div></div></div><p>
The Replace dialog has the same options for finding text as the Find
dialog. There is also a "Replace in all files" option, which is used with the
Replace All button to perform the replacement for all open files.
</p><p>
</p><div class="figure"><a name="id2794367"></a><p class="title"><b>Figure 3.3. Replace dialog</b></p><div class="figure-contents"><div><img src="images/replace_dialog.png" alt="Replace dialog"></div></div></div><p><br class="figure-break">
</p><div class="figure"><a name="id2794983"></a><p class="title"><b>Figure 3.3. Replace dialog</b></p><div class="figure-contents"><div><img src="images/replace_dialog.png" alt="Replace dialog"></div></div></div><p><br class="figure-break">
</p><p>
The "Use regular expressions" option applies both to the search string and
to the replacement text; for the latter back references can be used -
see the entry for '\n' in <a href="ch03s05.html#regexp" title="Table 3.2. Regular expressions">Table 3.2, “Regular expressions”</a>.
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2794395"></a>Go to tag definition</h3></div></div></div><p>
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2795011"></a>Go to tag definition</h3></div></div></div><p>
If the current word is the name of a function and the file containing the
function definition (a.k.a. function body) is open, Go to tag definition will
switch to that file and go to the corresponding line number.
The current word is either taken from the word nearest the edit cursor, or
the word underneath the popup menu click position when the popup menu is
used.
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2794419"></a>Go to tag declaration</h3></div></div></div><p>
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2795035"></a>Go to tag declaration</h3></div></div></div><p>
Like Go to tag definition, but for a forward function declaration (a.k.a.
function prototype) instead of a function definition.
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2794432"></a>Go to line</h3></div></div></div><p>
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2795048"></a>Go to line</h3></div></div></div><p>
Go to a particular line number in the current file.
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2794443"></a>Regular expressions</h3></div></div></div><p>
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2795059"></a>Regular expressions</h3></div></div></div><p>
You can use regular expressions in the Find and Replace dialogs by
selecting the "Use regular expressions" check box.
The syntax is POSIX-like, as described below in <a href="ch03s05.html#regexp" title="Table 3.2. Regular expressions">Table 3.2, “Regular expressions”</a>.

View File

@ -1,12 +1,12 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Preferences</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10"><link rel="up" href="ch03.html" title="Chapter 3. Usage"><link rel="prev" href="ch03s05.html" title="Search, replace and go to"><link rel="next" href="ch03s07.html" title="Build system"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Preferences</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s05.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Usage</th><td width="20%" align="right"> <a accesskey="n" href="ch03s07.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="confdialog"></a>Preferences</h2></div></div></div><p>
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Preferences</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10.2"><link rel="up" href="ch03.html" title="Chapter 3. Usage"><link rel="prev" href="ch03s05.html" title="Search, replace and go to"><link rel="next" href="ch03s07.html" title="Build system"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Preferences</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s05.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Usage</th><td width="20%" align="right"> <a accesskey="n" href="ch03s07.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="confdialog"></a>Preferences</h2></div></div></div><p>
should be written
</p><div class="figure"><a name="confdialog_gen"></a><p class="title"><b>Figure 3.4. General tab in preferences dialog</b></p><div class="figure-contents"><div><img src="images/pref_dialog_gen.png" alt="General tab in preferences dialog"></div></div></div><p><br class="figure-break">
</p><div class="figure"><a name="id2794730"></a><p class="title"><b>Figure 3.5. Interface tab in preferences dialog</b></p><div class="figure-contents"><div><img src="images/pref_dialog_interface.png" alt="Interface tab in preferences dialog"></div></div></div><p><br class="figure-break">
</p><div class="figure"><a name="id2794744"></a><p class="title"><b>Figure 3.6. Toolbar tab in preferences dialog</b></p><div class="figure-contents"><div><img src="images/pref_dialog_toolbar.png" alt="Toolbar tab in preferences dialog"></div></div></div><p><br class="figure-break">
</p><div class="figure"><a name="id2794758"></a><p class="title"><b>Figure 3.7. Files tab in preferences dialog</b></p><div class="figure-contents"><div><img src="images/pref_dialog_files.png" alt="Files tab in preferences dialog"></div></div></div><p><br class="figure-break">
</p><div class="figure"><a name="id2794773"></a><p class="title"><b>Figure 3.8. Editor tab in preferences dialog</b></p><div class="figure-contents"><div><img src="images/pref_dialog_edit.png" alt="Editor tab in preferences dialog"></div></div></div><p><br class="figure-break">
</p><div class="figure"><a name="id2794787"></a><p class="title"><b>Figure 3.9. Tools tab in preferences dialog</b></p><div class="figure-contents"><div><img src="images/pref_dialog_tools.png" alt="Tools tab in preferences dialog"></div></div></div><p><br class="figure-break">
</p><div class="figure"><a name="id2795346"></a><p class="title"><b>Figure 3.5. Interface tab in preferences dialog</b></p><div class="figure-contents"><div><img src="images/pref_dialog_interface.png" alt="Interface tab in preferences dialog"></div></div></div><p><br class="figure-break">
</p><div class="figure"><a name="id2795360"></a><p class="title"><b>Figure 3.6. Toolbar tab in preferences dialog</b></p><div class="figure-contents"><div><img src="images/pref_dialog_toolbar.png" alt="Toolbar tab in preferences dialog"></div></div></div><p><br class="figure-break">
</p><div class="figure"><a name="id2795374"></a><p class="title"><b>Figure 3.7. Files tab in preferences dialog</b></p><div class="figure-contents"><div><img src="images/pref_dialog_files.png" alt="Files tab in preferences dialog"></div></div></div><p><br class="figure-break">
</p><div class="figure"><a name="id2795389"></a><p class="title"><b>Figure 3.8. Editor tab in preferences dialog</b></p><div class="figure-contents"><div><img src="images/pref_dialog_edit.png" alt="Editor tab in preferences dialog"></div></div></div><p><br class="figure-break">
</p><div class="figure"><a name="id2795403"></a><p class="title"><b>Figure 3.9. Tools tab in preferences dialog</b></p><div class="figure-contents"><div><img src="images/pref_dialog_tools.png" alt="Tools tab in preferences dialog"></div></div></div><p><br class="figure-break">
</p><div class="figure"><a name="confdialog_templ"></a><p class="title"><b>Figure 3.10. Template tab in preferences dialog</b></p><div class="figure-contents"><div><img src="images/pref_dialog_templ.png" alt="Template tab in preferences dialog"></div></div></div><p><br class="figure-break">
</p><div class="figure"><a name="confdialog_keys"></a><p class="title"><b>Figure 3.11. Keybinding tab in preferences dialog</b></p><div class="figure-contents"><div><img src="images/pref_dialog_keys.png" alt="Keybinding tab in preferences dialog"></div></div></div><p><br class="figure-break">
</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>For more information see <a href="ch03s09.html" title="Keybindings">the section called “Keybindings”</a>.</p></div><p>
@ -16,7 +16,7 @@
options, edit the file <code class="filename">src/geany.h</code>.
Look for a block of lines starting with “<span class="quote">#define GEANY_*</span>”.
Any definitions which are not listed here should not be changed.
</p><div class="table"><a name="id2794892"></a><p class="title"><b>Table 3.3. Compile time options</b></p><div class="table-contents"><table summary="Compile time options" cellspacing="0" cellpadding="4" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Option</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td>GEANY_WORDCHARS</td><td>
</p><div class="table"><a name="id2795508"></a><p class="title"><b>Table 3.3. Compile time options</b></p><div class="table-contents"><table summary="Compile time options" cellspacing="0" cellpadding="4" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Option</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td>GEANY_WORDCHARS</td><td>
These characters define word boundaries when
making selections and searching using word matching
options.

View File

@ -1,4 +1,4 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Build system</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10"><link rel="up" href="ch03.html" title="Chapter 3. Usage"><link rel="prev" href="ch03s06.html" title="Preferences"><link rel="next" href="ch03s08.html" title="Printing support"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Build system</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s06.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Usage</th><td width="20%" align="right"> <a accesskey="n" href="ch03s08.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="build_system"></a>Build system</h2></div></div></div><p>
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Build system</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10.2"><link rel="up" href="ch03.html" title="Chapter 3. Usage"><link rel="prev" href="ch03s06.html" title="Preferences"><link rel="next" href="ch03s08.html" title="Printing support"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Build system</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s06.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Usage</th><td width="20%" align="right"> <a accesskey="n" href="ch03s08.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="build_system"></a>Build system</h2></div></div></div><p>
<span class="application">Geany</span> has an integrated build system.
Firstly this means that the current source file will be saved before
it is processed. This is for convenience so that you don't need to keep saving
@ -15,7 +15,7 @@
Depending on the current file's filetype, the Build menu will contain the following
items:
</p><div class="itemizedlist"><ul type="disc"><li><p>Compile</p></li><li><p>Build</p></li><li><p>Make all</p></li><li><p>Make custom target</p></li><li><p>Make object</p></li><li><p>Execute</p></li><li><p>Set Includes and Arguments</p></li></ul></div><p>
</p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2795368"></a>Compile</h3></div></div></div><p>
</p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2795984"></a>Compile</h3></div></div></div><p>
The Compile command has different uses for different kinds of files.
</p><p>
For compilable languages such as C and C++, the Compile command is setup
@ -25,28 +25,28 @@
Interpreted languages such as Perl, Python, Ruby will
compile to bytecode if the language supports it, or will run a syntax check,
or failing that will run the file in its language interpreter.
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2795393"></a>Build</h3></div></div></div><p>
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2796009"></a>Build</h3></div></div></div><p>
For compilable languages such as C and C++, the Build command will link the
current source file's equivalent object file into an executable. If the object
file does not exist, the source will be compiled and linked in one step,
producing just the executable binary.
</p><p>
Interpreted languages do not use the Build command.
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2795412"></a>Make all</h3></div></div></div><p>
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2796028"></a>Make all</h3></div></div></div><p>
This effectively runs "make all" in the same directory as the current file.
</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>
For each of the Make commands, The Make tool path must be correctly set
in the Tools tab of the Preferences dialog.
</p></div><p>
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2795431"></a>Make custom target</h3></div></div></div><p>
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2796047"></a>Make custom target</h3></div></div></div><p>
This is similar to running 'Make all' but you will be prompted
for the make target name to be passed to the Make tool. For example,
typing 'clean' in the dialog prompt will run "make clean".
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2795444"></a>Make object</h3></div></div></div><p>
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2796060"></a>Make object</h3></div></div></div><p>
Make object will run "make current_file.o" in the same directory as the current
file, using its prefix for 'current_file'. It is useful for compiling just the
current file without building the whole project.
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2795458"></a>Execute</h3></div></div></div><p>
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2796074"></a>Execute</h3></div></div></div><p>
Execute will run the corresponding executable file, shell script or interpreted
script in a terminal window. Note that the Terminal tool path must be correctly
set in the Tools tab of the Preferences dialog - you can use any terminal
@ -56,7 +56,7 @@
After your program or script has finished executing, you will be prompted to
press the return key. This allows you to review any text output from the program
before the terminal window is closed.
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2795481"></a>Stopping running processes</h3></div></div></div><p>
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2796097"></a>Stopping running processes</h3></div></div></div><p>
If you started a build action (Compile, Build or Run) the Run button in the
toolbar becomes a stop button and you can stop the curent action. This works
by sending a signal to the process (and its child process(es)) to stop the
@ -68,7 +68,7 @@
processes and these child processes creates again child process. There might be
some other programs which cannot be stopped correctly, e.g. "Terminal" (the
terminal program of Xfce). Xterm is known to work properly.
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2745299"></a>Set Includes and Arguments</h3></div></div></div><p>
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2745909"></a>Set Includes and Arguments</h3></div></div></div><p>
By default the Compile and Build commands invoke the compiler and linker with
only the basic arguments needed by all programs.
Using Set Includes and Arguments you can add any include
@ -84,14 +84,14 @@
</p><p>
If you need complex settings for your build system, or several different
settings, then writing a Makefile and using the Make commands is recommended.
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2745340"></a>Indicators</h3></div></div></div><p>
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2745950"></a>Indicators</h3></div></div></div><p>
Indicators are red squiggly underlines which are used to highlight errors which
occured while compiling the current file. So you can easily see where your code
failed to compile. To remove the indicators, just click on
"Remove all indicators" in the document file menu.
</p><p>
If you do not like this feature, you can disable it in the preferences dialog.
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2745360"></a>File type configuration settings</h3></div></div></div><p>
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2745969"></a>File type configuration settings</h3></div></div></div><p>
You can set the commands to run for compiling, building or executing
by opening the relevant <code class="filename">filetypes.*</code> configuration file,
and checking the [build_settings] section. See <a href="ch04.html#filetypes" title="Filetype definition files">the section called “Filetype definition files”</a> for more

View File

@ -1,4 +1,4 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Printing support</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10"><link rel="up" href="ch03.html" title="Chapter 3. Usage"><link rel="prev" href="ch03s07.html" title="Build system"><link rel="next" href="ch03s09.html" title="Keybindings"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Printing support</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s07.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Usage</th><td width="20%" align="right"> <a accesskey="n" href="ch03s09.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="printing"></a>Printing support</h2></div></div></div><p>
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Printing support</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10.2"><link rel="up" href="ch03.html" title="Chapter 3. Usage"><link rel="prev" href="ch03s07.html" title="Build system"><link rel="next" href="ch03s09.html" title="Keybindings"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Printing support</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s07.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Usage</th><td width="20%" align="right"> <a accesskey="n" href="ch03s09.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="printing"></a>Printing support</h2></div></div></div><p>
<span class="application">Geany</span> has basic printing support. This means you can
print a file by passing the filename of the current file to a command which actually
prints the file. However, the printed document contains no syntax highlighting.

View File

@ -1,4 +1,4 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Keybindings</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10"><link rel="up" href="ch03.html" title="Chapter 3. Usage"><link rel="prev" href="ch03s08.html" title="Printing support"><link rel="next" href="ch04.html" title="Chapter 4. Configuration files"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Keybindings</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s08.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Usage</th><td width="20%" align="right"> <a accesskey="n" href="ch04.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="keybindings"></a>Keybindings</h2></div></div></div><p>
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Keybindings</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10.2"><link rel="up" href="ch03.html" title="Chapter 3. Usage"><link rel="prev" href="ch03s08.html" title="Printing support"><link rel="next" href="ch04.html" title="Chapter 4. Configuration files"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Keybindings</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s08.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Usage</th><td width="20%" align="right"> <a accesskey="n" href="ch04.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="keybindings"></a>Keybindings</h2></div></div></div><p>
<span class="application">Geany</span> supports the default keyboard shortcuts for the
Scintilla editing widget. For a list of these commands, see
<a href="apa.html" title="Appendix A. Scintilla keyboard commands">Appendix A, <i>Scintilla keyboard commands</i></a>.
@ -21,7 +21,7 @@
</p><p>
The following table lists all customizable keyboard shortcuts.
</p><p>
</p><div class="table"><a name="id2795935"></a><p class="title"><b>Table 3.4. Keybindings action table</b></p><div class="table-contents"><table summary="Keybindings action table" cellspacing="0" cellpadding="4" border="1"><colgroup><col><col></colgroup><thead><tr><th>Action</th><th>Description</th></tr></thead><tbody><tr><td colspan="2" align="left">Menu items</td></tr><tr><td>New</td><td>Creates a new file.</td></tr><tr><td>Open</td><td>Opens a file.</td></tr><tr><td>Save</td><td>Saves the current file.</td></tr><tr><td>Save all</td><td>Saves all open files.</td></tr><tr><td>Close all</td><td>Closes all open files.</td></tr><tr><td>Close</td><td>Closes the current file.</td></tr><tr><td>Reload file</td><td>Reloads the current file. All unsaved changes will be lost.
</p><div class="table"><a name="id2796551"></a><p class="title"><b>Table 3.4. Keybindings action table</b></p><div class="table-contents"><table summary="Keybindings action table" cellspacing="0" cellpadding="4" border="1"><colgroup><col><col></colgroup><thead><tr><th>Action</th><th>Description</th></tr></thead><tbody><tr><td colspan="2" align="left">Menu items</td></tr><tr><td>New</td><td>Creates a new file.</td></tr><tr><td>Open</td><td>Opens a file.</td></tr><tr><td>Save</td><td>Saves the current file.</td></tr><tr><td>Save all</td><td>Saves all open files.</td></tr><tr><td>Close all</td><td>Closes all open files.</td></tr><tr><td>Close</td><td>Closes the current file.</td></tr><tr><td>Reload file</td><td>Reloads the current file. All unsaved changes will be lost.
</td></tr><tr><td>Print</td><td>Prints the current file.</td></tr><tr><td>Undo</td><td>Undoes the last action.</td></tr><tr><td>Redo</td><td>Redoes the last action.</td></tr><tr><td>Select all</td><td>Makes a selection of all text in the current document.
</td></tr><tr><td>Preferences</td><td>Opens preferences dialog.</td></tr><tr><td>Find Next</td><td>Finds next result.</td></tr><tr><td>Find Previous</td><td>Finds previous result.</td></tr><tr><td>Replace</td><td>Opens the Replace dialog.</td></tr><tr><td>Find in files</td><td>Opens the Find in files dialog.</td></tr><tr><td>Go to line</td><td>Opens the Go to line dialog.</td></tr><tr><td>Show Colour Chooser</td><td>Opens the Colour Chooser dialog.</td></tr><tr><td>Fullscreen</td><td>Switches to fullscreen mode.</td></tr><tr><td>Toggle Messages Window</td><td>Toggles the message window (status and compiler messages)
on and off.

View File

@ -1,42 +0,0 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Templates</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.68.1"><link rel="start" href="index.html" title="
Geany 0.8
"><link rel="up" href="ch03.html" title="Chapter 3. Usage"><link rel="prev" href="ch03s09.html" title="Filetype definition files"><link rel="next" href="apa.html" title="Appendix A. Scintilla keyboard commands"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Templates</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s09.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Usage</th><td width="20%" align="right"> <a accesskey="n" href="apa.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2754958"></a>Templates</h2></div></div></div><p>
<span class="application">Geany</span> supports several templates for file headers, multiline
comments (frame comments), function descriptions, a typical ChangeLog entry and a short GPL notice.
To use these templates, just open the Edit menu or open the popup menu by right-clicking in the
editor widget, and choose "Insert Comments" and insert templates as you want.
</p><p>
Some templates (like file header or ChangeLog entry) will always be inserted at the top of the file.
</p><p>
To insert a function description, the cursor must be inside of the function, so that the function
name can be determined automatically. The description will be positioned correctly one line above
the function, just check it out. If the cursor is not inside of a function or the function name cannot
be determined, you cannot insert a function description.
</p><p>
Each template can be customized to your needs. The templates are in the configuration directory, which
is in <code class="filename">~/.geany/</code> (see <a href="ch03s02.html" title="Command line options">the section called “Command line options”</a> for further information about the
configuration directory). Just open the desired template with an editor (ideally Geany ;-) ) and edit
the template as your needs. There are some wildcards which will be automatically replaced by
<span class="application">Geany</span> at startup.
</p><p>
All wildcards must be enclosed by "{" and "}", e.g. {date}.
</p><p>
In the configuration dialog you can find a tab "Templates" (see <a href="ch03s05.html#confdialog_templ" title="Figure 3.5. Template tab in preferences dialog">Figure 3.5, “Template tab in preferences dialog”</a>).
You can define the default values which will be inserted in the templates. You should restart
<span class="application">Geany</span> after making changes, because they are only read at startup.
</p><p>
Since <span class="application">Geany</span> 0.3 there are also templates for creating new files.
They can be found in <code class="filename">~/.geany/</code>, too.
All template files for creating new files begin with
<code class="filename">template.filetype.</code> followed by the filetype.
At creating a new file with a filetype template, the template for the fileheader is automatically prepended.
Please note that the complete behaviour is still under development and will probably be changed in one of
the next releases. Sorry.
</p><p> </p><p>
</p><div class="table"><a name="id2755076"></a><p class="title"><b>Table 3.8. Template wildcards</b></p><table summary="Template wildcards" cellspacing="0" cellpadding="4" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Wildcard</th><th>Description</th><th>Available in following templates</th></tr></thead><tbody><tr><td>developer</td><td>The name of the developer.</td><td>filetypes, file header, function description, ChangeLog entry</td></tr><tr><td>initial</td><td>The developer's initials, e.g. "ET" for
Enrico Tröger or "JFD" for John Foobar Doe.</td><td>filetypes, file header, function description, ChangeLog entry</td></tr><tr><td>mail</td><td>The email address of the developer.</td><td>file header, function description, ChangeLog entry</td></tr><tr><td>company</td><td>The company the developer is working for.</td><td>filetypes, file header, function description, ChangeLog entry</td></tr><tr><td>year</td><td>The current year in the format: YYYY</td><td>filetypes, file header, function description, ChangeLog entry</td></tr><tr><td>version</td><td>The initial version of a new file.</td><td>filetypes, file header, function description, ChangeLog entry</td></tr><tr><td>date</td><td>The current date in the format: YYYY-MM-DD</td><td>filetypes, file header, function description, ChangeLog entry</td></tr><tr><td>untitled</td><td>The string "untitled" (this will be translated to your locale),
used in filetype templates</td><td>filetypes, file header, function description, ChangeLog entry</td></tr><tr><td>geanyversion</td><td>The actual Geany version, e.g. "Geany 0.8"</td><td>filetypes, file header, function description, ChangeLog entry</td></tr><tr><td>datetime</td><td>The current date and time in the format: DD.MM.YYYY HH:mm:ss ZZZZ</td><td>file header, function description</td></tr><tr><td>filename</td><td>The filename of the current file. Only available for the file header template.</td><td>file header</td></tr><tr><td>gpl</td><td>This wildcard inserts a short GPL notice.</td><td>file header</td></tr><tr><td>functionname</td><td>The function name of the function at the cursor position.
This wildcard will only be replaced in the function
description template.</td><td>function description</td></tr></tbody></table></div><p>
If you need any other wildcards or a special date/time format, please email the author <code class="email">&lt;<a href="mailto:enrico.troeger@uvena.de">enrico.troeger@uvena.de</a>&gt;</code>.
</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch03s09.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch03.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="apa.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Filetype definition files </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Appendix A. Scintilla keyboard commands</td></tr></table></div></body></html>

View File

@ -1,4 +1,4 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Chapter 4. Configuration files</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10"><link rel="up" href="index.html" title="Geany 0.10"><link rel="prev" href="ch03s09.html" title="Keybindings"><link rel="next" href="ch04s02.html" title="Filetype extensions"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 4. Configuration files</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s09.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch04s02.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="config_files"></a>Chapter 4. Configuration files</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="ch04.html#filetypes">Filetype definition files</a></span></dt><dd><dl><dt><span class="section"><a href="ch04.html#filetypes_format">Format</a></span></dt><dt><span class="section"><a href="ch04.html#filetypes_common">Special file filetypes.common</a></span></dt></dl></dd><dt><span class="section"><a href="ch04s02.html">Filetype extensions</a></span></dt><dt><span class="section"><a href="ch04s03.html">Templates</a></span></dt></dl></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="filetypes"></a>Filetype definition files</h2></div></div></div><p>
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Chapter 4. Configuration files</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10.2"><link rel="up" href="index.html" title="Geany 0.10.2"><link rel="prev" href="ch03s09.html" title="Keybindings"><link rel="next" href="ch04s02.html" title="Filetype extensions"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 4. Configuration files</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s09.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch04s02.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="config_files"></a>Chapter 4. Configuration files</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="ch04.html#filetypes">Filetype definition files</a></span></dt><dd><dl><dt><span class="section"><a href="ch04.html#filetypes_format">Format</a></span></dt><dt><span class="section"><a href="ch04.html#filetypes_common">Special file filetypes.common</a></span></dt></dl></dd><dt><span class="section"><a href="ch04s02.html">Filetype extensions</a></span></dt><dt><span class="section"><a href="ch04s03.html">Templates</a></span></dt></dl></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="filetypes"></a>Filetype definition files</h2></div></div></div><p>
All colour definitions and other filetype specific settings are stored in the
filetype definition files. Those settings are colours for syntax highlighting,
general settings like comment characters or word delimiter characters as well as
@ -27,7 +27,7 @@
<code class="filename">~/.geany/filedefs/filetypes.X</code> and add only these settings you
want to change. All missing settings will be read from the corresponding global
definition file in <code class="filename">$prefix/share/geany</code>.
</p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="filetypes_format"></a>Format</h3></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2796800"></a>[styling] Section</h4></div></div></div><p>
</p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="filetypes_format"></a>Format</h3></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2797416"></a>[styling] Section</h4></div></div></div><p>
In this section the colours for syntax highlighting are defined.
The format is always:
<code class="constant">key=forground_colour;background_colour;bold;italic</code>
@ -37,14 +37,14 @@
but it is a good idea to use small letters. Bold and italic are flags and
should only be "true" or "false". If their value is something other than
"true" or "false", "false" is assumed.
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2796825"></a>[keywords] Section</h4></div></div></div><p>
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2797441"></a>[keywords] Section</h4></div></div></div><p>
This section contains keys for different keyword lists specific to the
filetype. Some filetypes do not support keywords, so adding a new key will
not work. You can only add or remove keywords to/from an existing list.
</p><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Important</h3><p>The keywords list must be in one line without line ending
characters.</p></div><p>
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2796845"></a>[settings] Section</h4></div></div></div><p>
</p><div class="table"><a name="id2796853"></a><p class="title"><b>Table 4.1. General settings</b></p><div class="table-contents"><table summary="General settings" cellspacing="0" cellpadding="4" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Key</th><th>Description</th><th>Example</th></tr></thead><tbody><tr><td>wordchars</td><td>
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2797461"></a>[settings] Section</h4></div></div></div><p>
</p><div class="table"><a name="id2797469"></a><p class="title"><b>Table 4.1. General settings</b></p><div class="table-contents"><table summary="General settings" cellspacing="0" cellpadding="4" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Key</th><th>Description</th><th>Example</th></tr></thead><tbody><tr><td>wordchars</td><td>
These characters define word boundaries when
making selections and searching using word matching
options.
@ -56,7 +56,7 @@
</td><td>comment_close=*/</td></tr><tr><td>comment_use_indent</td><td>Set this to false if a comment character or string
should start at column 0 of a line. If set to true
it uses any indentation of the line.
<div class="example"><a name="id2796950"></a><p class="title"><b>Example 4.1. Comment indentation</b></p><div class="example-contents"><p>
<div class="example"><a name="id2797566"></a><p class="title"><b>Example 4.1. Comment indentation</b></p><div class="example-contents"><p>
comment_use_indent=true would generate this if a line
is commented (e.g. with
<span><strong class="keycap">Ctrl</strong></span>-<span><strong class="keycap">D</strong></span>)
@ -70,8 +70,8 @@
This setting only works for single line comments.
</p></div>
</td><td>comment_use_indent=true</td></tr></tbody></table></div></div><p><br class="table-break">
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2797019"></a>[build_settings] Section</h4></div></div></div><p>
</p><div class="table"><a name="id2797027"></a><p class="title"><b>Table 4.2. Build settings</b></p><div class="table-contents"><table summary="Build settings" cellspacing="0" cellpadding="4" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Key</th><th>Description</th><th>Example</th></tr></thead><tbody><tr><td>compiler</td><td>
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2797635"></a>[build_settings] Section</h4></div></div></div><p>
</p><div class="table"><a name="id2797643"></a><p class="title"><b>Table 4.2. Build settings</b></p><div class="table-contents"><table summary="Build settings" cellspacing="0" cellpadding="4" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Key</th><th>Description</th><th>Example</th></tr></thead><tbody><tr><td>compiler</td><td>
This item specifies the command to compile source code
files. But it is also possible to use it with
interpreted languages like Perl or Python. With these
@ -107,7 +107,7 @@
<code class="filename">filetypes.common</code>. This file defines some general
non-filetype-specific settings.
</p><p>
</p><div class="table"><a name="id2797181"></a><p class="title"><b>Table 4.3. General settings</b></p><div class="table-contents"><table summary="General settings" cellspacing="0" cellpadding="4" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Key</th><th>Description</th><th>Example</th></tr></thead><tbody><tr><td>selection</td><td>
</p><div class="table"><a name="id2797797"></a><p class="title"><b>Table 4.3. General settings</b></p><div class="table-contents"><table summary="General settings" cellspacing="0" cellpadding="4" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Key</th><th>Description</th><th>Example</th></tr></thead><tbody><tr><td>selection</td><td>
The style for colouring selected text.
The format is:
<div class="itemizedlist"><ul type="disc"><li><p>Foreground colour</p></li><li><p>Background colour</p></li><li><p>Use foreground colour</p></li><li><p>Use background colour</p></li></ul></div>

View File

@ -1,4 +1,4 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Filetype extensions</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10"><link rel="up" href="ch04.html" title="Chapter 4. Configuration files"><link rel="prev" href="ch04.html" title="Chapter 4. Configuration files"><link rel="next" href="ch04s03.html" title="Templates"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Filetype extensions</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04.html">Prev</a> </td><th width="60%" align="center">Chapter 4. Configuration files</th><td width="20%" align="right"> <a accesskey="n" href="ch04s03.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="filetype_extensions"></a>Filetype extensions</h2></div></div></div><p>
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Filetype extensions</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10.2"><link rel="up" href="ch04.html" title="Chapter 4. Configuration files"><link rel="prev" href="ch04.html" title="Chapter 4. Configuration files"><link rel="next" href="ch04s03.html" title="Templates"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Filetype extensions</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04.html">Prev</a> </td><th width="60%" align="center">Chapter 4. Configuration files</th><td width="20%" align="right"> <a accesskey="n" href="ch04s03.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="filetype_extensions"></a>Filetype extensions</h2></div></div></div><p>
You can override the default extensions that <span class="application">Geany</span> uses
for each filetype using the <code class="filename">filetype_extensions.conf</code> file.
</p><p>

View File

@ -1,4 +1,4 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Templates</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10"><link rel="up" href="ch04.html" title="Chapter 4. Configuration files"><link rel="prev" href="ch04s02.html" title="Filetype extensions"><link rel="next" href="apa.html" title="Appendix A. Scintilla keyboard commands"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Templates</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04s02.html">Prev</a> </td><th width="60%" align="center">Chapter 4. Configuration files</th><td width="20%" align="right"> <a accesskey="n" href="apa.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2797595"></a>Templates</h2></div></div></div><p>
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Templates</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10.2"><link rel="up" href="ch04.html" title="Chapter 4. Configuration files"><link rel="prev" href="ch04s02.html" title="Filetype extensions"><link rel="next" href="apa.html" title="Appendix A. Scintilla keyboard commands"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Templates</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04s02.html">Prev</a> </td><th width="60%" align="center">Chapter 4. Configuration files</th><td width="20%" align="right"> <a accesskey="n" href="apa.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2798211"></a>Templates</h2></div></div></div><p>
<span class="application">Geany</span> supports several templates for file headers,
multiline comments (frame comments), function descriptions, a typical ChangeLog entry
and a short GPL notice. To use these templates, just open the Edit menu or open the
@ -34,10 +34,10 @@
followed by the filetype. At creating a new file with a filetype template, the
template for the fileheader is automatically prepended.
</p><p> </p><p>
</p><div class="table"><a name="id2797717"></a><p class="title"><b>Table 4.4. Template wildcards</b></p><div class="table-contents"><table summary="Template wildcards" cellspacing="0" cellpadding="4" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Wildcard</th><th>Description</th><th>Available in following templates</th></tr></thead><tbody><tr><td>developer</td><td>The name of the developer.</td><td>filetypes, file header, function description, ChangeLog entry</td></tr><tr><td>initial</td><td>The developer's initials, e.g. "ET" for
</p><div class="table"><a name="id2798333"></a><p class="title"><b>Table 4.4. Template wildcards</b></p><div class="table-contents"><table summary="Template wildcards" cellspacing="0" cellpadding="4" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Wildcard</th><th>Description</th><th>Available in following templates</th></tr></thead><tbody><tr><td>developer</td><td>The name of the developer.</td><td>filetypes, file header, function description, ChangeLog entry</td></tr><tr><td>initial</td><td>The developer's initials, e.g. "ET" for
Enrico Tröger or "JFD" for John Foobar Doe.</td><td>filetypes, file header, function description, ChangeLog entry</td></tr><tr><td>mail</td><td>The email address of the developer.</td><td>file header, function description, ChangeLog entry</td></tr><tr><td>company</td><td>The company the developer is working for.</td><td>filetypes, file header, function description, ChangeLog entry</td></tr><tr><td>year</td><td>The current year in the format: YYYY</td><td>filetypes, file header, function description, ChangeLog entry</td></tr><tr><td>version</td><td>The initial version of a new file.</td><td>filetypes, file header, function description, ChangeLog entry</td></tr><tr><td>date</td><td>The current date in the format: YYYY-MM-DD</td><td>filetypes, file header, function description, ChangeLog entry</td></tr><tr><td>untitled</td><td>The string "untitled" (this will be translated to your locale),
used in filetype templates</td><td>filetypes, file header, function description, ChangeLog entry</td></tr><tr><td>geanyversion</td><td>The actual <span class="application">Geany</span> version,
e.g. "Geany 0.10"
e.g. "Geany 0.10.2"
</td><td>filetypes, file header, function description, ChangeLog entry</td></tr><tr><td>datetime</td><td>The current date and time in the format: DD.MM.YYYY HH:mm:ss ZZZZ</td><td>file header, function description</td></tr><tr><td>filename</td><td>The filename of the current file. Only available for the file header template.</td><td>file header</td></tr><tr><td>gpl</td><td>This wildcard inserts a short GPL notice.</td><td>file header</td></tr><tr><td>functionname</td><td>The function name of the function at the cursor position.
This wildcard will only be replaced in the function
description template.</td><td>function description</td></tr></tbody></table></div></div><p><br class="table-break">

View File

@ -1,29 +1,29 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Geany 0.10</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10"><link rel="next" href="ch01.html" title="Chapter 1.  Introduction"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">
Geany 0.10
</th></tr><tr><td width="20%" align="left"> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch01.html">Next</a></td></tr></table><hr></div><div class="book" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="id2676060"></a>
Geany 0.10
</h1></div><div><div class="author"><h3 class="author"><span class="firstname">Enrico</span> <span class="surname">Tröger</span></h3></div></div><div><div class="author"><h3 class="author"><span class="firstname">Nick</span> <span class="surname">Treleaven</span></h3></div></div><div><div class="author"><h3 class="author"><span class="firstname">Frank</span> <span class="surname">Lanitz</span></h3></div></div><div><p class="copyright">Copyright © 2005-2006 </p></div><div><div class="legalnotice"><a name="id2784254"></a><p>
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Geany 0.10.2</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10.2"><link rel="next" href="ch01.html" title="Chapter 1.  Introduction"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">
Geany 0.10.2
</th></tr><tr><td width="20%" align="left"> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch01.html">Next</a></td></tr></table><hr></div><div class="book" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="id2746391"></a>
Geany 0.10.2
</h1></div><div><div class="author"><h3 class="author"><span class="firstname">Enrico</span> <span class="surname">Tröger</span></h3></div></div><div><div class="author"><h3 class="author"><span class="firstname">Nick</span> <span class="surname">Treleaven</span></h3></div></div><div><div class="author"><h3 class="author"><span class="firstname">Frank</span> <span class="surname">Lanitz</span></h3></div></div><div><p class="copyright">Copyright © 2005-2007 </p></div><div><div class="legalnotice"><a name="id2784881"></a><p>
This document is distributed under the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2 of the License, or (at your option) any later version.
A copy of this license can be found in the file COPYING included with the source code of this
program and see <a href="apb.html" title="Appendix B. GNU General Public License">Appendix B, <i>GNU General Public License</i></a>.
</p></div></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="chapter"><a href="ch01.html">1.
Introduction
</a></span></dt><dd><dl><dt><span class="section"><a href="ch01.html#id2784276">About Geany</a></span></dt><dt><span class="section"><a href="ch01s02.html">About this document</a></span></dt><dt><span class="section"><a href="ch01s03.html">Where to get it</a></span></dt><dt><span class="section"><a href="ch01s04.html">License</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch02.html">2.
</a></span></dt><dd><dl><dt><span class="section"><a href="ch01.html#id2746564">About Geany</a></span></dt><dt><span class="section"><a href="ch01s02.html">About this document</a></span></dt><dt><span class="section"><a href="ch01s03.html">Where to get it</a></span></dt><dt><span class="section"><a href="ch01s04.html">License</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch02.html">2.
Installation
</a></span></dt><dd><dl><dt><span class="section"><a href="ch02.html#id2746438">Requirements</a></span></dt><dt><span class="section"><a href="ch02s02.html">Source compilation</a></span></dt><dt><span class="section"><a href="ch02s03.html">Binary packages</a></span></dt><dd><dl><dt><span class="section"><a href="ch02s03.html#id2746702">Fedora</a></span></dt><dt><span class="section"><a href="ch02s03.html#id2746730">Debian</a></span></dt><dt><span class="section"><a href="ch02s03.html#id2746756">SuSE</a></span></dt><dt><span class="section"><a href="ch02s03.html#id2746767">Gentoo</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ch03.html">3. Usage</a></span></dt><dd><dl><dt><span class="section"><a href="ch03.html#getting_started">Getting started</a></span></dt><dt><span class="section"><a href="ch03s02.html">Command line options</a></span></dt><dt><span class="section"><a href="ch03s03.html">General</a></span></dt><dd><dl><dt><span class="section"><a href="ch03s03.html#general_startup">Startup</a></span></dt><dt><span class="section"><a href="ch03s03.html#general_instance">Opening files from the command-line in a running instance</a></span></dt><dt><span class="section"><a href="ch03s03.html#general_vte">Virtual terminal emulator widget (VTE)</a></span></dt></dl></dd><dt><span class="section"><a href="ch03s04.html">Character sets and Unicode Byte-Order-Mark (BOM)</a></span></dt><dd><dl><dt><span class="section"><a href="ch03s04.html#id2794005">Using character sets</a></span></dt><dt><span class="section"><a href="ch03s04.html#id2794136">Special encoding "None"</a></span></dt><dt><span class="section"><a href="ch03s04.html#id2794154">Unicode Byte-Order-Mark (BOM)</a></span></dt></dl></dd><dt><span class="section"><a href="ch03s05.html">Search, replace and go to</a></span></dt><dd><dl><dt><span class="section"><a href="ch03s05.html#id2794269">Find</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2794305">Find usage</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2794321">Find in files</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2794352">Replace</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2794395">Go to tag definition</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2794419">Go to tag declaration</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2794432">Go to line</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2794443">Regular expressions</a></span></dt></dl></dd><dt><span class="section"><a href="ch03s06.html">Preferences</a></span></dt><dd><dl><dt><span class="section"><a href="ch03s06.html#cto">Compile time options</a></span></dt></dl></dd><dt><span class="section"><a href="ch03s07.html">Build system</a></span></dt><dd><dl><dt><span class="section"><a href="ch03s07.html#id2795368">Compile</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2795393">Build</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2795412">Make all</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2795431">Make custom target</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2795444">Make object</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2795458">Execute</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2795481">Stopping running processes</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2745299">Set Includes and Arguments</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2745340">Indicators</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2745360">File type configuration settings</a></span></dt></dl></dd><dt><span class="section"><a href="ch03s08.html">Printing support</a></span></dt><dt><span class="section"><a href="ch03s09.html">Keybindings</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch04.html">4. Configuration files</a></span></dt><dd><dl><dt><span class="section"><a href="ch04.html#filetypes">Filetype definition files</a></span></dt><dd><dl><dt><span class="section"><a href="ch04.html#filetypes_format">Format</a></span></dt><dt><span class="section"><a href="ch04.html#filetypes_common">Special file filetypes.common</a></span></dt></dl></dd><dt><span class="section"><a href="ch04s02.html">Filetype extensions</a></span></dt><dt><span class="section"><a href="ch04s03.html">Templates</a></span></dt></dl></dd><dt><span class="appendix"><a href="apa.html">A. Scintilla keyboard commands</a></span></dt><dd><dl><dt><span class="sect1"><a href="apa.html#id2798042">
</a></span></dt><dd><dl><dt><span class="section"><a href="ch02.html#id2747048">Requirements</a></span></dt><dt><span class="section"><a href="ch02s02.html">Source compilation</a></span></dt><dt><span class="section"><a href="ch02s03.html">Binary packages</a></span></dt><dd><dl><dt><span class="section"><a href="ch02s03.html#id2747323">Fedora</a></span></dt><dt><span class="section"><a href="ch02s03.html#id2747350">Debian</a></span></dt><dt><span class="section"><a href="ch02s03.html#id2747376">SuSE</a></span></dt><dt><span class="section"><a href="ch02s03.html#id2747387">Gentoo</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ch03.html">3. Usage</a></span></dt><dd><dl><dt><span class="section"><a href="ch03.html#getting_started">Getting started</a></span></dt><dt><span class="section"><a href="ch03s02.html">Command line options</a></span></dt><dt><span class="section"><a href="ch03s03.html">General</a></span></dt><dd><dl><dt><span class="section"><a href="ch03s03.html#general_startup">Startup</a></span></dt><dt><span class="section"><a href="ch03s03.html#general_instance">Opening files from the command-line in a running instance</a></span></dt><dt><span class="section"><a href="ch03s03.html#general_vte">Virtual terminal emulator widget (VTE)</a></span></dt></dl></dd><dt><span class="section"><a href="ch03s04.html">Character sets and Unicode Byte-Order-Mark (BOM)</a></span></dt><dd><dl><dt><span class="section"><a href="ch03s04.html#id2794621">Using character sets</a></span></dt><dt><span class="section"><a href="ch03s04.html#id2794752">Special encoding "None"</a></span></dt><dt><span class="section"><a href="ch03s04.html#id2794770">Unicode Byte-Order-Mark (BOM)</a></span></dt></dl></dd><dt><span class="section"><a href="ch03s05.html">Search, replace and go to</a></span></dt><dd><dl><dt><span class="section"><a href="ch03s05.html#id2794885">Find</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2794921">Find usage</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2794937">Find in files</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2794968">Replace</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2795011">Go to tag definition</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2795035">Go to tag declaration</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2795048">Go to line</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2795059">Regular expressions</a></span></dt></dl></dd><dt><span class="section"><a href="ch03s06.html">Preferences</a></span></dt><dd><dl><dt><span class="section"><a href="ch03s06.html#cto">Compile time options</a></span></dt></dl></dd><dt><span class="section"><a href="ch03s07.html">Build system</a></span></dt><dd><dl><dt><span class="section"><a href="ch03s07.html#id2795984">Compile</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2796009">Build</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2796028">Make all</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2796047">Make custom target</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2796060">Make object</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2796074">Execute</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2796097">Stopping running processes</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2745909">Set Includes and Arguments</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2745950">Indicators</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2745969">File type configuration settings</a></span></dt></dl></dd><dt><span class="section"><a href="ch03s08.html">Printing support</a></span></dt><dt><span class="section"><a href="ch03s09.html">Keybindings</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch04.html">4. Configuration files</a></span></dt><dd><dl><dt><span class="section"><a href="ch04.html#filetypes">Filetype definition files</a></span></dt><dd><dl><dt><span class="section"><a href="ch04.html#filetypes_format">Format</a></span></dt><dt><span class="section"><a href="ch04.html#filetypes_common">Special file filetypes.common</a></span></dt></dl></dd><dt><span class="section"><a href="ch04s02.html">Filetype extensions</a></span></dt><dt><span class="section"><a href="ch04s03.html">Templates</a></span></dt></dl></dd><dt><span class="appendix"><a href="apa.html">A. Scintilla keyboard commands</a></span></dt><dd><dl><dt><span class="sect1"><a href="apa.html#id2798657">
Keyboard commands
</a></span></dt></dl></dd><dt><span class="appendix"><a href="apb.html">B. GNU General Public License</a></span></dt><dd><dl><dt><span class="sect1"><a href="apb.html#id2798471">Preamble</a></span></dt><dt><span class="sect1"><a href="apbs02.html">TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</a></span></dt><dd><dl><dt><span class="sect2"><a href="apbs02.html#id2799701">Section 0</a></span></dt><dt><span class="sect2"><a href="apbs02.html#sect1">Section 1</a></span></dt><dt><span class="sect2"><a href="apbs02.html#sect2">Section 2</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2799887">Section 3
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2799987">Section 4
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800005">Section 5
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800023">Section 6
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800040">Section 7
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800091">Section 8
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800109">Section 9
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800142">Section 10
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800160">Section 11 NO WARRANTY
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800181">Section 12
</a></span></dt></dl></dd><dt><span class="appendix"><a href="apb.html">B. GNU General Public License</a></span></dt><dd><dl><dt><span class="sect1"><a href="apb.html#id2799087">Preamble</a></span></dt><dt><span class="sect1"><a href="apbs02.html">TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</a></span></dt><dd><dl><dt><span class="sect2"><a href="apbs02.html#id2800317">Section 0</a></span></dt><dt><span class="sect2"><a href="apbs02.html#sect1">Section 1</a></span></dt><dt><span class="sect2"><a href="apbs02.html#sect2">Section 2</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800503">Section 3
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800604">Section 4
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800621">Section 5
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800640">Section 6
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800657">Section 7
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800707">Section 8
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800725">Section 9
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800758">Section 10
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800777">Section 11 NO WARRANTY
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800797">Section 12
</a></span></dt></dl></dd><dt><span class="sect1"><a href="apbs03.html">How to Apply These Terms to Your New Programs
</a></span></dt></dl></dd><dt><span class="appendix"><a href="apc.html">C. License for Scintilla and SciTE</a></span></dt></dl></div><div class="list-of-figures"><p><b>List of Figures</b></p><dl><dt>3.1. <a href="ch03s05.html#id2794289">Find dialog</a></dt><dt>3.2. <a href="ch03s05.html#id2794336">Find in files dialog</a></dt><dt>3.3. <a href="ch03s05.html#id2794367">Replace dialog</a></dt><dt>3.4. <a href="ch03s06.html#confdialog_gen">General tab in preferences dialog</a></dt><dt>3.5. <a href="ch03s06.html#id2794730">Interface tab in preferences dialog</a></dt><dt>3.6. <a href="ch03s06.html#id2794744">Toolbar tab in preferences dialog</a></dt><dt>3.7. <a href="ch03s06.html#id2794758">Files tab in preferences dialog</a></dt><dt>3.8. <a href="ch03s06.html#id2794773">Editor tab in preferences dialog</a></dt><dt>3.9. <a href="ch03s06.html#id2794787">Tools tab in preferences dialog</a></dt><dt>3.10. <a href="ch03s06.html#confdialog_templ">Template tab in preferences dialog</a></dt><dt>3.11. <a href="ch03s06.html#confdialog_keys">Keybinding tab in preferences dialog</a></dt><dt>3.12. <a href="ch03s06.html#confdialog_vte">VTE tab in preferences dialog</a></dt></dl></div><div class="list-of-tables"><p><b>List of Tables</b></p><dl><dt>3.1. <a href="ch03s02.html#id2746904">Command line Options</a></dt><dt>3.2. <a href="ch03s05.html#regexp">Regular expressions</a></dt><dt>3.3. <a href="ch03s06.html#id2794892">Compile time options</a></dt><dt>3.4. <a href="ch03s09.html#id2795935">Keybindings action table</a></dt><dt>4.1. <a href="ch04.html#id2796853">General settings</a></dt><dt>4.2. <a href="ch04.html#id2797027">Build settings</a></dt><dt>4.3. <a href="ch04.html#id2797181">General settings</a></dt><dt>4.4. <a href="ch04s03.html#id2797717">Template wildcards</a></dt><dt>A.1. <a href="apa.html#id2798676">Scintilla keyboard commands</a></dt></dl></div><div class="list-of-examples"><p><b>List of Examples</b></p><dl><dt>4.1. <a href="ch04.html#id2796950">Comment indentation</a></dt></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch01.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"> </td><td width="40%" align="right" valign="top"> Chapter 1. 
</a></span></dt></dl></dd><dt><span class="appendix"><a href="apc.html">C. License for Scintilla and SciTE</a></span></dt></dl></div><div class="list-of-figures"><p><b>List of Figures</b></p><dl><dt>3.1. <a href="ch03s05.html#id2794905">Find dialog</a></dt><dt>3.2. <a href="ch03s05.html#id2794952">Find in files dialog</a></dt><dt>3.3. <a href="ch03s05.html#id2794983">Replace dialog</a></dt><dt>3.4. <a href="ch03s06.html#confdialog_gen">General tab in preferences dialog</a></dt><dt>3.5. <a href="ch03s06.html#id2795346">Interface tab in preferences dialog</a></dt><dt>3.6. <a href="ch03s06.html#id2795360">Toolbar tab in preferences dialog</a></dt><dt>3.7. <a href="ch03s06.html#id2795374">Files tab in preferences dialog</a></dt><dt>3.8. <a href="ch03s06.html#id2795389">Editor tab in preferences dialog</a></dt><dt>3.9. <a href="ch03s06.html#id2795403">Tools tab in preferences dialog</a></dt><dt>3.10. <a href="ch03s06.html#confdialog_templ">Template tab in preferences dialog</a></dt><dt>3.11. <a href="ch03s06.html#confdialog_keys">Keybinding tab in preferences dialog</a></dt><dt>3.12. <a href="ch03s06.html#confdialog_vte">VTE tab in preferences dialog</a></dt></dl></div><div class="list-of-tables"><p><b>List of Tables</b></p><dl><dt>3.1. <a href="ch03s02.html#id2747524">Command line Options</a></dt><dt>3.2. <a href="ch03s05.html#regexp">Regular expressions</a></dt><dt>3.3. <a href="ch03s06.html#id2795508">Compile time options</a></dt><dt>3.4. <a href="ch03s09.html#id2796551">Keybindings action table</a></dt><dt>4.1. <a href="ch04.html#id2797469">General settings</a></dt><dt>4.2. <a href="ch04.html#id2797643">Build settings</a></dt><dt>4.3. <a href="ch04.html#id2797797">General settings</a></dt><dt>4.4. <a href="ch04s03.html#id2798333">Template wildcards</a></dt><dt>A.1. <a href="apa.html#id2799292">Scintilla keyboard commands</a></dt></dl></div><div class="list-of-examples"><p><b>List of Examples</b></p><dl><dt>4.1. <a href="ch04.html#id2797566">Comment indentation</a></dt></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch01.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"> </td><td width="40%" align="right" valign="top"> Chapter 1. 
Introduction
</td></tr></table></div></body></html>

View File

@ -11,6 +11,7 @@ Terminal=false
Type=Application
Categories=Application;GTK;Development;IDE;
Encoding=UTF-8
MimeType=text/plain;text/html;text/css;text/x-chdr;text/x-csrc;text/x-c++src;text/x-java;text/x-dsrc;text/x-sql;application/x-php;
# currently false, changes perhaps in the future
StartupNotify=false
Version=1.1

340
po/be.po
View File

@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
"Project-Id-Version: geany 0.10\n"
"Project-Id-Version: geany 0.10.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2006-12-19 20:42+0100\n"
"POT-Creation-Date: 2007-02-07 19:53+0100\n"
"PO-Revision-Date: 2006-06-01 10:55+0200\n"
"Last-Translator: Yura Semashko <yurand2@gmail.com>\n"
"Language-Team: Belarusian <yurand2@gmail.com>\n"
@ -118,7 +118,7 @@ msgstr "Захаваць усе"
msgid "Saves all open files"
msgstr "Захаваць усе адчыненыя файлы"
#: src/interface.c:315 src/callbacks.c:473 src/utils.c:355
#: src/interface.c:315 src/callbacks.c:490 src/utils.c:355
msgid "_Reload"
msgstr "Загрузіць зноў"
@ -985,7 +985,7 @@ msgstr "Тып:"
msgid "Sets the color of the long line marker"
msgstr "Усталяваць колер маркёра доўгага радка"
#: src/interface.c:3093 src/dialogs.c:540 src/vte.c:546 src/vte.c:553
#: src/interface.c:3093 src/dialogs.c:543 src/vte.c:546 src/vte.c:553
msgid "Color Chooser"
msgstr "Выбар колеру"
@ -1251,79 +1251,79 @@ msgstr "Прывязкі клявіш"
msgid "Do you really want to quit?"
msgstr "Вы ўпэўнены што жадаеце выйсьці?"
#: src/callbacks.c:474
#: src/callbacks.c:491
msgid "Any unsaved changes will be lost."
msgstr "Усе незахаваныя зьмяненьні зьнікнуць."
#: src/callbacks.c:475
#: src/callbacks.c:492
#, c-format
msgid "Are you sure you want to reload '%s'?"
msgstr "Вы упэўнены што жадаеце загрузіць зноў '%s?'"
#: src/callbacks.c:860
#: src/callbacks.c:877
#, c-format
msgid "The file '%s' already exists. Do you want to overwrite it?"
msgstr "Файл '%s' ужо існуе. Замяніць яго?"
#: src/callbacks.c:1230
#, c-format
#: src/callbacks.c:1247
#, fuzzy, c-format
msgid "Declaration of \"%s()\" not found"
msgstr "Аб'яуленне \"%s()\" не знойдзена"
msgstr "Рэалізацыя \"%s()\" не знойдзена\""
#: src/callbacks.c:1232
#, c-format
#: src/callbacks.c:1249
#, fuzzy, c-format
msgid "Definition of \"%s()\" not found"
msgstr "Рэалізацыя \"%s()\" не знойдзена\""
#: src/callbacks.c:1437 src/callbacks.c:1482
#: src/callbacks.c:1454 src/callbacks.c:1499
msgid ""
"Please set the filetype for the current file before using this function."
msgstr "Калі ласка вызначыце тып файла перад выкарыстоўваньнем гэтай функцыі"
#: src/callbacks.c:1598 src/ui_utils.c:557
#: src/callbacks.c:1615 src/ui_utils.c:561
msgid "dd.mm.yyyy"
msgstr "dd.mm.yyyy"
#: src/callbacks.c:1600 src/ui_utils.c:558
#: src/callbacks.c:1617 src/ui_utils.c:562
msgid "mm.dd.yyyy"
msgstr "mm.dd.yyyy"
#: src/callbacks.c:1602 src/ui_utils.c:559
#: src/callbacks.c:1619 src/ui_utils.c:563
msgid "yyyy/mm/dd"
msgstr "yyyy/mm/dd"
#: src/callbacks.c:1604 src/ui_utils.c:568
#: src/callbacks.c:1621 src/ui_utils.c:572
msgid "dd.mm.yyyy hh:mm:ss"
msgstr "dd.mm.yyyy hh:mm:ss"
#: src/callbacks.c:1606 src/ui_utils.c:569
#: src/callbacks.c:1623 src/ui_utils.c:573
msgid "mm.dd.yyyy hh:mm:ss"
msgstr "mm.dd.yyyy hh:mm:ss"
#: src/callbacks.c:1608 src/ui_utils.c:570
#: src/callbacks.c:1625 src/ui_utils.c:574
msgid "yyyy/mm/dd hh:mm:ss"
msgstr "yyyy/mm/dd hh:mm:ss"
#: src/callbacks.c:1610 src/ui_utils.c:579
#: src/callbacks.c:1627 src/ui_utils.c:583
msgid "Use Custom Date Format"
msgstr "Выкарыстоўваць свой фармат даты"
#: src/callbacks.c:1621
#: src/callbacks.c:1638
msgid "Custom Date Format"
msgstr "Свой фармат даты"
#: src/callbacks.c:1622
#: src/callbacks.c:1639
msgid ""
"Enter here a custom date and time format. You can use any conversion "
"specifiers which can be used with the ANSI C strftime function. See \"man "
"strftime\" for more information."
msgstr ""
#: src/callbacks.c:1642
#: src/callbacks.c:1659
msgid "Date format string could not be converted (possibly too long)."
msgstr "Фармат даты ня можа быць пераўтвораны (магчыма надта доўгі)."
#: src/callbacks.c:2030
#: src/callbacks.c:2047
msgid "No more message items."
msgstr "Няма больш паведамленьняў."
@ -1333,7 +1333,7 @@ msgid "Couldn't find pixmap file: %s"
msgstr "Нельга знайсьці pixmap файл: %s"
#. initialize the dialog
#: src/dialogs.c:74 src/prefs.c:1023
#: src/dialogs.c:74 src/prefs.c:1017
msgid "Open File"
msgstr "Адчыніць файл"
@ -1393,86 +1393,86 @@ msgstr ""
msgid "Save File"
msgstr "Захаваць файл"
#: src/dialogs.c:350
#: src/dialogs.c:352
#, c-format
msgid "The file '%s' is not saved."
msgstr "Файл '%s' не захаваны."
#: src/dialogs.c:360
#: src/dialogs.c:362
msgid "Do you want to save it before closing?"
msgstr "Жадаеш захаваць яго перад зачыненьнем?"
#: src/dialogs.c:363
#: src/dialogs.c:365
msgid "_Don't save"
msgstr "Не захоўваць"
#: src/dialogs.c:407
#: src/dialogs.c:409
msgid "Choose font"
msgstr "Выбраць шрыфт"
#: src/dialogs.c:444
#: src/dialogs.c:447
msgid "Word Count"
msgstr "Лічыць словы"
#: src/dialogs.c:453
#: src/dialogs.c:456
msgid "selection"
msgstr "вылучэньне"
#: src/dialogs.c:459
#: src/dialogs.c:462
msgid "whole document"
msgstr "увесь дакумэнт"
#: src/dialogs.c:468
#: src/dialogs.c:471
msgid "Range:"
msgstr "Дыстанцыя:"
#: src/dialogs.c:480
#: src/dialogs.c:483
msgid "Lines:"
msgstr "Радкі:"
#: src/dialogs.c:494
#: src/dialogs.c:497
msgid "Words:"
msgstr "Словы:"
#: src/dialogs.c:508
#: src/dialogs.c:511
msgid "Characters:"
msgstr "Літары:"
#: src/dialogs.c:607 src/keybindings.c:144
#: src/dialogs.c:610 src/keybindings.c:144
msgid "Go to line"
msgstr "Перайсьці да радка"
#: src/dialogs.c:613
#: src/dialogs.c:616
msgid "Enter the line you want to go to:"
msgstr "Увядзі радок да якога жадаеш перайсьці:"
#. arguments
#: src/dialogs.c:638 src/build.c:1068
#: src/dialogs.c:641 src/build.c:1068
msgid "Set Arguments"
msgstr "Усталяваць аргумэнты"
#: src/dialogs.c:644
#: src/dialogs.c:647
msgid "Set programs and options for compiling and viewing (La)TeX files."
msgstr ""
"Усталяваць праграмы і наладкі дзеля кампіляцыі і прагляду (La)TeX файлаў."
#: src/dialogs.c:655
#: src/dialogs.c:658
msgid "DVI creation:"
msgstr "Стварэньне DVI"
#: src/dialogs.c:674
#: src/dialogs.c:677
msgid "PDF creation:"
msgstr "Стварэньне PDF"
#: src/dialogs.c:693
#: src/dialogs.c:696
msgid "DVI preview:"
msgstr "Прагляд DVI:"
#: src/dialogs.c:712
#: src/dialogs.c:715
msgid "PDF preview:"
msgstr "Прагляд PDF:"
#: src/dialogs.c:728 src/dialogs.c:843
#: src/dialogs.c:731 src/dialogs.c:846
#, c-format
msgid ""
"%f will be replaced by the current filename, e.g. test_file.c\n"
@ -1481,31 +1481,31 @@ msgstr ""
"%f будзе заменены на поўнае імя, напрыклад, test_file.c\n"
"%e будзе заменены на імя файла без расшырэньня, напрыклад, test_file"
#: src/dialogs.c:755
#: src/dialogs.c:758
msgid "Set Includes and Arguments"
msgstr "Усталяваць Includes і аргумэнты"
#: src/dialogs.c:761
#: src/dialogs.c:764
msgid "Set the commands for building and running programs."
msgstr "Вызначыць каманды для будоўлі і выкананьня праграм."
#: src/dialogs.c:768
#: src/dialogs.c:771
msgid " commands"
msgstr "Каманды"
#: src/dialogs.c:783
#: src/dialogs.c:786
msgid "Compile:"
msgstr "Кампіляваць:"
#: src/dialogs.c:804
#: src/dialogs.c:807
msgid "Build:"
msgstr "Пабудаваць:"
#: src/dialogs.c:825 src/dialogs.c:1096
#: src/dialogs.c:828 src/dialogs.c:1099
msgid "Execute:"
msgstr "Выканаць:"
#: src/dialogs.c:890
#: src/dialogs.c:893
msgid ""
"An error occurred or file information could not be retrieved (e.g. from a "
"new file)."
@ -1513,93 +1513,93 @@ msgstr ""
"Адбылася памылка, ці немагчыма атрымаць інфармацыю а файле (г.з. з новага "
"файла)."
#: src/dialogs.c:909 src/dialogs.c:910 src/dialogs.c:911 src/dialogs.c:917
#: src/dialogs.c:918 src/dialogs.c:919 src/utils.c:503 src/utils.c:557
#: src/dialogs.c:912 src/dialogs.c:913 src/dialogs.c:914 src/dialogs.c:920
#: src/dialogs.c:921 src/dialogs.c:922 src/utils.c:503 src/utils.c:557
#: src/ui_utils.c:122 src/ui_utils.c:124
msgid "unknown"
msgstr "невядомы"
#: src/dialogs.c:923
#: src/dialogs.c:926
msgid "Properties"
msgstr "Уласьцівасьці"
#: src/dialogs.c:951
#: src/dialogs.c:954
msgid "<b>Type:</b>"
msgstr "<b>Тып:</b>"
#: src/dialogs.c:964
#: src/dialogs.c:967
msgid "<b>Size:</b>"
msgstr "<b>Памер:</b>"
#: src/dialogs.c:979
#: src/dialogs.c:982
msgid "<b>Location:</b>"
msgstr "<b>Месца:</b>"
#: src/dialogs.c:992
#: src/dialogs.c:995
msgid "<b>Read-only:</b>"
msgstr "<b>Толькі чытаць:</b>"
#: src/dialogs.c:999
#: src/dialogs.c:1002
msgid "(only inside Geany)"
msgstr "(толькі ў Geany)"
#: src/dialogs.c:1008
#: src/dialogs.c:1011
msgid "<b>Encoding:</b>"
msgstr "<b>Знаканабор:</b>"
#: src/dialogs.c:1017 src/ui_utils.c:123
#: src/dialogs.c:1020 src/ui_utils.c:123
msgid "(with BOM)"
msgstr "(з BOM)"
#: src/dialogs.c:1017 src/ui_utils.c:123
#: src/dialogs.c:1020 src/ui_utils.c:123
msgid "(without BOM)"
msgstr "(без BOM)"
#: src/dialogs.c:1027
#: src/dialogs.c:1030
msgid "<b>Modified:</b>"
msgstr "<b>Зьменены:</b>"
#: src/dialogs.c:1040
#: src/dialogs.c:1043
msgid "<b>Changed:</b>"
msgstr "<b>Зьменены:</b>"
#: src/dialogs.c:1053
#: src/dialogs.c:1056
msgid "<b>Accessed:</b>"
msgstr "<b>Даступаўся:</b>"
#: src/dialogs.c:1074
#: src/dialogs.c:1077
msgid "<b>Permissions:</b>"
msgstr "<b>Дазваленьні:</b>"
#. Header
#: src/dialogs.c:1082
#: src/dialogs.c:1085
msgid "Read:"
msgstr "Чытаць:"
#: src/dialogs.c:1089
#: src/dialogs.c:1092
msgid "Write:"
msgstr "Пісаць:"
#. Owner
#: src/dialogs.c:1104
#: src/dialogs.c:1107
msgid "Owner:"
msgstr "Уладальнік:"
#. Group
#: src/dialogs.c:1140
#: src/dialogs.c:1143
msgid "Group:"
msgstr "Група:"
#. Other
#: src/dialogs.c:1176
#: src/dialogs.c:1179
msgid "Other:"
msgstr "Другі:"
#: src/dialogs.c:1297
#: src/dialogs.c:1300
msgid "Keyboard shortcuts"
msgstr "Наладка клявіш"
#: src/dialogs.c:1306
#: src/dialogs.c:1309
msgid "The following keyboard shortcuts are defined:"
msgstr "Вызначаны наступныя клявішы."
@ -1622,7 +1622,7 @@ msgid "Could not open file %s (%s)"
msgstr "Немагчыма адчыніць файл %s (%s)"
#: src/document.c:618
#, c-format
#, fuzzy, c-format
msgid ""
"The file \"%s\" could not opened properly and probably was truncated. Be "
"aware that saving it can cause data loss.\n"
@ -1774,31 +1774,31 @@ msgstr "(Незахаваны)"
msgid "Font updated (%s)."
msgstr "Шрыфт адноўлены (%s)."
#: src/ui_utils.c:217
#: src/ui_utils.c:309
msgid "No tags found"
msgstr "tags ня знойдзены"
#: src/ui_utils.c:526
#: src/ui_utils.c:530
msgid "C Standard Library"
msgstr "Стандартная бібліятэка C"
#: src/ui_utils.c:527
#: src/ui_utils.c:531
msgid "ISO C99"
msgstr "ISO C99"
#: src/ui_utils.c:528
#: src/ui_utils.c:532
msgid "C++ (C Standard Library)"
msgstr "C++ (Стандартная бібліятэка)"
#: src/ui_utils.c:529
#: src/ui_utils.c:533
msgid "C++ Standard Library"
msgstr "C++ Стандартная бібліятэка"
#: src/ui_utils.c:530
#: src/ui_utils.c:534
msgid "C++ STL"
msgstr "C++ STL"
#: src/ui_utils.c:596
#: src/ui_utils.c:600
msgid "Set Custom Date Format"
msgstr "Усталяваць свой фармат даты"
@ -1943,7 +1943,7 @@ msgstr "Файл наладкі %s, зьмяняй як табе трэба"
msgid "Type here what you want, use it as a notice/scratch board"
msgstr "Пішы тут што жадаеш, выкарыстоўвай для заметак."
#: src/keyfile.c:557
#: src/keyfile.c:560
msgid "Failed to load one or more session files."
msgstr "Немагчыма загрузіць адзін або больш файлаў з прошлай сесіі"
@ -2132,68 +2132,68 @@ msgstr "Справа"
msgid "Shortcut"
msgstr "Ярлык"
#: src/prefs.c:789
#: src/prefs.c:781
msgid "Grab key"
msgstr "Захапіць клявішу"
#: src/prefs.c:793
#: src/prefs.c:785
#, c-format
msgid "Type the combination of the keys you want to use for \"%s\""
msgstr "Цісьні камбінацыю клявіш, якія ты жадаеш выкарыстоўваць для \"%s\""
#: src/prefs.c:917
#: src/prefs.c:909
#, c-format
msgid ""
"The combination '%s' is already used for \"%s\". Please choose another one."
msgstr "Камбінацыя '%s' ужо выкарыстана для \"%s\". Калі ласка выбяры іншую."
#: src/about.c:119
#: src/about.c:121
msgid "About Geany"
msgstr "Пра Geany"
#: src/about.c:168
#: src/about.c:170
msgid "A fast and lightweight IDE"
msgstr "Хуткае лёгкае IDE"
#: src/about.c:189
#: src/about.c:191
#, c-format
msgid "(built on %s)"
msgstr "(збудаваны на %s)"
#. gtk_container_add(GTK_CONTAINER(info_box), cop_label);
#: src/about.c:220
#: src/about.c:222
msgid "Info"
msgstr "Інфармацыя"
#: src/about.c:232
#: src/about.c:234
msgid "Developers"
msgstr "Распрацоўшчыкі"
#: src/about.c:232
#: src/about.c:234
msgid "Maintainer"
msgstr "Падтрымка"
#: src/about.c:232
#: src/about.c:234
msgid "developer"
msgstr "распрацоўшчык"
#: src/about.c:233
#: src/about.c:235
msgid "translation maintainer"
msgstr "падтрымка перакладу"
#: src/about.c:233
#: src/about.c:235
msgid "Translators"
msgstr "Перакладчыкі"
#: src/about.c:234
#: src/about.c:236
msgid "language"
msgstr "мова"
#: src/about.c:240
#: src/about.c:242
msgid "Credits"
msgstr "Аўтары"
#: src/about.c:253
#: src/about.c:255
msgid "License"
msgstr "Ліцэнзія"
@ -2455,15 +2455,15 @@ msgstr "Namespaces"
msgid "Structs / Typedefs"
msgstr "Struct / Typedef"
#: src/treeviews.c:385 src/treeviews.c:437
#: src/treeviews.c:391 src/treeviews.c:443
msgid "Hide"
msgstr "Схаваць"
#: src/treeviews.c:393 src/treeviews.c:445
#: src/treeviews.c:399 src/treeviews.c:451
msgid "Hide sidebar"
msgstr "Схаваць сайд-бар"
#: src/treeviews.c:425
#: src/treeviews.c:431
msgid "Reload"
msgstr "Загрузіць зноў"
@ -2527,6 +2527,7 @@ msgid "Terminal emulation:"
msgstr "Эмуляцыя тэрмінала:"
#: src/vte.c:580
#, fuzzy
msgid ""
"Controls how the terminal emulator should behave. xterm is a good start."
msgstr ""
@ -3028,3 +3029,140 @@ msgstr "Знакі прыпынку"
#: src/tools.c:365
msgid "Miscellaneous characters"
msgstr "Іншыя літары"
#, fuzzy
#~ msgid "Forward declaration \"%s\" not found."
#~ msgstr "Аб'яуленне \"%s()\" не знойдзена"
#, fuzzy
#~ msgid "Javascript source file"
#~ msgstr "Java"
#, fuzzy
#~ msgid "Lua source file"
#~ msgstr "LaTeX"
#, fuzzy
#~ msgid "Open Selected F_ile"
#~ msgstr "Адчыніць файл"
#, fuzzy
#~ msgid "Insert BSD License Notice"
#~ msgstr "Уставіць GPL паведамленьне"
#, fuzzy
#~ msgid ""
#~ "Inserts a BSD licence notice (should be done at the beginning of the file)"
#~ msgstr "Уставіць GPL паведамленьне (павінна быць зроблена ў пачатку файла)"
#, fuzzy
#~ msgid "Find _Selected"
#~ msgstr "Шукаць наступны"
#, fuzzy
#~ msgid "_New"
#~ msgstr "Новы"
#, fuzzy
#~ msgid "_Open"
#~ msgstr "Адчыніць"
#, fuzzy
#~ msgid "_Close"
#~ msgstr "Зачыніць"
#, fuzzy
#~ msgid "Insert BSD license Notice"
#~ msgstr "Уставіць GPL паведамленьне"
#, fuzzy
#~ msgid "Open selected file"
#~ msgstr "Адчыніць файлы"
#, fuzzy
#~ msgid "Save as"
#~ msgstr "Захаваць усе"
#, fuzzy
#~ msgid "Find Next Selection"
#~ msgstr "У вылучэньні"
#, fuzzy
#~ msgid "Find Previous Selection"
#~ msgstr "Шукаць былы"
#, fuzzy
#~ msgid ""
#~ "set initial column number for the first opened file (useful in "
#~ "conjunction with --line)"
#~ msgstr "усталяваць пачатковы радок для адчыняемых файлаў"
#, fuzzy
#~ msgid "Could not find file '%s'."
#~ msgstr "Нельга знайсьці pixmap файл: %s"
#, fuzzy
#~ msgid "Open project"
#~ msgstr "Будаваць аб'ект"
#, fuzzy
#~ msgid "Project files"
#~ msgstr "Уласьцівасьці"
#, fuzzy
#~ msgid "Project \"%s\" closed."
#~ msgstr "Файл %s зачынены."
#, fuzzy
#~ msgid "Project properties"
#~ msgstr "Уласьцівасьці"
#, fuzzy
#~ msgid "C_reate"
#~ msgstr "Літара"
#, fuzzy
#~ msgid "Name:"
#~ msgstr "Зрабіць:"
#, fuzzy
#~ msgid "Description:"
#~ msgstr "Стварэньне DVI"
#, fuzzy
#~ msgid "Filename:"
#~ msgstr "Vietnamese"
#, fuzzy
#~ msgid "File patterns:"
#~ msgstr "Middle Eastern"
#, fuzzy
#~ msgid ""
#~ "There is already an open project \"%s\". Do you want to close it before "
#~ "proceed?"
#~ msgstr "Файл '%s' ужо існуе. Замяніць яго?"
#, fuzzy
#~ msgid "Project file could not be written."
#~ msgstr "Немагчыма зрабіць наладкавую дырэкторыю (%s)."
#, fuzzy
#~ msgid "Project \"%s\" created."
#~ msgstr "Уласьцівасьці"
#, fuzzy
#~ msgid "Project \"%s\" saved."
#~ msgstr "Файл %s захаваны."
#, fuzzy
#~ msgid "Project \"%s\" opened."
#~ msgstr "Уласьцівасьці"
#, fuzzy
#~ msgid "Project file could not be loaded."
#~ msgstr "Немагчыма зрабіць наладкавую дырэкторыю (%s)."
#, fuzzy
#~ msgid "File location:"
#~ msgstr "Стварэньне PDF"

811
po/ca.po

File diff suppressed because it is too large Load Diff

769
po/cs.po

File diff suppressed because it is too large Load Diff

1859
po/de.po

File diff suppressed because it is too large Load Diff

948
po/es.po

File diff suppressed because it is too large Load Diff

3281
po/fi.po Normal file

File diff suppressed because it is too large Load Diff

1627
po/fr.po

File diff suppressed because it is too large Load Diff

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2006-12-19 20:42+0100\n"
"POT-Creation-Date: 2007-02-07 19:53+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -113,7 +113,7 @@ msgstr ""
msgid "Saves all open files"
msgstr ""
#: src/interface.c:315 src/callbacks.c:473 src/utils.c:355
#: src/interface.c:315 src/callbacks.c:490 src/utils.c:355
msgid "_Reload"
msgstr ""
@ -973,7 +973,7 @@ msgstr ""
msgid "Sets the color of the long line marker"
msgstr ""
#: src/interface.c:3093 src/dialogs.c:540 src/vte.c:546 src/vte.c:553
#: src/interface.c:3093 src/dialogs.c:543 src/vte.c:546 src/vte.c:553
msgid "Color Chooser"
msgstr ""
@ -1221,79 +1221,79 @@ msgstr ""
msgid "Do you really want to quit?"
msgstr ""
#: src/callbacks.c:474
#: src/callbacks.c:491
msgid "Any unsaved changes will be lost."
msgstr ""
#: src/callbacks.c:475
#: src/callbacks.c:492
#, c-format
msgid "Are you sure you want to reload '%s'?"
msgstr ""
#: src/callbacks.c:860
#: src/callbacks.c:877
#, c-format
msgid "The file '%s' already exists. Do you want to overwrite it?"
msgstr ""
#: src/callbacks.c:1230
#: src/callbacks.c:1247
#, c-format
msgid "Declaration of \"%s()\" not found"
msgstr ""
#: src/callbacks.c:1232
#: src/callbacks.c:1249
#, c-format
msgid "Definition of \"%s()\" not found"
msgstr ""
#: src/callbacks.c:1437 src/callbacks.c:1482
#: src/callbacks.c:1454 src/callbacks.c:1499
msgid ""
"Please set the filetype for the current file before using this function."
msgstr ""
#: src/callbacks.c:1598 src/ui_utils.c:557
#: src/callbacks.c:1615 src/ui_utils.c:561
msgid "dd.mm.yyyy"
msgstr ""
#: src/callbacks.c:1600 src/ui_utils.c:558
#: src/callbacks.c:1617 src/ui_utils.c:562
msgid "mm.dd.yyyy"
msgstr ""
#: src/callbacks.c:1602 src/ui_utils.c:559
#: src/callbacks.c:1619 src/ui_utils.c:563
msgid "yyyy/mm/dd"
msgstr ""
#: src/callbacks.c:1604 src/ui_utils.c:568
#: src/callbacks.c:1621 src/ui_utils.c:572
msgid "dd.mm.yyyy hh:mm:ss"
msgstr ""
#: src/callbacks.c:1606 src/ui_utils.c:569
#: src/callbacks.c:1623 src/ui_utils.c:573
msgid "mm.dd.yyyy hh:mm:ss"
msgstr ""
#: src/callbacks.c:1608 src/ui_utils.c:570
#: src/callbacks.c:1625 src/ui_utils.c:574
msgid "yyyy/mm/dd hh:mm:ss"
msgstr ""
#: src/callbacks.c:1610 src/ui_utils.c:579
#: src/callbacks.c:1627 src/ui_utils.c:583
msgid "Use Custom Date Format"
msgstr ""
#: src/callbacks.c:1621
#: src/callbacks.c:1638
msgid "Custom Date Format"
msgstr ""
#: src/callbacks.c:1622
#: src/callbacks.c:1639
msgid ""
"Enter here a custom date and time format. You can use any conversion "
"specifiers which can be used with the ANSI C strftime function. See \"man "
"strftime\" for more information."
msgstr ""
#: src/callbacks.c:1642
#: src/callbacks.c:1659
msgid "Date format string could not be converted (possibly too long)."
msgstr ""
#: src/callbacks.c:2030
#: src/callbacks.c:2047
msgid "No more message items."
msgstr ""
@ -1303,7 +1303,7 @@ msgid "Couldn't find pixmap file: %s"
msgstr ""
#. initialize the dialog
#: src/dialogs.c:74 src/prefs.c:1023
#: src/dialogs.c:74 src/prefs.c:1017
msgid "Open File"
msgstr ""
@ -1355,208 +1355,208 @@ msgstr ""
msgid "Save File"
msgstr ""
#: src/dialogs.c:350
#: src/dialogs.c:352
#, c-format
msgid "The file '%s' is not saved."
msgstr ""
#: src/dialogs.c:360
#: src/dialogs.c:362
msgid "Do you want to save it before closing?"
msgstr ""
#: src/dialogs.c:363
#: src/dialogs.c:365
msgid "_Don't save"
msgstr ""
#: src/dialogs.c:407
#: src/dialogs.c:409
msgid "Choose font"
msgstr ""
#: src/dialogs.c:444
#: src/dialogs.c:447
msgid "Word Count"
msgstr ""
#: src/dialogs.c:453
#: src/dialogs.c:456
msgid "selection"
msgstr ""
#: src/dialogs.c:459
#: src/dialogs.c:462
msgid "whole document"
msgstr ""
#: src/dialogs.c:468
#: src/dialogs.c:471
msgid "Range:"
msgstr ""
#: src/dialogs.c:480
#: src/dialogs.c:483
msgid "Lines:"
msgstr ""
#: src/dialogs.c:494
#: src/dialogs.c:497
msgid "Words:"
msgstr ""
#: src/dialogs.c:508
#: src/dialogs.c:511
msgid "Characters:"
msgstr ""
#: src/dialogs.c:607 src/keybindings.c:144
#: src/dialogs.c:610 src/keybindings.c:144
msgid "Go to line"
msgstr ""
#: src/dialogs.c:613
#: src/dialogs.c:616
msgid "Enter the line you want to go to:"
msgstr ""
#. arguments
#: src/dialogs.c:638 src/build.c:1068
#: src/dialogs.c:641 src/build.c:1068
msgid "Set Arguments"
msgstr ""
#: src/dialogs.c:644
#: src/dialogs.c:647
msgid "Set programs and options for compiling and viewing (La)TeX files."
msgstr ""
#: src/dialogs.c:655
#: src/dialogs.c:658
msgid "DVI creation:"
msgstr ""
#: src/dialogs.c:674
#: src/dialogs.c:677
msgid "PDF creation:"
msgstr ""
#: src/dialogs.c:693
#: src/dialogs.c:696
msgid "DVI preview:"
msgstr ""
#: src/dialogs.c:712
#: src/dialogs.c:715
msgid "PDF preview:"
msgstr ""
#: src/dialogs.c:728 src/dialogs.c:843
#: src/dialogs.c:731 src/dialogs.c:846
#, c-format
msgid ""
"%f will be replaced by the current filename, e.g. test_file.c\n"
"%e will be replaced by the filename without extension, e.g. test_file"
msgstr ""
#: src/dialogs.c:755
#: src/dialogs.c:758
msgid "Set Includes and Arguments"
msgstr ""
#: src/dialogs.c:761
#: src/dialogs.c:764
msgid "Set the commands for building and running programs."
msgstr ""
#: src/dialogs.c:768
#: src/dialogs.c:771
msgid " commands"
msgstr ""
#: src/dialogs.c:783
#: src/dialogs.c:786
msgid "Compile:"
msgstr ""
#: src/dialogs.c:804
#: src/dialogs.c:807
msgid "Build:"
msgstr ""
#: src/dialogs.c:825 src/dialogs.c:1096
#: src/dialogs.c:828 src/dialogs.c:1099
msgid "Execute:"
msgstr ""
#: src/dialogs.c:890
#: src/dialogs.c:893
msgid ""
"An error occurred or file information could not be retrieved (e.g. from a "
"new file)."
msgstr ""
#: src/dialogs.c:909 src/dialogs.c:910 src/dialogs.c:911 src/dialogs.c:917
#: src/dialogs.c:918 src/dialogs.c:919 src/utils.c:503 src/utils.c:557
#: src/dialogs.c:912 src/dialogs.c:913 src/dialogs.c:914 src/dialogs.c:920
#: src/dialogs.c:921 src/dialogs.c:922 src/utils.c:503 src/utils.c:557
#: src/ui_utils.c:122 src/ui_utils.c:124
msgid "unknown"
msgstr ""
#: src/dialogs.c:923
#: src/dialogs.c:926
msgid "Properties"
msgstr ""
#: src/dialogs.c:951
#: src/dialogs.c:954
msgid "<b>Type:</b>"
msgstr ""
#: src/dialogs.c:964
#: src/dialogs.c:967
msgid "<b>Size:</b>"
msgstr ""
#: src/dialogs.c:979
#: src/dialogs.c:982
msgid "<b>Location:</b>"
msgstr ""
#: src/dialogs.c:992
#: src/dialogs.c:995
msgid "<b>Read-only:</b>"
msgstr ""
#: src/dialogs.c:999
#: src/dialogs.c:1002
msgid "(only inside Geany)"
msgstr ""
#: src/dialogs.c:1008
#: src/dialogs.c:1011
msgid "<b>Encoding:</b>"
msgstr ""
#: src/dialogs.c:1017 src/ui_utils.c:123
#: src/dialogs.c:1020 src/ui_utils.c:123
msgid "(with BOM)"
msgstr ""
#: src/dialogs.c:1017 src/ui_utils.c:123
#: src/dialogs.c:1020 src/ui_utils.c:123
msgid "(without BOM)"
msgstr ""
#: src/dialogs.c:1027
#: src/dialogs.c:1030
msgid "<b>Modified:</b>"
msgstr ""
#: src/dialogs.c:1040
#: src/dialogs.c:1043
msgid "<b>Changed:</b>"
msgstr ""
#: src/dialogs.c:1053
#: src/dialogs.c:1056
msgid "<b>Accessed:</b>"
msgstr ""
#: src/dialogs.c:1074
#: src/dialogs.c:1077
msgid "<b>Permissions:</b>"
msgstr ""
#. Header
#: src/dialogs.c:1082
#: src/dialogs.c:1085
msgid "Read:"
msgstr ""
#: src/dialogs.c:1089
#: src/dialogs.c:1092
msgid "Write:"
msgstr ""
#. Owner
#: src/dialogs.c:1104
#: src/dialogs.c:1107
msgid "Owner:"
msgstr ""
#. Group
#: src/dialogs.c:1140
#: src/dialogs.c:1143
msgid "Group:"
msgstr ""
#. Other
#: src/dialogs.c:1176
#: src/dialogs.c:1179
msgid "Other:"
msgstr ""
#: src/dialogs.c:1297
#: src/dialogs.c:1300
msgid "Keyboard shortcuts"
msgstr ""
#: src/dialogs.c:1306
#: src/dialogs.c:1309
msgid "The following keyboard shortcuts are defined:"
msgstr ""
@ -1717,31 +1717,31 @@ msgstr ""
msgid "Font updated (%s)."
msgstr ""
#: src/ui_utils.c:217
#: src/ui_utils.c:309
msgid "No tags found"
msgstr ""
#: src/ui_utils.c:526
#: src/ui_utils.c:530
msgid "C Standard Library"
msgstr ""
#: src/ui_utils.c:527
#: src/ui_utils.c:531
msgid "ISO C99"
msgstr ""
#: src/ui_utils.c:528
#: src/ui_utils.c:532
msgid "C++ (C Standard Library)"
msgstr ""
#: src/ui_utils.c:529
#: src/ui_utils.c:533
msgid "C++ Standard Library"
msgstr ""
#: src/ui_utils.c:530
#: src/ui_utils.c:534
msgid "C++ STL"
msgstr ""
#: src/ui_utils.c:596
#: src/ui_utils.c:600
msgid "Set Custom Date Format"
msgstr ""
@ -1886,7 +1886,7 @@ msgstr ""
msgid "Type here what you want, use it as a notice/scratch board"
msgstr ""
#: src/keyfile.c:557
#: src/keyfile.c:560
msgid "Failed to load one or more session files."
msgstr ""
@ -2074,68 +2074,68 @@ msgstr ""
msgid "Shortcut"
msgstr ""
#: src/prefs.c:789
#: src/prefs.c:781
msgid "Grab key"
msgstr ""
#: src/prefs.c:793
#: src/prefs.c:785
#, c-format
msgid "Type the combination of the keys you want to use for \"%s\""
msgstr ""
#: src/prefs.c:917
#: src/prefs.c:909
#, c-format
msgid ""
"The combination '%s' is already used for \"%s\". Please choose another one."
msgstr ""
#: src/about.c:119
#: src/about.c:121
msgid "About Geany"
msgstr ""
#: src/about.c:168
#: src/about.c:170
msgid "A fast and lightweight IDE"
msgstr ""
#: src/about.c:189
#: src/about.c:191
#, c-format
msgid "(built on %s)"
msgstr ""
#. gtk_container_add(GTK_CONTAINER(info_box), cop_label);
#: src/about.c:220
#: src/about.c:222
msgid "Info"
msgstr ""
#: src/about.c:232
#: src/about.c:234
msgid "Developers"
msgstr ""
#: src/about.c:232
#: src/about.c:234
msgid "Maintainer"
msgstr ""
#: src/about.c:232
#: src/about.c:234
msgid "developer"
msgstr ""
#: src/about.c:233
#: src/about.c:235
msgid "translation maintainer"
msgstr ""
#: src/about.c:233
#: src/about.c:235
msgid "Translators"
msgstr ""
#: src/about.c:234
#: src/about.c:236
msgid "language"
msgstr ""
#: src/about.c:240
#: src/about.c:242
msgid "Credits"
msgstr ""
#: src/about.c:253
#: src/about.c:255
msgid "License"
msgstr ""
@ -2397,15 +2397,15 @@ msgstr ""
msgid "Structs / Typedefs"
msgstr ""
#: src/treeviews.c:385 src/treeviews.c:437
#: src/treeviews.c:391 src/treeviews.c:443
msgid "Hide"
msgstr ""
#: src/treeviews.c:393 src/treeviews.c:445
#: src/treeviews.c:399 src/treeviews.c:451
msgid "Hide sidebar"
msgstr ""
#: src/treeviews.c:425
#: src/treeviews.c:431
msgid "Reload"
msgstr ""

713
po/hu.po

File diff suppressed because it is too large Load Diff

2514
po/it.po

File diff suppressed because it is too large Load Diff

3144
po/nl.po

File diff suppressed because it is too large Load Diff

3558
po/pl.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

3985
po/ru.po

File diff suppressed because it is too large Load Diff

329
po/vi.po
View File

@ -4,9 +4,9 @@
#
msgid ""
msgstr ""
"Project-Id-Version: geany\n"
"Project-Id-Version: geany 0.10.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2006-12-21 13:38+0100\n"
"POT-Creation-Date: 2007-02-07 19:53+0100\n"
"PO-Revision-Date: 2006-12-21 19:40+1030\n"
"Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
"Language-Team: Vietnamese <vi-VN@googlegroups.com>\n"
@ -117,7 +117,7 @@ msgstr "Lưu tất _cả"
msgid "Saves all open files"
msgstr "Lưu mọi tập tin đang mở"
#: src/interface.c:315 src/callbacks.c:473 src/utils.c:355
#: src/interface.c:315 src/callbacks.c:490 src/utils.c:355
msgid "_Reload"
msgstr "Tải _lại"
@ -990,7 +990,7 @@ msgstr "Kiểu :"
msgid "Sets the color of the long line marker"
msgstr "Đặt màu của dấu dòng dài"
#: src/interface.c:3093 src/dialogs.c:540 src/vte.c:546 src/vte.c:553
#: src/interface.c:3093 src/dialogs.c:543 src/vte.c:546 src/vte.c:553
msgid "Color Chooser"
msgstr "Bộ chọn màu"
@ -1258,68 +1258,68 @@ msgstr "Tổ hợp phím"
msgid "Do you really want to quit?"
msgstr "Bạn thật sự muốn thoát không?"
#: src/callbacks.c:474
#: src/callbacks.c:491
msgid "Any unsaved changes will be lost."
msgstr "Các thay đổi chưa lưu sẽ bị mất."
#: src/callbacks.c:475
#: src/callbacks.c:492
#, c-format
msgid "Are you sure you want to reload '%s'?"
msgstr "Bạn có chắc muốn tải lại « %s » không?"
#: src/callbacks.c:860
#: src/callbacks.c:877
#, c-format
msgid "The file '%s' already exists. Do you want to overwrite it?"
msgstr "Tập tin « %s » đã có. Bạn có muốn ghi đè lên không?"
#: src/callbacks.c:1230
#, c-format
#: src/callbacks.c:1247
#, fuzzy, c-format
msgid "Declaration of \"%s()\" not found"
msgstr "Không tìm thấy lời tuyên bố « %s() »"
msgstr "Không tìm thấy lời xác định « %s() »"
#: src/callbacks.c:1232
#, c-format
#: src/callbacks.c:1249
#, fuzzy, c-format
msgid "Definition of \"%s()\" not found"
msgstr "Không tìm thấy lời xác định « %s() »"
#: src/callbacks.c:1437 src/callbacks.c:1482
#: src/callbacks.c:1454 src/callbacks.c:1499
msgid ""
"Please set the filetype for the current file before using this function."
msgstr "Hãy đặt kiểu tập tin cho tập tin hiện thời, trước khi sử dụng hàm này."
#: src/callbacks.c:1598 src/ui_utils.c:561
#: src/callbacks.c:1615 src/ui_utils.c:561
msgid "dd.mm.yyyy"
msgstr "nn.tt.NNNN"
#: src/callbacks.c:1600 src/ui_utils.c:562
#: src/callbacks.c:1617 src/ui_utils.c:562
msgid "mm.dd.yyyy"
msgstr "tt.nn.NNNN"
#: src/callbacks.c:1602 src/ui_utils.c:563
#: src/callbacks.c:1619 src/ui_utils.c:563
msgid "yyyy/mm/dd"
msgstr "NNNN/tt/nn"
#: src/callbacks.c:1604 src/ui_utils.c:572
#: src/callbacks.c:1621 src/ui_utils.c:572
msgid "dd.mm.yyyy hh:mm:ss"
msgstr "nn.tt.NNNN GG:pp:gg"
#: src/callbacks.c:1606 src/ui_utils.c:573
#: src/callbacks.c:1623 src/ui_utils.c:573
msgid "mm.dd.yyyy hh:mm:ss"
msgstr "tt.nn.NNNN GG:pp:gg"
#: src/callbacks.c:1608 src/ui_utils.c:574
#: src/callbacks.c:1625 src/ui_utils.c:574
msgid "yyyy/mm/dd hh:mm:ss"
msgstr "NNNN/tt/nn GG:pp:gg"
#: src/callbacks.c:1610 src/ui_utils.c:583
#: src/callbacks.c:1627 src/ui_utils.c:583
msgid "Use Custom Date Format"
msgstr "Dùng định dạng ngày riêng"
#: src/callbacks.c:1621
#: src/callbacks.c:1638
msgid "Custom Date Format"
msgstr "Định dạng ngày riêng"
#: src/callbacks.c:1622
#: src/callbacks.c:1639
msgid ""
"Enter here a custom date and time format. You can use any conversion "
"specifiers which can be used with the ANSI C strftime function. See \"man "
@ -1329,11 +1329,11 @@ msgstr ""
"đặc tả chuyển đổi nào dùng được với hàm strftime kiểu C ANSI. Xem « man "
"strftime » để tìm thêm thông tin."
#: src/callbacks.c:1642
#: src/callbacks.c:1659
msgid "Date format string could not be converted (possibly too long)."
msgstr "Không thể chuyển đổi chuỗi định dạng ngày tháng (có thể quá dài)."
#: src/callbacks.c:2030
#: src/callbacks.c:2047
msgid "No more message items."
msgstr "Không có mục thông điệp nào nữa."
@ -1343,7 +1343,7 @@ msgid "Couldn't find pixmap file: %s"
msgstr "Không tìm thấy tập tin sơ đồ điểm ảnh: %s"
#. initialize the dialog
#: src/dialogs.c:74 src/prefs.c:1023
#: src/dialogs.c:74 src/prefs.c:1017
msgid "Open File"
msgstr "Mở tập tin"
@ -1406,86 +1406,86 @@ msgstr ""
msgid "Save File"
msgstr "Lưu tập tin"
#: src/dialogs.c:350
#: src/dialogs.c:352
#, c-format
msgid "The file '%s' is not saved."
msgstr "Tập tin « %s » chưa được lưu."
#: src/dialogs.c:360
#: src/dialogs.c:362
msgid "Do you want to save it before closing?"
msgstr "Bạn có muốn lưu nó trước khi đóng không?"
#: src/dialogs.c:363
#: src/dialogs.c:365
msgid "_Don't save"
msgstr "_Không lưu"
#: src/dialogs.c:407
#: src/dialogs.c:409
msgid "Choose font"
msgstr "Chọn phông"
#: src/dialogs.c:444
#: src/dialogs.c:447
msgid "Word Count"
msgstr "Tổng từ"
#: src/dialogs.c:453
#: src/dialogs.c:456
msgid "selection"
msgstr "vùng chọn"
#: src/dialogs.c:459
#: src/dialogs.c:462
msgid "whole document"
msgstr "toàn tài liệu"
#: src/dialogs.c:468
#: src/dialogs.c:471
msgid "Range:"
msgstr "Phạm vị:"
#: src/dialogs.c:480
#: src/dialogs.c:483
msgid "Lines:"
msgstr "Dòng:"
#: src/dialogs.c:494
#: src/dialogs.c:497
msgid "Words:"
msgstr "Từ :"
#: src/dialogs.c:508
#: src/dialogs.c:511
msgid "Characters:"
msgstr "Ký tự :"
#: src/dialogs.c:607 src/keybindings.c:144
#: src/dialogs.c:610 src/keybindings.c:144
msgid "Go to line"
msgstr "Tới dòng"
#: src/dialogs.c:613
#: src/dialogs.c:616
msgid "Enter the line you want to go to:"
msgstr "Nhập dòng cần tới:"
#. arguments
#: src/dialogs.c:638 src/build.c:1068
#: src/dialogs.c:641 src/build.c:1068
msgid "Set Arguments"
msgstr "Đặt đối số"
#: src/dialogs.c:644
#: src/dialogs.c:647
msgid "Set programs and options for compiling and viewing (La)TeX files."
msgstr ""
"Đặt các chương trình và tùy chọn để biên dịch và xem tập tin kiểu (La)TeX."
#: src/dialogs.c:655
#: src/dialogs.c:658
msgid "DVI creation:"
msgstr "Tạo DVI:"
#: src/dialogs.c:674
#: src/dialogs.c:677
msgid "PDF creation:"
msgstr "Tạo PDF:"
#: src/dialogs.c:693
#: src/dialogs.c:696
msgid "DVI preview:"
msgstr "Xem thử DVI:"
#: src/dialogs.c:712
#: src/dialogs.c:715
msgid "PDF preview:"
msgstr "Xem thử PDF:"
#: src/dialogs.c:728 src/dialogs.c:843
#: src/dialogs.c:731 src/dialogs.c:846
#, c-format
msgid ""
"%f will be replaced by the current filename, e.g. test_file.c\n"
@ -1494,123 +1494,123 @@ msgstr ""
"%f\tsẽ được thay thế bằng tên tập tin hoàn toàn (v.d. tập_tin_thử.c)\n"
"%e\tsẽ được thay thế bằng tập tin không có phần mở rộng (v.d. tập_tin_thử)"
#: src/dialogs.c:755
#: src/dialogs.c:758
msgid "Set Includes and Arguments"
msgstr "Đặt đồ gồm và đối số"
#: src/dialogs.c:761
#: src/dialogs.c:764
msgid "Set the commands for building and running programs."
msgstr "Đặt các lệnh để xây dựng và chạy chương trình."
#: src/dialogs.c:768
#: src/dialogs.c:771
msgid " commands"
msgstr " lệnh"
#: src/dialogs.c:783
#: src/dialogs.c:786
msgid "Compile:"
msgstr "Biên dịch:"
#: src/dialogs.c:804
#: src/dialogs.c:807
msgid "Build:"
msgstr "Xây dựng:"
#: src/dialogs.c:825 src/dialogs.c:1096
#: src/dialogs.c:828 src/dialogs.c:1099
msgid "Execute:"
msgstr "Thực hiện:"
#: src/dialogs.c:890
#: src/dialogs.c:893
msgid ""
"An error occurred or file information could not be retrieved (e.g. from a "
"new file)."
msgstr "Gặp lỗi hoặc không thể lấy thông tin về tập tin (v.d. từ tập tin mới)."
#: src/dialogs.c:909 src/dialogs.c:910 src/dialogs.c:911 src/dialogs.c:917
#: src/dialogs.c:918 src/dialogs.c:919 src/utils.c:503 src/utils.c:557
#: src/dialogs.c:912 src/dialogs.c:913 src/dialogs.c:914 src/dialogs.c:920
#: src/dialogs.c:921 src/dialogs.c:922 src/utils.c:503 src/utils.c:557
#: src/ui_utils.c:122 src/ui_utils.c:124
msgid "unknown"
msgstr "không rõ"
#: src/dialogs.c:923
#: src/dialogs.c:926
msgid "Properties"
msgstr "Tài sản"
#: src/dialogs.c:951
#: src/dialogs.c:954
msgid "<b>Type:</b>"
msgstr "<b>Kiểu :</b>"
#: src/dialogs.c:964
#: src/dialogs.c:967
msgid "<b>Size:</b>"
msgstr "<b>Cỡ :</b>"
#: src/dialogs.c:979
#: src/dialogs.c:982
msgid "<b>Location:</b>"
msgstr "<b>Vị trí:</b>"
#: src/dialogs.c:992
#: src/dialogs.c:995
msgid "<b>Read-only:</b>"
msgstr "<b>Chỉ đọc:</b>"
#: src/dialogs.c:999
#: src/dialogs.c:1002
msgid "(only inside Geany)"
msgstr "(chỉ bên trong Geany)"
#: src/dialogs.c:1008
#: src/dialogs.c:1011
msgid "<b>Encoding:</b>"
msgstr "<b>Bảng mã:</b>"
#: src/dialogs.c:1017 src/ui_utils.c:123
#: src/dialogs.c:1020 src/ui_utils.c:123
msgid "(with BOM)"
msgstr "(có BOM)"
#: src/dialogs.c:1017 src/ui_utils.c:123
#: src/dialogs.c:1020 src/ui_utils.c:123
msgid "(without BOM)"
msgstr "(không có BOM)"
#: src/dialogs.c:1027
#: src/dialogs.c:1030
msgid "<b>Modified:</b>"
msgstr "<b>Sửa đổi:</b>"
#: src/dialogs.c:1040
#: src/dialogs.c:1043
msgid "<b>Changed:</b>"
msgstr "<b>Đổi:</b>"
#: src/dialogs.c:1053
#: src/dialogs.c:1056
msgid "<b>Accessed:</b>"
msgstr "<b>Truy cập:</b>"
#: src/dialogs.c:1074
#: src/dialogs.c:1077
msgid "<b>Permissions:</b>"
msgstr "<b>Quyền hạn:</b>"
#. Header
#: src/dialogs.c:1082
#: src/dialogs.c:1085
msgid "Read:"
msgstr "Đọc:"
#: src/dialogs.c:1089
#: src/dialogs.c:1092
msgid "Write:"
msgstr "Ghi:"
#. Owner
#: src/dialogs.c:1104
#: src/dialogs.c:1107
msgid "Owner:"
msgstr "Sở hữu :"
#. Group
#: src/dialogs.c:1140
#: src/dialogs.c:1143
msgid "Group:"
msgstr "Nhóm:"
#. Other
#: src/dialogs.c:1176
#: src/dialogs.c:1179
msgid "Other:"
msgstr "Khác:"
#: src/dialogs.c:1297
#: src/dialogs.c:1300
msgid "Keyboard shortcuts"
msgstr "Phím tắt"
#: src/dialogs.c:1306
#: src/dialogs.c:1309
msgid "The following keyboard shortcuts are defined:"
msgstr "Những phím tắt theo đây đã được xác định:"
@ -1633,7 +1633,7 @@ msgid "Could not open file %s (%s)"
msgstr "Không thể mở tập tin: %s (%s)"
#: src/document.c:618
#, c-format
#, fuzzy, c-format
msgid ""
"The file \"%s\" could not opened properly and probably was truncated. Be "
"aware that saving it can cause data loss.\n"
@ -2155,68 +2155,68 @@ msgstr "Hành động"
msgid "Shortcut"
msgstr "Phím tắt"
#: src/prefs.c:789
#: src/prefs.c:781
msgid "Grab key"
msgstr "Bắt phím"
#: src/prefs.c:793
#: src/prefs.c:785
#, c-format
msgid "Type the combination of the keys you want to use for \"%s\""
msgstr "Gõ tổ hợp phím bạn muốn dùng cho « %s »"
#: src/prefs.c:917
#: src/prefs.c:909
#, c-format
msgid ""
"The combination '%s' is already used for \"%s\". Please choose another one."
msgstr "Tổ hợp « %s » đã được dùng cho « %s ». Hãy chọn điều khác."
#: src/about.c:119
#: src/about.c:121
msgid "About Geany"
msgstr "Giới thiệu Geany"
#: src/about.c:168
#: src/about.c:170
msgid "A fast and lightweight IDE"
msgstr "Một IDE nhanh và nhẹ nhàng"
#: src/about.c:189
#: src/about.c:191
#, c-format
msgid "(built on %s)"
msgstr "(xây dựng vào %s)"
#. gtk_container_add(GTK_CONTAINER(info_box), cop_label);
#: src/about.c:220
#: src/about.c:222
msgid "Info"
msgstr "Thông tin"
#: src/about.c:232
#: src/about.c:234
msgid "Developers"
msgstr "Nhà phát triển"
#: src/about.c:232
#: src/about.c:234
msgid "Maintainer"
msgstr "Nhà duy trì"
#: src/about.c:232
#: src/about.c:234
msgid "developer"
msgstr "nhà phát triển"
#: src/about.c:233
#: src/about.c:235
msgid "translation maintainer"
msgstr "nhà duy trì bản dịch"
#: src/about.c:233
#: src/about.c:235
msgid "Translators"
msgstr "Dịch giả"
#: src/about.c:234
#: src/about.c:236
msgid "language"
msgstr "ngôn ngữ"
#: src/about.c:240
#: src/about.c:242
msgid "Credits"
msgstr "Công trạng"
#: src/about.c:253
#: src/about.c:255
msgid "License"
msgstr "Giấy Phép"
@ -2553,6 +2553,7 @@ msgid "Terminal emulation:"
msgstr "Mô phỏng thiết bị cuối:"
#: src/vte.c:580
#, fuzzy
msgid ""
"Controls how the terminal emulator should behave. xterm is a good start."
msgstr "Điều khiển ứng xử của mô phỏng thiết bị cuối. xterm là cơ bản tốt."
@ -3067,6 +3068,147 @@ msgstr "Ký tự dấu chấm câu"
msgid "Miscellaneous characters"
msgstr "Ký tự lặt vặt"
#, fuzzy
#~ msgid "Forward declaration \"%s\" not found."
#~ msgstr "Không tìm thấy lời tuyên bố « %s() »"
#, fuzzy
#~ msgid "Javascript source file"
#~ msgstr "Tập tin mã nguồn Java"
#, fuzzy
#~ msgid "Lua source file"
#~ msgstr "Tập tin mã nguồn LaTeX"
#, fuzzy
#~ msgid "Open Selected F_ile"
#~ msgstr "Mở tập tin"
#, fuzzy
#~ msgid "Insert BSD License Notice"
#~ msgstr "Chèn thông báo GPL"
#, fuzzy
#~ msgid ""
#~ "Inserts a BSD licence notice (should be done at the beginning of the file)"
#~ msgstr ""
#~ "Chèn thông báo Giấy Phép Công Cộng GNU (nên nằm tại đầu của tập tin)"
#, fuzzy
#~ msgid "Find _Selected"
#~ msgstr "Tìm _kế"
#, fuzzy
#~ msgid "_New"
#~ msgstr "Mới"
#, fuzzy
#~ msgid "_Open"
#~ msgstr "Mở"
#, fuzzy
#~ msgid "_Close"
#~ msgstr "Đóng"
#, fuzzy
#~ msgid "Insert BSD license Notice"
#~ msgstr "Chèn thông báo GPL"
#, fuzzy
#~ msgid "Open selected file"
#~ msgstr "Tập tin mở"
#, fuzzy
#~ msgid "Save as"
#~ msgstr "Lưu tất cả"
#, fuzzy
#~ msgid "Find Next Selection"
#~ msgstr "Trong _vùng chọn"
#, fuzzy
#~ msgid "Find Previous Selection"
#~ msgstr "Tìm trước"
#, fuzzy
#~ msgid ""
#~ "set initial column number for the first opened file (useful in "
#~ "conjunction with --line)"
#~ msgstr "đặt số hiệu dòng đầu tiên cho tập tin được mở ban đầu"
#, fuzzy
#~ msgid "Could not find file '%s'."
#~ msgstr "Không tìm thấy tập tin sơ đồ điểm ảnh: %s"
#, fuzzy
#~ msgid "Open project"
#~ msgstr "Make đối tượng"
#, fuzzy
#~ msgid "Project files"
#~ msgstr "Tài sản"
#, fuzzy
#~ msgid "Project \"%s\" closed."
#~ msgstr "Tập tin %s đã được đóng."
#, fuzzy
#~ msgid "Project properties"
#~ msgstr "Tài sản"
#, fuzzy
#~ msgid "C_reate"
#~ msgstr "Ký tự"
# Name: don't translate/Tên: đừng dịch
#, fuzzy
#~ msgid "Name:"
#~ msgstr "Make:"
#, fuzzy
#~ msgid "Description:"
#~ msgstr "Tạo DVI:"
#, fuzzy
#~ msgid "Filename:"
#~ msgstr "Việt"
#, fuzzy
#~ msgid "File patterns:"
#~ msgstr "Vùng T_rung Đông"
#, fuzzy
#~ msgid ""
#~ "There is already an open project \"%s\". Do you want to close it before "
#~ "proceed?"
#~ msgstr ""
#~ "Chưa lưu tập tin « %s ».\n"
#~ "Bạn có muốn lưu nó trước khi đóng không?"
#, fuzzy
#~ msgid "Project file could not be written."
#~ msgstr "Tiến trình không dừng chạy được (%s)."
#, fuzzy
#~ msgid "Project \"%s\" created."
#~ msgstr "Tài sản"
#, fuzzy
#~ msgid "Project \"%s\" saved."
#~ msgstr "Tập tin %s đã được lưu."
#, fuzzy
#~ msgid "Project \"%s\" opened."
#~ msgstr "Tài sản"
#, fuzzy
#~ msgid "Project file could not be loaded."
#~ msgstr "Tiến trình không dừng chạy được (%s)."
#, fuzzy
#~ msgid "File location:"
#~ msgstr "Tạo PDF:"
#~ msgid ""
#~ "You have opened too many files. There is a limit of %d concurrent open "
#~ "files."
@ -3097,13 +3239,6 @@ msgstr "Ký tự lặt vặt"
#~ msgid "Enter custom options for the make tool"
#~ msgstr "Nhập tùy chọn riêng cho công cụ make"
#~ msgid ""
#~ "The file '%s' is not saved.\n"
#~ "Do you want to save it before closing?"
#~ msgstr ""
#~ "Chưa lưu tập tin « %s ».\n"
#~ "Bạn có muốn lưu nó trước khi đóng không?"
#~ msgid ""
#~ "Range:\t\t%s\n"
#~ "\n"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1116,6 +1116,11 @@ void ScintillaGTK::ScrollText(int linesToMove) {
gdk_gc_unref(gc);
#else
// check if e.g. an existing scroll event has occurred
if (rgnUpdate != NULL) {
Redraw();
return;
}
gdk_window_scroll(wi->window, 0, -diff);
gdk_window_process_updates(wi->window, FALSE);
#endif

View File

@ -1,7 +1,8 @@
/*
* about.c - this file is part of Geany, a fast and lightweight IDE
*
* Copyright 2006 Enrico Troeger <enrico.troeger@uvena.de>
* Copyright 2005-2007 Enrico Tröger <enrico.troeger@uvena.de>
* Copyright 2006-2007 Nick Treleaven <nick.treleaven@btinternet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -34,7 +35,7 @@ static GtkWidget *gb_window = NULL;
#define INFO "<span size=\"larger\" weight=\"bold\">%s</span>"
#define CODENAME "<span weight=\"bold\">\"" GEANY_CODENAME "\"</span>"
#define BUILDDATE "<span size=\"smaller\">%s</span>"
#define COPYRIGHT "Copyright (c) 2005-2006 \n Enrico Tröger \nAll rights reserved."
#define COPYRIGHT "Copyright (c) 2005-2007 \n Enrico Tröger \nAll rights reserved."
#define CREDITS \
"<span size=\"larger\" weight=\"bold\">%s</span>\n\t\
Enrico Tröger - %s\n\t\
@ -55,6 +56,8 @@ Frank Lanitz - <language> de_DE\n\t\
&lt;frank@frank.uvena.de&gt;\n\n\t\
Damián Viano - <language> es\n\t\
&lt;debian@damianv.com.ar&gt;\n\n\t\
Harri Koskinen - <language> fi_FI\n\t\
&lt;harri@fastmonkey.org&gt;\n\n\t\
Jean-Philippe Moal - <language> fr\n\t\
&lt;skateinmars@momo.servegame.org&gt;\n\n\t\
Gabor Kmetyko - <language> hu\n\t\

View File

@ -1,7 +1,8 @@
/*
* build.c - this file is part of Geany, a fast and lightweight IDE
*
* Copyright 2006 Enrico Troeger <enrico.troeger@uvena.de>
* Copyright 2005-2007 Enrico Tröger <enrico.troeger@uvena.de>
* Copyright 2006-2007 Nick Treleaven <nick.treleaven@btinternet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -78,7 +79,6 @@ static void on_make_target_entry_activate(GtkEntry *entry, gpointer user_data);
static void set_stop_button(gboolean stop);
static void build_exit_cb(GPid child_pid, gint status, gpointer user_data);
static void run_exit_cb(GPid child_pid, gint status, gpointer user_data);
static void free_pointers(gpointer first, ...);
#ifndef G_OS_WIN32
static void kill_process(GPid *pid);
@ -154,7 +154,7 @@ GPid build_view_tex_file(gint idx, gint mode)
if (stat(locale_filename, &st) != 0)
{
msgwin_status_add(_("Failed to view %s (make sure it is already compiled)"), view_file);
free_pointers(executable, view_file, locale_filename, script_name);
utils_free_pointers(executable, view_file, locale_filename, script_name, NULL);
return (GPid) 1;
}
@ -189,8 +189,8 @@ GPid build_view_tex_file(gint idx, gint mode)
_("Could not find terminal '%s' "
"(check path for Terminal tool setting in Preferences)"), app->tools_term_cmd);
free_pointers(executable, view_file, locale_filename, cmd_string, locale_cmd_string,
script_name, locale_term_cmd);
utils_free_pointers(executable, view_file, locale_filename, cmd_string, locale_cmd_string,
script_name, locale_term_cmd, NULL);
g_strfreev(term_argv);
return (GPid) 1;
}
@ -202,8 +202,8 @@ GPid build_view_tex_file(gint idx, gint mode)
gchar *utf8_check_executable = utils_remove_ext_from_filename(doc_list[idx].file_name);
msgwin_status_add(_("Failed to execute %s (start-script could not be created)"),
utf8_check_executable);
free_pointers(executable, view_file, locale_filename, cmd_string, locale_cmd_string,
utf8_check_executable, script_name, locale_term_cmd);
utils_free_pointers(executable, view_file, locale_filename, cmd_string, locale_cmd_string,
utf8_check_executable, script_name, locale_term_cmd, NULL);
g_strfreev(term_argv);
return (GPid) 1;
}
@ -230,8 +230,8 @@ GPid build_view_tex_file(gint idx, gint mode)
geany_debug("g_spawn_async_with_pipes() failed: %s", error->message);
msgwin_status_add(_("Process failed (%s)"), error->message);
free_pointers(executable, view_file, locale_filename, cmd_string, locale_cmd_string,
script_name, locale_term_cmd);
utils_free_pointers(executable, view_file, locale_filename, cmd_string, locale_cmd_string,
script_name, locale_term_cmd, NULL);
g_strfreev(argv);
g_strfreev(term_argv);
g_error_free(error);
@ -246,8 +246,8 @@ GPid build_view_tex_file(gint idx, gint mode)
build_menu_update(idx);
}
free_pointers(executable, view_file, locale_filename, cmd_string, locale_cmd_string,
script_name, locale_term_cmd);
utils_free_pointers(executable, view_file, locale_filename, cmd_string, locale_cmd_string,
script_name, locale_term_cmd, NULL);
g_strfreev(argv);
g_strfreev(term_argv);
@ -335,6 +335,15 @@ GPid build_link_file(gint idx)
locale_filename = utils_get_locale_from_utf8(doc_list[idx].file_name);
executable = utils_remove_ext_from_filename(locale_filename);
// check for filename extension and abort if filename doesn't have one
if (utils_str_equal(locale_filename, executable))
{
msgwin_status_add(_("Command stopped because the current file has no extension."));
utils_beep();
utils_free_pointers(locale_filename, executable, NULL);
return (GPid) 1;
}
object_file = g_strdup_printf("%s.o", executable);
// check wether object file (file.o) exists
@ -401,7 +410,7 @@ static GPid build_spawn_cmd(gint idx, gchar **cmd)
gint stdout_fd;
gint stderr_fd;
g_return_val_if_fail(idx >= 0 && doc_list[idx].is_valid, (GPid) 1);
g_return_val_if_fail(DOC_IDX_VALID(idx), (GPid) 1);
document_clear_indicators(idx);
@ -432,7 +441,7 @@ static GPid build_spawn_cmd(gint idx, gchar **cmd)
working_dir = g_path_get_dirname(locale_filename);
utf8_working_dir = g_path_get_dirname(doc_list[idx].file_name);
gtk_list_store_clear(msgwindow.store_compiler);
msgwin_compiler_add(COLOR_BLUE, _("%s (in directory: %s)"), utf8_cmd_string, utf8_working_dir);
msgwin_compiler_add_fmt(COLOR_BLUE, _("%s (in directory: %s)"), utf8_cmd_string, utf8_working_dir);
gtk_notebook_set_current_page(GTK_NOTEBOOK(msgwindow.notebook), MSG_COMPILER);
// set the build info for the message window
@ -531,6 +540,15 @@ GPid build_run_cmd(gint idx)
else
check_executable = g_strdup(long_executable);
// check for filename extension and abort if filename doesn't have one
if (utils_str_equal(locale_filename, check_executable))
{
msgwin_status_add(_("Command stopped because the current file has no extension."));
utils_beep();
result_id = (GPid) 1;
goto free_strings;
}
// check whether executable exists
if (stat(check_executable, &st) != 0)
{
@ -727,7 +745,7 @@ static void show_build_result_message(gboolean failure)
if (failure)
{
msg = _("Compilation failed.");
msgwin_compiler_add(COLOR_DARK_RED, "%s", msg);
msgwin_compiler_add(COLOR_DARK_RED, msg);
// If msgwindow is hidden, user will want to display it to see the error
if (! app->msgwindow_visible)
{
@ -741,7 +759,7 @@ static void show_build_result_message(gboolean failure)
else
{
msg = _("Compilation finished successfully.");
msgwin_compiler_add(COLOR_BLUE, "%s", msg);
msgwin_compiler_add(COLOR_BLUE, msg);
if (! app->msgwindow_visible ||
gtk_notebook_get_current_page(GTK_NOTEBOOK(msgwindow.notebook)) != MSG_COMPILER)
ui_set_statusbar("%s", msg);
@ -810,7 +828,7 @@ static gboolean build_create_shellscript(const gint idx, const gchar *fname, con
#else
str = g_strdup_printf(
"#!/bin/sh\n\n%s\n\necho \"\n\n------------------\n(program exited with code: $?)\" \
\n\n%s\nunlink $0\n", cmd, (autoclose) ? "" :
\n\n%s\nrm $0\n", cmd, (autoclose) ? "" :
"\necho \"Press return to continue\"\n#to be more compatible with shells like dash\ndummy_var=\"\"\nread dummy_var");
#endif
@ -1448,13 +1466,13 @@ static void kill_process(GPid *pid)
* perforce necessary for just killing a process). But we must use a signal which we can
* ignore because the main process get it too, it is declared to ignore in main.c. */
gint resultpg, result;
gint result;
g_return_if_fail(*pid > 1);
// sent SIGQUIT to all the processes to the processes' own process group
result = kill(*pid, SIGQUIT);
resultpg = killpg(0, SIGQUIT);
if (result != 0 || resultpg != 0)
if (result != 0)
msgwin_status_add(_("Process could not be stopped (%s)."), g_strerror(errno));
else
{
@ -1465,25 +1483,6 @@ static void kill_process(GPid *pid)
#endif
// frees all passed pointers if they are non-NULL, the first argument is nothing special,
// it will also be freed
static void free_pointers(gpointer first, ...)
{
va_list a;
gpointer sa;
for (va_start(a, first); (sa = va_arg(a, gpointer), sa!=NULL);)
{
if (sa != NULL)
g_free(sa);
}
va_end(a);
if (first != NULL)
g_free(first);
}
void
on_build_next_error (GtkMenuItem *menuitem,
gpointer user_data)

View File

@ -1,7 +1,8 @@
/*
* callbacks.c - this file is part of Geany, a fast and lightweight IDE
*
* Copyright 2006 Enrico Troeger <enrico.troeger@uvena.de>
* Copyright 2005-2007 Enrico Tröger <enrico.troeger@uvena.de>
* Copyright 2006-2007 Nick Treleaven <nick.treleaven@btinternet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -382,8 +383,7 @@ on_paste1_activate (GtkMenuItem *menuitem,
gchar *content = gtk_clipboard_wait_for_text(gtk_clipboard_get(GDK_NONE));
if (content != NULL)
{
sci_insert_text(doc_list[idx].sci,
sci_get_current_position(doc_list[idx].sci), content);
sci_replace_sel(doc_list[idx].sci, content);
g_free(content);
}
}
@ -885,7 +885,8 @@ on_file_save_dialog_response (GtkDialog *dialog,
doc_list[idx].tm_file = NULL;
g_free(doc_list[idx].file_name);
}
doc_list[idx].file_name = new_filename;
doc_list[idx].file_name = utils_get_utf8_from_locale(new_filename);
g_free(new_filename);
utils_replace_filename(idx);
document_save_file(idx, TRUE);
@ -2001,10 +2002,10 @@ on_menu_increase_indent1_activate (GtkMenuItem *menuitem,
line = sci_get_current_line(doc_list[idx].sci, old_pos);
ind_pos = sci_get_line_indent_position(doc_list[idx].sci, line);
sci_set_current_position(doc_list[idx].sci, ind_pos);
sci_set_current_position(doc_list[idx].sci, ind_pos, TRUE);
sci_cmd(doc_list[idx].sci, SCI_TAB);
sci_set_current_position(doc_list[idx].sci,
(old_pos > ind_pos) ? old_pos + 1 : old_pos);
(old_pos > ind_pos) ? old_pos + 1 : old_pos, TRUE);
}
}
@ -2030,10 +2031,10 @@ on_menu_decrease_indent1_activate (GtkMenuItem *menuitem,
if (ind_pos == sci_get_position_from_line(doc_list[idx].sci, line))
return;
sci_set_current_position(doc_list[idx].sci, ind_pos);
sci_set_current_position(doc_list[idx].sci, ind_pos, TRUE);
sci_cmd(doc_list[idx].sci, SCI_BACKTAB);
sci_set_current_position(doc_list[idx].sci,
(old_pos >= ind_pos) ? old_pos - 1 : old_pos);
(old_pos >= ind_pos) ? old_pos - 1 : old_pos, TRUE);
}
}

View File

@ -126,7 +126,7 @@ void dialogs_show_open_file ()
g_signal_connect((gpointer) app->open_filesel, "selection-changed",
G_CALLBACK(on_file_open_selection_changed), NULL);
g_signal_connect ((gpointer) app->open_filesel, "delete_event",
G_CALLBACK(gtk_widget_hide), NULL);
G_CALLBACK(gtk_widget_hide_on_delete), NULL);
g_signal_connect((gpointer) app->open_filesel, "response",
G_CALLBACK(on_file_open_dialog_response), NULL);
}
@ -266,8 +266,10 @@ gboolean dialogs_show_save_as()
gtk_window_set_type_hint(GTK_WINDOW(app->save_filesel), GDK_WINDOW_TYPE_HINT_DIALOG);
gtk_dialog_set_default_response(GTK_DIALOG(app->save_filesel), GTK_RESPONSE_ACCEPT);
g_signal_connect((gpointer) app->save_filesel, "delete_event", G_CALLBACK(gtk_widget_hide), NULL);
g_signal_connect((gpointer) app->save_filesel, "response", G_CALLBACK(on_file_save_dialog_response), NULL);
g_signal_connect((gpointer) app->save_filesel, "delete_event",
G_CALLBACK(gtk_widget_hide_on_delete), NULL);
g_signal_connect((gpointer) app->save_filesel, "response",
G_CALLBACK(on_file_save_dialog_response), NULL);
gtk_window_set_transient_for(GTK_WINDOW(app->save_filesel), GTK_WINDOW(app->window));
}
@ -340,7 +342,7 @@ gboolean dialogs_show_unsaved_file(gint idx)
// display the file tab to remind the user of the document
gtk_notebook_set_current_page(GTK_NOTEBOOK(app->notebook),
document_find_by_sci(doc_list[idx].sci));
document_get_notebook_page(idx));
if (doc_list[idx].file_name != NULL)
{
@ -414,7 +416,7 @@ void dialogs_show_open_font()
gtk_widget_show(GTK_FONT_SELECTION_DIALOG(app->open_fontsel)->apply_button);
g_signal_connect((gpointer) app->open_fontsel,
"delete_event", G_CALLBACK(gtk_widget_hide), NULL);
"delete_event", G_CALLBACK(gtk_widget_hide_on_delete), NULL);
g_signal_connect((gpointer) GTK_FONT_SELECTION_DIALOG(app->open_fontsel)->ok_button,
"clicked", G_CALLBACK(on_font_ok_button_clicked), NULL);
g_signal_connect((gpointer) GTK_FONT_SELECTION_DIALOG(app->open_fontsel)->cancel_button,
@ -422,7 +424,8 @@ void dialogs_show_open_font()
g_signal_connect((gpointer) GTK_FONT_SELECTION_DIALOG(app->open_fontsel)->apply_button,
"clicked", G_CALLBACK(on_font_apply_button_clicked), NULL);
gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(app->open_fontsel), app->editor_font);
gtk_font_selection_dialog_set_font_name(
GTK_FONT_SELECTION_DIALOG(app->open_fontsel), app->editor_font);
gtk_window_set_transient_for(GTK_WINDOW(app->open_fontsel), GTK_WINDOW(app->window));
}
/* We make sure the dialog is visible. */
@ -545,7 +548,7 @@ void dialogs_show_color(gchar *colour)
g_signal_connect(GTK_COLOR_SELECTION_DIALOG(app->open_colorsel)->ok_button, "clicked",
G_CALLBACK(on_color_ok_button_clicked), NULL);
g_signal_connect(app->open_colorsel, "delete_event",
G_CALLBACK(gtk_widget_hide), NULL);
G_CALLBACK(gtk_widget_hide_on_delete), NULL);
}
// if colour is non-NULL set it in the dialog as preselected colour
if (colour != NULL && (colour[0] == '0' || colour[0] == '#'))
@ -1014,7 +1017,8 @@ void dialogs_show_file_properties(gint idx)
enctext = g_strdup_printf("%s %s",
doc_list[idx].encoding,
(utils_is_unicode_charset(doc_list[idx].encoding)) ? ((doc_list[idx].has_bom) ? _("(with BOM)") : _("(without BOM)")) : "");
(encodings_is_unicode_charset(doc_list[idx].encoding)) ?
((doc_list[idx].has_bom) ? _("(with BOM)") : _("(without BOM)")) : "");
label = gtk_label_new(enctext);
g_free(enctext);

View File

@ -1,7 +1,8 @@
/*
* document.c - this file is part of Geany, a fast and lightweight IDE
*
* Copyright 2006 Enrico Troeger <enrico.troeger@uvena.de>
* Copyright 2005-2007 Enrico Tröger <enrico.troeger@uvena.de>
* Copyright 2006-2007 Nick Treleaven <nick.treleaven@btinternet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -74,7 +75,7 @@ static void document_redo_add(gint idx, guint type, gpointer data);
/* returns the index of the notebook page which has the given filename
/* returns the document index which has the given filename.
* is_tm_filename is needed when passing TagManager filenames because they are
* dereferenced, and would not match the link filename. */
gint document_find_by_filename(const gchar *filename, gboolean is_tm_filename)
@ -98,7 +99,7 @@ gint document_find_by_filename(const gchar *filename, gboolean is_tm_filename)
}
/* returns the index of the notebook page which has sci */
/* returns the document index which has sci */
gint document_find_by_sci(ScintillaObject *sci)
{
guint i;
@ -113,6 +114,16 @@ gint document_find_by_sci(ScintillaObject *sci)
}
/* returns the index of the notebook page from the document index */
gint document_get_notebook_page(gint doc_idx)
{
if (! DOC_IDX_VALID(doc_idx)) return -1;
return gtk_notebook_page_num(GTK_NOTEBOOK(app->notebook),
GTK_WIDGET(doc_list[doc_idx].sci));
}
/* returns the index of the given notebook page in the document list */
gint document_get_n_idx(guint page_num)
{
@ -207,6 +218,7 @@ static void init_doc_struct(document *new_doc)
new_doc->sci = NULL;
new_doc->undo_actions = NULL;
new_doc->redo_actions = NULL;
new_doc->scroll_percent = -1.0F;
}
@ -348,6 +360,7 @@ gboolean document_remove(guint page_num)
doc_list[idx].encoding = NULL;
doc_list[idx].has_bom = FALSE;
doc_list[idx].tm_file = NULL;
doc_list[idx].scroll_percent = -1.0F;
document_undo_clear(idx);
if (gtk_notebook_get_n_pages(GTK_NOTEBOOK(app->notebook)) == 0)
{
@ -405,8 +418,11 @@ void document_new_file(filetype *ft)
if (ft == NULL) filetypes[GEANY_FILETYPES_ALL]->style_func_ptr(doc_list[idx].sci);
ui_set_window_title(idx);
build_menu_update(idx);
doc_list[idx].mtime = time(NULL);
doc_list[idx].changed = FALSE;
document_update_tag_list(idx, FALSE);
document_set_text_changed(idx);
ui_document_show_hide(idx); //update the document menu
@ -421,113 +437,236 @@ void document_new_file(filetype *ft)
}
typedef struct
{
gchar *data; // null-terminated file data
gsize len; // string length of data
gchar *enc;
gboolean bom;
time_t mtime; // modification time, read by stat::st_mtime
gboolean readonly;
} FileData;
// reload file with specified encoding
static gboolean
handle_forced_encoding(gchar **data, gsize *size, const gchar *forced_enc, gchar **enc,
gboolean *bom)
handle_forced_encoding(FileData *filedata, const gchar *forced_enc)
{
GeanyEncodingIndex enc_idx;
if (utils_str_equal(forced_enc, "UTF-8"))
{
if (! g_utf8_validate(*data, *size, NULL))
if (! g_utf8_validate(filedata->data, filedata->len, NULL))
{
return FALSE;
}
else
{
*bom = utils_str_equal(utils_scan_unicode_bom(*data), "UTF-8");
*enc = g_strdup(forced_enc);
}
}
else
{
gchar *converted_text = encodings_convert_to_utf8_from_charset(
*data, *size, forced_enc, FALSE);
filedata->data, filedata->len, forced_enc, FALSE);
if (converted_text == NULL)
{
return FALSE;
}
else
{
g_free(*data);
*data = (void*)converted_text;
*size = strlen(converted_text);
*bom = utils_str_equal(utils_scan_unicode_bom(*data), "UTF-8");
*enc = g_strdup(forced_enc);
g_free(filedata->data);
filedata->data = converted_text;
filedata->len = strlen(converted_text);
}
}
enc_idx = encodings_scan_unicode_bom(filedata->data, filedata->len, NULL);
filedata->bom = (enc_idx == GEANY_ENCODING_UTF_8);
filedata->enc = g_strdup(forced_enc);
return TRUE;
}
// detect encoding and convert to UTF-8 if necessary
static gboolean
handle_encoding(gchar **data, gsize *size, gchar **enc, gboolean *bom)
handle_encoding(FileData *filedata)
{
if (*size > 0)
{ // the usual way to detect encoding and convert to UTF-8
if (*size >= 4)
g_return_val_if_fail(filedata->enc == NULL, FALSE);
g_return_val_if_fail(filedata->bom == FALSE, FALSE);
if (filedata->len == 0)
{
*enc = utils_scan_unicode_bom(*data);
// we have no data so assume UTF-8
filedata->enc = g_strdup("UTF-8");
}
if (*enc != NULL)
else
{
*bom = TRUE;
if ((*enc)[4] != '8') // the BOM indicated something else than UTF-8
// first check for a BOM
GeanyEncodingIndex enc_idx =
encodings_scan_unicode_bom(filedata->data, filedata->len, NULL);
if (enc_idx != GEANY_ENCODING_NONE)
{
filedata->enc = g_strdup(encodings[enc_idx].charset);
filedata->bom = TRUE;
if (enc_idx != GEANY_ENCODING_UTF_8) // the BOM indicated something else than UTF-8
{
gchar *converted_text = encodings_convert_to_utf8_from_charset(
*data, *size, *enc, FALSE);
if (converted_text == NULL)
filedata->data, filedata->len, filedata->enc, FALSE);
if (converted_text != NULL)
{
g_free(*enc);
*enc = NULL;
*bom = FALSE;
g_free(filedata->data);
filedata->data = converted_text;
filedata->len = strlen(converted_text);
}
else
{
g_free(*data);
*data = (void*)converted_text;
*size = strlen(converted_text);
// there was a problem converting data from BOM encoding type
g_free(filedata->enc);
filedata->enc = NULL;
filedata->bom = FALSE;
}
}
}
// this if is important, else doesn't work because enc can be altered in the above block
if (*enc == NULL)
if (filedata->enc == NULL) // either there was no BOM or the BOM encoding failed
{
if (g_utf8_validate(*data, *size, NULL))
// try UTF-8 first
if (g_utf8_validate(filedata->data, filedata->len, NULL))
{
*enc = g_strdup("UTF-8");
filedata->enc = g_strdup("UTF-8");
}
else
{
gchar *converted_text = encodings_convert_to_utf8(*data, *size, enc);
// detect the encoding
gchar *converted_text = encodings_convert_to_utf8(filedata->data,
filedata->len, &filedata->enc);
if (converted_text == NULL)
{
return FALSE;
}
else
{
g_free(*data);
*data = (void*)converted_text;
*size = strlen(converted_text);
g_free(filedata->data);
filedata->data = converted_text;
filedata->len = strlen(converted_text);
}
}
}
}
else
{
*enc = g_strdup("UTF-8");
}
return TRUE;
}
static void
handle_bom(gchar **data)
handle_bom(FileData *filedata)
{
gchar *data_without_bom;
data_without_bom = g_strdup(*data + 3);
g_free(*data);
*data = data_without_bom;
guint bom_len;
encodings_scan_unicode_bom(filedata->data, filedata->len, &bom_len);
g_return_if_fail(bom_len != 0);
filedata->len -= bom_len;
// overwrite the BOM with the remainder of the file contents, plus the NULL terminator.
g_memmove(filedata->data, filedata->data + bom_len, filedata->len + 1);
filedata->data = g_realloc(filedata->data, filedata->len + 1);
}
/* loads textfile data, verifies and converts to forced_enc or UTF-8. Also handles BOM. */
static gboolean load_text_file(const gchar *locale_filename, const gchar *utf8_filename,
FileData *filedata, const gchar *forced_enc)
{
GError *err = NULL;
struct stat st;
filedata->data = NULL;
filedata->len = 0;
filedata->enc = NULL;
filedata->bom = FALSE;
filedata->readonly = FALSE;
if (stat(locale_filename, &st) != 0)
{
msgwin_status_add(_("Could not open file %s (%s)"), utf8_filename, g_strerror(errno));
return FALSE;
}
filedata->mtime = st.st_mtime;
#ifdef G_OS_WIN32
if (! g_file_get_contents(utf8_filename, &filedata->data, NULL, &err))
#else
if (! g_file_get_contents(locale_filename, &filedata->data, NULL, &err))
#endif
{
msgwin_status_add(err->message);
g_error_free(err);
return FALSE;
}
// use strlen to check for null chars
filedata->len = strlen(filedata->data);
/* check whether the size of the loaded data is equal to the size of the file in the filesystem */
if (filedata->len != (gsize) st.st_size)
{
gchar *warn_msg = _("The file \"%s\" could not be opened properly and has been truncated. "
"This can occur if the file contains a NULL byte. "
"Be aware that saving it can cause data loss.\nThe file was set to read-only.");
if (app->main_window_realized)
dialogs_show_msgbox(GTK_MESSAGE_WARNING, warn_msg, utf8_filename);
msgwin_status_add(warn_msg, utf8_filename);
// set the file to read-only mode because saving it is probably dangerous
filedata->readonly = TRUE;
}
/* Determine character encoding and convert to UTF-8 */
if (forced_enc != NULL)
{
// the encoding should be ignored(requested by user), so open the file "as it is"
if (utils_str_equal(forced_enc, encodings[GEANY_ENCODING_NONE].charset))
{
filedata->bom = FALSE;
filedata->enc = g_strdup(encodings[GEANY_ENCODING_NONE].charset);
}
else if (! handle_forced_encoding(filedata, forced_enc))
{
msgwin_status_add(_("The file \"%s\" is not valid %s."), utf8_filename, forced_enc);
utils_beep();
g_free(filedata->data);
return FALSE;
}
}
else if (! handle_encoding(filedata))
{
msgwin_status_add(
_("The file \"%s\" does not look like a text file or the file encoding is not supported."),
utf8_filename);
utils_beep();
g_free(filedata->data);
return FALSE;
}
if (filedata->bom)
handle_bom(filedata);
return TRUE;
}
/* Sets the cursor position on opening a file. First it sets the line when cl_options.goto_line
* is set, otherwise it sets the line when pos is greater than zero. */
static void set_cursor_position(gint idx, gint pos)
{
if (cl_options.goto_line >= 0)
{ // goto line which was specified on command line and then undefine the line
sci_goto_line(doc_list[idx].sci, cl_options.goto_line - 1, TRUE);
doc_list[idx].scroll_percent = 0.5F;
cl_options.goto_line = -1;
}
else if (pos > 0)
{
sci_set_current_position(doc_list[idx].sci, pos, FALSE);
doc_list[idx].scroll_percent = 0.5F;
}
}
@ -541,16 +680,11 @@ int document_open_file(gint idx, const gchar *filename, gint pos, gboolean reado
const gchar *forced_enc)
{
gint editor_mode;
gsize size;
gboolean reload = (idx == -1) ? FALSE : TRUE;
struct stat st;
gboolean bom = FALSE;
gchar *enc = NULL;
gchar *utf8_filename = NULL;
gchar *locale_filename = NULL;
GError *err = NULL;
gchar *data = NULL;
filetype *use_ft;
FileData filedata;
//struct timeval tv, tv1;
//struct timezone tz;
@ -585,120 +719,52 @@ int document_open_file(gint idx, const gchar *filename, gint pos, gboolean reado
g_free(utf8_filename);
g_free(locale_filename);
utils_check_disk_status(idx, TRUE); // force a file changed check
set_cursor_position(idx, pos);
return idx;
}
}
if (stat(locale_filename, &st) != 0)
if (! load_text_file(locale_filename, utf8_filename, &filedata, forced_enc))
{
msgwin_status_add(_("Could not open file %s (%s)"), utf8_filename, g_strerror(errno));
g_free(utf8_filename);
g_free(locale_filename);
return -1;
}
#ifdef G_OS_WIN32
if (! g_file_get_contents(utf8_filename, &data, NULL, &err))
#else
if (! g_file_get_contents(locale_filename, &data, NULL, &err))
#endif
{
msgwin_status_add(err->message);
g_error_free(err);
g_free(utf8_filename);
g_free(locale_filename);
return -1;
}
/* check whether the size of the loaded data is equal to the size of the file in the filesystem */
//size = strlen(data);
size = strlen(data);
if (size != (gsize) st.st_size)
{
gchar *warn_msg = _("The file \"%s\" could not opened properly and probably was truncated. "
"Be aware that saving it can cause data loss.\nThe file was set to read-only.");
if (app->main_window_realized)
dialogs_show_msgbox(GTK_MESSAGE_WARNING, warn_msg, utf8_filename);
msgwin_status_add(warn_msg, utf8_filename);
// set the file to read-only mode because saving it is probably dangerous
readonly = TRUE;
}
/* Determine character encoding and convert to UTF-8 */
if (forced_enc != NULL)
{
// the encoding should be ignored(requested by user), so open the file "as it is"
if (utils_str_equal(forced_enc, encodings[GEANY_ENCODING_NONE].charset))
{
bom = FALSE;
enc = g_strdup(encodings[GEANY_ENCODING_NONE].charset);
}
else if (! handle_forced_encoding(&data, &size, forced_enc, &enc, &bom))
{
msgwin_status_add(_("The file \"%s\" is not valid %s."), utf8_filename, forced_enc);
utils_beep();
g_free(data);
g_free(utf8_filename);
g_free(locale_filename);
return -1;
}
}
else if (! handle_encoding(&data, &size, &enc, &bom))
{
msgwin_status_add(
_("The file \"%s\" does not look like a text file or the file encoding is not supported."),
utf8_filename);
utils_beep();
g_free(data);
g_free(utf8_filename);
g_free(locale_filename);
return -1;
}
if (bom) handle_bom(&data);
if (! reload) idx = document_create_new_sci(utf8_filename);
if (idx == -1) return -1; // really should not happen
g_return_val_if_fail(idx != -1, -1); // really should not happen
// set editor mode and add the text to the ScintillaObject
sci_set_undo_collection(doc_list[idx].sci, FALSE); // avoid creation of an undo action
sci_empty_undo_buffer(doc_list[idx].sci);
sci_set_text(doc_list[idx].sci, data); // NULL terminated data
editor_mode = utils_get_line_endings(data, size);
// add the text to the ScintillaObject
sci_set_text(doc_list[idx].sci, filedata.data); // NULL terminated data
// detect & set line endings
editor_mode = utils_get_line_endings(filedata.data, filedata.len);
sci_set_eol_mode(doc_list[idx].sci, editor_mode);
sci_set_line_numbers(doc_list[idx].sci, app->show_linenumber_margin, 0);
g_free(filedata.data);
sci_set_undo_collection(doc_list[idx].sci, TRUE);
doc_list[idx].mtime = st.st_mtime; // get the modification time from file and keep it
doc_list[idx].mtime = filedata.mtime; // get the modification time from file and keep it
doc_list[idx].changed = FALSE;
g_free(doc_list[idx].encoding); // if reloading, free old encoding
doc_list[idx].encoding = enc;
doc_list[idx].has_bom = bom;
doc_list[idx].encoding = filedata.enc;
doc_list[idx].has_bom = filedata.bom;
store_saved_encoding(idx); // store the opened encoding for undo/redo
if (cl_options.goto_line >= 0)
{ // goto line which was specified on command line and then undefine the line
sci_goto_line(doc_list[idx].sci, cl_options.goto_line - 1, TRUE);
sci_scroll_to_line(doc_list[idx].sci, -1, 0.5);
cl_options.goto_line = -1;
}
else if (pos >= 0)
{
sci_goto_pos(doc_list[idx].sci, pos, FALSE);
if (reload)
sci_scroll_to_line(doc_list[idx].sci, -1, 0.5);
}
doc_list[idx].readonly = readonly || filedata.readonly;
sci_set_readonly(doc_list[idx].sci, doc_list[idx].readonly);
// update line number margin width
sci_set_line_numbers(doc_list[idx].sci, app->show_linenumber_margin, 0);
// set the cursor position according to pos, cl_options.goto_line and cl_options.goto_column
set_cursor_position(idx, pos);
if (! reload)
{
doc_list[idx].readonly = readonly;
sci_set_readonly(doc_list[idx].sci, readonly);
// "the" SCI signal (connect after initial setup(i.e. adding text))
g_signal_connect((GtkWidget*) doc_list[idx].sci, "sci-notify",
G_CALLBACK(on_editor_notification), GINT_TO_POINTER(idx));
@ -716,8 +782,6 @@ int document_open_file(gint idx, const gchar *filename, gint pos, gboolean reado
document_set_text_changed(idx); // also updates tab state
ui_document_show_hide(idx); // update the document menu
g_free(data);
// finally add current file to recent files menu, but not the files from the last session
if (! app->opening_session_files) ui_add_recent_file(utf8_filename);
@ -840,7 +904,7 @@ gboolean document_save_file(gint idx, gboolean force)
sci_convert_eols(doc_list[idx].sci, sci_get_eol_mode(doc_list[idx].sci));
len = sci_get_length(doc_list[idx].sci) + 1;
if (doc_list[idx].has_bom && utils_is_unicode_charset(doc_list[idx].encoding))
if (doc_list[idx].has_bom && encodings_is_unicode_charset(doc_list[idx].encoding))
{
data = (gchar*) g_malloc(len + 3); // 3 chars for BOM
data[0] = 0xef;
@ -979,7 +1043,7 @@ void document_search_bar_find(gint idx, const gchar *text, gint flags, gboolean
{
sci_set_selection_start(doc_list[idx].sci, ttf.chrgText.cpMin);
sci_set_selection_end(doc_list[idx].sci, ttf.chrgText.cpMax);
sci_scroll_to_line(doc_list[idx].sci, -1, 0.3);
doc_list[idx].scroll_percent = 0.3F;
}
else
{
@ -1027,7 +1091,7 @@ gint document_find_text(gint idx, const gchar *text, gint flags, gboolean search
if (search_pos != -1)
{
if (scroll)
sci_scroll_to_line(doc_list[idx].sci, -1, 0.3);
doc_list[idx].scroll_percent = 0.3F;
}
else
{
@ -1552,6 +1616,8 @@ void document_strip_trailing_spaces(gint idx)
gint max_lines = sci_get_line_count(doc_list[idx].sci);
gint line;
sci_start_undo_action(doc_list[idx].sci);
for (line = 0; line < max_lines; line++)
{
gint line_start = sci_get_position_from_line(doc_list[idx].sci, line);
@ -1571,6 +1637,7 @@ void document_strip_trailing_spaces(gint idx)
sci_target_replace(doc_list[idx].sci, "", FALSE);
}
}
sci_end_undo_action(doc_list[idx].sci);
}
@ -1611,7 +1678,7 @@ void document_set_encoding(gint idx, const gchar *new_encoding)
ui_update_statusbar(idx, -1);
gtk_widget_set_sensitive(lookup_widget(app->window, "menu_write_unicode_bom1"),
utils_is_unicode_charset(doc_list[idx].encoding));
encodings_is_unicode_charset(doc_list[idx].encoding));
}

View File

@ -1,7 +1,8 @@
/*
* document.h - this file is part of Geany, a fast and lightweight IDE
*
* Copyright 2006 Enrico Troeger <enrico.troeger@uvena.de>
* Copyright 2005-2007 Enrico Tröger <enrico.troeger@uvena.de>
* Copyright 2006-2007 Nick Treleaven <nick.treleaven@btinternet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -63,6 +64,7 @@ typedef struct document
gboolean changed;
gboolean line_breaking;
gboolean use_auto_indention;
gfloat scroll_percent; // % to scroll view by on paint, if positive.
time_t last_check; // to remember the last disk check
time_t mtime;
GTrashStack *undo_actions;
@ -86,14 +88,19 @@ extern GArray *doc_array;
(doc_list[doc_idx].file_name) : GEANY_STRING_UNTITLED)
/* returns the index of the notebook page which has the given filename */
gint document_find_by_filename(const gchar*, gboolean is_tm_filename);
/* returns the document index which has the given filename.
* is_tm_filename is needed when passing TagManager filenames because they are
* dereferenced, and would not match the link filename. */
gint document_find_by_filename(const gchar *filename, gboolean is_tm_filename);
/* returns the index of the notebook page which has sci */
gint document_find_by_sci(ScintillaObject*);
/* returns the document index which has sci */
gint document_find_by_sci(ScintillaObject *sci);
/* returns the index of the notebook page from the document index */
gint document_get_notebook_page(gint doc_idx);
/* returns the index of the given notebook page in the document list */
gint document_get_n_idx(guint page_num);

View File

@ -1,7 +1,8 @@
/*
* encodings.c - this file is part of Geany, a fast and lightweight IDE
*
* Copyright 2006 Enrico Troeger <enrico.troeger@uvena.de>
* Copyright 2005-2007 Enrico Tröger <enrico.troeger@uvena.de>
* Copyright 2006-2007 Nick Treleaven <nick.treleaven@btinternet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -39,12 +40,12 @@
#define fill(v, w, x, y, z) \
encodings[x].idx = x; \
encodings[x].order = v; \
encodings[x].group = w; \
encodings[x].charset = y; \
encodings[x].name = z;
#define fill(Order, Group, Idx, Charset, Name) \
encodings[Idx].idx = Idx; \
encodings[Idx].order = Order; \
encodings[Idx].group = Group; \
encodings[Idx].charset = Charset; \
encodings[Idx].name = Name;
static void init_encodings(void)
{
@ -377,3 +378,71 @@ gchar *encodings_convert_to_utf8(const gchar *buffer, gsize size, gchar **used_e
return NULL;
}
/* If there's a BOM, return a corresponding GEANY_ENCODING_UTF_* index,
* otherwise GEANY_ENCODING_NONE.
* */
GeanyEncodingIndex encodings_scan_unicode_bom(const gchar *string, gsize len, guint *bom_len)
{
if (len >= 3)
{
if (bom_len)
*bom_len = 3;
if ((guchar)string[0] == 0xef && (guchar)string[1] == 0xbb &&
(guchar)string[2] == 0xbf)
{
return GEANY_ENCODING_UTF_8;
}
}
if (len >= 4)
{
if (bom_len)
*bom_len = 4;
if ((guchar)string[0] == 0x00 && (guchar)string[1] == 0x00 &&
(guchar)string[2] == 0xfe && (guchar)string[3] == 0xff)
{
return GEANY_ENCODING_UTF_32BE; // Big endian
}
if ((guchar)string[0] == 0xff && (guchar)string[1] == 0xfe &&
(guchar)string[2] == 0x00 && (guchar)string[3] == 0x00)
{
return GEANY_ENCODING_UTF_32LE; // Little endian
}
if ((string[0] == 0x2b && string[1] == 0x2f && string[2] == 0x76) &&
(string[3] == 0x38 || string[3] == 0x39 || string[3] == 0x2b || string[3] == 0x2f))
{
return GEANY_ENCODING_UTF_7;
}
}
if (len >= 2)
{
if (bom_len)
*bom_len = 2;
if ((guchar)string[0]==0xfe && (guchar)string[1] == 0xff)
{
return GEANY_ENCODING_UTF_16BE; // Big endian
}
if ((guchar)string[0] == 0xff && (guchar)string[1] == 0xfe)
{
return GEANY_ENCODING_UTF_16LE; // Little endian
}
}
if (bom_len)
*bom_len = 0;
return GEANY_ENCODING_NONE;
}
gboolean encodings_is_unicode_charset(const gchar *string)
{
if (string != NULL && (strncmp(string, "UTF", 3) == 0 || strncmp(string, "UCS", 3) == 0))
{
return TRUE;
}
return FALSE;
}

View File

@ -1,7 +1,8 @@
/*
* encodings.h - this file is part of Geany, a fast and lightweight IDE
*
* Copyright 2006 Enrico Troeger <enrico.troeger@uvena.de>
* Copyright 2005-2007 Enrico Tröger <enrico.troeger@uvena.de>
* Copyright 2006-2007 Nick Treleaven <nick.treleaven@btinternet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -74,6 +75,8 @@ gchar *encodings_convert_to_utf8(const gchar *buffer, gsize size, gchar **used_e
gchar *encodings_convert_to_utf8_from_charset(const gchar *buffer, gsize size,
const gchar *charset, gboolean fast);
gboolean encodings_is_unicode_charset(const gchar *string);
/*
* The original versions of the following tables are taken from profterm
@ -161,4 +164,7 @@ typedef enum
GeanyEncoding encodings[GEANY_ENCODINGS_MAX];
GeanyEncodingIndex encodings_scan_unicode_bom(const gchar *string, gsize len, guint *bom_len);
#endif

View File

@ -1,7 +1,8 @@
/*
* highlighting.c - this file is part of Geany, a fast and lightweight IDE
*
* Copyright 2006 Enrico Troeger <enrico.troeger@uvena.de>
* Copyright 2005-2007 Enrico Tröger <enrico.troeger@uvena.de>
* Copyright 2006-2007 Nick Treleaven <nick.treleaven@btinternet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -1435,7 +1436,7 @@ static void styleset_perl_init(void)
load_keyfiles(config, config_home, GEANY_FILETYPES_PERL);
new_style_array(GEANY_FILETYPES_PERL, 17);
new_style_array(GEANY_FILETYPES_PERL, 30);
get_keyfile_hex(config, config_home, "styling", "default", "0x000000", "0xffffff", "false", &style_sets[GEANY_FILETYPES_PERL].styling[0]);
get_keyfile_hex(config, config_home, "styling", "error", "0xff0000", "0xffffff", "false", &style_sets[GEANY_FILETYPES_PERL].styling[1]);
get_keyfile_style(config, config_home, "commentline", &gsd_comment, &style_sets[GEANY_FILETYPES_PERL].styling[2]);
@ -1453,6 +1454,19 @@ static void styleset_perl_init(void)
get_keyfile_hex(config, config_home, "styling", "hash", "0x105090", "0xffffff", "false", &style_sets[GEANY_FILETYPES_PERL].styling[14]);
get_keyfile_hex(config, config_home, "styling", "symboltable", "0x105090", "0xffffff", "false", &style_sets[GEANY_FILETYPES_PERL].styling[15]);
get_keyfile_hex(config, config_home, "styling", "backticks", "0x000000", "0xe0c0e0", "false", &style_sets[GEANY_FILETYPES_PERL].styling[16]);
get_keyfile_hex(config, config_home, "styling", "pod_verbatim", "0x004000", "0xc0ffc0", "false", &style_sets[GEANY_FILETYPES_PERL].styling[17]);
get_keyfile_hex(config, config_home, "styling", "reg_subst", "0x000000", "0xf0e080", "false", &style_sets[GEANY_FILETYPES_PERL].styling[18]);
get_keyfile_hex(config, config_home, "styling", "datasection", "0x600000", "0xfff0d8", "false", &style_sets[GEANY_FILETYPES_PERL].styling[19]);
get_keyfile_hex(config, config_home, "styling", "here_delim", "0x000000", "0xddd0dd", "false", &style_sets[GEANY_FILETYPES_PERL].styling[20]);
get_keyfile_hex(config, config_home, "styling", "here_q", "0x7f007f", "0xddd0dd", "false", &style_sets[GEANY_FILETYPES_PERL].styling[21]);
get_keyfile_hex(config, config_home, "styling", "here_qq", "0x7f007f", "0xddd0dd", "true", &style_sets[GEANY_FILETYPES_PERL].styling[22]);
get_keyfile_hex(config, config_home, "styling", "here_qx", "0x7f007f", "0xddd0dd", "true", &style_sets[GEANY_FILETYPES_PERL].styling[23]);
get_keyfile_hex(config, config_home, "styling", "string_q", "0x7f007f", "0xffffff", "false", &style_sets[GEANY_FILETYPES_PERL].styling[24]);
get_keyfile_hex(config, config_home, "styling", "string_qq", "0xff901e", "0xffffff", "false", &style_sets[GEANY_FILETYPES_PERL].styling[25]);
get_keyfile_hex(config, config_home, "styling", "string_qx", "0x000000", "0xe0c0e0", "false", &style_sets[GEANY_FILETYPES_PERL].styling[26]);
get_keyfile_hex(config, config_home, "styling", "string_qr", "0x105090", "0xffffff", "false", &style_sets[GEANY_FILETYPES_PERL].styling[27]);
get_keyfile_hex(config, config_home, "styling", "string_qw", "0x105090", "0xffffff", "false", &style_sets[GEANY_FILETYPES_PERL].styling[28]);
get_keyfile_hex(config, config_home, "styling", "variable_indexer", "0x000000", "0xffffff", "false", &style_sets[GEANY_FILETYPES_PERL].styling[29]);
style_sets[GEANY_FILETYPES_PERL].keywords = g_new(gchar*, 2);
get_keyfile_keywords(config, config_home, "keywords", "primary", GEANY_FILETYPES_PERL, 0, "\
@ -1523,9 +1537,22 @@ void styleset_perl(ScintillaObject *sci)
set_sci_style(sci, SCE_PL_POD, GEANY_FILETYPES_PERL, 11);
set_sci_style(sci, SCE_PL_REGEX, GEANY_FILETYPES_PERL, 12);
set_sci_style(sci, SCE_PL_ARRAY, GEANY_FILETYPES_PERL, 13);
set_sci_style(sci, SCE_PL_BACKTICKS, GEANY_FILETYPES_PERL, 14);
set_sci_style(sci, SCE_PL_HASH, GEANY_FILETYPES_PERL, 15);
set_sci_style(sci, SCE_PL_SYMBOLTABLE, GEANY_FILETYPES_PERL, 16);
set_sci_style(sci, SCE_PL_HASH, GEANY_FILETYPES_PERL, 14);
set_sci_style(sci, SCE_PL_SYMBOLTABLE, GEANY_FILETYPES_PERL, 15);
set_sci_style(sci, SCE_PL_BACKTICKS, GEANY_FILETYPES_PERL, 16);
set_sci_style(sci, SCE_PL_POD_VERB, GEANY_FILETYPES_PERL, 17);
set_sci_style(sci, SCE_PL_REGSUBST, GEANY_FILETYPES_PERL, 18);
set_sci_style(sci, SCE_PL_DATASECTION, GEANY_FILETYPES_PERL, 19);
set_sci_style(sci, SCE_PL_HERE_DELIM, GEANY_FILETYPES_PERL, 20);
set_sci_style(sci, SCE_PL_HERE_Q, GEANY_FILETYPES_PERL, 21);
set_sci_style(sci, SCE_PL_HERE_QQ, GEANY_FILETYPES_PERL, 22);
set_sci_style(sci, SCE_PL_HERE_QX, GEANY_FILETYPES_PERL, 23);
set_sci_style(sci, SCE_PL_STRING_Q, GEANY_FILETYPES_PERL, 24);
set_sci_style(sci, SCE_PL_STRING_QQ, GEANY_FILETYPES_PERL, 25);
set_sci_style(sci, SCE_PL_STRING_QX, GEANY_FILETYPES_PERL, 26);
set_sci_style(sci, SCE_PL_STRING_QR, GEANY_FILETYPES_PERL, 27);
set_sci_style(sci, SCE_PL_STRING_QW, GEANY_FILETYPES_PERL, 28);
set_sci_style(sci, SCE_PL_VARIABLE_INDEXER, GEANY_FILETYPES_PERL, 29);
}

View File

@ -1,7 +1,8 @@
/*
* keybindings.c - this file is part of Geany, a fast and lightweight IDE
*
* Copyright 2006 Enrico Troeger <enrico.troeger@uvena.de>
* Copyright 2006-2007 Enrico Tröger <enrico.troeger@uvena.de>
* Copyright 2006-2007 Nick Treleaven <nick.treleaven@btinternet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -117,7 +118,7 @@ void keybindings_init(void)
keys[GEANY_KEYS_MENU_CLOSE] = fill(cb_func_menu_close,
GDK_w, GDK_CONTROL_MASK, "menu_close", _("Close"));
keys[GEANY_KEYS_MENU_CLOSEALL] = fill(cb_func_menu_closeall,
GDK_d, GDK_MOD1_MASK, "menu_closeall", _("Close all"));
GDK_w, GDK_CONTROL_MASK | GDK_SHIFT_MASK, "menu_closeall", _("Close all"));
keys[GEANY_KEYS_MENU_RELOADFILE] = fill(cb_func_menu_reloadfile,
GDK_r, GDK_CONTROL_MASK, "menu_reloadfile", _("Reload file"));
keys[GEANY_KEYS_MENU_UNDO] = fill(cb_func_menu_undo,
@ -688,12 +689,16 @@ static void cb_func_switch_editor(G_GNUC_UNUSED guint key_id)
static void cb_func_switch_scribble(G_GNUC_UNUSED guint key_id)
{
gtk_notebook_set_current_page(GTK_NOTEBOOK(msgwindow.notebook), MSG_SCRATCH);
msgwin_show_hide(TRUE);
gtk_widget_grab_focus(lookup_widget(app->window, "textview_scribble"));
}
static void cb_func_switch_vte(G_GNUC_UNUSED guint key_id)
{
#ifdef HAVE_VTE
msgwin_show_hide(TRUE);
/* the msgwin must be visible before we switch to the VTE page so that
* the font settings are applied on realization */
gtk_notebook_set_current_page(GTK_NOTEBOOK(msgwindow.notebook), MSG_VTE);
gtk_widget_grab_focus(vc->vte);
msgwin_show_hide(TRUE);
@ -748,7 +753,7 @@ static void goto_matching_brace(gint idx)
if (new_pos != -1)
{
sci_goto_pos(doc_list[idx].sci, new_pos, TRUE); // set the cursor at the brace
sci_scroll_to_line(doc_list[idx].sci, -1, 0.5);
doc_list[idx].scroll_percent = 0.5F;
}
}

View File

@ -1,7 +1,8 @@
/*
* keyfile.c - this file is part of Geany, a fast and lightweight IDE
*
* Copyright 2006 Enrico Troeger <enrico.troeger@uvena.de>
* Copyright 2005-2007 Enrico Tröger <enrico.troeger@uvena.de>
* Copyright 2006-2007 Nick Treleaven <nick.treleaven@btinternet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -581,21 +582,6 @@ void configuration_apply_settings()
gtk_paned_set_position(GTK_PANED(lookup_widget(app->window, "vpaned1")), vpan_position);
}
// now the scintilla widget pages may need scrolling in view
if (app->pref_main_load_session)
{
gint idx;
guint tabnum = 0;
while (tabnum < (guint) gtk_notebook_get_n_pages(GTK_NOTEBOOK(app->notebook)))
{
idx = document_get_n_idx(tabnum);
if (idx < 0) break;
sci_scroll_to_line(doc_list[idx].sci, -1, 0.5F);
tabnum++;
}
}
// set fullscreen after initial draw so that returning to normal view is the right size.
// fullscreen mode is disabled by default, so act only if it is true
if (app->fullscreen)

View File

@ -1,7 +1,8 @@
/*
* main.c - this file is part of Geany, a fast and lightweight IDE
*
* Copyright 2006 Enrico Troeger <enrico.troeger@uvena.de>
* Copyright 2005-2007 Enrico Tröger <enrico.troeger@uvena.de>
* Copyright 2006-2007 Nick Treleaven <nick.treleaven@btinternet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -363,8 +364,12 @@ static void setup_paths()
doc_dir = g_strdup(PACKAGE_DATA_DIR "/doc/" PACKAGE "/html/");
#endif
app->datadir = data_dir;
app->docdir = doc_dir;
// convert path names to locale encoding
app->datadir = utils_get_locale_from_utf8(data_dir);
app->docdir = utils_get_locale_from_utf8(doc_dir);
g_free(data_dir);
g_free(doc_dir);
}
@ -442,6 +447,12 @@ static gint setup_config_dir()
{
gint mkdir_result = 0;
gchar *tmp = app->configdir;
// convert configdir to locale encoding to avoid troubles
app->configdir = utils_get_locale_from_utf8(app->configdir);
g_free(tmp);
mkdir_result = utils_make_settings_dir(app->configdir, app->datadir, app->docdir);
if (mkdir_result != 0)
{

View File

@ -1,7 +1,8 @@
/*
* msgwindow.c - this file is part of Geany, a fast and lightweight IDE
*
* Copyright 2006 Enrico Troeger <enrico.troeger@uvena.de>
* Copyright 2005-2007 Enrico Tröger <enrico.troeger@uvena.de>
* Copyright 2006-2007 Nick Treleaven <nick.treleaven@btinternet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -185,8 +186,20 @@ static void prepare_compiler_tree_view(void)
static const GdkColor color_error = {0, 65535, 0, 0};
void msgwin_compiler_add_fmt(gint msg_color, const gchar *format, ...)
{
gchar string[512];
va_list args;
va_start(args, format);
g_vsnprintf(string, 512, format, args);
va_end(args);
msgwin_compiler_add(msg_color, string);
}
// adds string to the compiler textview
void msgwin_compiler_add(gint msg_color, const gchar *format, ...)
void msgwin_compiler_add(gint msg_color, const gchar *msg)
{
GtkTreeIter iter;
GtkTreePath *path;
@ -194,12 +207,6 @@ void msgwin_compiler_add(gint msg_color, const gchar *format, ...)
const GdkColor dark_red = {0, 65535 / 2, 0, 0};
const GdkColor blue = {0, 0, 0, 0xD000}; // not too bright ;-)
const GdkColor black = {0, 0, 0, 0};
gchar string[512];
va_list args;
va_start(args, format);
g_vsnprintf(string, 512, format, args);
va_end(args);
switch (msg_color)
{
@ -210,7 +217,7 @@ void msgwin_compiler_add(gint msg_color, const gchar *format, ...)
}
gtk_list_store_append(msgwindow.store_compiler, &iter);
gtk_list_store_set(msgwindow.store_compiler, &iter, 0, color, 1, string, -1);
gtk_list_store_set(msgwindow.store_compiler, &iter, 0, color, 1, msg, -1);
if (app->msgwindow_visible)
{

View File

@ -1,7 +1,8 @@
/*
* msgwindow.h - this file is part of Geany, a fast and lightweight IDE
*
* Copyright 2005 Enrico Troeger <enrico.troeger@uvena.de>
* Copyright 2005-2007 Enrico Tröger <enrico.troeger@uvena.de>
* Copyright 2006-2007 Nick Treleaven <nick.treleaven@btinternet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -70,8 +71,9 @@ void msgwin_show_hide(gboolean show);
void msgwin_msg_add(gint line, gint idx, const gchar *string);
void msgwin_compiler_add(gint msg_color, const gchar *format, ...)
G_GNUC_PRINTF (2, 3);
void msgwin_compiler_add_fmt(gint msg_color, const gchar *format, ...) G_GNUC_PRINTF (2, 3);
void msgwin_compiler_add(gint msg_color, const gchar *msg);
void msgwin_status_add(const gchar *format, ...) G_GNUC_PRINTF (1, 2);

View File

@ -671,14 +671,6 @@ void on_prefs_button_clicked(GtkDialog *dialog, gint response, gpointer user_dat
}
gboolean on_prefs_delete_event(GtkWidget *widget, GdkEvent *event, gpointer user_data)
{
gtk_widget_hide(widget);
return TRUE;
}
void on_prefs_color_choosed(GtkColorButton *widget, gpointer user_data)
{
GdkColor color;
@ -974,8 +966,10 @@ void dialogs_show_prefs_dialog(void)
vte_append_preferences_tab();
#endif
g_signal_connect((gpointer) app->prefs_dialog, "response", G_CALLBACK(on_prefs_button_clicked), NULL);
g_signal_connect((gpointer) app->prefs_dialog, "delete_event", G_CALLBACK(on_prefs_delete_event), NULL);
g_signal_connect((gpointer) app->prefs_dialog, "response",
G_CALLBACK(on_prefs_button_clicked), NULL);
g_signal_connect((gpointer) app->prefs_dialog, "delete_event",
G_CALLBACK(gtk_widget_hide_on_delete), NULL);
g_signal_connect((gpointer) lookup_widget(app->prefs_dialog, "tagbar_font"),
"font-set", G_CALLBACK(on_prefs_font_choosed), GINT_TO_POINTER(1));
g_signal_connect((gpointer) lookup_widget(app->prefs_dialog, "msgwin_font"),

View File

@ -27,8 +27,6 @@ void prefs_init_dialog(void);
void on_prefs_button_clicked(GtkDialog *dialog, gint response, gpointer user_data);
gboolean on_prefs_delete_event(GtkWidget *widget, GdkEvent *event, gpointer user_data);
void on_prefs_font_choosed(GtkFontButton *widget, gpointer user_data);
void on_prefs_color_choosed(GtkColorButton *widget, gpointer user_data);

View File

@ -1,7 +1,8 @@
/*
* sci_cb.c - this file is part of Geany, a fast and lightweight IDE
*
* Copyright 2006 Enrico Troeger <enrico.troeger@uvena.de>
* Copyright 2005-2007 Enrico Tröger <enrico.troeger@uvena.de>
* Copyright 2006-2007 Nick Treleaven <nick.treleaven@btinternet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -53,6 +54,7 @@ static gboolean handle_xml(ScintillaObject *sci, gchar ch, gint idx);
static void get_indent(ScintillaObject *sci, gint pos, gboolean use_this_line);
static void auto_multiline(ScintillaObject *sci, gint pos);
static gboolean is_comment(gint lexer, gint style);
static void scroll_to_line(ScintillaObject *sci, gint line, gfloat percent_of_view);
// calls the edit popup menu in the editor
@ -159,6 +161,15 @@ void on_editor_notification(GtkWidget *editor, gint scn, gpointer lscn, gpointer
ui_update_statusbar(idx, pos);
/* Visible lines are only laid out accurately once [SCN_UPDATEUI] is sent,
* so we need to only call sci_scroll_to_line here, because the document
* may have line wrapping and folding enabled.
* http://scintilla.sourceforge.net/ScintillaDoc.html#LineWrapping */
if (doc_list[idx].scroll_percent > 0.0F)
{
scroll_to_line(sci, -1, doc_list[idx].scroll_percent);
doc_list[idx].scroll_percent = -1.0F; // disable further scrolling
}
#if 0
/// experimental code for inverting selections
{
@ -258,7 +269,7 @@ void on_editor_notification(GtkWidget *editor, gint scn, gpointer lscn, gpointer
{
gint start, pos = SSM(sci, SCI_GETCURRENTPOS, 0, 0);
start = pos;
while (sci_get_char_at(sci, --start) != '&') ;
while (start > 0 && sci_get_char_at(sci, --start) != '&') ;
SSM(sci, SCI_INSERTTEXT, pos - 1, (sptr_t) nt->text);
}
@ -368,7 +379,8 @@ static void get_indent(ScintillaObject *sci, gint pos, gboolean use_this_line)
void sci_cb_auto_close_bracket(ScintillaObject *sci, gint pos, gchar c)
{
if (SSM(sci, SCI_GETLEXER, 0, 0) != SCLEX_LATEX) return;
if (! app->pref_editor_auto_complete_constructs || SSM(sci, SCI_GETLEXER, 0, 0) != SCLEX_LATEX)
return;
if (c == '[')
{
@ -378,7 +390,7 @@ void sci_cb_auto_close_bracket(ScintillaObject *sci, gint pos, gchar c)
{
sci_add_text(sci, "}");
}
sci_set_current_position(sci, pos);
sci_set_current_position(sci, pos, TRUE);
}
@ -830,7 +842,7 @@ void sci_cb_auto_forif(gint idx, gint pos)
sci_get_text_range(sci, pos - 16, pos - 1, buf);
// check the first 8 characters of buf for whitespace, but only in this line
i = 14;
while (isalpha(buf[i])) i--; // find pos before keyword
while (i >= 0 && isalpha(buf[i])) i--; // find pos before keyword
while (i >= 0 && buf[i] != '\n' && buf[i] != '\r') // we want to stay in this line('\n' check)
{
if (! isspace(buf[i]))
@ -1110,7 +1122,7 @@ void sci_cb_auto_table(ScintillaObject *sci, gint pos)
x = strlen(indent);
// find the start of the <table tag
i = 1;
while (sci_get_char_at(sci, pos - i) != '<') i++;
while (i <= pos && sci_get_char_at(sci, pos - i) != '<') i++;
// add all non whitespace before the tag to the indent string
while ((pos - i) != indent_pos)
{
@ -1234,12 +1246,17 @@ void sci_cb_do_uncomment(gint idx, gint line)
for (i = first_line; (i <= last_line) && (! break_loop); i++)
{
gint buf_len;
line_start = sci_get_position_from_line(doc_list[idx].sci, i);
line_len = sci_get_line_length(doc_list[idx].sci, i);
x = 0;
sci_get_text_range(doc_list[idx].sci, line_start, MIN((line_start + 255), (line_start + line_len - 1)), sel);
sel[MIN(255, (line_len - 1))] = '\0';
buf_len = MIN((gint)sizeof(sel) - 1, line_len - 1);
if (buf_len <= 0)
continue;
sci_get_text_range(doc_list[idx].sci, line_start, line_start + buf_len, sel);
sel[buf_len] = '\0';
while (isspace(sel[x])) x++;
@ -1361,14 +1378,21 @@ void sci_cb_do_comment_toggle(gint idx)
co_len = strlen(co);
if (co_len == 0) return;
SSM(doc_list[idx].sci, SCI_BEGINUNDOACTION, 0, 0);
for (i = first_line; (i <= last_line) && (! break_loop); i++)
{
gint buf_len;
line_start = sci_get_position_from_line(doc_list[idx].sci, i);
line_len = sci_get_line_length(doc_list[idx].sci, i);
x = 0;
sci_get_text_range(doc_list[idx].sci, line_start, MIN((line_start + 255), (line_start + line_len - 1)), sel);
sel[MIN(255, (line_len - 1))] = '\0';
buf_len = MIN((gint)sizeof(sel) - 1, line_len - 1);
if (buf_len <= 0)
continue;
sci_get_text_range(doc_list[idx].sci, line_start, line_start + buf_len, sel);
sel[buf_len] = '\0';
while (isspace(sel[x])) x++;
@ -1458,6 +1482,8 @@ void sci_cb_do_comment_toggle(gint idx)
}
}
SSM(doc_list[idx].sci, SCI_ENDUNDOACTION, 0, 0);
// restore selection if there is one
if (sel_start < sel_end)
{
@ -1495,7 +1521,7 @@ void sci_cb_do_comment_toggle(gint idx)
else if (count_uncommented > 0)
{
gint eol_len = (sci_get_eol_mode(doc_list[idx].sci) == SC_EOL_CRLF) ? 2 : 1;
sci_set_current_position(doc_list[idx].sci, sel_start - co_len - eol_len);
sci_set_current_position(doc_list[idx].sci, sel_start - co_len - eol_len, TRUE);
}
}
@ -1549,12 +1575,17 @@ void sci_cb_do_comment(gint idx, gint line)
for (i = first_line; (i <= last_line) && (! break_loop); i++)
{
gint buf_len;
line_start = sci_get_position_from_line(doc_list[idx].sci, i);
line_len = sci_get_line_length(doc_list[idx].sci, i);
x = 0;
sci_get_text_range(doc_list[idx].sci, line_start, MIN((line_start + 256), (line_start + line_len - 1)), sel);
sel[MIN(256, (line_len - 1))] = '\0';
buf_len = MIN((gint)sizeof(sel) - 1, line_len - 1);
if (buf_len <= 0)
continue;
sci_get_text_range(doc_list[idx].sci, line_start, line_start + buf_len, sel);
sel[buf_len] = '\0';
while (isspace(sel[x])) x++;
@ -1896,3 +1927,28 @@ gint sci_cb_lexer_get_type_keyword_idx(gint lexer)
return -1;
}
}
/* Scroll the view to make line appear at percent_of_view.
* line can be -1 to use the current position. */
static void scroll_to_line(ScintillaObject *sci, gint line, gfloat percent_of_view)
{
gint vis1, los, delta;
GtkWidget *wid = GTK_WIDGET(sci);
if (! wid->window || ! gdk_window_is_viewable(wid->window))
return; // prevent gdk_window_scroll warning
if (line == -1)
line = sci_get_current_line(sci, -1);
// sci 'visible line' != doc line number because of folding and line wrapping
/* calling SCI_VISIBLEFROMDOCLINE for line is more accurate than calling
* SCI_DOCLINEFROMVISIBLE for vis1. */
line = SSM(sci, SCI_VISIBLEFROMDOCLINE, line, 0);
vis1 = SSM(sci, SCI_GETFIRSTVISIBLELINE, 0, 0);
los = SSM(sci, SCI_LINESONSCREEN, 0, 0);
delta = (line - vis1) - los * percent_of_view;
sci_scroll_lines(sci, delta);
//sci_scroll_caret(sci); // ensure visible (maybe not needed now)
}

View File

@ -1,7 +1,8 @@
/*
* sciwrappers.c - this file is part of Geany, a fast and lightweight IDE
*
* Copyright 2006 Enrico Troeger <enrico.troeger@uvena.de>
* Copyright 2005-2007 Enrico Tröger <enrico.troeger@uvena.de>
* Copyright 2006-2007 Nick Treleaven <nick.treleaven@btinternet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -379,9 +380,15 @@ gint sci_get_current_position(ScintillaObject* sci )
}
void sci_set_current_position(ScintillaObject* sci, gint position )
void sci_set_current_position(ScintillaObject* sci, gint position, gboolean scroll_to_caret)
{
if (scroll_to_caret)
SSM(sci, SCI_GOTOPOS, position, 0);
else
{
SSM(sci, SCI_SETCURRENTPOS, position, 0);
SSM(sci, SCI_SETANCHOR, position, 0); // to avoid creation of a selection
}
}
@ -672,26 +679,6 @@ void sci_scroll_lines(ScintillaObject *sci, gint lines)
}
/* Scroll the view to make line appear at percent_of_view.
* line can be -1 to use the current position. */
void sci_scroll_to_line(ScintillaObject *sci, gint line, gfloat percent_of_view)
{
gint vis1, los, delta;
if (GTK_WIDGET(sci)->allocation.height <= 1) return; // prevent gdk_window_scroll warning
if (line == -1)
line = sci_get_current_line(sci, -1);
// sci 'visible line' != file line number
vis1 = SSM(sci, SCI_GETFIRSTVISIBLELINE, 0, 0);
vis1 = SSM(sci, SCI_DOCLINEFROMVISIBLE, vis1, 0);
los = SSM(sci, SCI_LINESONSCREEN, 0, 0);
delta = (line - vis1) - los * percent_of_view;
sci_scroll_lines(sci, delta);
sci_scroll_caret(sci); //ensure visible, in case of excessive folding/wrapping
}
gint sci_search_next(ScintillaObject *sci, gint flags, const gchar *text)
{
return SSM(sci, SCI_SEARCHNEXT, flags, (sptr_t) text );
@ -754,6 +741,7 @@ void sci_clear_cmdkey(ScintillaObject *sci, gint key)
}
/* text will be zero terminated and must be allocated (end - start + 1) bytes */
void sci_get_text_range(ScintillaObject *sci, gint start, gint end, gchar *text)
{
struct TextRange tr;

View File

@ -1,7 +1,8 @@
/*
* sciwrappers.h - this file is part of Geany, a fast and lightweight IDE
*
* Copyright 2006 Enrico Troeger <enrico.troeger@uvena.de>
* Copyright 2005-2007 Enrico Tröger <enrico.troeger@uvena.de>
* Copyright 2006-2007 Nick Treleaven <nick.treleaven@btinternet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -68,7 +69,7 @@ gint sci_get_col_from_position (ScintillaObject* sci, gint position);
gint sci_get_line_from_position (ScintillaObject* sci, gint position);
gint sci_get_position_from_line (ScintillaObject* sci, gint line );
gint sci_get_current_position (ScintillaObject* sci);
void sci_set_current_position (ScintillaObject* sci, gint position);
void sci_set_current_position (ScintillaObject* sci, gint position, gboolean scroll_to_caret);
void sci_set_current_line (ScintillaObject* sci, gint line);
void sci_cut (ScintillaObject* sci);
@ -124,7 +125,6 @@ void sci_set_search_anchor (ScintillaObject * sci);
void sci_set_anchor (ScintillaObject * sci, gint pos);
void sci_scroll_caret (ScintillaObject * sci);
void sci_scroll_lines (ScintillaObject * sci, gint lines);
void sci_scroll_to_line (ScintillaObject * sci, gint line, gfloat percent_of_view);
gint sci_search_next (ScintillaObject * sci, gint flags, const gchar *text);
gint sci_search_prev (ScintillaObject * sci, gint flags, const gchar *text);
gint sci_find_text (ScintillaObject * sci, gint flags, struct TextToFind *ttf);

View File

@ -286,7 +286,7 @@ void search_show_find_dialog()
g_signal_connect((gpointer) widgets.find_dialog, "response",
G_CALLBACK(on_find_dialog_response), entry);
g_signal_connect((gpointer) widgets.find_dialog, "delete_event",
G_CALLBACK(gtk_widget_hide), NULL);
G_CALLBACK(gtk_widget_hide_on_delete), NULL);
sbox = gtk_hbox_new(FALSE, 6);
gtk_box_pack_start(GTK_BOX(sbox), label, FALSE, FALSE, 0);
@ -416,7 +416,7 @@ void search_show_replace_dialog()
g_signal_connect((gpointer) widgets.replace_dialog, "response",
G_CALLBACK(on_replace_dialog_response), entry_replace);
g_signal_connect((gpointer) widgets.replace_dialog, "delete_event",
G_CALLBACK(gtk_widget_hide), NULL);
G_CALLBACK(gtk_widget_hide_on_delete), NULL);
fbox = gtk_hbox_new(FALSE, 6);
gtk_box_pack_start(GTK_BOX(fbox), label_find, FALSE, FALSE, 0);
@ -620,7 +620,7 @@ void search_show_find_in_files_dialog()
g_signal_connect((gpointer) widgets.find_in_files_dialog, "response",
G_CALLBACK(on_find_in_files_dialog_response), combo);
g_signal_connect((gpointer) widgets.find_in_files_dialog, "delete_event",
G_CALLBACK(gtk_widget_hide), NULL);
G_CALLBACK(gtk_widget_hide_on_delete), NULL);
gtk_widget_show_all(widgets.find_in_files_dialog);
sel = get_default_text(idx);

View File

@ -1,7 +1,8 @@
/*
* socket.h - this file is part of Geany, a fast and lightweight IDE
*
* Copyright 2006 Enrico Tröger <enrico.troeger@uvena.de>
* Copyright 2006-2007 Enrico Tröger <enrico.troeger@uvena.de>
* Copyright 2006-2007 Nick Treleaven <nick.treleaven@btinternet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -36,12 +37,14 @@
# include <winsock2.h>
# include <ws2tcpip.h>
#endif
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include "main.h"
#include "socket.h"
#include "document.h"
#include "support.h"
@ -75,6 +78,46 @@ static gint socket_fd_close (gint sock);
void send_open_command(gint sock, gint argc, gchar **argv)
{
gint i;
gchar *filename;
g_return_if_fail(argc > 1);
geany_debug("using running instance of Geany");
if (cl_options.goto_line >= 0)
{
gchar *line = g_strdup_printf("%d\n", cl_options.goto_line);
socket_fd_write_all(sock, "line\n", 5);
socket_fd_write_all(sock, line, strlen(line));
socket_fd_write_all(sock, ".\n", 2);
g_free(line);
}
socket_fd_write_all(sock, "open\n", 5);
for(i = 1; i < argc && argv[i] != NULL; i++)
{
filename = get_argv_filename(argv[i]);
if (filename != NULL &&
g_file_test(filename, G_FILE_TEST_IS_REGULAR | G_FILE_TEST_IS_SYMLINK))
{
socket_fd_write_all(sock, filename, strlen(filename));
socket_fd_write_all(sock, "\n", 1);
}
else
{
g_printerr(_("Could not find file '%s'."), filename);
g_printerr("\n"); // keep translation from open_cl_files() in main.c.
}
g_free(filename);
}
socket_fd_write_all(sock, ".\n", 2);
}
/* (Unix domain) socket support to replace the old FIFO code
* (taken from Sylpheed, thanks) */
gint socket_init(gint argc, gchar **argv)
@ -118,25 +161,7 @@ gint socket_init(gint argc, gchar **argv)
// remote command mode, here we have another running instance and want to use it
if (argc > 1)
{
gint i;
gchar *filename;
geany_debug("using running instance of Geany");
socket_fd_write_all(sock, "open\n", 5);
for(i = 1; i < argc && argv[i] != NULL; i++)
{
filename = get_argv_filename(argv[i]);
if (filename != NULL)
{
socket_fd_write_all(sock, filename, strlen(filename));
socket_fd_write_all(sock, "\n", 1);
g_free(filename);
}
}
socket_fd_write_all(sock, ".\n", 2);
send_open_command(sock, argc, argv);
}
socket_fd_close(sock);
@ -349,9 +374,10 @@ gboolean socket_lock_input_cb(GIOChannel *source, GIOCondition condition, gpoint
sock = accept(fd, (struct sockaddr *)&caddr, &caddr_len);
// first get the command
if (socket_fd_gets(sock, buf, sizeof(buf)) != -1 && strncmp(buf, "open", 4) == 0)
while (socket_fd_gets(sock, buf, sizeof(buf)) != -1)
{
if (strncmp(buf, "open", 4) == 0)
{
geany_debug("remote command: open");
while (socket_fd_gets(sock, buf, sizeof(buf)) != -1 && *buf != '.')
{
g_strstrip(buf); // remove \n char
@ -366,7 +392,16 @@ gboolean socket_lock_input_cb(GIOChannel *source, GIOCondition condition, gpoint
gtk_window_present(GTK_WINDOW(app->window));
#endif
}
else if (strncmp(buf, "line", 4) == 0)
{
while (socket_fd_gets(sock, buf, sizeof(buf)) != -1 && *buf != '.')
{
g_strstrip(buf); // remove \n char
// on any error we get 0 which should be save enough as fallback
cl_options.goto_line = atoi(buf);
}
}
}
socket_fd_close(sock);
return TRUE;

View File

@ -37,6 +37,15 @@ const guint TM_GLOBAL_TYPE_MASK =
tm_tag_struct_t | tm_tag_typedef_t | tm_tag_union_t;
static gchar **html_entities = NULL;
typedef struct
{
gboolean tags_loaded;
const gchar *tag_file;
} TagFileInfo;
enum // Geany tag files
{
GTF_C,
@ -47,14 +56,6 @@ enum // Geany tag files
GTF_MAX
};
static gchar **html_entities = NULL;
typedef struct
{
gboolean tags_loaded;
const gchar *tag_file;
} TagFileInfo;
static TagFileInfo tag_file_info[GTF_MAX] =
{
{FALSE, "global.tags"},
@ -72,7 +73,7 @@ static void html_tags_loaded();
void symbols_global_tags_loaded(gint file_type_idx)
{
TagFileInfo *tfi;
gint gtf, lt;
gint tag_type;
if (app->ignore_global_tags) return;
@ -81,27 +82,32 @@ void symbols_global_tags_loaded(gint file_type_idx)
case GEANY_FILETYPES_HTML:
html_tags_loaded();
return;
case GEANY_FILETYPES_C: gtf = GTF_C; break;
case GEANY_FILETYPES_CPP: gtf = GTF_C; break;
case GEANY_FILETYPES_PASCAL:gtf = GTF_PASCAL; break;
case GEANY_FILETYPES_PHP: gtf = GTF_PHP; break;
case GEANY_FILETYPES_LATEX: gtf = GTF_LATEX; break;
case GEANY_FILETYPES_CPP:
symbols_global_tags_loaded(GEANY_FILETYPES_C); // load C global tags
return; // no C++ tagfile yet
case GEANY_FILETYPES_C: tag_type = GTF_C; break;
case GEANY_FILETYPES_PASCAL:tag_type = GTF_PASCAL; break;
case GEANY_FILETYPES_PHP: tag_type = GTF_PHP; break;
case GEANY_FILETYPES_LATEX: tag_type = GTF_LATEX; break;
default:
return;
}
lt = filetypes[file_type_idx]->lang;
tfi = &tag_file_info[gtf];
tfi = &tag_file_info[tag_type];
if (! tfi->tags_loaded)
{
gchar *file = g_strconcat(app->datadir, G_DIR_SEPARATOR_S, tfi->tag_file, NULL);
tm_workspace_load_global_tags(file, lt);
gchar *fname = g_strconcat(app->datadir, G_DIR_SEPARATOR_S, tfi->tag_file, NULL);
gint tm_lang;
tm_lang = filetypes[file_type_idx]->lang;
tm_workspace_load_global_tags(fname, tm_lang);
tfi->tags_loaded = TRUE;
g_free(file);
g_free(fname);
}
}
// HTML tagfile is just a list of entities for autocompletion (e.g. '&amp;')
static void html_tags_loaded()
{
TagFileInfo *tfi;
@ -112,6 +118,7 @@ static void html_tags_loaded()
if (! tfi->tags_loaded)
{
gchar *file = g_strconcat(app->datadir, G_DIR_SEPARATOR_S, tfi->tag_file, NULL);
html_entities = utils_read_file_in_array(file);
tfi->tags_loaded = TRUE;
g_free(file);

View File

@ -599,8 +599,11 @@ static gboolean on_treeviews_button_press_event(GtkWidget *widget, GdkEventButto
gtk_menu_popup(GTK_MENU(tv.popup_openfiles), NULL, NULL, NULL, NULL,
event->button, event->time);
else if (GPOINTER_TO_INT(user_data) == TREEVIEW_SYMBOL)
{
gtk_menu_popup(GTK_MENU(tv.popup_taglist), NULL, NULL, NULL, NULL,
event->button, event->time);
return TRUE; // prevent selection changed signal for symbol tags
}
}
return FALSE;
}

View File

@ -1,8 +1,8 @@
/*
* ui_utils.c - this file is part of Geany, a fast and lightweight IDE
*
* Copyright 2006 Enrico Troeger <enrico.troeger@uvena.de>
* Copyright 2006 Nick Treleaven <nick.treleaven@btinternet.com>
* Copyright 2006-2007 Enrico Troeger <enrico.troeger@uvena.de>
* Copyright 2006-2007 Nick Treleaven <nick.treleaven@btinternet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -120,7 +120,7 @@ void ui_update_statusbar(gint idx, gint pos)
(doc_list[idx].readonly) ? ", read only" : "",
cur_tag,
(doc_list[idx].encoding) ? doc_list[idx].encoding : _("unknown"),
(utils_is_unicode_charset(doc_list[idx].encoding)) ? ((doc_list[idx].has_bom) ? _("(with BOM)") : _("(without BOM)")) : "",
(encodings_is_unicode_charset(doc_list[idx].encoding)) ? ((doc_list[idx].has_bom) ? _("(with BOM)") : _("(without BOM)")) : "",
(doc_list[idx].file_type) ? doc_list[idx].file_type->title : _("unknown"));
set_statusbar(text, TRUE); // can be overridden by status messages
g_free(text);
@ -706,7 +706,7 @@ void ui_document_show_hide(gint idx)
TRUE);
gtk_widget_set_sensitive(lookup_widget(app->window, "menu_write_unicode_bom1"),
utils_is_unicode_charset(doc_list[idx].encoding));
encodings_is_unicode_charset(doc_list[idx].encoding));
encodings_select_radio_item(doc_list[idx].encoding);
filetypes_select_radio_item(doc_list[idx].file_type);
@ -1179,15 +1179,12 @@ void ui_combo_box_add_to_history(GtkComboBox *combo, const gchar *text)
void ui_update_tab_status(gint idx)
{
GdkColor *color = document_get_status(idx);
static GtkStyle *style = NULL;
if (style == NULL) // use and store default foreground colour
style = gtk_rc_get_style(doc_list[idx].tab_label);
gtk_widget_modify_fg(doc_list[idx].tab_label, GTK_STATE_NORMAL,
color ? color : &(style->fg[GTK_STATE_NORMAL]));
gtk_widget_modify_fg(doc_list[idx].tab_label, GTK_STATE_ACTIVE,
color ? color : &(style->fg[GTK_STATE_ACTIVE]));
// NULL color will reset to default
gtk_widget_modify_fg(doc_list[idx].tab_label, GTK_STATE_NORMAL, color);
gtk_widget_modify_fg(doc_list[idx].tab_label, GTK_STATE_ACTIVE, color);
gtk_widget_modify_fg(doc_list[idx].tabmenu_label, GTK_STATE_NORMAL, color);
gtk_widget_modify_fg(doc_list[idx].tabmenu_label, GTK_STATE_ACTIVE, color);
treeviews_openfiles_update(idx);
}
@ -1221,6 +1218,15 @@ gboolean ui_tree_view_find_next(GtkTreeView *treeview, TVMatchCallback cb)
if (! gtk_tree_model_iter_next(model, &iter))
return FALSE; // no more items
}
// scroll item in view
if (app->msgwindow_visible)
{
GtkTreePath *path = gtk_tree_model_get_path(
gtk_tree_view_get_model(treeview), &iter);
gtk_tree_view_scroll_to_cell(treeview, path, NULL, TRUE, 0.5, 0.5);
gtk_tree_path_free(path);
}
return TRUE;
}

View File

@ -1,7 +1,8 @@
/*
* utils.c - this file is part of Geany, a fast and lightweight IDE
*
* Copyright 2006 Enrico Troeger <enrico.troeger@uvena.de>
* Copyright 2005-2007 Enrico Tröger <enrico.troeger@uvena.de>
* Copyright 2006-2007 Nick Treleaven <nick.treleaven@btinternet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -234,7 +235,7 @@ gboolean utils_goto_line(gint idx, gint line)
sci_set_marker_at_line(doc_list[idx].sci, line, TRUE, 0);
sci_goto_line(doc_list[idx].sci, line, TRUE);
sci_scroll_to_line(doc_list[idx].sci, -1, 0.25);
doc_list[idx].scroll_percent = 0.25F;
// finally switch to the page
page_num = gtk_notebook_page_num(GTK_NOTEBOOK(app->notebook), GTK_WIDGET(doc_list[idx].sci));
@ -459,7 +460,7 @@ static gchar *parse_cpp_function_at_line(ScintillaObject *sci, gint tag_line)
if (end < 0) end = 0;
// skip whitespaces between identifier and (
while (isspace(sci_get_char_at(sci, end))) end--;
while (end > 0 && isspace(sci_get_char_at(sci, end))) end--;
start = end;
c = 0;
@ -1370,50 +1371,6 @@ gboolean utils_str_replace_escape(gchar *string)
}
gchar *utils_scan_unicode_bom(const gchar *string)
{
if ((unsigned char)string[0] == 0xef && (unsigned char)string[1] == 0xbb &&
(unsigned char)string[2] == 0xbf)
{
return g_strdup("UTF-8");
}
else if ((unsigned char)string[0] == 0x00 && (unsigned char)string[1] == 0x00 &&
(unsigned char)string[2] == 0xfe && (unsigned char)string[3] == 0xff)
{
return g_strdup("UTF-32BE"); // Big endian
}
else if ((unsigned char)string[0] == 0xff && (unsigned char)string[1] == 0xfe &&
(unsigned char)string[2] == 0x00 && (unsigned char)string[3] == 0x00)
{
return g_strdup("UTF-32LE"); // Little endian
}
else if ((unsigned char)string[0]==0xfe && (unsigned char)string[1] == 0xff)
{
return g_strdup("UTF-16BE"); // Big endian
}
else if ((unsigned char)string[0] == 0xff && (unsigned char)string[1] == 0xfe)
{
return g_strdup("UTF-16LE"); // Little endian
}
else if ((string[0] == 0x2b && string[1] == 0x2f && string[2] == 0x76) &&
(string[3] == 0x38 || string[3] == 0x39 || string[3] == 0x2b || string[3] == 0x2f))
{
return g_strdup("UTF-7");
}
return NULL;
}
gboolean utils_is_unicode_charset(const gchar *string)
{
if (string != NULL && (strncmp(string, "UTF", 3) == 0 || strncmp(string, "UCS", 3) == 0))
{
return TRUE;
}
return FALSE;
}
/* Wraps a string in place, replacing a space with a newline character.
* wrapstart is the minimum position to start wrapping or -1 for default */
gboolean utils_wrap_string(gchar *string, gint wrapstart)
@ -1452,3 +1409,23 @@ gchar *utils_get_utf8_from_locale(const gchar *locale_text)
}
/* frees all passed pointers if they are non-NULL, the first argument is nothing special,
* it will also be freed, the list should be ended with NULL */
void utils_free_pointers(gpointer first, ...)
{
va_list a;
gpointer sa;
for (va_start(a, first); (sa = va_arg(a, gpointer), sa!=NULL);)
{
if (sa != NULL)
g_free(sa);
}
va_end(a);
if (first != NULL)
g_free(first);
}

View File

@ -1,7 +1,8 @@
/*
* utils.h - this file is part of Geany, a fast and lightweight IDE
*
* Copyright 2006 Enrico Troeger <enrico.troeger@uvena.de>
* Copyright 2005-2007 Enrico Tröger <enrico.troeger@uvena.de>
* Copyright 2006-2007 Nick Treleaven <nick.treleaven@btinternet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -135,10 +136,6 @@ gchar **utils_read_file_in_array(const gchar *filename);
* Replaces \\, \r, \n, \t and \uXXX by their real counterparts */
gboolean utils_str_replace_escape(gchar *string);
gchar *utils_scan_unicode_bom(const gchar *string);
gboolean utils_is_unicode_charset(const gchar *string);
/* Wraps a string in place, replacing a space with a newline character.
* wrapstart is the minimum position to start wrapping or -1 for default */
gboolean utils_wrap_string(gchar *string, gint wrapstart);
@ -149,4 +146,8 @@ gchar *utils_get_locale_from_utf8(const gchar *utf8_text);
/* Simple wrapper for g_locale_to_utf8; returns a copy of locale_text on failure. */
gchar *utils_get_utf8_from_locale(const gchar *locale_text);
/* frees all passed pointers if they are non-NULL, the first argument is nothing special,
* it will also be freed, the list should be ended with NULL */
void utils_free_pointers(gpointer first, ...);
#endif

View File

@ -1,7 +1,8 @@
/*
* vte.c - this file is part of Geany, a fast and lightweight IDE
*
* Copyright 2006 Enrico Troeger <enrico.troeger@uvena.de>
* Copyright 2005-2007 Enrico Tröger <enrico.troeger@uvena.de>
* Copyright 2006-2007 Nick Treleaven <nick.treleaven@btinternet.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -133,11 +134,14 @@ void vte_init(void)
}
else
{
module = g_module_open("libvte.so", G_MODULE_BIND_LAZY);
// try to fallback to different versions of libvte.so.x
if (module == NULL) module = g_module_open("libvte.so.4", G_MODULE_BIND_LAZY);
else if (module == NULL) module = g_module_open("libvte.so.8", G_MODULE_BIND_LAZY);
else if (module == NULL) module = g_module_open("libvte.so.9", G_MODULE_BIND_LAZY);
gint i;
const gchar *sonames[] = { "libvte.so", "libvte.so.4",
"libvte.so.8", "libvte.so.9", NULL };
for (i = 0; sonames[i] != NULL && module == NULL; i++ )
{
module = g_module_open(sonames[i], G_MODULE_BIND_LAZY);
}
}
if (module == NULL)
@ -435,14 +439,16 @@ void vte_cwd(const gchar *filename, gboolean force)
if (vte_info.have_vte && (vc->follow_path || force) && filename != NULL)
{
gchar *path;
gchar *cmd;
path = g_path_get_dirname(filename);
vte_get_working_directory(); // refresh vte_info.dir
if (! utils_str_equal(path, vte_info.dir))
{
cmd = g_strconcat("cd ", path, "\n", NULL);
// use g_shell_quote to avoid problems with spaces, '!' or something else in path
gchar *quoted_path = g_shell_quote(path);
gchar *cmd = g_strconcat("cd ", quoted_path, "\n", NULL);
vte_send_cmd(cmd);
g_free(quoted_path);
g_free(cmd);
}
g_free(path);

View File

@ -2222,7 +2222,10 @@ static boolean isStatementEnd (const statementInfo *const st)
if (isType (token, TOKEN_SEMICOLON))
isEnd = TRUE;
else if (isType (token, TOKEN_BRACE_CLOSE))
isEnd = (boolean) (isLanguage (Lang_java) ||
/* Java, D, C# do not require semicolons to end a block. Neither do C++
* namespaces. All other blocks require a semicolon to terminate them.
*/
isEnd = (boolean) (isLanguage (Lang_java) || isLanguage (Lang_d) ||
! isContextualStatement (st));
else
isEnd = FALSE;

View File

@ -281,7 +281,8 @@ gboolean tm_tags_custom_dedup(GPtrArray *tags_array, TMTagCompareFunc compare_fu
\param name Name of the tag to locate.
\param partial If TRUE, matches the first part of the name instead of doing exact match.
*/
TMTag **tm_tags_find(GPtrArray *sorted_tags_array, const char *name, gboolean partial, int * tagCount);
TMTag **tm_tags_find(const GPtrArray *sorted_tags_array, const char *name,
gboolean partial, int * tagCount);
/*!
Completely frees an array of tags.

View File

@ -54,17 +54,21 @@ static kindOption TeXKinds[] = {
* FUNCTION DEFINITIONS
*/
static int getWord(const char * ref, const char **pointer)
static int getWord(const char * ref, const char **ptr)
{
const char * p = *pointer;
const char *p = *ptr;
while ((*ref != '\0') && (*p != '\0') && (*ref == *p))
ref++, p++;
if (*ref)
return FALSE;
*pointer = p;
if (*p == '*') // to allow something like \section*{foobar}
p++;
*ptr = p;
return TRUE;
}
@ -92,6 +96,7 @@ static void createTag(int flags, TeXKind kind, const char * l)
++l;
} while ((*l != '\0') && (*l != '}'));
vStringTerminate(name);
if (name->buffer[0] != '}')
makeSimpleTag(name, TeXKinds, kind);
}
else if (isalpha((int) *l) || *l == '@')

View File

@ -562,7 +562,8 @@ void tm_tags_array_free(GPtrArray *tags_array, gboolean free_all)
}
}
TMTag **tm_tags_find(GPtrArray *sorted_tags_array, const char *name, gboolean partial, int * tagCount)
TMTag **tm_tags_find(const GPtrArray *sorted_tags_array, const char *name,
gboolean partial, int * tagCount)
{
static TMTag *tag = NULL;
TMTag **result;
@ -578,15 +579,30 @@ TMTag **tm_tags_find(GPtrArray *sorted_tags_array, const char *name, gboolean pa
s_partial = partial;
result = (TMTag **) bsearch(&tag, sorted_tags_array->pdata, sorted_tags_array->len
, sizeof(gpointer), tm_tag_compare);
// there can be matches on both sides of result
if (result)
{
for (; result >= (TMTag **) sorted_tags_array->pdata; -- result) {
TMTag **last = (TMTag **) &sorted_tags_array->pdata[sorted_tags_array->len - 1];
TMTag **adv;
// First look for any matches after result
adv = result;
adv++;
for (; *adv && adv <= last; ++ adv)
{
if (0 != tm_tag_compare(&tag, adv))
break;
++tagMatches;
}
// Now look for matches from result and below
for (; result >= (TMTag **) sorted_tags_array->pdata; -- result)
{
if (0 != tm_tag_compare(&tag, (TMTag **) result))
break;
++tagMatches;
}
*tagCount=tagMatches;
++ result;
++ result; // correct address for the last successful match
}
s_partial = FALSE;
return (TMTag **) result;