Sunteți pe pagina 1din 69

G e a n y E d i t o r

G e a n y E d i t o r

P D F M A N U A L
Geany is a fast, light, GTK+ IDE
Authors Enrico Trger
Nick Treleaven
Frank Lanitz
Manual Date
PDF Manual !reation Date
2009-08-16
2010-01-21
"ersion 0.18
PDF Manual !reation Chema artin
Co!"right # 200$-2009
Thi% &oc'ment i% &i%tri('te& 'n&er the term% o) the *N+ *eneral ,'(lic Licen%e a% !'(li%he& (" the Free -o)t.are Fo'n&ation/ either ver%ion
2 o) the Licen%e0 or 1at "o'r o!tion2 an" later ver%ion. 3 co!" o) thi% licen%e can (e )o'n& in the )ile C4,56N* incl'&e& .ith the %o'rce co&e o)
thi% !rogram0 an& al%o in the cha!ter *N+ *eneral ,'(lic Licen%e.
1
1
Introdu#tion
A$out Geany
*ean" i% a %mall an& light.eight 6ntegrate& 7evelo!ment Environment. 6t .a% &evelo!e& to !rovi&e a %mall an&
)a%t 67E0 .hich ha% onl" a )e. &e!en&encie% )rom other !ackage%. 3nother goal .a% to (e a% in&e!en&ent a%
!o%%i(le )rom a %!ecial 7e%kto! Environment like 87E or *N4E - *ean" onl" re9'ire% the *T82 r'ntime
li(rarie%.
-ome (a%ic )eat're% o) *ean":
-"nta; highlighting
Co&e )ol&ing
-"m(ol name a'tocom!letion
Con%tr'ct com!letion<%ni!!et%
3'to-clo%ing o) =L an& >TL tag%
Call ti!%
an" %'!!orte& )ilet"!e% incl'&ing C0 ?ava0 ,>,0 >TL0 ,"thon0 ,erl0 ,a%cal0 an& other%
-"m(ol li%t%
Co&e navigation
@'il& %"%tem to com!ile an& e;ec'te "o'r co&e
-im!le !roAect management
,l'gin inter)ace
%here to get it
5o' can o(tain *ean" )rom htt!:<<....gean".org< or !erha!% al%o )rom "o'r &i%tri('tor. For a li%t o) availa(le
!ackage%0 !lea%e %ee htt!:<<....gean".org<7o.nloa&<Thir&,art",ackage%.
Li#ense
*ean" i% &i%tri('te& 'n&er the term% o) the *N+ *eneral ,'(lic Licen%e a% !'(li%he& (" the Free -o)t.are
Fo'n&ation/ either ver%ion 2 o) the Licen%e0 or 1at "o'r o!tion2 an" later ver%ion. 3 co!" o) thi% licen%e can (e
)o'n& in the )ile C4,56N* incl'&e& .ith the %o'rce co&e o) thi% !rogram an& in the cha!ter0 *N+ *eneral ,'(lic
Licen%e.
The incl'&e& -cintilla li(rar" 1)o'n& in the %'(&irector" %cintilla<2 ha% it% o.n licen%e0 .hich can (e )o'n& in the
cha!ter0 Licen%e )or -cintilla an& -ciTE.
A$out this do#u&ent
Thi% &oc'mentation i% availa(le in >TL an& te;t )ormat%. The late%t ver%ion can al.a"% (e )o'n& at
htt!:<<....gean".org<.
6) "o' .ant to contri('te to it0 %ee Contri('ting to thi% &oc'ment.
Installation
'e(uire&ents
5o' .ill nee& the *T8 1BC 2.8.02 li(rarie% an& their &e!en&encie% 1,ango0 *Li( an& 3T82. 5o'r &i%tro %ho'l&
!rovi&e !ackage% )or the%e0 '%'all" in%talle& (" &e)a'lt. For Din&o.%0 "o' can &o.nloa& an in%taller .hich
('n&le% the%e li(rarie% )rom the .e(%ite.
)inary *a#+ages
There are man" (inar" !ackage% availa(le. For an '!-to-&ate ('t ma"(e incom!lete li%t %ee
htt!:<<....gean".org<7o.nloa&<Thir&,art",ackage%.
,our#e #o&*ilation
Com!iling *ean" i% 9'ite ea%". To &o %o0 "o' nee& the *T8 1BC 2.8.02 li(rarie% an& hea&er )ile%. 5o' al%o nee& the
,ango0 *Li( an& 3T8 li(rarie% an& hea&er )ile%. 3ll the%e )ile% are availa(le at htt!:<<....gtk.org0 ('t ver" o)ten
"o'r &i%tro .ill !rovi&e &evelo!ment !ackage% to %ave the tro'(le o) ('il&ing the%e "o'r%el).
F'rthermore "o' nee&0 o) co'r%e0 a C an& CEE com!iler. The *N+ ver%ion% o) the%e tool% are recommen&e&.
Autotools $ased $uild syste&
The 3'totool% (a%e& ('il& %"%tem i% ver" mat're an& ha% (een .ell te%te&. To '%e it0 "o' A'%t nee& the ake tool0
!re)era(l" *N+ ake.
Then r'n the )ollo.ing comman&%:
$ ./configure
$ ma'e
Then a% root:
% ma'e insa11
%af $ased $uild syste&
The Da) ('il& %"%tem i% %till 9'ite "o'ng an& 'n&er heav" &evelo!ment ('t alrea&" in an '%a(le %tate. 6n contrar"
to the 3'totool%0 Da) nee&% ,"thon. -o (e)ore '%ing Da)0 "o' nee& to in%tall ,"thon on "o'r %"%tem. The
a&vantage o) the Da) ('il& %"%tem over the 3'totool% (a%e& ('il& %"%tem i% that the .hole ('il& !roce%% might
(e a (it )a%ter. E%!eciall" .hen "o' '%e the Da) cache )eat're re!etitive ('il&% 1e.g. .hen changing onl" a )e.
%o'rce )ile% to te%t %omething2 .ill (ecome m'ch )a%ter %ince Da) .ill cache an& re-'%e the 'nchange& ('ilt )ile%
an& onl" com!ile the change& co&e again. -ee Da) Cache )or &etail%. To ('il& *ean" .ith Da) a% '%'al r'n:
$ ./waf configure
$ ./waf bui1d
Then a% root:
% ./waf insa11
%af !a#he
The Da) ('il& %"%tem ha% a nice an& intere%ting )eat're .hich can hel! a lot to avoi& 'nnece%%ar" re('il&ing o)
'nchange& co&e. Thi% o)ten ha!!en% .hen &evelo!ing ne. )eat're% or tr"ing to &e('g %omething. Da) i% a(le to
%tore an& retrieve the o(Aect )ile% )rom a cache. Thi% cache i% &eclare& '%ing the environment varia(le
D3FC3C>E. 3 !o%%i(le location o) the cache &irector" co'l& (e F<.cache<.a). 6n or&er to make '%e o) thi%0 "o'
)ir%t nee& to create thi% &irector":
$ m'dir -p ~/.cache/waf
then a&& the environment varia(le to "o'r %hell con)ig'ration 1the )ollo.ing e;am!le i% )or @a%h an& %ho'l& (e
a&A'%te& to "o'r '%e& %hell2:
expor WAECACHE=/home/username/.cache/waf
Gemem(er to re!lace '%ername .ith "o'r act'al '%ername.
ore in)ormation a(o't the Da) cache )eat're are availa(le at
htt!:<<co&e.google.com<!<.a)<.iki<Cache4(AectFile%.
!leaning the !a#he
5o' %ho'l& take care a(o't the %ize o) the cache &irector" a% it ma" gro. ra!i&l" (" time. Da) &oe%nHt &o an"
cleaning or other ho'%e-kee!ing o) the cache "et %o "o' nee& to kee! it clean (" "o'r%el). 3n ea%" .a" to kee! it
clean i% to r'n the )ollo.ing comman& reg'larl" to remove ol& cache& )ile%:
$ find /home/username/.cache/waf -mime +14 -exec rm {} \,
Thi% .ill &elete all )ile% in the cache &irector" .hich are ol&er than 1I &a"%.
For &etail% a(o't the )in& comman& an& it% o!tion%0 check it% man'al !age.
!usto& installation
The con)ig're %cri!t %'!!ort% %everal common o!tion%0 )or a &etaile& li%t0 t"!e:
$ ./configure --he1p
or:

$ ./waf --he1p
1&e!en&ing on .hich ('il& %"%tem "o' '%e2.
5o' ma" al%o .ant to rea& the 6N-T3LL )ile )or a&vance& in%tallation o!tion%.
-ee al%o Com!ile-time o!tion%.
Dyna&i# lin+ing loader su**ort
6n the ca%e that "o'r %"%tem lack% &"namic linking loa&er %'!!ort0 "o' !ro(a(l" .ant to !a%% the o!tion
--&i%a(le-vte to the con)ig're %cri!t. Thi% !revent% com!iling *ean" .ith &"namic linking loa&er %'!!ort to
a'tomaticall" loa& li(vte.%o.I i) availa(le.
)uild *ro$le&s
6) there are an" error% &'ring com!ilation0 check "o'r ('il& environment an& tr" to )in& the error0 other.i%e
contact the mailing li%t or one the a'thor%. -ometime% "o' might nee& to a%k )or %!eci)ic hel! )rom "o'r &i%tro.
Installation *refi-
6) "o' .ant to e&it an" o) *ean"H% %"%tem con)ig'ration )ile% a)ter in%tallation "o' .ill nee& to kno. the
in%tallation !re)i;. +%'all" thi% i% not nece%%ar" a% "o' can A'%t '%e '%er con)ig'ration )ile%.
+%e the --!rint-!re)i; o!tion to check - %ee Comman& line o!tion%. The )ir%t !ath i% the !re)i;.
Thi% i% commonl" <'%r i) "o' in%talle& )rom a (inar" !ackage0 or <'%r<local i) "o' ('il& )rom %o'rce.
Usage
Getting started
5o' can %tart *ean" in the )ollo.ing .a"%:
From the 7e%kto! Environment men':
Choo%e in "o'r a!!lication men' o) "o'r '%e& 7e%kto! Environment: 7evelo!ment --B *ean".
From the comman& line:
To %tart *ean" )rom a comman& line0 t"!e the )ollo.ing an& !re%% Get'rn:
J gean"
!o&&and line o*tions
,hort o*tion Long o*tion Fun#tion
none En'm(er -et initial line n'm(er )or the )ir%t o!ene& )ile 1%ame a% --line0 &o not !'t a
%!ace (et.een the E %ign an& the n'm(er2. E.g. Kgean" EL )oo.(arK .ill
o!en the )ile )oo.(ar an& !lace the c'r%or in line L.
none --col'mn -et initial col'mn n'm(er )or the )ir%t o!ene& )ile.
-c &irMname --
con)igC&irector"Mn
ame
+%e an alternate con)ig'ration &irector". 7e)a'lt con)ig'ration &irector" i%
F<.con)ig<gean"< an& there re%i&e% gean".con) an& other con)ig'ration
)ile%.
none --)t-name% ,rint a li%t o) *ean"H% internal )ilet"!e name% 1'%e)'l )or %ni!!et%
con)ig'ration2.
-g --generate-tag% *enerate a glo(al tag% )ile 1%ee *enerating a glo(al tag% )ile2.
,hort o*tion Long o*tion Fun#tion
-, --no-
!re!roce%%ing
7onHt !re!roce%% C<CEE )ile% .hen generating tag%.
-i --ne.-in%tance 7o not o!en )ile% in a r'nning in%tance0 )orce o!ening a ne. in%tance.
4nl" availa(le i) *ean" .a% com!ile& .ith %'!!ort )or -ocket%.
-l --line -et initial line n'm(er )or the )ir%t o!ene& )ile.
-m --no-m%g.in 7o not %ho. the me%%age .in&o.. +%e thi% o!tion i) "o' &o not nee&
com!iler me%%age% or NTE %'!!ort.
-n --no-ctag% 7o not loa& %"m(ol com!letion an& call ti! &ata. +%e thi% o!tion i) "o' &o
not .ant to '%e them.
-! --no-!l'gin% 7o not loa& !l'gin% or !l'gin %'!!ort.
none --!rint-!re)i; ,rint in%tallation !re)i;0 the &ata &irector"0 the li( &irector" an& the locale
&irector" 1in thi% or&er2 to %t&o't0 each !er line. Thi% i% mainl" inten&e& )or
!l'gin a'thor% to &etect in%tallation !ath%.
-% --no-%e%%ion 7o not loa& the !revio'% %e%%ionH% )ile%.
-t --no-terminal 7o not loa& terminal %'!!ort. +%e thi% o!tion i) "o' &o not .ant to loa&
the virt'al terminal em'lator .i&get at %tart'!. 6) "o' &o not have
li(vte.%o.I in%talle&0 then terminal-%'!!ort i% a'tomaticall" &i%a(le&. 4nl"
availa(le i) *ean" .a% com!ile& .ith %'!!ort )or NTE.
none --vte-li( -!eci)" e;!licitl" the !ath incl'&ing )ilename or onl" the )ilename to the
NTE li(rar"0 e.g. <'%r<li(<li(vte.%o or li(vte.%o. Thi% o!tion i% onl" nee&e&
.hen the a'to-&etection &oe% not .ork. 4nl" availa(le i) *ean" .a%
com!ile& .ith %'!!ort )or NTE.
-v --ver(o%e @e ver(o%e 1!rint '%e)'l %tat'% me%%age%2.
-N --ver%ion -ho. ver%ion in)ormation an& e;it.
-O --hel! -ho. hel! in)ormation an& e;it.
none P)ile% ...Q 4!en all given )ile% at %tart'!. Thi% o!tion ca'%e% *ean" to ignore loa&ing
%tore& )ile% )rom the la%t %e%%ion 1i) ena(le&2. *ean" al%o recognize% line
an& col'mn in)ormation .hen a!!en&e& to the )ilename .ith colon%0 e.g.
Kgean" )oo.(ar:10:$K .ill o!en the )ile )oo.(ar an& !lace the c'r%or in line
10 at col'mn $.
,roAect% can al%o (e o!ene& ('t a !roAect )ile 1R.gean"2 m'%t (e the )ir%t
non-o!tion arg'ment. 3ll a&&itionall" given )ile% are ignore&.
5o' can al%o !a%% line n'm(er an& col'mn n'm(er in)ormation0 e.g.:
geany some_fi1e.foo:55:4
*ean" %'!!ort% all generic *T8 o!tion%0 a li%t i% availa(le on the hel! %creen.
General
,tartu*
3t %tart'!0 *ean" loa&% all )ile% )rom the la%t time *ean" .a% la'nche&. 5o' can &i%a(le thi% )eat're in the
!re)erence% &ialog 1%ee *eneral -tart'! ta( in !re)erence% &ialog2. 6) "o' %!eci)" %ome )ile% on the comman& line0
onl" the%e )ile% .ill (e o!ene&0 ('t "o' can )in& the )ile% )rom the la%t %e%%ion in the )ile men' 'n&er the KGecent
)ile%K item. @" &e)a'lt thi% contain% the la%t 10 recentl" o!ene& )ile%. 5o' can change the amo'nt o) recentl"
o!ene& )ile% in the !re)erence% &ialog.
5o' can %tart %everal in%tance% o) *ean"0 ('t onl" the )ir%t .ill loa& )ile% )rom the la%t %e%%ion. To r'n a %econ&
in%tance o) *ean"0 &o not %!eci)" an" )ilename% on the comman&-line0 or &i%a(le o!ening )ile% in a r'nning
in%tance '%ing the a!!ro!riate comman& line o!tion.
.*ening files fro& the #o&&and/line in a running instan#e
*ean" &etect% an alrea&" r'nning in%tance o) it%el) an& o!en% )ile% )rom the comman&-line in the alrea&" r'nning
in%tance. -o0 *ean" can (e '%e& to vie. an& e&it )ile% (" o!ening them )rom other !rogram% %'ch a% a )ile
manager.
5o' can al%o !a%% line n'm(er an& col'mn n'm(er in)ormation0 e.g.:
geany some_fi1e.foo:55:4
Thi% .o'l& o!en the )ile %omeM)ile.)oo .ith the c'r%or on line $$0 col'mn I.
6) "o' &o not like thi% )or %ome rea%on0 "o' can &i%a(le '%ing the )ir%t in%tance (" '%ing the a!!ro!riate
comman& line o!tion -- %ee the %ection calle& Comman& line o!tion%.
"irtual ter&inal e&ulator 0idget 1"TE2
6) "o' have in%talle& li(vte.%o in "o'r %"%tem0 it i% loa&e& a'tomaticall" (" *ean"0 an& "o' .ill have a terminal
.i&get in the note(ook at the (ottom.
6) *ean" cannot )in& an" li(vte.%o at %tart'!0 the terminal .i&get .ill not (e loa&e&. -o there i% no nee& to in%tall
the !ackage containing thi% )ile in or&er to r'n *ean". 3&&itionall"0 "o' can &i%a(le the '%e o) the terminal .i&get
(" comman& line o!tion0 )or more in)ormation %ee the %ection calle& Comman& line o!tion%.
5o' can '%e thi% terminal 1)rom no. on calle& NTE2 nearl" a% an '%'al terminal !rogram like ;term. There i% (a%ic
cli!(oar& %'!!ort. 5o' can !a%te the content% o) the cli!(oar& (" !re%%ing the right mo'%e ('tton to o!en the
!o!'! men' an& choo%ing ,a%te. To co!" te;t )rom the NTE0 A'%t %elect the &e%ire& te;t an& then !re%% the right
mo'%e ('tton an& choo%e Co!" )rom the !o!'! men'. 4n %"%tem% r'nning the = Din&o. -"%tem "o' can !a%te
the la%t %electe& te;t (" !re%%ing the mi&&le mo'%e ('tton in the NTE 1on 2-('tton mice0 the mi&&le ('tton can
o)ten (e %im'late& (" !re%%ing (oth mo'%e ('tton% together2.
6n the !re)erence% &ialog "o' can %!eci)" a %hell .hich %ho'l& (e %tarte& in the NTE. To make the %!eci)ie& %hell a
login %hell A'%t '%e the a!!ro!riate comman& line o!tion% )or the %hell. The%e o!tion% %ho'l& (e )o'n& in the
man'al !age o) the %hell. For z%h an& (a%h "o' can '%e the arg'ment --login.
Note
*ean" trie% to loa& li(vte.%o. 6) thi% )ail%0 it trie% to loa& %ome other )ilename%. 6) thi% )ail% too0 "o' %ho'l& check
.hether "o' in%talle& li(vte correctl". 3gain0 *ean" al%o r'n% .itho't thi% li(rar".
6t co'l& (e0 that the li(rar" i% calle& %omething el%e than li(vte.%o 1e.g. on Free@-7 6.0 it i% calle& li(vte.%o.82. -o
!lea%e %et a link to the correct )ile 1a% root2:
# 1n -s /usr/1ib/1ibve.so.X /usr/1ib/1ibve.so
4(vio'%l"0 "o' have to a&A'%t the !ath% an& %et = to the n'm(er o) "o'r li(vte.%o.
5o' can al%o %!eci)" the )ilename o) the NTE li(rar" to '%e on the comman& line 1%ee the %ection calle& Comman&
line o!tion%2 or at com!ile time (" %!eci)"ing the comman& line o!tion --.ith-vte-mo&'le-!ath to .<con)ig're.
Defining o0n 0idget styles using 3gt+r#/435
5o' can &e)ine "o'r .i&get %t"le )or man" o) *ean"H% *+6 !art%. To &o thi%0 A'%t e&it "o'r .gtkrc-2.0 1'%'all" )o'n&
in "o'r home &irector" on +N6=-like %"%tem% an& in the etc %'(&irector" o) "o'r *ean" in%tallation on Din&o.%2.
To get a &e)ine& %t"le get notice& (" *ean" "o' m'%t it a%%ign to one o) *ean"H% .i&get%. To &o %o0 '%e the
)ollo.ing line:
widge "Geany*" sy1e "geanySy1e"
Thi% .o'l& a%%ign "o'r alrea&" &e)ine& %t"le Kgean"M%t"leK to all *ean" .i&get%. 5o' can al%o a%%ign %t"le% onl" to
%!eci)ic .i&get%. 3t the moment "o' can '%e the )ollo.ing .i&get%:
*ean"ainDin&o.
*ean"E&iten'
*ean"Tool(aren'
*ean"7ialog
*ean"7ialog,re)%
*ean"7ialog,roAect
*ean"7ialog-earch
*ean"en'(ar
*ean"Tool(ar
E;am!le o) a %im!le .gtkrc-2.0:
sy1e "geanySy1e"
{
fon_name="Sans 12"
}
widge "GeanyMainWindow" sy1e "geanySy1e"
sy1e "geanySy1e"
{
fon_name="Sans 10"
}
widge "GeanyRrefsia1og" sy1e "geanySy1e"
Do#u&ents
,0it#hing $et0een do#u&ents
The &oc'ment% li%t an& the e&itor ta(% are t.o &i))erent .a"% to %.itch (et.een &oc'ment% '%ing the mo'%e.
Dhen "o' hit the ke" com(ination to move (et.een ta(%0 the or&er i% &etermine& (" the ta( or&er0 not
al!ha(etical a% %ho.n in the &oc'ment% li%t 1regar&le%% o) .hether or not e&itor ta(% are vi%i(le2.
-ee the Note(ook ta(% gro'! in the 8e"(in&ing% %ection )or '%e)'l %hortc't% incl'&ing )or o%t-Gecentl"-+%e&
&oc'ment %.itching.
!hara#ter sets and Uni#ode )yte/.rder/Mar+ 1).M2
Using #hara#ter sets
*ean" !rovi&e% %'!!ort )or &etecting an& converting character %et%. -o "o' can o!en an& %ave )ile% in &i))erent
character %et% an& even can convert a )ile )rom a character %et to another one. To &o thi%0 *ean" '%e% the
character conver%ion ca!a(ilitie% o) the *Li(.
4nl" te;t )ile% are %'!!orte&0 i.e. o!ening )ile% .hich contain N+LL-("te% ma" )ail. *ean" .ill tr" to o!en the )ile
an".a" ('t it i% likel" that the )ile .ill (e tr'ncate& (eca'%e it can onl" o!ene& '! to the )ir%t occ'rrence o) a
N+LL-("te. 3ll character% a)ter thi% !o%ition are lo%t an& are not .ritten .hen "o' %ave the )ile.
*ean" trie% to &etect the enco&ing o) a )ile .hile o!ening it. 6t might (e that the enco&ing o) a )ile cannot (e
&etecte& correctl" %o "o' have to %et man'all" the enco&ing o) the )ile in or&er to &i%!la" it correctl". 5o' can thi%
in the )ile o!en &ialog (" %electing an enco&ing in the &ro! &o.n (o; or (" reloa&ing the )ile .ith the )ile men'
item KGeloa& a%K. The a'to-&etection .ork% .ell )or mo%t enco&ing% ('t there are al%o %ome enco&ing% kno.n
.here a'to-&etection ha% it% !ro(lem%. 3'to-&etecting the enco&ing o) a )ile i% not ea%" an& %ometime% an
enco&ing might (e &etecte& not correctl".
There are &i))erent .a"% to '%e &i))erent enco&ing% in *ean":
+%ing the )ile o!en &ialog
Thi% o!en% the )ile .ith the enco&ing %!eci)ie& in the enco&ing &ro! &o.n (o;. 6) the enco&ing i% %et to
K7etect )rom )ileK a'to-&etection .ill (e '%e&. 6) the enco&ing i% %et to KDitho't enco&ing 1None2K the )ile
.ill (e o!ene& .itho't an" character conver%ion an& *ean" .ill not tr" to a'to-&etect the enco&ing 1%ee
(elo. )or more in)ormation2.
+%ing the KGeloa& a%K men' item
Thi% item reloa&% the c'rrent )ile .ith the %!eci)ie& enco&ing. 6t can hel! i) "o' o!ene& a )ile an& )o'n&
o't that a .rong enco&ing .a% '%e&.
+%ing the K-et enco&ingK men' item
6n contrar" to the a(ove t.o o!tion%0 thi% .ill not change or reloa& the c'rrent )ile 'nle%% "o' %ave it. 6t i%
'%e)'l .hen "o' .ant to change the enco&ing o) the )ile.
-!eci)"ing the enco&ing in the )ile it%el)
3% mentione& a(ove0 a'to-&etecting the enco&ing o) a )ile ma" )ail on %ome enco&ing%. 6) "o' kno. that
*ean" &oe%nHt o!en a certain )ile0 "o' can a&& a %!ecial line to the (eginning o) the )ile to )orce an
enco&ing .hen o!ening the )ile 1)or &etail% %ee (elo.2.
In/file en#oding s*e#ifi#ation
*ean" &etect% meta tag% o) >TL )ile% .hich contain char%et in)ormation like:
<mea hp-equiv="conen-ype" conen="ex/hm1, charse=ISO-8859-15" />
an& the )o'n& char%et i% '%e& .hen o!ening the )ile. Thi% i% '%e)'l i) the enco&ing o) the )ile cannot (e &etecte&
!ro!erl". For non->TL )ile% "o' can al%o &e)ine a line like:
/* geany_encoding=ISO-8859-15 */
or:
# geany_encoding=ISO-8859-15 #
to )orce an enco&ing to (e '%e&. The '%e& S0 <R an& R< are onl" e;am!le% )or )ilet"!e-%!eci)ic comment
character%. 6t &oe%nHt matter .hich character% are aro'n& the %tring K gean"Menco&ingC6-4-88$9-1$ K a% long a%
there i% at lea%t one .hite%!ace character (e)ore an& a)ter thi% %tring. Dhite%!ace character% are in thi% ca%e a
%!ace or ta( character. 3n e;am!le to '%e thi% co'l& (e "o' have a )ile .ith 6-4-88$9-1$ enco&ing ('t *ean"
con%tantl" &etect% the )ile enco&ing a% 6-4-88$9-1. Then "o' %im!l" a&& %'ch a line to the )ile an& *ean" .ill
o!en it correctl" the ne;t time.
-ince *ean" 0.1$ "o' can al%o '%e line% like:
# encoding = ISO-8859-15
or:
# coding: ISO-8859-15
The '%e& reg'lar e;!re%%ion to )in& the enco&ing %tring i%: co&ingPTt QRP:CQPTt QR1Pa-z0-9-QE2PTt QR
Note
The%e %!eci)ication% m'%t (e in the )ir%t $12 ("te% o) the )ile. 3n"thing a)ter the )ir%t $12 ("te% .ill not (e
recognize&.
,*e#ial en#oding 6None6
There i% a %!ecial enco&ing KNoneK .hich i% act'all" no real enco&ing. 6t i% '%e)'l .hen "o' kno. that *ean"
cannot a'to-&etect the enco&ing o) a )ile an& it i% not &i%!la"e& correctl". E%!eciall" .hen the )ile contain% N+LL-
("te% thi% can (e '%e)'l to %ki! a'to &etection an& o!en the )ile !ro!erl" at lea%t 'ntil the occ'rrence o) the )ir%t
N+LL-("te. +%ing thi% enco&ing o!en% the )ile a% it i% .itho't an" character conver%ion.
Uni#ode )yte/.rder/Mar+ 1).M2
F'rthermore0 *ean" &etect% an +nico&e @"te 4r&er ark 1%ee htt!:<<en..iki!e&ia.org<.iki<@"teM4r&erMark )or
&etail%2. 4) co'r%e0 thi% )eat're i% onl" availa(le i) the o!ene& )ile i% in an +nico&e enco&ing. The @"te 4r&er ark
hel!% to &etect the enco&ing o) a )ile0 e.g. .hether it i% +TF-16LE or +TF-16@E an& %o on. 4n +ni;-like %"%tem%
'%ing a @"te 4r&er ark co'l& ca'%e %ome !ro(lem%0 e.g. the gcc %to!% .ith %tra" error%0 ,>, &oe% not !ar%e a
%cri!t containing a @4 an& %cri!t )ile% %tarting .ith a %he-(ang ma"(e cannot (e %tarte&. 6n the %tat'% (ar "o'
can ea%il" %ee .hether the )ile %tart% .ith a @4 or not. 6) "o' .ant to %et a @4 )or a )ile or i) "o' .ant to
remove it )rom a )ile0 A'%t '%e the &oc'ment men' an& toggle the check(o;.
Note
6) "o' are 'n%'re .hat a @4 i% or i) "o' &o not 'n&er%tan& .here to '%e it0 then it i% !ro(a(l" not im!ortant )or
"o' an& "o' can %a)el" ignore it.
Editing
Folding
*ean" !rovi&e% (a%ic co&e )ol&ing %'!!ort. Fol&ing mean% the a(ilit" to %ho. an& hi&e !art% o) the te;t in the
c'rrent )ile. 5o' can hi&e 'nim!ortant co&e %ection% an& concentrate on the !art% "o' are .orking on an& later
"o' can %ho. the%e %ection% again. 6n the e&itor .in&o. there i% a %mall gre" margin on the le)t %i&e .ith %ome
PEQ an& P-Q %"m(ol%. @" clicking on the%e icon% "o' can %im!l" %ho. an& hi&e %ection% .hich are marke& ("
vertical line% .ithin thi% margin. For man" )ilet"!e% ne%te& )ol&ing i% %'!!orte&0 %o there ma" (e %everal )ol&
!oint% .ithin other )ol& !oint%.
6) "o' &onHt like it or &onHt nee& it at all0 "o' can %im!l" &i%a(le )ol&ing %'!!ort com!letel" in the !re)erence%
&ialog.
The )ol&ing (ehavio'r can (e change& .ith the KFol&<+n)ol& all chil&ren o) a )ol& !ointK o!tion in the !re)erence
&ialog. 6) activate&0 *ean" .ill 'n)ol& all ne%te& )ol& !oint% (elo. the c'rrent one i) the" are alrea&" )ol&e& 1.hen
clicking on a PEQ %"m(ol2. Dhen clicking on a P-Q %"m(ol0 *ean" .ill )ol& all ne%te& )ol& !oint% (elo. the c'rrent
one i) the" are 'n)ol&e&.
The '%age o) thi% o!tion can (e in%tantl" inverte& (" !re%%ing the -hi)t ke" .hile clicking on a )ol& %"m(ol. That
mean%0 i) the KFol&<+n)ol& all chil&ren o) a )ol& !ointK o!tion i% ena(le&0 !re%%ing -hi)t .ill &i%a(le it )or thi% click
an& vice ver%a.
!olu&n &ode editing 1re#tangular sele#tions2
There i% (a%ic %'!!ort )or col'mn mo&e e&iting. To '%e it0 create a rectang'lar %election (" hol&ing &o.n the
Control an& -hi)t ke"% 1or Control an& 3lt i) it &oe%nHt .ork2 .hile %electing %ome te;t. 6t i% al%o !o%%i(le to create
a zero-col'mn %election ('t (e care)'l (eca'%e there i% no vi%'al in&ication o) thi% %election. 4nce a rectang'lar
%election e;i%t% "o' can %tart e&iting the te;t .ithin thi% %election an& the mo&i)ication% .ill (e &one )or ever"
line in the %election.
Drag and dro* of te-t
6) "o' &rag %electe& te;t in the e&itor .i&get o) *ean" the te;t i% move& to the !o%ition .here the mo'%e !ointer
i% .hen relea%ing the mo'%e ('tton. >ol&ing Control .hen relea%ing the mo'%e ('tton .ill co!" the te;t in%tea&.
Thi% (ehavio'r .a% change& in *ean" 0.11 - (e)ore the %electe& te;t .a% co!ie& to the ne. !o%ition.
Indentation
*ean" allo.% each &oc'ment to in&ent either .ith a ta( character or m'lti!le %!ace%. The &e)a'lt in&ent mo&e i%
%et in the E&itor Feat're% ta( in !re)erence% &ialog 1%ee the link )or more in)ormation2. @'t thi% can (e overri&&en
'%ing either the 7oc'ment-B6n&ent T"!e men'0 or (" '%ing the 7etect )rom )ile in&entation !re)erence. Dhen
ena(le&0 thi% %can% each )ile that i% o!ene& an& %et% the in&ent mo&e (a%e& on ho. man" line% %tart .ith a ta(
v%. 2 or more %!ace%.
The in&ent mo&e )or the c'rrent &oc'ment i% %ho.n on the %tat'% (ar a% )ollo.%:
T3@
6n&ent .ith Ta( character%.
-,
6n&ent .ith %!ace%.
T<-
6n&ent .ith ta(% an& %!ace%0 &e!en&ing on ho. m'ch in&entation i% on a line.
Auto/indentation
Dhen ena(le&0 a'to-in&entation ha!!en% .hen !re%%ing Enter in the E&itor. 6t a&&% a certain amo'nt o)
in&entation to the ne. line %o the '%er &oe%nHt al.a"% have to in&ent each line man'all".
*ean" kno.% )o'r t"!e% o) a'to-in&entation:
None
7i%a(le% a'to-in&entation com!letel".
@a%ic
3&&% the %ame amo'nt o) .hite%!ace on a ne. line a% on the la%t line.
C'rrent char%
7oe% the %ame a% @a%ic ('t al%o in&ent% a ne. line a)ter an o!ening (race HUH0 an& &e-in&ent% .hen t"!ing a
clo%ing (race HVH. For ,"thon0 a ne. line .ill (e in&ente& a)ter t"!ing H:H at the en& o) the !revio'% line.
atch (race%
-imilar to C'rrent char% ('t the clo%ing (race .ill (e aligne& to match the in&entation o) the line .ith the
o!ening (race.
)oo+&ar+s
*ean" !rovi&e% a han&" (ookmarking )eat're that let% "o' mark one or more line% in a &oc'ment0 an& ret'rn the
c'r%or to them '%ing a ke" com(ination.
To !lace a mark on a line0 either le)t-mo'%e-click in the le)t margin o) the e&itor .in&o.0 or el%e '%e Ctrl-m. Either
.a"0 thi% .ill !ro&'ce a %mall green !l'% %"m(ol in the margin. 5o' can have a% man" mark% in a &oc'ment a%
"o' like. Click again 1or '%e Ctrl-m again2 to remove the (ookmark. To remove all the mark% in a given &oc'ment0
'%e KGemove arker%K in the 7oc'ment men'.
To navigate &o.n "o'r &oc'ment0 A'm!ing )rom one mark to the ne;t0 '%e Ctrl-. 1control !erio&2. To go in the
o!!o%ite &irection on the !age0 '%e Ctrl-0 1control comma2. +%ing the (ookmarking )eat're together .ith the
comman&% to %.itch )rom one e&itor ta( to another 1Ctrl-,g+!<,g7n an& Ctrl-Ta(2 !rovi&e% a !artic'larl" )a%t
.a" to navigate aro'n& m'lti!le )ile%.
!ode Na7igation 8istory
To ea%e navigation in %o'rce )ile% an& e%!eciall" (et.een &i))erent )ile%0 *ean" let% "o' A'm! (et.een &i))erent
navigation !oint%. C'rrentl"0 thi% .ork% )or the )ollo.ing:
*o to tag &eclaration
*o to tag &e)inition
-"m(ol li%t item%
@'il& error%
e%%age item%
Dhen '%ing one o) the%e action%0 *ean" remem(er% "o'r c'rrent !o%ition an& A'm!% to the ne. one. 6) "o'
&eci&e to go (ack to "o'r !revio'% !o%ition in the )ile0 A'%t '%e KNavigate (ack a locationK. To get (ack to the ne.
!o%ition again0 A'%t '%e KNavigate )or.ar& a locationK. Thi% make% it ea%ier to navigate in e.g. )oreign co&e an&
(et.een &i))erent )ile%.
,end te-t through defina$le #o&&ands
5o' can &e)ine %everal c'%tom comman&% in *ean" an& %en& the c'rrent %election to one o) the%e comman&%.
The o't!'t o) the comman& .ill (e '%e& to re!lace the c'rrent %election. -o0 it i% !o%%i(le to '%e te;t )ormatting
tool% .ith *ean" in a general .a". The %electe& te;t .ill (e %ent to the %tan&ar& in!'t o) the e;ec'te& comman&0
%o the comman& %ho'l& (e a(le to rea& )rom it an& it %ho'l& !rint all re%'lt% to it% %tan&ar& o't!'t .hich .ill (e
rea& (" *ean". To hel! )in&ing error% in e;ec'ting the comman&0 the o't!'t o) the !rogramH% %tan&ar& error .ill
(e !rinte& on *ean"H% %tan&ar& o't!'t.
To a&& a c'%tom comman&0 A'%t go to the -et C'%tom Comman&% &ialog in the Format %'( men' o) the E&it an&
,o!'! men'. Then click on 3&& to get a ne. te;t entr" an& t"!e the comman&. 5o' can al%o %!eci)" %ome
comman& line o!tion%. To &elete a comman&0 A'%t clear the te;t entr" an& !re%% 48. 6t .ill (e &elete&
a'tomaticall".
!onte-t a#tions
5o' can e;ec'te a %!eci)ie& comman& on the c'rrent .or& near the c'r%or !o%ition or an availa(le %election an&
thi% .or& i% !a%%e& a% an arg'ment to thi% comman&. 6t can (e '%e& )or e;am!le to o!en %ome 3,6
&oc'mentation in a (ro.%er .in&o. or o!en an" other e;ternal !rogram. To &o thi%0 there i% an men' entr" in
the !o!'! men' o) the e&itor .i&get an& al%o a ke"(oar& %hortc't1%ee the %ection calle& 8e"(in&ing%2.
The comman& can (e %!eci)ie& in the !re)erence% &ialog an& a&&itionall" )or each )ilet"!e 1%ee
Kconte;tMactionMcm&K in the %ection calle& Format2. 3t e;ec'ting0 the )ilet"!e %!eci)ic comman& i% '%e& i)
availa(le other.i%e the comman& %!eci)ie& in the !re)erence% &ialog i% e;ec'te&.
The !a%%e& .or& can (e re)erre& .ith the .il&car& KJ%K ever".here in the comman&0 (e)ore e;ec'ting it .ill (e
re!lace& (" the c'rrent .or&. For e;am!le0 the comman& to o!en the ,>, 3,6 &oc'mentation .o'l& (e:
firefox "hp://www.php.ne/%s"
.hen e;ec'ting the comman&0 the J% i% %'(%tit'te& (" the .or& near the c'r%or !o%ition or (" the c'rrent
%election. 6) the c'r%or i% at the .or& KechoK0 a (ro.%er .in&o. .ill o!en1a%%'me& "o'r (ro.%er i% calle& )ire)o;2
an& it .ill o!en the a&&re%%: htt!:<<....!h!.net<echo.
Auto#o&*letion
*ean" can o))er a li%t o) !o%%i(le com!letion% )or %"m(ol% &e)ine& in the tag% an& )or all .or&% in a &oc'ment.
The a'tocom!letion li%t )or %"m(ol% i% !re%ente& .hen the )ir%t )e. character% o) the %"m(ol are t"!e&
1con)ig'ra(le0 %ee E&itor Com!letion% ta( in !re)erence% &ialog0 &e)a'lt I2 or .hen the Com!lete .or&
ke"(in&ing i% !re%%e& 1con)ig'ra(le0 %ee Con)ig'ra(le ke"(in&ing%0 &e)a'lt Ctrl--!ace2.
Dhen the &e)ine& ke"(in&ing i% t"!e& an& the 3'tocom!lete all .or&% in &oc'ment !re)erence 1in E&itor
Com!letion% ta( in !re)erence% &ialog2 i% %electe& then the a'tocom!letion li%t .ill %ho. all matching .or&% in
the &oc'ment0 i) there are no matching %"m(ol%.
6) "o' &onHt .ant to '%e a'tocom!letion it can (e &i%mi%%e& 'ntil the ne;t %"m(ol (" t"!ing E%ca!e. The
a'tocom!letion li%t i% '!&ate& a% more character% are t"!e& %o that it onl" %ho.% com!letion% that %tart .ith the
character% t"!e& %o )ar. 6) no %"m(ol% (egin .ith the %e9'ence0 the a'tocom!letion .in&o. i% clo%e&.
The '! an& &o.n arro.% .ill move the %electe& item. The highlighte& item on the a'tocom!letion li%t can (e
cho%en )rom the li%t (" Ta( or Enter<Get'rn. 5o' can al%o &o'(le-click to %elect an item. The %e9'ence .ill (e
com!lete& to match the cho%en item0 an& i) the 7ro! re%t o) .or& on com!letion !re)erence i% %et 1in E&itor
Com!letion% ta( in !re)erence% &ialog2 then an" character% a)ter the c'r%or that match a %"m(ol or .or& are
&elete&.
User/defina$le sni**ets
-ni!!et% are %mall %tring% or co&e con%tr'ct% .hich can (e re!lace& or com!lete& to a more com!le; %tring. -o
"o' can %ave a lot o) time (" not t"!ing o)ten '%e& %tring% an& letting *ean" &o the .ork )or "o'. To kno. .hat
to com!lete or re!lace *ean" rea&% a con)ig'ration )ile calle& %ni!!et%.con) at %tart'!.
The %"%tem-.i&e con)ig'ration )ile can (e )o'n& in W!re)i;<%hare<gean"0 .here W!re)i; i% the !ath .here *ean" i%
in%talle& 1%ee 6n%tallation !re)i;2. 6t i% not recommen&e& to e&it the %"%tem-.i&e )ile0 (eca'%e it .ill (e overri&&en
.hen *ean" i% '!&ate&.
To change the %etting%0 co!" the )ile )rom W!re)i;<%hare<gean" in "o'r con)ig'ration &irector" 1'%'all"
F<.con)ig<gean"<2.
For e;am!le:
% cp /usr/1oca1/share/geany/snippes.conf /home/username/.config/geany/
Then "o' can e&it the )ile an& the change% are al%o availa(le a)ter an '!&ate o) *ean" (eca'%e the )ile re%i&e% in
"o'r con)ig'ration &irector". 3lternativel"0 "o' can create a )ile F<.con)ig<gean"<%ni!!et%.con) an& a&& onl" the%e
%etting% "o' .ant to change. 3ll mi%%ing %etting% .ill (e rea& )rom the glo(al %ni!!et% )ile in W!re)i;<%hare<gean".
The )ile %ni!!et%.con) ma" contain %everal %ection% )or each )ilet"!e. 6t al%o contain% t.o a&&itional %ection%
K7e)a'ltK an& K-!ecialK. 7e)a'lt contain% all %ni!!et% .hich are availa(le )or ever" )ilet"!e. 5o' ma" &e)ine
another %ection )or a certain )ilet"!e1e.g. CEE2 containing the %ame %ni!!et%. Then .hen '%ing %'ch a %ni!!et in a
CEE )ile the %ni!!et &e)ine& in the CEE %ection .ill (e '%e&. 6n an" other )ile the %ni!!et &e)ine& in the 7e)a'lt
%ection .ill (e '%e& 'nle%% a %ection )or the c'rrent )ilet"!e e;i%t% an& the '%e& %ni!!et i% &e)ine& in thi% %ection.
The %ection K-!ecialK contain% %!ecial %ni!!et% .hich can onl" (e '%e& in other %ni!!et%. -o "o' can &e)ine o)ten
'%e& !art% o) %ni!!et% an& A'%t '%e the %!ecial %ni!!et a% a !lacehol&er 1%ee the %ni!!et%.con) )or &etail%2.
To &e)ine %ni!!et% "o' can '%e %everal %!ecial character% .hich .ill (e re!lace& .hen '%ing the %ni!!et:
%ild#ards for sni**ets
Tn or Jne.lineJ 6n%ert a ne. line 1it .ill (e re!lace& (" the '%e& E4L char1%2: LF0 CG<LF0 or CG2.
Tt or J.%J 6n%ert an in&entation %te!0 it .ill (e re!lace& accor&ing to the c'rrent &oc'mentH%
in&ent mo&e.
T% T% to )orce .hite%!ace at (eginning or en& o) a val'e 1Hke"C val'eH .onHt .ork0 '%e
Hke"CT%val'eH2
Jc'r%orJ ,lace the c'r%or at thi% !o%ition a)ter com!letion ha% (een &one. 5o' can &e)ine
m'lti!le Jc'r%orJ .il&car&% an& '%e the ke"(in&ing ove c'r%or in %ni!!et to
A'm! to the ne;t &e)ine& c'r%or !o%ition in the com!lete& %ni!!et.
J...J K...K mean% the name o) a ke" in the K-!ecialK %ection. 6) "o' have &e)ine& a ke"
K(raceMo!enK in the K-!ecialK %ection "o' can '%e J(raceMo!enK in an" other
%ni!!et.
-ni!!et name% m'%t not contain %!ace% other.i%e the" .onHt .ork correctl". @'t (e%i&e that "o' can &e)ine
almo%t an" %tring a% a %ni!!et an& '%e it later in *ean". 6t i% not limite& to e;i%ting contr'ct% o) certain
!rogramming lang'age%1like i)0 )or0 %.itch2. 7e)ine .hatever "o' nee&.
a"(e "o' nee& to o)ten t"!e "o'r name0 %o &e)ine a %ni!!et like thi%:
[efau1|
myname=Enrico Trger
Ever" time "o' .rite m"name XT3@B in *ean"0 it .ill re!lace Km"nameK .ith KEnrico TrgerK. The ke" to %tart
a'tocom!letion can (e change& in the !re)erence% &ialog0 (" &e)a'lt it i% T3@. The corre%!on&ing ke"(in&ing i%
calle& Com!lete %ni!!et.
-ince *ean" 0.1$ "o' can al%o '%e mo%t o) the availa(le tem!late% .il&car&% li%te& in Tem!late .il&car&%. 3ll
.il&car&% .hich are li%te& a% availa(le in %ni!!et% can (e '%e&. For in%tance to im!rove the a(ove e;am!le:
[efau1|
myname=My name is {deve1oper}
thi% .ill re!lace m"name .ith K" name i% K an& the val'e o) the tem!late !re)erence &evelo!er.
5o' ma" change the (ehavio'r *ean" recognize% the .or& to com!lete0 i.e. .here &e)ine the %tart an& en& o) a
.or&. The %ection K-!ecialK ma" contain a ke" K.or&char%K .hich li%t% all character% a %tring ma" contain to (e
recognize& a% a .or& )or com!letion. Leave it commente& to '%e &e)a'lt character% or &e)ine it to a&& or remove
character% to )it "o'r nee&%.
Inserting Uni#ode #hara#ters
Dith *T8 2.10 an& a(ove0 "o' can hit Ctrl--hi)t-'0 then %till hol&ing Ctrl--hi)t0 t"!e %ome he; &igit% re!re%enting
the co&e !oint )or the character "o' .ant0 then let go o) Ctrl--hi)t an& hit a ke" %'ch a% the right arro..
For thi% to .ork in *ean"0 "o'Hll nee& to )ir%t 'n(in& Ctrl--hi)t-' in the ke"(in&ing ta( in !re)erence% &ialog0 then
re%tart *ean". Note that it .ork% %lightl" &i))erentl" )rom other *T8 a!!lication%0 in that "o'Hll nee& to contin'e to
hol& &o.n the Ctrl an& -hi)t ke"% .hile t"!ing the co&e !oint he; &igit%.
For *T8 X 2.100 it i% al%o !o%%i(le0 ('t t"!ing the )ir%t Ctrl--hi)t-' i% not nece%%ar". 4ne !ro(lem i% that "o' ma"
)in& the al!ha(etic ke"% con)lict .ith other *ean" ke"(in&ing%.
,ear#h, re*la#e and go to
Thi% %ection &e%cri(e% %earch-relate& comman&% )rom the -earch men' an& the e&itor .in&o.H% !o!'! men':
Fin&
Fin& '%age R
Fin& in )ile%
Ge!lace
*o to tag &e)inition R
*o to tag &eclaration R
*o to line
R The%e item% are availa(le )rom the e&itor .in&o.H% !o!'! men'0 or (" '%ing a ke"(oar& %hortc't 1%ee the
%ection calle& 8e"(in&ing%2.
Find
The Fin& &ialog i% '%e& )or )in&ing te;t in one or more o!en &oc'ment%.
Mat#hing o*tions
The %"nta; )or the +%e reg'lar e;!re%%ion% o!tion i% %ho.n in Geg'lar e;!re%%ion%.
The +%e e%ca!e %e9'ence% o!tion .ill tran%)orm an" e%ca!e& character% into their +TF-8 e9'ivalent. For e;am!le0
Tt .ill (e tran%)orme& into a ta( character. 4ther recognize& %"m(ol% are: TT0 Tn0 Tr0 T'==== 1+nico&e character%2.
Find all
To )in& all matche%0 click on the Fin& 3ll e;!an&er. Thi% .ill reveal %everal o!tion%:
6n 7oc'ment
6n -e%%ion
ark
Fin& 3ll 6n 7oc'ment .ill %ho. a li%t o) matching line% in the c'rrent &oc'ment in the e%%age% ta( o) the
e%%age Din&o.. Fin& 3ll 6n -e%%ion &oe% the %ame )or all o!en &oc'ment%.
ark .ill highlight all matche% in the c'rrent &oc'ment .ith a colore& (o;. The%e marker% can (e remove& ("
%electing the Gemove arker% comman& )rom the 7oc'ment men'.
!hange font in sear#h dialog te-t fields
3ll %earch relate& &ialog% '%e a ono%!ace )or the te;t in!'t )iel&% to increa%e the rea&a(ilit" o) in!'t te;t. Thi% i%
'%e)'l .hen "o' are t"!ing e.g. reg'lar e;!re%%ion% .ith %!ace%0 !erio&% an& comma% .hich might it har& to rea&
.ith a !ro!ortional )ont.
6) "o' .ant to change the )ont )or %ome rea%on0 "o' can &o thi% ea%il" (" in%erting the )ollo.ing %t"le into "o'r
.gtkrc-2.0 1'%'all" )o'n& in "o'r home &irector" on +N6=-like %"%tem% an& in the etc %'(&irector" o) "o'r *ean"
in%tallation on Din&o.%2:
sy1e "search_sy1e"
{
fon_name="Monospace 8"
}
widge "Geanyia1ogSearch.*.G'Enry" sy1e:highes "search_sy1e"
,lea%e note the a&&ition K:highe%tK in the la%t line .hich %et% the !riorit" o) thi% %t"le to the highe%t availa(le.
4ther.i%e0 the %t"le i% ignore& )or the %earch &ialog%.
Find usage
Fin& '%age %earche% all o!en )ile%. 6t i% %imilar to the Fin& 3ll 6n -e%%ion Fin& &ialog comman&.
6) there i% a %election0 then it i% '%e& a% the %earch te;t/ other.i%e the c'rrent .or& i% '%e&. The c'rrent .or& i%
either taken )rom the .or& neare%t the e&it c'r%or0 or the .or& 'n&erneath the !o!'! men' click !o%ition .hen
the !o!'! men' i% '%e&. The %earch re%'lt% are %ho.n in the e%%age% ta( o) the e%%age Din&o..
Find in files
Fin& in )ile% i% a more !o.er)'l ver%ion o) Fin& '%age that %earche% all )ile% in a certain &irector" '%ing the *re!
tool. The *re! tool m'%t (e correctl" %et in ,re)erence% to the !ath o) the %"%temH% *re! 'tilit". *N+ *re! i%
recommen&e&.
The Enco&ing com(o (o; can (e '%e& to &e)ine the enco&ing o) the )ile% to (e %earche&. The cho%en enco&ing i%
'%e& to convert the entere& %earch te;t into an& to convert the %earch re%'lt% (ack to +TF-8. The E;tra o!tion%
)iel& i% '%e& to !a%% an" a&&itional arg'ment% to the gre! tool.
Filtering out 7ersion #ontrol files
Dhen '%ing the Gec'r%e in %'()ol&er% o!tion .ith a &irector" thatH% 'n&er ver%ion control0 "o' can %et the E;tra
o!tion% )iel& to '%e gre!H% --e;cl'&e )lag to )ilter o't )ilename%.
-NN E;am!le: --exc1ude=*.svn-base
The --e;cl'&e arg'ment onl" matche% the )ile name !art0 not the !ath. 6) "o' have *N+ *re! BC 2.$.2 "o' can '%e
the --e;cl'&e-&ir arg'ment to )ilter o't CN- an& hi&&en &irectorie% like .%vn.
E;am!le: --exc1ude-dir=.* --exc1ude-dir=CVS
'e*la#e
The Ge!lace &ialog i% '%e& )or re!lacing te;t in one or more o!en &oc'ment%.
The Ge!lace &ialog ha% the %ame o!tion% )or matching te;t a% the Fin& &ialog. -ee the %ection calle& atching
o!tion%.
The +%e reg'lar e;!re%%ion% o!tion a!!lie% (oth to the %earch %tring an& to the re!lacement te;t/ )or the latter
(ack re)erence% can (e '%e& -- %ee the entr" )or HTnH in Geg'lar e;!re%%ion%.
'e*la#e all
To re!lace %everal matche%0 click on the Ge!lace 3ll e;!an&er. Thi% .ill reveal %everal o!tion%:
6n 7oc'ment
6n -e%%ion
6n -election
Ge!lace 3ll 6n 7oc'ment .ill re!lace all matching te;t in the c'rrent &oc'ment. Ge!lace 3ll 6n -e%%ion &oe% the
%ame )or all o!en &oc'ment%. Ge!lace 3ll 6n -election .ill re!lace all matching te;t in the c'rrent %election o) the
c'rrent &oc'ment.
Go to tag definition
6) the c'rrent .or& i% the name o) a tag &e)inition 1like a )'nction (o&"2 an& the )ile containing the tag &e)inition
i% o!en0 thi% comman& .ill %.itch to that )ile an& go to the corre%!on&ing line n'm(er. The c'rrent .or& i% either
taken )rom the .or& neare%t the e&it c'r%or0 or the .or& 'n&erneath the !o!'! men' click !o%ition .hen the
!o!'! men' i% '%e&.
Go to tag de#laration
Like *o to tag &e)inition0 ('t )or a )or.ar& &eclaration %'ch a% a )'nction !rotot"!e or e;tern &eclaration in%tea&
o) a )'nction (o&".
Go to line
*o to a !artic'lar line n'm(er in the c'rrent )ile.
'egular e-*ressions
5o' can '%e reg'lar e;!re%%ion% in the Fin& an& Ge!lace &ialog% (" %electing the +%e reg'lar e;!re%%ion% check
(o;. The %"nta; i% ,4-6=-like0 a% &e%cri(e& in the ta(le (elo..
Note
1. -earching (ack.ar&% .ith reg'lar e;!re%%ion% i% not %'!!orte&.
2. Tr an& Tn are never matche& (eca'%e reg'lar e;!re%%ion %earche% are ma&e line !er line 1%tri!!e& o) en&-
o)-line char%2.
Y. The ,4-6= HOH reg'lar e;!re%%ion character )or o!tional matching i% not %'!!orte&.
In a regular e-*ression, the follo0ing #hara#ters are inter*reted
. atche% an" character.
1 Thi% mark% the %tart o) a region )or tagging a match.
2 Thi% mark% the en& o) a tagge& region.
Tn Dhere n i% 1 thro'gh 9 re)er% to the )ir%t thro'gh ninth tagge& region .hen re!lacing. For
e;am!le0 i) the %earch %tring .a% Fre&1P1-9Q2=== an& the re!lace %tring .a% -amT15550 .hen
a!!lie& to Fre&2=== thi% .o'l& generate -am2555.
TX Thi% matche% the %tart o) a .or&.
TB Thi% matche% the en& o) a .or&.
Tc 3 (ack%la%h )ollo.e& (" &0 70 %0 -0 . or D0 (ecome% a character cla%% 1(oth in%i&e an& o't%i&e
%et% PQ2.
&: &ecimal &igit%
7: an" char e;ce!t &ecimal &igit%
%: .hite%!ace 1%!ace0 Tt Tn Tr T) Tv2
-: an" char e;ce!t .hite%!ace 1%ee a(ove2
.: al!han'meric Z 'n&er%core 1change& (" '%er %etting2
D: an" char e;ce!t al!han'meric Z 'n&er%core 1%ee a(ove2
T; Thi% allo.% "o' to '%e a character ; that .o'l& other.i%e have a %!ecial meaning. For
e;am!le0 TP .o'l& (e inter!rete& a% P an& not a% the %tart o) a character %et. +%e TT )or a literal
(ack%la%h.
T;>> 3 (ack%la%h )ollo.e& (" ; an& t.o he;a &igit%0 (ecome% the character .ho%e 3%cii co&e i% e9'al
to the%e &igit%. 6) not )ollo.e& (" t.o &igit%0 it i% H;H char it%el).
P...Q atche% one o) the character% in the %et. 6) the )ir%t character in the %et i% [0 it matche% the
character% N4T in the %et0 i.e. com!lement% the %et. 3 %horthan& --E 1%tart &a%h en&2 i% '%e& to
%!eci)" a %et o) character% - '! to E0 incl'%ive. The %!ecial character% Q an& - have no %!ecial
meaning i) the" a!!ear a% the )ir%t char% in the %et. To incl'&e (oth0 !'t - )ir%t: P-Q3-\Q 1or A'%t
(ack%la%h them2.
E;am!le%:
P-Q]Q matche% the%e Y char%
PQ-]Q matche% )rom Q to ] char%
Pa-zQ an" lo.erca%e al!ha
P[-QQ an" char e;ce!t - an& Q
P[3-\Q an" char e;ce!t '!!erca%e al!ha
Pa-z3-\Q an" al!ha
[ Thi% matche% the %tart o) a line 1'nle%% '%e& in%i&e a %et0 %ee a(ove2.
W Thi% matche% the en& o) a line.
R Thi% matche% 0 or more time%. For e;am!le0 -aRm matche% -m0 -am0 -aam0 -aaam an& %o on.
E Thi% matche% 1 or more time%. For e;am!le0 -aEm matche% -am0 -aam0 -aaam an& %o on.
Note
Thi% ta(le i% a&a!te& )rom -cintilla an& -ciTE &oc'mentation0 &i%tri('te& 'n&er the Licen%e )or -cintilla an& -ciTE.
Tags
*ean" ha% ('ilt-in )'nctionalit" )or generating tag in)ormation 1aka K.ork%!ace tag%K2 )or %'!!orte& )ilet"!e%
.hen "o' o!en a )ile. 5o' can al%o have *ean" a'tomaticall" loa& e;ternal tag )ile% 1aka Kglo(al tag% )ile%K2 '!on
%tart'!0 or man'all" '%ing Tool% --B Loa& Tag%.
*ean" '%e% it% o.n tag )ile )ormat0 %imilar to .hat ctag% '%e% 1('t i% incom!ati(le .ith ctag%2. 5o' '%e *ean" to
generate glo(al tag% )ile%0 a% &e%cri(e& (elo..
%or+s*a#e tags
Tag% )or each &oc'ment are !ar%e& .henever a )ile i% loa&e& or %ave&. The%e are %ho.n in the -"m(ol li%t in the
-i&e(ar. The%e tag% are al%o '%e& )or a'tocom!letion o) %"m(ol% an& callti!% )or all &oc'ment% o!en in the
c'rrent %e%%ion that have the %ame )ilet"!e.
The *o to Tag comman&% can (e '%e& .ith all .ork%!ace tag%. -ee *o to tag &e)inition.
Glo$al tags
*lo(al tag% are '%e& to !rovi&e a'tocom!letion o) %"m(ol% an& callti!% .itho't having to o!en the
corre%!on&ing %o'rce )ile%. Thi% i% inten&e& )or li(rar" 3,6%0 a% the tag% )ile onl" ha% to (e '!&ate& .hen "o'
'!gra&e the li(rar".
5o' can loa& a c'%tom glo(al tag% )ile in t.o .a"%:
+%ing the Loa& Tag% comman& in the Tool% men'.
@" creating a &irector" F<.con)ig<gean"<tag%0 an& moving or %"mlinking the tag% )ile% there (e)ore %tarting
*ean".
@" creating a &irector" W!re)i;<%hare<gean"<tag%0 an& moving or %"mlinking the tag% )ile% there (e)ore
%tarting *ean". W!re)i; i% the in%tallation !re)i; 1%ee 6n%tallation !re)i;2.
5o' can either &o.nloa& the%e )ile% or generate "o'r o.n. The" have the )ormat:
name.1ang_ex.ags
langMe;t i% one o) the e;ten%ion% %et )or the )ilet"!e a%%ociate& .ith the tag%. -ee the %ection calle& Filet"!e
e;ten%ion% )or more in)ormation.
Default glo$al tags files
For %ome lang'age%0 a li%t o) glo(al tag% i% loa&e& .hen the corre%!on&ing )ilet"!e i% )ir%t '%e&. C'rrentl" the%e
are )or:
C -- *T8E an& *Li(
,a%cal
,>,
>TL -- Z%"m(ol/ com!letion0 e.g. )or am!er%an&0 co!"right0 etc.
LaTe=
,"thon
Glo$al tags file for&at
*lo(al tag% )ile% can have t.o &i))erent )ormat%:
Tagmanager )ormat
,i!e-%e!arate& )ormat
The )ir%t line o) glo(al tag% )ile% %ho'l& (e a comment0 intro&'ce& (" S )ollo.e& (" a %!ace an& a %tring like
)ormatC!i!e re%!ectivel" )ormatCtagmanager 1ca%e-%en%itive2. Thi% hel!% *ean" to rea& the )ile !ro!erl". 6) thi%
line i% mi%%ing0 *ean" trie% to a'to-&etect the '%e& )ormat ('t thi% might )ail.
The Tagmanager )ormat i% a (it more com!le; an& i% '%e& )or )ile% create& (" the gean" -g comman&. There i%
one tag !er line. 7i))erent tag attri('te% like the ret'rn val'e or the arg'ment li%t are %e!arate& .ith &i))erent
character% in&icating the t"!e o) the )ollo.ing arg'ment.
The ,i!e-%e!arate& )ormat i% ea%ier to rea& an& .rite. There i% one tag !er line an& &i))erent tag attri('te% are
%e!arate& (" the !i!e character 1]2. 3 line look% like:
basename|sring|(sring pah [, sring suffix|)|
The )ir%t )iel& i% the tag name 1'%'all" a )'nction name2.
The %econ& )iel& i% the t"!e o) the ret'rn val'e.
The thir& )iel& i% the arg'ment li%t )or thi% tag.
The )o'rth )iel& i% the &e%cri!tion )or thi% tag ('t c'rrentl" 'n'%e& an& %ho'l& (e le)t em!t".
E;ce!t )or the )ir%t )iel& 1tag name20 all other )iel& can (e le)t em!t" ('t the !i!e %e!arator m'%t a!!ear )or them.
5o' can ea%il" .rite "o'r o.n glo(al tag )ile% '%ing thi% )ormat. ?'%t %ave them in "o'r tag% &irector"0 a% &e%cri(e&
earlier in the %ection *lo(al tag%.
Generating a glo$al tags file
5o' can generate "o'r o.n glo(al tag% )ile% (" !ar%ing a li%t o) %o'rce )ile%. The comman& i%:
gean" -g P-,Q XTag FileB XFile li%tB
Tag File )ilename %ho'l& (e in the )ormat &e%cri(e& earlier -- %ee the %ection calle& *lo(al tag%.
File li%t i% a li%t o) )ilename%0 each .ith a )'ll !ath 1'nle%% "o' are generating C<CEE tag% an& have %et the
CFL3*- environment varia(le a!!ro!riatel"2.
-, or --no-!re!roce%%ing &i%a(le% '%ing the C !re-!roce%%or to !roce%% Sincl'&e &irective% )or C<CEE
%o'rce )ile%. +%e thi% o!tion i) "o' .ant to %!eci)" each %o'rce )ile on the comman&-line in%tea& o) '%ing
a Hma%terH hea&er )ile. 3l%o can (e '%e)'l i) "o' &onHt .ant to %!eci)" the CFL3*- environment varia(le.
E;am!le )or the .;7 li(rar" )or the 7 !rogramming lang'age:
geany -g wxd.d.ags /home/username/wxd/wx/*.d
*enerating C<CEE tag )ile%:
For C<CEE tag )ile%0 gcc an& gre! are re9'ire&0 %o that hea&er )ile% can (e !re!roce%%e& to incl'&e an" other
hea&er% the" &e!en& '!on.
For C<CEE )ile%0 the environment varia(le CFL3*- %ho'l& (e %et .ith a!!ro!riate -6<!ath incl'&e !ath%. The
)ollo.ing e;am!le .ork% .ith the (a%h %hell0 generating tag% )or the *nome+6 li(rar":
CELAGS=p'g-config --cf1ags 1ibgnomeui-2.0 geany -g gnomeui.c.ags \
/usr/inc1ude/1ibgnomeui-2.0/gnome.h
5o' can a&a!t thi% comman& to '%e CFL3*- an& hea&er )ile% a!!ro!riate )or .hichever li(rarie% "o' .ant.
Ge!lacing the &e)a'lt C<CEE tag% )ile:
*ean" c'rrentl" '%e% a &e)a'lt glo(al tag% )ile c99.tag% )or C an& CEE0 commonl" in%talle& in <'%r<%hare<gean".
Thi% )ile can (e re!lace& .ith one containing tag% !ar%e& )rom a &i))erent %et o) hea&er )ile%. Dhen *ean" i% ne;t
%tarte&0 "o'r c'%tom tag% )ile .ill (e loa&e& in%tea& o) the &e)a'lt c99.tag%. 5o' %ho'l& kee! a co!" o) the
generate& tag% )ile (eca'%e it .ill get over.ritten .hen '!gra&ing *ean".
Ignore tags
5o' can al%o ignore certain tag% i) the" .o'l& lea& to .rong !ar%ing o) the co&e. -im!l" create a )ile calle&
Kignore.tag%K in "o'r *ean" con)ig'ration &irector" 1'%'all" F<.con)ig<gean"<2. Then li%t all tag% "o' .ant to ignore
in thi% )ile0 %e!arate& (" %!ace% an&<or ne.line%.
ore &etaile& in)ormation a(o't the '%age )rom the E;'(erant Ctag% man'al !age:
-!eci)ie% a li%t o) i&enti)ier% .hich are to (e %!eciall" han&le&
.hile !ar%ing C an& CEE %o'rce )ile%. Thi% o!tion i% %!eci)icall"
!rovi&e& to han&le %!ecial ca%e% ari%ing thro'gh the '%e o)
!re-!roce%%or macro%. Dhen the i&enti)ier% li%te& are %im!le i&enti)ier%0
the%e i&enti)ier% .ill (e ignore& &'ring !ar%ing o) the %o'rce )ile%.
6) an i&enti)ier i% %'))i;e& .ith a HEH character0 ctag% .ill al%o
ignore an" !arenthe%i%-enclo%e& arg'ment li%t .hich ma" imme&iatel"
)ollo. the i&enti)ier in the %o'rce )ile%.
6) t.o i&enti)ier% are %e!arate& .ith the HCH character0 the )ir%t
i&enti)ier% i% re!lace& (" the %econ& i&enti)ier% )or !ar%ing !'r!o%e%.
For even more &etaile& in)ormation !lea%e rea& the man'al !age o) E;'(erant Ctag%.
Preferen#es
5o' ma" a&A'%t *ean"H% %etting% '%ing the E&it --B ,re)erence% &ialog. 3n" change% "o' make there can (e
a!!lie& (" hitting either the 3!!l" or the 48 ('tton. The%e %etting% .ill !er%i%t (et.een *ean" %e%%ion%. Note
that mo%t %etting% here have &e%cri!tive !o!'! ('((le hel! -- A'%t hover the mo'%e over the item in 9'e%tion to
get hel! on it.
5o' ma" al%o a&A'%t %ome Nie. %etting% 1'n&er the Nie. men'2 that !er%i%t (et.een *ean" %e%%ion%. The %etting%
'n&er the 7oc'ment men'0 ho.ever0 are onl" )or the c'rrent &oc'ment an& revert to &e)a'lt% .hen re%tarting
*ean".
There are al%o %ome rarer >i&&en !re)erence%.
Note
6n the !aragra!h% that )ollo.0 the te;t &e%cri(ing a &ialog ta( come% a)ter the %creen%hot o) that ta(.
General ,tartu* ta$ in *referen#es dialog
,tartu*
Loa& )ile% )rom the la%t %e%%ion
4n %tart'!0 loa& the %ame )ile% "o' ha& o!en the la%t time "o' '%e& *ean".
Loa& virt'al terminal %'!!ort
Loa& the li(rar" )or r'nning a terminal in the me%%age .in&o. area.
Ena(le !l'gin %'!!ort
3llo. !l'gin% to (e '%e& in *ean".
,hutdo0n
-ave .in&o. !o%ition an& geometr"
-ave the c'rrent !o%ition an& %ize o) the main .in&o. %o ne;t time "o' o!en *ean" itH% in the %ame
location.
Con)irm E;it
>ave a &ialog !o! '! to con)irm that "o' reall" .ant to 9'it *ean".
Paths
-tart'! !ath
,ath to %tart in .hen o!ening or %aving )ile%. 6t m'%t (e an a(%ol'te !ath. Leave it (lank to '%e the c'rrent
.orking &irector".
,roAect )ile%
,ath to %tart in .hen o!ening !roAect )ile%.
E;tra !l'gin !ath
*ean" look% (" &e)a'lt in the glo(al in%tallation !ath an& in the con)ig'ration &irector". The !ath entere&
here .ill (e %earche& a&&itionall" )or !l'gin%. +%'all" "o' &o not nee& to %et an a&&itional !ath to %earch
)or !l'gin%. 6t might (e '%e)'l .hen *ean" i% in%talle& on a m'lti-'%er machine an& a&&itional !l'gin%
%ho'l& (e availa(le in a c'%tom location )or all '%er%. Leave (lank to not %et an a&&itional look'! !ath.
General Mis#ellaneous ta$ in *referen#es dialog
Mis#ellaneous
@ee! on error% .hen com!ilation ha% )ini%he&
>ave the com!'ter make a (ee!ing %o'n& .hen com!ilation o) "o'r !rogram ha% com!lete& or an" error%
occ'rre&.
-.itch %tat'% me%%age li%t at ne. me%%age
-.itch to the %tat'% me%%age ta( 1in the note(ook .in&o. at the (ottom2 once a ne. %tat'% me%%age
arrive%.
-'!!re%% %tat'% me%%age% in the %tat'% (ar
Gemove all me%%age% )rom the %tat'% (ar. The me%%age% are %till &i%!la"e& in the %tat'% me%%age% .in&o..
3'to-)oc'% .i&get% 1)oc'% )ollo.% mo'%e2
*ive the )oc'% a'tomaticall" to .i&get% (elo. the mo'%e c'r%or. Thi% .ork% )or the main e&itor .i&get0 the
%cri((le0 the tool(ar %earch )iel& goto line )iel&% an& the NTE.
,ear#h
3l.a"% .ra! %earch an& hi&e the Fin& &ialog
3l.a"% .ra! %earch aro'n& the &oc'ment an& hi&e the Fin& &ialog a)ter clicking Fin& Ne;t<,revio'%.
+%e the c'rrent .or& 'n&er the c'r%or )or Fin& &ialog%
+%e c'rrent .or& 'n&er the c'r%or .hen o!ening the Fin&0 Fin& in File% or Ge!lace &ialog an& there i% no
%election. Dhen thi% o!tion i% &i%a(le&0 the %earch term o) the la%t '%e o) the a!!ro!riate Fin& &ialog i%
'%e&.
+%e the c'rrent )ileH% &irector" )or Fin& in File%
Dhen o!ening the Fin& in File% &ialog0 %et the &irector" to %earch to the &irector" o) the c'rrent active )ile.
Dhen thi% o!tion i% &i%a(le&0 the &irector" o) the la%t '%e o) the Fin& in File% &ialog i% '%e&.
Pro9e#ts
+%e !roAect-(a%e& %e%%ion )ile%
-ave "o'r c'rrent %e%%ion .hen clo%ing !roAect%. 5o' .ill (e a(le to re%'me &i))erent !roAect %e%%ion%0
a'tomaticall" o!ening the )ile% "o' ha& o!en !revio'%l".
-tore !roAect )ile in%i&e the !roAect (a%e &irector"
Dhen creating ne. !roAect%0 the &e)a'lt !ath )or the !roAect )ile contain% the !roAect (a%e !ath. Ditho't
thi% o!tion ena(le&0 the &e)a'lt !roAect )ile !ath i% one level a(ove the !roAect (a%e !ath. 6n an" ca%e0 "o'
can ea%il" %et the )inal !roAect )ile !ath in the Ne. ,roAect &ialog. Thi% o!tion i% A'%t )or "o'r convenience to
get a !ro!er &e)a'lt !ath.
Interfa#e ta$ in *referen#es dialog
,ide$ar
-ho. %"m(ol li%t
-ho. the li%t o) )'nction%0 varia(le%0 an& other in)ormation in the c'rrent &oc'ment "o' are e&iting.
-ho. &oc'ment% li%t
-ho. all the &oc'ment% "o' have o!en c'rrentl". Thi% can (e '%e& to change (et.een &oc'ment% 1%ee
-.itching (et.een &oc'ment%2 an& to !er)orm %ome common o!eration% %'ch a% %aving0 clo%ing an&
reloa&ing.
-ho. )'ll !ath name in &oc'ment% li%t
-ho. the )'ll &irector" !ath o) the )ile% "o' are e&iting in the 7oc'ment% li%t.
Fonts
E&itor
Change the )ont '%e& to &i%!la" &oc'ment%.
-"m(ol li%t
Change the )ont '%e& )or the -"m(ol% %i&e(ar ta(.
e%%age .in&o.
Change the )ont '%e& )or the me%%age .in&o. area.
Editor ta$s
-ho. e&itor ta(%
-ho. a note(ook ta( )or all &oc'ment% %o "o' can %.itch (et.een them '%ing the mo'%e 1in%tea& o) '%ing
the 7oc'ment% .in&o.2.
-ho. clo%e ('tton%
ake each ta( %ho. a clo%e ('tton %o "o' can ea%il" clo%e o!en &oc'ment%.
,lacement o) ne. )ile ta(%
Dhether to create a &oc'ment .ith it% note(ook ta( to the le)t or right o) all e;i%ting ta(%.
7o'(le-clicking hi&e% all a&&itional .i&get%
Dhether to call the Nie.-BToggle 3ll 3&&itional Di&get% comman& .hen &o'(le-clicking on a note(ook ta(.
Ta$ *ositions
E&itor
-et the !o%itioning o) the e&itorH% note(ook ta(% to the right0 le)t0 to!0 or (ottom o) the e&iting .in&o..
-i&e(ar
-et the !o%itioning o) the %i&e(arH% note(ook ta(% to the right0 le)t0 to!0 or (ottom o) the %i&e(ar .in&o..
e%%age .in&o.
-et the !o%itioning o) the me%%age .in&o.H% note(ook ta(% to the right0 le)t0 to!0 or (ottom o) the me%%age
.in&o..
Mis#ellaneous
-ho. %tat'% (ar
-ho. the %tat'% (ar at the (ottom o) the main .in&o.. 6t give% in)ormation a(o't the )ile "o' are e&iting
like the line an& col'mn "o' are on0 .hether an" mo&i)ication% .ere &one0 the )ile enco&ing0 the )ilet"!e
an& other in)ormation.
Tool$ar ta$ in *referen#es dialog
3))ect% the main tool(ar 'n&erneath the men' (ar.

Tool$ar
-ho. Tool(ar
Dhether to %ho. the tool(ar.
3!!en& Tool(ar to the en'
3llo.% to a!!en& the tool(ar to the main men' (ar in%tea& o) !lacing it (elo.. Thi% i% '%e)'l to %ave
vertical %!ace.
A**earan#e
6con -t"le
-elect the tool(ar icon %t"le to '%e - either icon% an& te;t0 A'%t icon% or A'%t te;t.
6con %ize
-elect the %ize o) the icon% "o' %ee 1large0 %mall or ver" %mall2.
Editor Features ta$ in *referen#es dialog
Features
Line .ra!!ing
-ho. long line% .ra!!e& aro'n& to ne. &i%!la" line%.
Ena(le K%martK home ke"
Dhether to move the c'r%or to the )ir%t non-.hite%!ace character on the line .hen "o' hit the home ke"
on "o'r ke"(oar&. ,re%%ing it again .ill go to the ver" %tart o) the line.
7i%a(le 7rag an& 7ro!
7o not allo. the &ragging an& &ro!!ing o) %electe& te;t in &oc'ment%.
Ena(le )ol&ing
3llo. gro'!% o) line% in a &oc'ment to (e colla!%e& )or ea%ier navigation<e&iting.
Fol&<+n)ol& all chil&ren o) a )ol& !oint
Dhether to )ol&<'n)ol& all chil& )ol& !oint% .hen a !arent line i% )ol&e&.
+%e in&icator% to %ho. com!ile error%
+n&erline line% .ith com!ile error% '%ing re& %9'iggle% to in&icate them in the e&itor area.
Ne.line %tri! trailing %!ace%
Gemove an" .hite %!ace at the en& o) the line .hen "o' hit the Enter<Get'rn ke".
Line (reaking col'mn
The e&itor col'mn n'm(er to in%ert a ne.line at .hen Line @reaking i% ena(le& )or the c'rrent &oc'ment.
Comment toggle marker
3 %tring .hich i% a&&e& .hen toggling a line comment in a %o'rce )ile. 6t i% '%e& to mark the comment a%
toggle&.
Editor Indentation ta$ in *referen#es dialog
Indentation grou*
-ee 6n&entation )or more in)ormation.
T"!e
Dhen *ean" in%ert% in&entation0 .hether to '%e:
?'%t Ta(%
?'%t -!ace%
Ta(% an& -!ace%0 &e!en&ing on ho. m'ch in&entation i% on a line
The Ta(% an& -!ace% in&ent t"!e i% al%o kno.n a% -o)t ta( %'!!ort in %ome other e&itor%.
Di&th
The .i&th o) a %ingle in&ent %ize in %!ace%. @" &e)a'lt the in&ent %ize i% e9'ivalent to I %!ace%.
>ar& ta( .i&th
Dhen the Ta(% an& -!ace% in&ent t"!e i% ena(le&0 thi% i% the &i%!la" %ize o) a ta(. 4ther.i%e thi% i% ignore&.
3ltho'gh con)ig'ra(le0 thi% %ho'l& '%'all" (e %et to 8.
7etect )rom )ile
Tr" to &etect an& %et the in&ent t"!e (a%e& on )ile content0 .hen a )ile i% o!ene&.
3'to-in&ent mo&e
The t"!e o) a'to-in&entation "o' .i%h to '%e a)ter !re%%ing Enter0 i) an".
@a%ic
?'%t a&& the in&entation o) the !revio'% line.
C'rrent char%
3&& in&entation (a%e& on the c'rrent )ilet"!e an& an" character% at the en& o) the line %'ch a% U0 V
)or C0 : )or ,"thon.
atch (race%
Like C'rrent char% ('t )or C-like lang'age%0 make a clo%ing V (race line '! .ith the matching o!ening
(race.
Ta( ke" in&ent%
6) %et0 !re%%ing ta( .ill in&ent the c'rrent line or %election0 an& 'nin&ent .hen !re%%ing -hi)t-ta(.
4ther.i%e0 the ta( ke" .ill in%ert a ta( character into the &oc'ment 1.hich can (e &i))erent )rom
in&entation0 &e!en&ing on the in&ent t"!e2.
Note
There are al%o %e!arate con)ig'ra(le ke"(in&ing% )or in&ent Z 'nin&ent0 ('t thi% !re) allo.% the ta( ke" to
have &i))erent meaning% in &i))erent conte;t% - e.g. )or %ni!!et com!letion.
Editor !o&*letions ta$ in *referen#es dialog
!o&*letions
-ni!!et Com!letion
Dhether to re!lace %!ecial ke".or&% a)ter t"!ing Ta( into a !re-&e)ine& te;t %ni!!et. -ee +%er-&e)ina(le
%ni!!et%.
=L tag a'tocom!letion
Dhen "o' o!en an =L tag a'tomaticall" generate it% com!letion tag.
3'tomatic contin'ation m'lti-line comment%
Contin'e a'tomaticall" m'lti-line comment% in lang'age% like C0 CEE an& ?ava .hen a ne. line i% entere&
in%i&e %'ch a comment. Dith thi% o!tion ena(le&0 *ean" .ill in%ert a R on ever" ne. line in%i&e a m'lti-line
comment0 )or e;am!le .hen "o' !re%% ret'rn in the )ollo.ing C co&e:
/*
* This is a C mu1i-1ine commen, press <Reurn>
then *ean" .o'l& in%ert:
*
on the ne;t line .ith the correct in&entation (a%e& on the !revio'% line0 a% long a% the m'lti-line i% not
clo%e& (" R<.
3'tocom!lete %"m(ol%
Dhen "o' %tart to t"!e a %"m(ol name0 look )or the )'ll %tring to allo. it to (e com!lete& )or "o'.
3'tocom!lete all .or&% in &oc'ment
Dhen "o' %tart to t"!e a .or&0 *ean" .ill %earch the .hole &oc'ment )or .or&% %tarting .ith the t"!e&
!art to com!lete it0 a%%'ming there are no tag name% to %ho..
7ro! re%t o) .or& on com!letion
Gemove an" .or& !art to the right o) the c'r%or .hen choo%ing a com!letion li%t item.
Character% to t"!e )or a'tocom!letion
N'm(er o) character% o) a .or& to t"!e (e)ore a'tocom!letion i% &i%!la"e&.
Com!letion li%t height
The n'm(er o) ro.% to &i%!la" )or the a'tocom!letion .in&o..
a;. %"m(ol name %'gge%tion%
The ma;im'm n'm(er o) item% in the a'tocom!letion li%t.
Auto/#lose (uotes and $ra#+ets
*ean" can a'tomaticall" in%ert a clo%ing (racket an& 9'ote character% .hen "o' o!en them. For in%tance0 "o'
t"!e a 1 an& *ean" .ill a'tomaticall" in%ert 2. Dith the )ollo.ing o!tion%0 "o' can &e)ine )or .hich character% thi%
%ho'l& .ork.
,arenthe%i% 1 2
3'to-clo%e !arenthe%i% .hen t"!ing an o!ening one
C'rl" (racket% U V
3'to-clo%e !arenthe%i% .hen t"!ing an o!ening one
-9'are (racket% P Q
3'to-clo%e !arenthe%i% .hen t"!ing an o!ening one
-ingle 9'ote% H H
3'to-clo%e !arenthe%i% .hen t"!ing an o!ening one
7o'(le 9'ote% K K
3'to-clo%e !arenthe%i% .hen t"!ing an o!ening one
Editor Dis*lay ta$ in *referen#es dialog
Thi% i% )or vi%'al element% &i%!la"e& in the e&itor .in&o..
Dis*lay
6nvert %"nta; highlighting color%
+%e .hite te;t on a (lack (ackgro'n& an& invert all color%. 6) the invertMall %etting in )ilet"!e%.common i%
%et0 thi% o!tion i% al.a"% ena(le&. -ee -!ecial )ile )ilet"!e%.common )or &etail%.
Thi% o!tion re9'ire% a re%tart o) *ean". The val'e o) thi% o!tion
-ho. in&en&ation g'i&e%
-ho. vertical line% to hel! %ho. ho. m'ch lea&ing in&entation there i% on each line.
-ho. .hite%!ace%
ark all ta(% .ith an arro. K--BK %"m(ol an& %!ace% .ith &ot% to %ho. .hich kin&% o) .hite%!ace are '%e&.
-ho. line en&ing%
7i%!la" a %"m(ol ever".here that a carriage ret'rn or line )ee& i% !re%ent.
-ho. line n'm(er%
-ho. or hi&e the Line N'm(er margin.
-ho. marker% margin
-ho. or hi&e the %mall margin right o) the line n'm(er%0 .hich i% '%e& to mark line%.
-to! %crolling at la%t line
Dhen ena(le& *ean" %to!% %crolling .hen at the la%t line o) the &oc'ment. 4ther.i%e "o' can %croll one
more !age even i) there are no real line%.
Long line &ar+er
The long line marker hel!% to in&icate overl"-long line%0 or a% a hint to the '%er )or .hen to (reak the line.
T"!e
Line
-ho. a thin vertical line in the e&itor .in&o. at the given col'mn !o%ition.
@ackgro'n&
Change the (ackgro'n& color o) character% a)ter the given col'mn !o%ition to the color %et (elo..
1Thi% i% recommen&e& over the Line %etting i) "o' '%e !ro!ortional )ont%2.
7i%a(le&
7onHt mark long line% at all.
Long line marker
-et thi% val'e to a val'e greater than zero to %!eci)" the col'mn .here it %ho'l& a!!ear.
Long line marker color
-et the color o) the long line marker.
Files ta$ in *referen#es dialog
Ne0 files
4!en ne. &oc'ment% )rom the comman&-line
Dhether to create ne. &oc'ment% .hen !a%%ing )ilename% that &onHt e;i%t )rom the comman&-line.
7e)a'lt enco&ing 1ne. )ile%2
The t"!e o) )ile enco&ing "o' .i%h to '%e .hen creating )ile%.
+%e& )i;e& enco&ing .hen o!ening )ile%
3%%'me all )ile% "o' are o!ening are '%ing the t"!e o) enco&ing %!eci)ie& (elo..
7e)a'lt enco&ing 1e;i%ting )ile%2
4!en% all )ile% .ith the %!eci)ie& enco&ing in%tea& o) a'to-&etecting it. +%e thi% o!tion .hen itH% not
!o%%i(le )or *ean" to &etect the e;act enco&ing.
7e)a'lt en& o) line character%
The en& o) line character% to .hich %ho'l& (e '%e& )or ne. )ile%. 4n Din&o.% %"%tem%0 "o' generall" .ant
to '%e CG<LF .hich are the common character% to mark line (reak%. 4n +ni;-like %"%tem%0 LF i% &e)a'lt an&
CG i% '%e& on 3C %"%tem%.
,a7ing files
,er)orm %!ecial )ormatting o!eration% .hen a &oc'ment i% %ave&. The%e can each (e 'n&one .ith the +n&o
comman& a% '%'al.
En%'re ne.line at )ile en&
3&& a ne.line at the en& o) the &oc'ment i) one i% mi%%ing.
-tri! trailing %!ace%
Gemove the trailing %!ace% on each line o) the &oc'ment.
Ge!lace ta(% (" %!ace
Ge!lace all ta(% in the &oc'ment .ith the e9'ivalent n'm(er o) %!ace%.
Note
6t i% (etter to '%e %!ace% to in&ent than '%e thi% !re)erence - %ee 6n&entation.
Mis#ellaneous
Gecent )ile% li%t length
The n'm(er o) )ile% to remem(er in the recentl" '%e& )ile% li%t.
7i%k check timeo't
The n'm(er o) %econ&% to !erio&icall" check the c'rrent &oc'mentH% )ile on &i%k in ca%e it ha% change&.
-etting it to 0 .ill &i%a(le thi% )eat're.
Note
The%e check% are onl" !er)orme& on local )ile%. Gemote )ile% are not checke& )or change% &'e to
!er)ormance i%%'e% 1remote )ile% are )ile% in F<.gv)%<2.
Tools ta$ in *referen#es dialog
Tool *aths
ake
The location o) the make e;ec'ta(le.
Terminal
The location o) "o'r terminal e;ec'ta(le.
@ro.%er
The location o) "o'r .e( (ro.%er e;ec'ta(le.
*re!
The location o) the gre! e;ec'ta(le.
Note
For Din&o.% '%er%: at the time o) .riting it i% recommen&e& to '%e the gre!.e;e )rom the +n;+til% !roAect
1htt!:<<%o'rce)orge.net<!roAect%<'n;'til%2. The gre!.e;e )rom the ing. !roAect )or in%tance might not .ork .ith
*ean" at the moment.
!o&&ands
Conte;t action
-et thi% to a comman& to e;ec'te on the c'rrent .or&. 5o' can '%e the KJ%K .il&car& to !a%% the c'rrent
.or& (elo. the c'r%or to the %!eci)ie& comman&.
Te&*late ta$ in *referen#es dialog
Thi% &ata i% '%e& a% meta &ata )or vario'% tem!late te;t to in%ert into a &oc'ment0 %'ch a% the )ile hea&er. 5o'
onl" nee& to %et )iel&% that "o' .ant to '%e in "o'r tem!late )ile%.
Note
For change% ma&e here to take e))ect a re%tart o) gean" i% re9'ire&.
Te&*late data
7evelo!er
The name o) the &evelo!er .ho .ill (e creating )ile%.
6nitial%
The initial% o) the &evelo!er.
ail a&&re%%
The email a&&re%% o) the &evelo!er.
Note
5o' ma" .i%h to a&& anti-%!am mark'!0 e.g. nameXatB%iteX&otBe;t.
Com!an"
The com!an" the &evelo!er i% .orking )or.
6nitial ver%ion
The initial ver%ion o) )ile% "o' .ill (e creating.
5ear
-!eci)" a )ormat )or the the U"earV .il&car&. 5o' can '%e an" conver%ion %!eci)ier% .hich can (e '%e& .ith
the 3N-6 C %tr)time )'nction. For &etail% !lea%e %ee htt!:<<man.c;<%tr)time.
7ate
-!eci)" a )ormat )or the the U&ateV .il&car&. 5o' can '%e an" conver%ion %!eci)ier% .hich can (e '%e& .ith
the 3N-6 C %tr)time )'nction. For &etail% !lea%e %ee htt!:<<man.c;<%tr)time.
7ate Z Time
-!eci)" a )ormat )or the the U&atetimeV .il&car&. 5o' can '%e an" conver%ion %!eci)ier% .hich can (e '%e&
.ith the 3N-6 C %tr)time )'nction. For &etail% !lea%e %ee htt!:<<man.c;<%tr)time.
Key$inding ta$ in *referen#es dialog
There are %ome han&" comman&% in here that are not0 (" &e)a'lt0 (o'n& to a ke" com(ination0 an& ma" not (e
availa(le a% a men' item.
Note
For more in)ormation %ee the %ection calle& 8e"(in&ing%.
Printing ta$ in *referen#es dialog
+%e e;ternal comman& )or !rinting
+%e a %"%tem comman& to !rint "o'r )ile o't.
+%e native *T8 !rinting
Let the *T8 *+6 toolkit han&le "o'r !rint re9'e%t.
,rint line n'm(er%
,rint the line n'm(er% on the le)t o) "o'r !a!er.
,rint !age n'm(er
,rint the !age n'm(er on the (ottom right o) "o'r !a!er.
,rint !age hea&er
,rint a hea&er on ever" !age that i% %ent to the !rinter.
+%e (a%e name o) the !rinte& )ile
7onHt '%e the entire !ath )or the hea&er0 onl" the )ilename.
7ate )ormat
>o. the &ate %ho'l& (e !rinte&. 5o' can '%e the %ame )ormat %!eci)ier% a% in the 3N-6 C )'nction
%tr)time12. For &etail% !lea%e %ee htt!:<<man.c;<%tr)time.
Ter&inal 1"TE2 ta$ in *referen#es dialog
-ee al%o: Nirt'al terminal em'lator .i&get 1NTE2.
Ter&inal 0idget
Terminal )ont
-elect the )ont that .ill (e '%e& in the terminal em'lation control.
Foregro'n& color
-elect the )ont color.
@ackgro'n& color
-elect the (ackgro'n& color o) the terminal.
-croll(ack line%
The n'm(er o) line% ('))ere& %o that "o' can %croll tho'gh the hi%tor".
-hell
The location o) the %hell on "o'r %"%tem.
-croll on ke"%troke
-croll the terminal to the !rom!t line .hen !re%%ing a ke".
-croll on o't!'t
-croll the o't!'t &o.n.
C'r%or (link%
Let the terminal c'r%or (link.
4verri&e *ean" ke"(in&ing%
3llo. the NTE to receive ke"(oar& %hortc't% 1a!art )rom )oc'% comman&%2.
7i%a(le men' %hortc't ke" 1F10 (" &e)a'lt2
7i%a(le the men' %hortc't .hen "o' are in the virt'al terminal.
Follo. !ath o) the c'rrent )ile
ake the !ath o) the terminal change accor&ing to the !ath o) the c'rrent )ile.
E;ec'te !rogram% in NTE
E;ec'te !rogram% in the virt'al terminal in%tea& o) '%ing the e;ternal terminal tool.
7onHt '%e r'n %cri!t
7onHt '%e the %im!le r'n %cri!t .hich i% '%'all" '%e& to &i%!la" the e;it %tat'% o) the e;ec'te& !rogram.
Thi% can (e '%e)'l i) "o' alrea&" have a !rogram r'nning in the NTE like a ,"thon con%ole 1e.g. i!"thon2.
+%e thi% .ith care.
Pro9e#t Manage&ent
,roAect anagement i% o!tional in *ean". C'rrentl" it can (e '%e& )or:
-toring an& o!ening %e%%ion )ile% on a !roAect (a%i%.
G'nning ake )rom the !roAectH% (a%e &irector".
-etting a c'%tom G'n comman& %!eci)ic to the !roAect.
3 li%t o) %e%%ion )ile% can (e %tore& an& o!ene& .ith the !roAect .hen the +%e !roAect-(a%e& %e%%ion )ile%
!re)erence i% ena(le&0 in the ,roAect gro'! o) the ,re)erence% &ialog.
3% long a% a !roAect i% o!en0 the ake an& G'n comman&% .ill '%e the !roAectH% %etting%0 in%tea& o) the &e)a'lt%.
The%e .ill (e '%e& .hichever &oc'ment i% c'rrentl" &i%!la"e&.
The c'rrent !roAectH% %etting% are %ave& .hen it i% clo%e&0 or .hen *ean" i% %h't&o.n. Dhen re%tarting *ean"0
the !revio'%l" o!ene& !roAect )ile that .a% in '%e at the en& o) the la%t %e%%ion .ill (e reo!ene&.
@elo. are the comman&% '%e& to create0 mo&i)"0 o!en an& clo%e !roAect%.
Ne0 Pro9e#t
To create a ne. !roAect0 )ill in the Name )iel&. @" &e)a'lt thi% .ill %et'! a ne. !roAect )ile F<!roAect%<name.gean".
+%'all" itH% (e%t to %tore all "o'r !roAect )ile% in the %ame &irector" 1the" are in&e!en&ent o) an" %o'rce &irector"
tree%2.
The @a%e !ath te;t )iel& i% %et'! to '%e F<!roAect%<name. Thi% can %a)el" (e %et to an" e;i%ting !ath -- it .ill not
to'ch the )ile %tr'ct're containe& in it.
Pro9e#t Pro*erties
5o' can %et an o!tional &e%cri!tion )or the !roAect0 ('t it i% not '%e& el%e.here (" *ean".
The @a%e !ath )iel& i% '%e& a% the &irector" to r'n the ake an& ake c'%tom comman&% in. 6t i% al%o '%e& a%
.orking &irector" )or the !roAect %!eci)ic G'n comman&. The %!eci)ie& !ath can (e an a(%ol'te !ath or relative to
the !roAectH% )ile name.
Ma+e in $ase *ath
Thi% %etting make% the @'il&-Bake comman& '%e the !roAectH% (a%e !ath. +ncheck thi% i) "o' .ant to '%e the
c'rrent )ileH% &irector" in%tea&.
'un #o&&and
The G'n comman& overri&e% the &e)a'lt r'n comman&. 5o' can %et thi% to the e;ec'ta(le or main %cri!t )ile )or
the !roAect0 an& a!!en& an" comman&-line arg'ment%.
The )ollo.ing varia(le% can (e '%e&:
J) -- com!lete )ilename .itho't !ath
Je -- )ilename .itho't !ath an& .itho't e;ten%ion
-ee P('il&M%etting%Q -ection )or &etail%.
.*en Pro9e#t
The 4!en comman& &i%!la"% a %tan&ar& )ile choo%er0 %tarting in F<!roAect%. Choo%e a !roAect )ile name& .ith the
.gean" e;ten%ion.
Dhen !roAect %e%%ion %'!!ort i% ena(le&0 *ean" .ill clo%e the c'rrentl" o!en )ile% an& o!en the %e%%ion )ile%
a%%ociate& .ith the !roAect.
!lose Pro9e#t
,roAect )ile %etting% are %ave& .hen the !roAect i% clo%e&.
Dhen !roAect %e%%ion %'!!ort i% ena(le&0 *ean" .ill clo%e the !roAect %e%%ion )ile% an& o!en an" !revio'%l"
clo%e& &e)a'lt %e%%ion )ile%.
)uild syste&
*ean" ha% an integrate& ('il& %"%tem. Fir%tl" thi% mean% that the c'rrent %o'rce )ile .ill (e %ave& (e)ore it i%
!roce%%e&. Thi% i% )or convenience %o that "o' &onHt nee& to kee! %aving %mall change% to the c'rrent )ile (e)ore
('il&ing.
-econ&l" the o't!'t )or Com!ile0 @'il& an& ake action% .ill (e ca!t're& in the Com!iler note(ook ta( o) the
me%%age% .in&o.. 6) there are an" .arning% or error% .ith line n'm(er% %ho.n in re& in the Com!iler o't!'t
ta(0 "o' can click on them an& *ean" .ill %.itch to the relevant %o'rce )ile 1or o!en it2 an& mark the line n'm(er
%o the !ro(lem can (e correcte&. *ean" .ill al%o %et in&icator% )or .arning% or error% .ith line n'm(er%.
Ti*
6) *ean"H% &e)a'lt error me%%age !ar%ing &oe% not !ar%e error% )or the tool "o'Hre '%ing0 "o' can %et a c'%tom
rege;. -ee Filet"!e &e)inition )ile% an& the P('il&M%etting%Q -ection.
7e!en&ing on the c'rrent )ileH% )ilet"!e0 the @'il& men' .ill contain the )ollo.ing item%:
Com!ile
@'il&
ake 3ll
ake C'%tom Target
ake 4(Aect
E;ec'te
-et 6ncl'&e% an& 3rg'ment%
!o&*ile
The Com!ile comman& ha% &i))erent '%e% )or &i))erent kin&% o) )ile%.
For com!ila(le lang'age% %'ch a% C an& CEE0 the Com!ile comman& i% %et'! to com!ile the c'rrent %o'rce )ile
into a (inar" o(Aect )ile.
?ava %o'rce )ile% .ill (e com!ile& to cla%% )ile ("teco&e. 6nter!rete& lang'age% %'ch a% ,erl0 ,"thon0 G'(" .ill
com!ile to ("teco&e i) the lang'age %'!!ort% it0 or .ill r'n a %"nta; check0 or )ailing that .ill r'n the )ile in it%
lang'age inter!reter.
)uild
For com!ila(le lang'age% %'ch a% C an& CEE0 the @'il& comman& .ill link the c'rrent %o'rce )ileH% e9'ivalent
o(Aect )ile into an e;ec'ta(le. 6) the o(Aect )ile &oe% not e;i%t0 the %o'rce .ill (e com!ile& an& linke& in one %te!0
!ro&'cing A'%t the e;ec'ta(le (inar".
6nter!rete& lang'age% &o not '%e the @'il& comman&.
Ma+e all
Thi% e))ectivel" r'n% Kmake allK in the %ame &irector" a% the c'rrent )ile.
Note
For each o) the ake comman&%0 The ake tool !ath m'%t (e correctl" %et in the Tool% ta( o) the ,re)erence%
&ialog.
Ma+e #usto& target
Thi% i% %imilar to r'nning Hake allH ('t "o' .ill (e !rom!te& )or the make target name to (e !a%%e& to the ake
tool. For e;am!le0 t"!ing HcleanH in the &ialog !rom!t .ill r'n Kmake cleanK.
Ma+e o$9e#t
ake o(Aect .ill r'n Kmake c'rrentM)ile.oK in the %ame &irector" a% the c'rrent )ile0 '%ing it% !re)i; )or
Hc'rrentM)ileH. 6t i% '%e)'l )or com!iling A'%t the c'rrent )ile .itho't ('il&ing the .hole !roAect.
E-e#ute
E;ec'te .ill r'n the corre%!on&ing e;ec'ta(le )ile0 %hell %cri!t or inter!rete& %cri!t in a terminal .in&o.. Note
that the Terminal tool !ath m'%t (e correctl" %et in the Tool% ta( o) the ,re)erence% &ialog - "o' can '%e an"
terminal !rogram that r'n% a @o'rne com!ati(le %hell an& acce!t the K-eK comman& line arg'ment to %tart a
comman&.
3)ter "o'r !rogram or %cri!t ha% )ini%he& e;ec'ting0 "o' .ill (e !rom!te& to !re%% the ret'rn ke". Thi% allo.% "o'
to revie. an" te;t o't!'t )rom the !rogram (e)ore the terminal .in&o. i% clo%e&.
,to**ing running *ro#esses
Dhen there i% a r'nning !rogram0 the G'n ('tton in the tool(ar (ecome% a %to! ('tton an& "o' can %to! the
c'rrent action. Thi% .ork% (" %en&ing a %ignal to the !roce%% 1an& it% chil& !roce%%1e%22 to %to! the !roce%%. The
'%e& %ignal i% -6*^+6T.
7e!en&ing on the !roce%% "o' %tarte& it might occ'r that the !roce%% cannot (e %to!!e&. Thi% can ha!!en .hen
the !roce%% create% more than one chil& !roce%%.
Ter&inal e&ulators
=term i% kno.n to .ork !ro!erl". 6) "o' are '%ing KTerminalK 1the terminal !rogram o) =)ce20 "o' %ho'l& a&& the
comman& line o!tion --&i%a(le-%erver other.i%e the %tarte& !roce%% cannot (e %to!!e&. ?'%t a&& thi% o!tion in
the !re)erence% &ialog on the Tool% ta( in the terminal )iel&.
,et In#ludes and Argu&ents
@" &e)a'lt the Com!ile an& @'il& comman&% invoke the com!iler an& linker .ith onl" the (a%ic arg'ment%
nee&e& (" all !rogram%. +%ing -et 6ncl'&e% an& 3rg'ment% "o' can a&& an" incl'&e !ath% an& com!ile )lag% )or
the com!iler0 an" li(rar" name% an& !ath% )or the linker0 an& an" arg'ment% "o' .ant to '%e .hen r'nning
E;ec'te.
Note
6) "o' nee& com!le; %etting% )or "o'r ('il& %"%tem0 or %everal &i))erent %etting%0 then .riting a ake)ile an& '%ing
the ake comman&% i% recommen&e&/ thi% .ill al%o make it ea%ier )or '%er% to ('il& "o'r %o)t.are.
The%e %etting% are %ave& a'tomaticall" .hen *ean" i% %h't &o.n.
The )ollo.ing varia(le% can (e '%e&:
J) -- com!lete )ilename .itho't !ath
Je -- )ilename .itho't !ath an& .itho't e;ten%ion
-ee P('il&M%etting%Q -ection )or &etail%.
.ne ste* #o&*ilation
6) "o' are '%ing the @'il& comman& to com!ile an& link in one %te!0 "o' .ill nee& to %et (oth the com!iler
arg'ment% an& the linker arg'ment% in the linker comman& %etting.
Indi#ators
6n&icator% are re& %9'iggl" 'n&erline% .hich are '%e& to highlight error% .hich occ'rre& .hile com!iling the
c'rrent )ile. -o "o' can ea%il" %ee .here "o'r co&e )aile& to com!ile. To remove the in&icator%0 A'%t click on
KGemove all in&icator%K in the &oc'ment )ile men'.
6) "o' &o not like thi% )eat're0 "o' can &i%a(le it in the !re)erence% &ialog.
Printing su**ort
-ince *ean" 0.1Y there i% )'ll !rinting %'!!ort '%ing *T8H% !rinting 3,6. The !rinte& !age1%2 .ill look nearl" the
%ame a% on "o'r %creen in *ean". 3&&itionall"0 there are %ome o!tion% to mo&i)" the !rinte& !age1%2. 5o' can
&e)ine .hether to !rint line n'm(er%0 !age n'm(er% at the (ottom o) each !age an& .hether to !rint a !age
hea&er on each !age. Thi% hea&er contain% the )ilename o) the !rinte& &oc'ment0 the c'rrent !age n'm(er an&
the &ate an& time o) !rinting. @" &e)a'lt0 the )ile name o) the &oc'ment i% a&&e& .ith )'ll !ath in)ormation to the
hea&er. 6) "o' !re)er to a&& onl" the (a%ename o) the )ile1.itho't an" !ath in)ormation2 "o' can %et it in the
!re)erence% &ialog. 5o' can al%o a&A'%t the )ormat o) the &ate an& time a&&e& to the !age hea&er. The availa(le
conver%ion %!eci)ier% are the %ame a% the one% .hich can (e '%e& .ith the 3N-6 C %tr)time )'nction. 3ll o) the%e
%etting% can al%o (e change& in the !rint &ialog A'%t (e)ore act'al !rinting i% &one. 4n +ni;-like %"%tem% the
!rovi&e& !rint &ialog o))er% a !rint !revie.. The !revie. )ile i% o!ene& .ith a ,7F vie.er an& (" &e)a'lt *T8 '%e%
evince )or !rint !revie.. 6) "o' &onHt have in%talle& evince or A'%t .ant to '%e another ,7F vie.er0 "o' can
change the !rogram to '%e in the )ile .gtkrc-2.0 1'%'all" )o'n& in "o'r home &irector"2. -im!l" a&& a line like:
g'-prin-preview-command = "epdfview %f"
at the en& o) the )ile. 4) co'r%e0 "o' can al%o '%e ;!&)0 k!&) or .hatever a% the !rint !revie. comman&.
+n)ort'natel"0 native *T8 !rinting %'!!ort i% onl" availa(le i) *ean" .a% ('ilt again%t *T8 2.10 1or a(ove2 and i%
r'nning .ith *T8 2.10 1or a(ove2. 6) not0 *ean" !rovi&e% (a%ic !rinting %'!!ort. Thi% mean% "o' can !rint a )ile ("
!a%%ing the )ilename o) the c'rrent )ile to a comman& .hich act'all" !rint% the )ile. >o.ever0 the !rinte&
&oc'ment contain% no %"nta; highlighting. 5o' can a&A'%t the comman& to .hich the )ilename i% !a%%e& in the
!re)erence% &ialog. The &e)a'lt comman& i%:
% 1pr %f
J) .ill (e %'(%tit'te& (" the )ilename o) the c'rrent )ile. *ean" .ill not %ho. error% )rom the comman& it%el)0 %o
"o' %ho'l& make %'re that it .ork% (e)ore1e.g. (" tr"ing to e;ec'te it )rom the comman& line2.
3 nicer e;am!le0 .hich 6 !re)er i%:
% a2ps -1 --medium=A4 -o - %f | xfprin4
@'t thi% &e!en&% on a2!% an& ;)!rintI. 3% a re!lacement )or ;)!rintI0 gtkl! or %imilar !rogram% can (e '%e&.
Plugins
,l'gin% are loa&e& at %tart'!0 i) the Ena(le !l'gin %'!!ort general !re)erence i% %et. There i% al%o a comman&-line
o!tion0 -!0 .hich !revent% !l'gin% (eing loa&e&. ,l'gin% are %canne& in the )ollo.ing &irectorie%:
$prefix/1ib/geany 1%ee 6n%tallation !re)i;2
~/.config/geany/p1ugins
o%t !l'gin% a&& men' item% to the Tool% men' .hen the" are loa&e&.
-ince *ean" 0.1Y0 there i% a ,l'gin anager to let "o' choo%e .hich !l'gin% %ho'l& (e loa&e& at %tart'!. 5o' can
al%o loa& an& 'nloa& !l'gin% on the )l" '%ing thi% &ialog. 4nce "o' click the check(o; )or a %!eci)ic !l'gin in the
&ialog0 it i% loa&e& or 'nloa&e& accor&ing to it% !revio'% %tate. @" &e)a'lt0 no !l'gin% are loa&e& at %tart'! 'ntil
"o' %elect %ome. 5o' can al%o con)ig're %ome !l'gin %!eci)ic o!tion% .hen the !l'gin !rovi&e% %ome.
-ee al%o ,l'gin &oc'mentation )or in)ormation a(o't %ingle !l'gin% .hich are incl'&e& in *ean".
Key$indings
*ean" %'!!ort% the &e)a'lt ke"(oar& %hortc't% )or the -cintilla e&iting .i&get. For a li%t o) the%e comman&%0 %ee
-cintilla ke"(oar& comman&%. The -cintilla ke"(oar& %hortc't% .ill (e overri&&en (" an" c'%tom ke"(in&ing% .ith
the %ame ke"(oar& %hortc't.
,0it#hing do#u&ents
There are a )e. non-con)ig'ra(le (in&ing% to %.itch (et.een &oc'ment%0 li%te& (elo.. The%e can al%o (e
overri&&en (" c'%tom ke"(in&ing%.
Key A#tion
3lt-P1-9Q -elect le)t-mo%t ta(0 )rom 1 to 9.
3lt-0 -elect right-mo%t ta(.
Ctrl--hi)t-,g+! -elect le)t-mo%t ta(.
Ctrl--hi)t-,g7n -elect right-mo%t ta(.
!onfigura$le +ey$indings
For all action% li%te& (elo. "o' can &e)ine "o'r o.n ke"(in&ing%. 4!en the ,re)erence% &ialog0 %elect the &e%ire&
action an& click on change. 6n the o!ening &ialog "o' can !re%% an" ke" com(ination "o' .ant an& it .ill (e
%ave& .hen "o' !re%% 48. 5o' can &e)ine onl" one ke" com(ination )or one action.
-ome o) the &e)a'lt ke" com(ination% cannot (e change&0 e.g. men'Mne. or men'Mo!en. The%e are %et (" *T8
an& %ho'l& (e ke!t0 ('t "o' can %till a&& other ke" com(ination% )or the%e action%. For e;am!le to e;ec'te
men'Mo!en (" &e)a'lt Ctrl-4 i% %et0 ('t "o' can al%o &e)ine 3lt-40 %o that the )ile o!en &ialog i% %ho.n ("
!re%%ing either Ctrl-4 or 3lt-4.
The )ollo.ing ta(le li%t% all c'%tomiza(le ke"(oar& %hortc't%.
A#tion
Default
short#ut Des#ri*tion
File
Ne. Ctrl-N Create% a ne. )ile.
4!en Ctrl-4 4!en% a )ile.
-ave Ctrl-- -ave% the c'rrent )ile.
-ave 3% -ave% the c'rrent )ile 'n&er a ne. name.
-ave all Ctrl--hi)t-- -ave% all o!en )ile%.
Clo%e all Ctrl--hi)t-D Clo%e% all o!en )ile%.
Clo%e Ctrl-D Clo%e% the c'rrent )ile.
Geloa& )ile Ctrl-G Geloa&% the c'rrent )ile. 3ll 'n%ave& change% .ill (e lo%t.
,rint Ctrl-, ,rint% the c'rrent )ile.
Editor
+n&o Ctrl-\ +n-&oe% the la%t action.
Ge&o Ctrl-5 Ge-&oe% the la%t action.
7elete c'rrent
line1%2
Ctrl-8 7elete% the c'rrent line 1an& an" line% .ith a %election2.
7elete to line
en&
Ctrl--hi)t-
7elete
7elete% )rom the c'rrent caret !o%ition to the en& o) the c'rrent line.
7'!licate line
or %election
Ctrl-7 7'!licate% the c'rrent line or %election.
Tran%!o%e
c'rrent line
Ctrl-T Tran%!o%e% the c'rrent line .ith the !revio'% one.
-croll to
c'rrent line
Ctrl--hi)t-L -croll% the c'rrent line into the centre o) the vie.. The c'r%or !o%ition
an& or an e;i%ting %election .ill not (e change&.
-croll '! ("
one line
3lt-+! -croll% the vie..
-croll &o.n ("
one line
3lt-7o.n -croll% the vie..
Com!lete .or& Ctrl--!ace -ho.% the a'tocom!letion li%t. 6) alrea&" %ho.ing tag com!letion0 it
%ho.% &oc'ment .or& com!letion in%tea&0 even i) it i% not ena(le& )or
A#tion
Default
short#ut Des#ri*tion
a'tomatic com!letion. Like.i%e i) no tag %'gge%tion% are availa(le0 it
%ho.% &oc'ment .or& com!letion.
-ho. callti! Ctrl--hi)t-
-!ace
-ho.% call ti!% )or the c'rrent )'nction or metho&.
-ho. macro
li%t
Ctrl-Get'rn -ho.% a li%t o) availa(le macro% an& varia(le% in the .ork%!ace.
Com!lete
%ni!!et
Ta( 6) "o' t"!e a con%tr'ct like i) or )or an& !re%% thi% ke"0 it .ill (e
com!lete& .ith a matching tem!late.
-'!!re%%
%ni!!et
com!letion
6) "o' t"!e a con%tr'ct like i) or )or an& !re%% thi% ke"0 it .ill not (e
com!lete&0 an& a %!ace or ta( .ill (e in%erte&0 &e!en&ing on .hat the
con%tr'ct com!letion ke"(in&ing i% %et to. For e;am!le0 i) "o' have %et
the con%tr'ct com!letion ke"(in&ing to %!ace0 then %etting thi% to
-hi)tE%!ace .ill !revent con%tr'ct com!letion an& in%ert a %!ace.
Conte;t 3ction E;ec'te% a comman& an& !a%%e% the c'rrent .or& 1near the c'r%or
!o%ition2 or %election a% an arg'ment. -ee the %ection calle& Conte;t
action%.
ove c'r%or in
%ni!!et
?'m!% to the ne;t &e)ine& c'r%or !o%ition% in a com!lete& %ni!!et% i)
m'lti!le c'r%or !o%ition% .here &e)ine&.
!li*$oard
C't Ctrl-= C't the c'rrent %election to the cli!(oar&.
Co!" Ctrl-C Co!" the c'rrent %election to the cli!(oar&.
,a%te Ctrl-N ,a%te the cli!(oar& te;t into the c'rrent &oc'ment.
C't c'rrent
line1%2
Ctrl--hi)t-= C't% the c'rrent line 1an& an" line% .ith a %election2 to the cli!(oar&.
Co!" c'rrent
line1%2
Ctrl--hi)t-C Co!ie% the c'rrent line 1an& an" line% .ith a %election2 to the cli!(oar&.
,ele#t
-elect all Ctrl-3 ake% a %election o) all te;t in the c'rrent &oc'ment.
-elect c'rrent
.or&
3lt--hi)t-D -elect% the c'rrent .or& 'n&er the c'r%or.
-elect c'rrent
!aragra!h
3lt--hi)t-, -elect% the c'rrent !aragra!h 'n&er the c'r%or .hich i% &e)ine& (" t.o
em!t" line% aro'n& it.
-elect c'rrent
line1%2
3lt--hi)t-L -elect% the c'rrent line 'n&er the c'r%or 1an& an" !artiall" %electe&
A#tion
Default
short#ut Des#ri*tion
line%2.
Insert
6n%ert &ate -hi)t-3lt-7 6n%ert% a c'%tomi%a(le &ate.
6n%ert
alternative
.hite%!ace
6n%ert% a ta( character .hen %!ace% %ho'l& (e '%e& )or in&entation an&
in%ert% %!ace character% o) the amo'nt o) a ta( .i&th .hen ta(% %ho'l&
(e '%e& )or in&entation.
For&at
Toggle ca%e o)
%election
Ctrl-3lt-+ Change% the ca%e o) the %election. 3 lo.erca%e %election .ill (e change&
into '!!erca%e an& vice ver%a. 6) the %election contain% lo.er- an&
'!!erca%e character%0 all .ill (e converte& to lo.erca%e.
Comment line Comment% c'rrent line or %election.
+ncomment
line
+ncomment% c'rrent line or %election.
Toggle line
commentation
Ctrl-E Comment% a line i) it i% not commente& or remove% a comment i) the line
i% commente&.
6ncrea%e in&ent Ctrl-6 6n&ent% the c'rrent line or %election (" one ta( or (" %!ace% in the
amo'nt o) the ta( .i&th %etting.
7ecrea%e
in&ent
Ctrl-+ Gemove% one ta( or the amo'nt o) %!ace% o) the ta( .i&th %etting )rom
the in&entation o) the c'rrent line or %election.
6ncrea%e in&ent
(" one %!ace
6n&ent% the c'rrent line or %election (" one %!ace.
7ecrea%e
in&ent (" one
%!ace
7ein&ent% the c'rrent line or %election (" one %!ace.
-mart line
in&ent
6n&ent% the c'rrent line or all %electe& line% .ith the %ame in&entation a%
the !revio'% line.
-en& to
C'%tom
Comman& 1
120Y2
Ctrl-1 120Y2 ,a%%e% the c'rrent %election to a con)ig're& e;ternal comman& 1availa(le
)or the )ir%t three con)ig're& comman&%0 %ee -en& te;t thro'gh &e)ina(le
comman&% )or &etail%2.
-en& -election
to Terminal
-en&% the c'rrent %election or the c'rrent line 1i) there i% no %election2 to
the em(e&&e& Terminal 1NTE2.
A#tion
Default
short#ut Des#ri*tion
Ge)lo.
line%<!aragra!
h
Ge)ormat %electe& line% or c'rrent !aragra!h0 (reaking line% at the long
line marker.
,ettings
,re)erence% Ctrl-3lt-, 4!en% !re)erence% &ialog.
,ear#h
Fin& Ctrl-F 4!en% the Fin& &ialog.
Fin& Ne;t Ctrl-* Fin&% ne;t re%'lt.
Fin& ,revio'% Ctrl--hi)t-* Fin&% !revio'% re%'lt.
Ge!lace Ctrl-> 4!en% the Ge!lace &ialog.
Fin& in )ile% Ctrl--hi)t-F 4!en% the Fin& in )ile% &ialog.
Ne;t me%%age ?'m!% to the line .ith the ne;t me%%age in the e%%age% .in&o..
,revio'%
me%%age
?'m!% to the line .ith the !revio'% me%%age in the e%%age% .in&o..
Fin& +%age Fin&% all occ'rrence% o) the c'rrent .or& 1near the ke"(oar& c'r%or2 or
%election in all o!en &oc'ment% an& &i%!la"% them in the me%%age%
.in&o..
Fin& 7oc'ment
+%age
Fin&% all occ'rrence% o) the c'rrent .or& 1near the ke"(oar& c'r%or2 or
%election in the c'rrent &oc'ment an& &i%!la"% them in the me%%age%
.in&o..
Go to
Navigate
)or.ar& a
location
-.itche% to the ne;t location in the navigation hi%tor". -ee the %ection
calle& Co&e Navigation >i%tor".
Navigate (ack
a location
-.itche% to the !revio'% location in the navigation hi%tor". -ee the
%ection calle& Co&e Navigation >i%tor".
*o to line Ctrl-L 4!en% the *o to line &ialog.
*oto matching
(race
Ctrl-@ 6) the c'r%or i% ahea& or (ehin& a (race0 then it i% move& to the (race
.hich (elong% to the c'rrent one. 6) thi% ke"(oar& %hortc't i% !re%%e&
again0 the c'r%or i% move& (ack to the )ir%t (race.
Toggle marker Ctrl- -et a marker on the c'rrent line0 or clear the marker i) there alrea&" i%
A#tion
Default
short#ut Des#ri*tion
one.
*oto ne;t
marker
Ctrl-. *oto the ne;t marker in the c'rrent &oc'ment.
*oto !revio'%
marker
Ctrl-0 *oto the !revio'% marker in the c'rrent &oc'ment.
*o to tag
&e)inition
?'m! to the &e)inition o) the c'rrent .or& 1near the ke"(oar& c'r%or2. 6)
the &e)inition cannot (e )o'n& 1e.g. the relevant )ile i% not o!en2 *ean"
.ill (ee! an& &o nothing. -ee the %ection calle& *o to tag &e)inition.
*o to tag
&eclaration
?'m! to the &eclaration o) the c'rrent .or& 1near the ke"(oar& c'r%or2.
6) the &eclaration cannot (e )o'n& 1e.g. the relevant )ile i% not o!en2
*ean" .ill (ee! an& &o nothing. -ee the %ection calle& *o to tag
&eclaration.
*o to -tart o)
Line
>ome ove the caret to the en& o) the line in&entation 'nle%% it i% alrea&"
there0 in .hich ca%e it move% it to the %tart o) the line.
*o to En& o)
Line
En& ove the caret to the en& o) the line.
*o to En& o)
7i%!la" Line
3lt-En& ove the caret to the en& o) the &i%!la" line. Thi% i% '%e)'l .hen "o' '%e
line .ra!!ing an& .ant to A'm! to the en& o) the .ra!!e&0 virt'al line0
not the real en& o) the .hole line. 6) the line i% not .ra!!e&0 it (ehave%
like *o to En& o) Line0 %ee a(ove.
*o to ,revio'%
Dor& ,art
Ctrl-< *oto the !revio'% !art o) the c'rrent .or&.
*o to Ne;t
Dor& ,art
Ctrl- *oto the ne;t !art o) the c'rrent .or&.
"ie0
F'll%creen F11 -.itche% to )'ll%creen mo&e.
Toggle
e%%age%
Din&o.
Toggle% the me%%age .in&o. 1%tat'% an& com!iler me%%age%2 on an& o)).
Toggle -i&e(ar -ho.% or hi&e% the %i&e(ar.
Toggle all
a&&itional
.i&get%
>i&e an& %ho. all a&&itional .i&get% like the note(ook ta(%0 the tool(ar0
the me%%age% .in&o. an& the %tat'%(ar.
\oom 6n Ctrl-E \oom% in the te;t
A#tion
Default
short#ut Des#ri*tion
\oom 4't Ctrl-- \oom% o't the te;t
Fo#us
-.itch to
E&itor
F2 -.itche% to e&itor .i&get.
-.itch to
-cri((le
F6 -.itche% to %cri((le .i&get.
-.itch to NTE FI -.itche% to NTE .i&get.
-.itch to
-earch @ar
FL -.itche% to the %earch (ar in the tool(ar 1i) vi%i(le2.
-.itch to
-i&e(ar
Foc'% the -i&e(ar.
-.itch to
Com!iler
Foc'% the Com!iler me%%age .in&o. ta(.
Note$oo+
ta$s

-.itch to le)t
&oc'ment
Ctrl-,age+! -.itche% to the !revio'% o!en &oc'ment.
-.itch to right
&oc'ment
Ctrl-
,age7o.n
-.itche% to the ne;t o!en &oc'ment.
-.itch to la%t
'%e& &oc'ment
Ctrl-Ta( -.itche% to the !revio'%l" %ho.n &oc'ment 1i) itH% %till o!en2. >ol&ing Ctrl
1or another mo&i)ier i) the ke"(in&ing ha% (een change&2 .ill %ho. a
&ialog0 then re!eate& !re%%e% o) the ke"(in&ing .ill %.itch to the 2n&-la%t
'%e& &oc'ment0 Yr&-la%t0 etc. 3l%o kno.n a% o%t-Gecentl"-+%e&
&oc'ment% %.itching.
ove
&oc'ment le)t
3lt-,age+! Change% the c'rrent &oc'ment .ith the le)t han& one.
ove
&oc'ment right
3lt-
,age7o.n
Change% the c'rrent &oc'ment .ith the right han& one.
ove
&oc'ment )ir%t
ove% the c'rrent &oc'ment to the )ir%t !o%ition.
ove
&oc'ment la%t
ove% the c'rrent &oc'ment to the la%t !o%ition.
Do#u&ent
A#tion
Default
short#ut Des#ri*tion
Ge!lace ta(% ("
%!ace
Ge!lace% all ta(% .ith the right amo'nt o) %!ace%.
Ge!lace %!ace%
(" ta(%
Ge!lace% all %!ace% .ith ta( character%.
Toggle c'rrent
)ol&
Toggle% the )ol&ing %tate o) the c'rrent co&e (lock.
Fol& all Fol&% all contracti(le co&e (lock%.
+n)ol& all +n)ol&% all contracte& co&e (lock%.
Geloa& %"m(ol
li%t
Ctrl--hi)t-G Geloa&% the tag<%"m(ol li%t.
Toggle Line
.ra!!ing
Ena(le% or &i%a(le% .ra!!ing o) long line%.
Toggle Line
(reaking
Ena(le% or &i%a(le% a'tomatic (reaking o) long line% at a con)ig'ra(le
col'mn.
)uild
Com!ile F8 Com!ile% the c'rrent )ile.
@'il& F9 @'il&% 1com!ile% i) nece%%ar" an& link%2 the c'rrent )ile.
ake all -hi)t-F9 @'il&% the c'rrent )ile .ith the ake tool.
ake c'%tom
target
Ctrl--hi)t-F9 @'il&% the c'rrent )ile .ith the ake tool an& a given target.
ake o(Aect Com!ile% the c'rrent )ile .ith the ake tool.
Ne;t error ?'m!% to the line .ith the ne;t error )rom the la%t ('il& !roce%%.
,revio'% error ?'m!% to the line .ith the !revio'% error )rom the la%t ('il& !roce%%.
G'n F$ E;ec'te% the c'rrent )ile in a terminal em'lation.
G'n
1alternative
comman&2
E;ec'te% the c'rrent )ile in a terminal em'lation.
@'il& o!tion% 4!en% the ('il& o!tion% &ialog.
Tools
A#tion
Default
short#ut Des#ri*tion
-ho. Color
Choo%er
4!en% the Color Choo%er &ialog.
8el*
>el! F1 4!en% the man'al.
!onfiguration files
Glo$al #onfiguration file
5o' can '%e a glo(al con)ig'ration )ile )or *ean" .hich .ill (e '%e& i) the '%er %tart% *ean" )or the )ir%t time an&
an '%erH% con)ig'ration )ile .a% not "et create& or in ca%e an '%er &elete& the con)ig'ration )ile to '%e &e)a'lt
val'e%.
The glo(al con)ig'ration )ile i% rea& )rom W!re)i;<%hare<gean"<gean".con) 1.here W!re)i; i% the !ath .here *ean"
i% in%talle&0 %ee 6n%tallation !re)i;2 .hen %tarting *ean" an& an '%er con)ig'ration )ile &oe% not e;i%t. 6t can
contain an" %etting% .hich are )o'n& in the '%'al con)ig'ration )ile create& (" *ean" ('t &oe% not have to
contain all %etting%.
Note
Thi% )eat're i% mainl" inten&e& )or !ackage maintainer% or %"%tem a&min% .ho .ant to %et '! *ean" in a m'lti
'%er environment an& %et %ome %ane &e)a'lt val'e% )or thi% environment. +%'al '%er% .onHt nee& to &o that.
Filety*e definition files
3ll color &e)inition% an& other )ilet"!e %!eci)ic %etting% are %tore& in the )ilet"!e &e)inition )ile%. Tho%e %etting% are
color% )or %"nta; highlighting0 general %etting% like comment character% or .or& &elimiter character% a% .ell a%
com!iler an& linker %etting%.
The %"%tem-.i&e con)ig'ration )ile% can (e )o'n& in W!re)i;<%hare<gean" an& are calle& )ilet"!e%.We;t0 .here
W!re)i; i% the !ath .here *ean" i% in%talle& 1%ee 6n%tallation !re)i;2 an& We;t i% the name o) the )ilet"!e. For ever"
)ilet"!e there i% a corre%!on&ing &e)inition )ile. There i% one e;ce!tion: )ilet"!e%.common -- thi% )ile i% )or general
%etting%0 .hich are not %!eci)ic to a certain )ilet"!e.
%arning
6t i% not recommen&e& )or '%er% to e&it the %"%tem-.i&e )ile%0 (eca'%e the" .ill (e overri&&en .hen *ean" i%
'!&ate&.
To change the %etting%0 co!" a )ile )rom W!re)i;<%hare<gean" to the %'(&irector" )ile&e)% in "o'r con)ig'ration
&irector" 1'%'all" F<.con)ig<gean"<2.
For e;am!le:
% cp /usr/1oca1/share/geany/fi1eypes.c /home/username/.config/geany/fi1edefs/
Then "o' can e&it the )ile an& the change% are al%o availa(le a)ter an '!&ate o) *ean" (eca'%e the" re%i&e in
"o'r con)ig'ration &irector". 3lternativel"0 "o' can create a )ile F<.con)ig<gean"<)ile&e)%<)ilet"!e%.= an& a&& onl"
the%e %etting% "o' .ant to change. 3ll mi%%ing %etting% .ill (e rea& )rom the corre%!on&ing glo(al &e)inition )ile
in W!re)i;<%hare<gean".
For&at
:styling; ,e#tion
6n thi% %ection the color% )or %"nta; highlighting are &e)ine&. The man'al )ormat i%:
ke"C)oregro'n&Mcolor/(ackgro'n&Mcolor/(ol&M)lag/italicM)lag
Color% have to (e %!eci)ie& a% G*@ he; val'e% !re)i;e& (" 0;. For e;am!le re& i% 0;))00000 (l'e i% 0;0000)). The
val'e% are ca%e-in%en%itive0 ('t it i% a goo& i&ea to '%e %mall letter%. @ol& an& italic are )lag% an& %ho'l& onl" (e
Ktr'eK or K)al%eK. 6) their val'e i% %omething other than Ktr'eK or K)al%eK0 K)al%eK i% a%%'me&.
5o' can omit )iel&% to '%e the K&e)a'ltK name& %t"le.
E.g. ke"C0;))0000//tr'e
Thi% make% the ke" %t"le have re& )oregro'n& te;t0 &e)a'lt (ackgro'n& color te;t an& (ol& em!ha%i%.
Using a na&ed style
The %econ& )ormat '%e% a name& %t"le name to re)erence a %t"le &e)ine& in )ilet"!e%.common.
ke"Cname&M%t"le
ke"2Cname&M%t"le20(ol&0italic
The (ol& an& italic !art% are o!tional0 an& i) !re%ent are '%e& to toggle the (ol& or italic )lag% to the o!!o%ite o)
the name& %t"leH% )lag%. 6n contra%t to %t"le &e)inition (oolean%0 the" are a literal K0(ol&0italicK an& comma% are
'%e& in%tea& o) %emi-colon%.
E.g. ke"Ccomment0italic
Thi% make% the ke" %t"le match the KcommentK name& %t"le0 ('t .ith italic em!ha%i%.
To &e)ine name& %t"le%0 %ee the )ilet"!e%.common Pname&M%t"le%Q -ection.
:+ey0ords; ,e#tion
Thi% %ection contain% ke"% )or &i))erent ke".or& li%t% %!eci)ic to the )ilet"!e. -ome )ilet"!e% &o not %'!!ort
ke".or&%0 %o a&&ing a ne. ke" .ill not .ork. 5o' can onl" a&& or remove ke".or&% to<)rom an e;i%ting li%t.
6m!ortant
The ke".or&% li%t m'%t (e in one line .itho't line en&ing character%.
:settings; ,e#tion
e;ten%ion
Thi% i% the &e)a'lt )ile e;ten%ion '%e& .hen %aving )ile%0 not incl'&ing the !erio& character 1.2. The
e;ten%ion '%e& %ho'l& match one o) the !attern% a%%ociate& .ith that )ilet"!e 1%ee Filet"!e e;ten%ion%2.
E;am!le: exension=cxx
.or&char%
The%e character% &e)ine .or& (o'n&arie% .hen making %election% an& %earching '%ing .or& matching
o!tion%.
E;am!le: (1oo' a sysem fi1eypes.* fi1es)
commentMo!en
3 character or %tring .hich i% '%e& to comment co&e. 6) "o' .ant to '%e m'ltiline comment%0 al%o %et
commentMclo%e0 other.i%e leave it em!t".
E;am!le: commen_open=/*
commentMclo%e
6) m'ltiline comment% are '%e&0 thi% i% the character or %tring to clo%e the comment.
E;am!le: commen_c1ose=*/
commentM'%eMin&ent
-et thi% to )al%e i) a comment character or %tring %ho'l& %tart at col'mn 0 o) a line. 6) %et to tr'e it '%e% an"
in&entation o) the line.
Note: Comment in&entation
commentM'%eMin&entCtr'e .o'l& generate thi% i) a line i% commente& 1e.g. .ith Ctrl-72:
# command_examp1e(),
commentM'%eMin&entC)al%e .o'l& generate thi% i) a line i% commente& 1e.g. .ith Ctrl-72:
# command_examp1e(),
Note: Thi% %etting onl" .ork% )or %ingle line comment% 1like H<<H0 HSH or H/H2.
E;am!le: commen_use_inden=rue
conte;tMactionMcm&
3 comman& .hich can (e e;ec'te& on a certain .or& or the c'rrent %election. E;am!le '%age: 4!en the
3,6 &oc'mentation )or the c'rrent )'nction call at the c'r%or !o%ition. The comman& can (e %et )or ever"
)ilet"!e or i) not %et0 a glo(al comman& .ill (e '%e&. The comman& it%el) can (e %!eci)ie& .itho't the )'ll
!ath0 then it i% %earche& in W,3T>. @'t )or %ec'rit" rea%on%0 it i% recommen&e& to %!eci)" the )'ll !ath to
the comman&. The .il&car& J% .ill (e re!lace& (" the c'rrent .or& at the c'r%or !o%ition or (" the
c'rrent %election.
>int: )or ,>, )ile% the )ollo.ing co'l& (e 9'ite '%e)'l: conte;tMactionMcm&C)ire)o; Khtt!:<<....!h!.net<J%K
E;am!le: conex_acion_cmd=devhe1p -s "%s"
:$uild<settings; ,e#tion
errorMrege;
Thi% i% a *N+-%t"le e;ten&e& reg'lar e;!re%%ion to !ar%e a )ilename an& line n'm(er )rom ('il& o't!'t. 6)
'n&e)ine&0 *ean" .ill )all (ack to it% &e)a'lt error me%%age !ar%ing.
4nl" the )ir%t t.o matche% .ill (e rea& (" *ean". *ean" .ill look )or a match that i% !'rel" &igit%0 an& '%e
thi% )or the line n'm(er. The remaining match .ill (e '%e& a% the )ilename.
E;am!le: error_regex=(.+):([0-9|+):[0-9|E
Thi% .ill !ar%e a me%%age %'ch a%: te%t.!":L:2I: E202 .hite%!ace (e)ore HQH
)uild #o&&ands
The ('il& comman&% are all con)ig'ra(le '%ing the -et 6ncl'&e% an& 3rg'ment% &ialog.
com!iler
Thi% item %!eci)ie% the comman& to com!ile %o'rce co&e )ile%. @'t it i% al%o !o%%i(le to '%e it .ith
inter!rete& lang'age% like ,erl or ,"thon. Dith the%e )ilet"!e% "o' can '%e thi% o!tion a% a kin& o) %"nta;
!ar%er0 .hich %en&% o't!'t to the com!iler me%%age .in&o..
5o' %ho'l& 9'ote the )ilename to al%o %'!!ort )ilename% .ith %!ace%. The )ollo.ing .il&car&% )or
)ilename% are availa(le:
J) -- com!lete )ilename .itho't !ath
Je -- )ilename .itho't !ath an& .itho't e;ten%ion
E;am!le: compi1er=gcc -Wa11 -c "%f"
linker
Thi% item %!eci)ie% the comman& to link the )ile. 6) the )ile i% not alrea&" com!ile&0 it .ill (e com!ile& .hile
linking. The -o o!tion i% a'tomaticall" a&&e& (" *ean". Thi% item .ork% .ell .ith *N+ gcc0 ('t ma" (e
!ro(lematic .ith other com!iler% 1e%!. .ith the linker2.
E;am!le: 1in'er=gcc -Wa11 "%f"
r'nMcm&
+%e thi% item to e;ec'te "o'r )ile. 6t ha% to have (een ('ilt alrea&". +%e the Je .il&car& to have onl" the
name o) the e;ec'ta(le 1i.e. .itho't e;ten%ion2 or '%e the J) .il&car& i) "o' nee& the com!lete )ilename0
e.g. )or %hell %cri!t%.
E;am!le: run_cmd="./%e"
,*e#ial file filety*es3#o&&on
There i% a %!ecial )ilet"!e &e)inition )ile calle& )ilet"!e%.common. Thi% )ile &e)ine% %ome general non-)ilet"!e-
%!eci)ic %etting%.
-ee the Format %ection )or ho. to &e)ine %t"le%.
:na&ed<styles; ,e#tion
Name& %t"le% &eclare& here can (e '%e& in the P%t"lingQ %ection o) an" )ilet"!e%.R )ile.
For e;am!le:
6n )ilet"!e%.common:
[named_sy1es|
foo=0xc00000,0xffffff,fa1se,rue
bar=foo
6n )ilet"!e%.c:
[sy1ing|
commen=foo
Thi% %ave% co!"ing an& !a%ting the .hole %t"le &e)inition into %everal &i))erent )ile%.
Note
5o' can &e)ine alia%e% )or name& %t"le%0 a% %ho.n .ith the (ar entr" in the a(ove e;am!le0 ('t the" m'%t (e
&eclare& a)ter the original %t"le.
:styling; ,e#tion
&e)a'lt
Thi% i% the &e)a'lt %t"le. 6t i% '%e& )or %t"ling )ile% .itho't a )ilet"!e %et.
E;am!le: defau1=0x000000,0xffffff,fa1se,fa1se
%election
The %t"le )or coloring %electe& te;t. The )ormat i%:
Foregro'n& color
@ackgro'n& color
+%e )oregro'n& color
+%e (ackgro'n& color
The color% are onl" %et i) the Yr& or Ith arg'ment i% tr'e. Dhen the color% are not overri&&en0 the &e)a'lt i%
a &ark gre" (ackgro'n& .ith %"nta; highlighte& )oregro'n& te;t.
E;am!le: se1ecion=0xc0c0c0,0x00007E,rue,rue
(raceMgoo&
The %t"le )or (race highlighting .hen a matching (race .a% )o'n&.
E;am!le: brace_good=0xff0000,0xEEEEEE,rue,fa1se
(raceM(a&
The %t"le )or (race highlighting .hen no matching (race .a% )o'n&.
E;am!le: brace_bad=0x0000ff,0xEEEEEE,rue,fa1se
caret
The %t"le )or coloring the caret1the (linking c'r%or2. 4nl" )ir%t an& thir& arg'ment i% inter!rete&. -et the
thir& arg'ment to tr'e to change the caret into a (lock caret.
E;am!le: care=0x000000,0x0,fa1se,fa1se
caretM.i&th
The .i&th )or the caret1the (linking c'r%or2. 4nl" the )ir%t arg'ment i% inter!rete&. The .i&th i% %!eci)ie& in
!i;el% .ith a ma;im'm o) three !i;el. +%e the .i&th 0 to make the caret invi%i(le.
E;am!le: care=1,0,fa1se,fa1se
c'rrentMline
The %t"le )or coloring the (ackgro'n& o) the c'rrent line. 4nl" the %econ& an& thir& arg'ment% are
inter!rete&. The %econ& arg'ment i% the (ackgro'n& color. +%e the thir& arg'ment to ena(le or &i%a(le
(ackgro'n& highlighting )or the c'rrent line 1ha% to (e tr'e<)al%e2.
E;am!le: curren_1ine=0x0,0xe5e5e5,rue,fa1se
in&entMg'i&e
The %t"le )or coloring the in&entation g'i&e%. 4nl" the )ir%t an& %econ& arg'ment% are inter!rete&.
E;am!le: inden_guide=0xc0c0c0,0xffffff,fa1se,fa1se
.hiteM%!ace
The %t"le )or coloring the .hite %!ace i) it i% %ho.n. The )ir%t (oth arg'ment% &e)ine the )oregro'n& an&
(ackgro'n& color%0 the thir& arg'ment %et% .hether to '%e the &e)ine& )oregro'n& color or to '%e the
color &e)ine& (" each )ilet"!e )or the .hite %!ace. The )o'rth arg'ment &e)ine% .hether to '%e the
(ackgro'n& color.
E;am!le: whie_space=0xc0c0c0,0xffffff,rue,rue
)ol&ingM%t"le
The %t"le o) )ol&ing icon%. 4nl" )ir%t an& %econ& arg'ment% are '%e&.
Nali& val'e% )or the )ir%t arg'ment are:
1 -- )or (o;e%
2 -- )or circle%
Nali& val'e% )or the %econ& arg'ment are:
1 -- )or %traight line%
2 -- )or c'rve& line%
E;am!le: fo1ding_sy1e=1,1,fa1se,fa1se
)ol&ingMhorizMline
7ra. a thin horizontal line at the line .here te;t i% )ol&e&. 4nl" )ir%t arg'ment i% '%e&.
Nali& val'e% )or the )ir%t arg'ment are:
0 -- &i%a(le0 &o not &ra. a line
1 -- &ra. the line a(ove )ol&e& te;t
2 -- &ra. the line (elo. )ol&e& te;t
E;am!le: fo1ding_horiz_1ine=0,0,fa1se,fa1se
invertMall
Dhether to invert all &e)ine& color%. Thi% i% '%e)'l i) "o' like a &ark (ackgro'n& color1e.g. (lack2 an& &o not
.ant to change ever" %ingle line. ,lea%e note0 at time o) .riting thi% .a% onl" te%te& .ith the C %"nta;
highlighting.
4nl" )ir%t arg'ment i% inter!rete&. -et it to 1 to invert all color%.
E;am!le: inver_a11=0,0,fa1se,fa1se
lineM.ra!Mvi%'al%
Fir%t arg'ment: &ra.ing o) vi%'al )lag% to in&icate a line i% .ra!!e&. Thi% i% a (itma%k o) the val'e%:
0 -- No vi%'al )lag%
1 -- Ni%'al )lag at en& o) %'(line o) a .ra!!e& line
2 -- Ni%'al )lag at (egin o) %'(line o) a .ra!!e& line. -'(line i% in&ente& (" at lea%t 1 to make room
)or the )lag.
-econ& arg'ment: .ether the vi%'al )lag% to in&icate a line i% .ra!!e& are &ra.n near the (or&er or near
the te;t. Thi% i% a (itma%k o) the val'e%:
0 -- Ni%'al )lag% &ra.n near (or&er
1 -- Ni%'al )lag at en& o) %'(line &ra.n near te;t
2 -- Ni%'al )lag at (egin o) %'(line &ra.n near te;t
4nl" )ir%t an& %econ& arg'ment i% inter!rete&.
E;am!le: 1ine_wrap_visua1s=3,0,fa1se,fa1se
lineM.ra!Min&ent
Fir%t arg'ment: %et% the %ize o) in&entation o) %'(line% )or .ra!!e& line% in term% o) the .i&th o) a %!ace0
onl" '%e& .hen the %econ& arg'ment i% 0.
-econ& arg'ment: .ra!!e& %'(line% can (e in&ente& to the !o%ition o) their )ir%t %'(line or one more
in&ent level. ,o%%i(le val'e%:
0 - Dra!!e& %'(line% aligne& to le)t o) .in&o. !l'% amo'nt %et (" the )ir%t arg'ment
1 - Dra!!e& %'(line% are aligne& to )ir%t %'(line in&ent 1'%e the %ame in&entation2
2 - Dra!!e& %'(line% are aligne& to )ir%t %'(line in&ent !l'% one more level o) in&entation
4nl" )ir%t an& %econ& arg'ment i% inter!rete&.
E;am!le: 1ine_wrap_inden=0,1,fa1se,fa1se
tran%l'cenc"
Tran%l'cenc" )or the c'rrent line 1)ir%t arg'ment2 an& the %election 1%econ& arg'ment2. Nal'e% (et.een 0
an& 2$6 are acce!te&.
Note )or Din&o.% 9$0 98 an& E '%er%: kee! thi% val'e at 2$6 to &i%a(le tran%l'cenc" other.i%e *ean"
might cra%h.
4nl" the )ir%t an& %econ& arg'ment i% inter!rete&.
E;am!le: rans1ucency=256,256,fa1se,fa1se
markerMline
The %t"le )or a highlighte& line 1e.g .hen '%ing *oto line or goto tag2. The )oregro'n& color 1)ir%t arg'ment2
i% onl" '%e& .hen the arker% margin i% ena(le& 1%ee Nie. men'2.
4nl" the )ir%t an& %econ& arg'ment i% inter!rete&.
E;am!le: mar'er_1ine=0x000000,0xffff00,fa1se,fa1se
markerM%earch
The %t"le )or a marke& %earch re%'lt% 1.hen '%ing KarkK in -earch &ialog%2. The %econ& arg'ment %et% the
(ackgro'n& colo'r )or the &ra.n rectangle.
4nl" the %econ& arg'ment i% inter!rete&.
E;am!le: mar'er_search=0x000000,0xb8f4b8,fa1se,fa1se
markerMmark
The %t"le )or a marke& line 1e.g .hen '%ing the KToggle arkerK ke"(in&ing 1Ctrl-22. The )oregro'n& color
1)ir%t arg'ment2 i% onl" '%e& .hen the arker% margin i% ena(le& 1%ee Nie. men'2.
4nl" the )ir%t an& %econ& arg'ment i% inter!rete&.
E;am!le: mar'er_mar'=0x000000,0xb8f4b8,fa1se,fa1se
markerMtran%l'cenc"
Tran%l'cenc" )or the line marker 1)ir%t arg'ment2 an& the %earch marker 1%econ& arg'ment2. Nal'e%
(et.een 0 an& 2$6 are acce!te&.
Note )or Din&o.% 9$0 98 an& E '%er%: kee! thi% val'e at 2$6 to &i%a(le tran%l'cenc" other.i%e *ean"
might cra%h.
4nl" the )ir%t an& %econ& arg'ment i% inter!rete&.
E;am!le: mar'er_rans1ucency=256,256,fa1se,fa1se
lineMheight
3mo'nt o) %!ace to (e &ra.n a(ove an& (elo. the lineH% (a%eline. The )ir%t arg'ment &e)ine% the amo'nt
o) %!ace to (e &ra.n a(ove the line0 the %econ& arg'ment &e)ine% the amo'nt o) %!ace to (e &ra.n (elo..
4nl" the )ir%t an& %econ& arg'ment i% inter!rete&.
E;am!le: 1ine_heigh=0,0,fa1se,fa1se
:settings; ,e#tion
.hite%!aceMchar%
Character% to treat a% .hite%!ace. The%e character% are ignore& .hen moving0 %electing an& &eleting
acro%% .or& (o'n&arie% 1%ee -cintilla ke"(oar& comman&%2.
Thi% %ho'l& incl'&e %!ace 1T%2 an& ta( 1Tt2.
E;am!le: whiespace_chars=\s\!\"#$%&'()*+,-./:,<=>?@[\\|^{|}~
Filety*e e-tensions
To change the &e)a'lt )ilet"!e e;ten%ion '%e& .hen %aving a ne. )ile0 %ee Filet"!e &e)inition )ile%.
5o' can overri&e the li%t o) )ile e;ten%ion% that *ean" '%e% )or each )ilet"!e '%ing the )ilet"!eMe;ten%ion%.con)
)ile.
To overri&e the %"%tem-.i&e con)ig'ration )ile0 co!" it )rom W!re)i;<%hare<gean" to "o'r con)ig'ration &irector"0
'%'all" F<.con)ig<gean"<. W!re)i; i% the !ath .here *ean" i% in%talle& 1%ee 6n%tallation !re)i;2.
For e;am!le:
% cp /usr/1oca1/share/geany/fi1eype_exensions.conf /home/username/.config/geany/
Then e&it it an& remove all the line% )or )ilet"!e e;ten%ion% that "o' &o not .ant to overri&e. The remaining line%
can (e e&ite& a)ter the C %ign0 '%ing a %emi-colon %e!arate& li%t o) !attern% .hich %ho'l& (e matche& )or that
)ilet"!e.
For e;am!le0 to %et the )ilet"!e e;ten%ion% )or ake0 the <home<'%ername<.con)ig<gean"<)ilet"!eMe;ten%ion%.con)
)ile %ho'l& look like:
[Exensions|
Ma'e=Ma'efi1e*,*.m',Bui1dfi1e,
Te&*lates
*ean" %'!!ort% the )ollo.ing tem!late%:
ChangeLog entr"
File hea&er
F'nction &e%cri!tion
-hort *,L notice
-hort @-7 notice
Filet"!e tem!late
To '%e the%e tem!late%0 A'%t o!en the E&it men' or o!en the !o!'! men' (" right-clicking in the e&itor .i&get0
an& choo%e K6n%ert Comment%K an& in%ert tem!late% a% "o' .ant.
-ome tem!late% 1like File hea&er or ChangeLog entr"2 .ill al.a"% (e in%erte& at the to! o) the )ile.
To in%ert a )'nction &e%cri!tion0 the c'r%or m'%t (e in%i&e o) the )'nction0 %o that the )'nction name can (e
&etermine& a'tomaticall". The &e%cri!tion .ill (e !o%itione& correctl" one line a(ove the )'nction0 A'%t check it
o't. 6) the c'r%or i% not in%i&e o) a )'nction or the )'nction name cannot (e &etermine&0 the in%erte& )'nction
&e%cri!tion .onHt contain the correct )'nction name ('t K'nkno.nK in%tea&.
Te&*late &eta data
eta &ata can (e '%e& .ith all tem!late%0 ('t (" &e)a'lt '%er %et meta &ata i% onl" '%e& )or the ChangeLog an&
File hea&er tem!late%.
6n the con)ig'ration &ialog "o' can )in& a ta( KTem!late%K 1%ee Tem!late ta( in !re)erence% &ialog2. 5o' can
&e)ine the &e)a'lt val'e% .hich .ill (e in%erte& in the tem!late%. 5o' %ho'l& re%tart *ean" a)ter making change%0
(eca'%e the" are onl" rea& at %tart'!.
File te&*lates
File tem!late% are tem!late% '%e& a% the (a%i% o) a ne. )ile. To '%e them0 choo%e the Ne. 1.ith Tem!late2 men'
item )rom the File men'.
@" &e)a'lt0 tem!late% are create& )or %ome )ilet"!e%. C'%tom )ile tem!late% can (e a&&e& (" creating the
a!!ro!riate tem!late )ile an& re%tarting *ean". 5o' can al%o e&it the &e)a'lt )ilet"!e tem!late%.
The )ileH% content% are A'%t the te;t to !lace in the &oc'ment0 e;ce!t )or the o!tional U)ilehea&erV tem!late
.il&car&. Thi% can (e !lace& an".here0 ('t i% '%'all" on the )ir%t line o) the )ile0 )ollo.e& (" a (lank line.
!usto& file te&*lates
The%e are rea& )rom the F<.con)ig<gean"<tem!late%<)ile% &irector" 1create& the )ir%t time *ean" i% %tarte&2. The
)ilet"!e to '%e i% &etecte& )rom the tem!late )ileH% e;ten%ion0 i) an". For e;am!le0 creating a )ile main.c .o'l& a&&
a men' item .hich create& a ne. &oc'ment .ith the )ilet"!e %et to HCH.
The tem!late )ile i% rea& )rom &i%k .hen the corre%!on&ing men' item i% clicke&0 %o "o' &onHt nee& to re%tart
*ean" a)ter e&iting a c'%tom )ile tem!late.
Filety*e te&*lates
Filet"!e tem!late )ile% are rea& )rom the F<.con)ig<gean"<tem!late% &irector"0 an& are name& K)ilet"!e.K )ollo.e&
(" the )ilet"!e name0 e.g. K)ilet"!e.!"thonK0 K)ilet"!e.%hK0 etc. 6) "o' are 'n%'re a(o't the )ilet"!e name
e;ten%ion%0 the" are the %ame a% the )ilet"!e con)ig'ration )ile e;ten%ion%0 commonl" in%talle& in
<'%r<%hare<gean"0 .ith the !re)i; K)ilet"!e%.K.
There i% al%o a tem!late )ile )ilet"!e.none .hich i% '%e& .hen the Ne. comman& i% '%e& .itho't a )ilet"!e. Thi%
i% em!t" (" &e)a'lt.
!usto&i=ing te&*lates
Each tem!late can (e c'%tomize& to "o'r nee&%. The tem!late% are %tore& in the F<.con)ig<gean"<tem!late%<
&irector" 1%ee the %ection calle& Comman& line o!tion% )or )'rther in)ormation a(o't the con)ig'ration
&irector"2. ?'%t o!en the &e%ire& tem!late .ith an e&itor 1i&eall"0 *ean" /-2 2 an& e&it the tem!late to "o'r nee&%.
There are %ome .il&car&% .hich .ill (e a'tomaticall" re!lace& (" *ean" at %tart'!.
Te&*late 0ild#ards
3ll .il&car&% m'%t (e enclo%e& (" KUK an& KVK0 e.g. U&ateV.
%ild#ard Des#ri*tion A7aila$le in
&evelo!er The name o) the
&evelo!er.
)ilet"!e tem!late%0 )ile hea&er0 )'nction &e%cri!tion0 ChangeLog entr"0
(%&0 g!l0 %ni!!et%
initial The &evelo!erH%
initial%0 e.g. KETK )or
Enrico Trger or K?F7K
)or ?ohn Foo(ar 7oe.
)ilet"!e tem!late%0 )ile hea&er0 )'nction &e%cri!tion0 ChangeLog entr"0
(%&0 g!l0 %ni!!et%
mail The email a&&re%% o)
the &evelo!er.
)ilet"!e tem!late%0 )ile hea&er0 )'nction &e%cri!tion0 ChangeLog entr"0
(%&0 g!l0 %ni!!et%
com!an" The com!an" the
&evelo!er i% .orking
)or.
)ilet"!e tem!late%0 )ile hea&er0 )'nction &e%cri!tion0 ChangeLog entr"0
(%&0 g!l0 %ni!!et%
"ear P1Q The c'rrent "ear.
7e)a'lt )ormat i%:
5555
)ilet"!e tem!late%0 )ile hea&er0 )'nction &e%cri!tion0 ChangeLog entr"0
(%&0 g!l0 %ni!!et%
ver%ion The initial ver%ion o) a
ne. )ile.
)ilet"!e tem!late%0 )ile hea&er0 )'nction &e%cri!tion0 ChangeLog entr"0
(%&0 g!l0 %ni!!et%
&ate P1Q The c'rrent &ate.
7e)a'lt )ormat: 5555-
-77.
)ilet"!e tem!late%0 )ile hea&er0 )'nction &e%cri!tion0 ChangeLog entr"0
(%&0 g!l0 %ni!!et%
'ntitle& The %tring K'ntitle&K
1thi% .ill (e tran%late&
to "o'r locale20 '%e&
)ilet"!e tem!late%0 )ile hea&er0 )'nction &e%cri!tion0 ChangeLog entr"0
(%&0 g!l0 %ni!!et%
%ild#ard Des#ri*tion A7aila$le in
in )ilet"!e tem!late%.
gean"ver%ion The act'al *ean"
ver%ion0 e.g. K*ean"
0.18K.
)ilet"!e tem!late%0 )ile hea&er0 )'nction &e%cri!tion0 ChangeLog entr"0
(%&0 g!l0 %ni!!et%
&atetime P1Q The c'rrent &ate an&
time. 7e)a'lt )ormat:
77..5555
>>:mm:%% \\\\.
)ilet"!e tem!late%0 )ile hea&er0 )'nction &e%cri!tion0 ChangeLog entr"0
(%&0 g!l0 %ni!!et%
)ilename The )ilename o) the
c'rrent )ile.
)ile hea&er0 %ni!!et%
g!l Thi% .il&car& in%ert%
a %hort *,L notice.
)ile hea&er
(%& Thi% .il&car& in%ert%
a @-7 licence notice.
)ile hea&er
)'nctionname The )'nction name o)
the )'nction at the
c'r%or !o%ition. Thi%
.il&car& .ill onl" (e
re!lace& in the
)'nction &e%cri!tion
tem!late.
)'nction &e%cri!tion
)ilehea&er The )ile hea&er
tem!late. Thi%
.il&car& .ill onl" (e
re!lace& in )ilet"!e
tem!late%.
)ile hea&er0 %ni!!et%0 c'%tom )ilet"!e tem!late%
P1Q 110 20 Y2 The )ormat )or the "ear0 &ate an& &atetime .il&car&% can (e change& in the
!re)erence% &ialog0 %ee Tem!late ta( in !re)erence% &ialog. 5o' can '%e an" conver%ion
%!eci)ier% .hich can (e '%e& .ith the 3N-6 C %tr)time )'nction. For &etail% !lea%e %ee
htt!:<<man.c;<%tr)time.
!usto&i=ing the tool$ar
5o' can a&&0 remove an& reor&er the element% in the tool(ar (" '%ing the tool(ar e&itor (" man'all" e&iting the
)ile 'iMtool(ar.;ml.
The tool(ar e&itor can (e o!ene& )rom the !re)erence% e&itor on the Tool(ar ta( or (" right-clicking on the
tool(ar it%el) an& choo%ing it )rom the men'.
Manually editing of the tool$ar layout
To overri&e the %"%tem-.i&e con)ig'ration )ile0 co!" it )rom W!re)i;<%hare<gean" to "o'r con)ig'ration &irector"0
'%'all" F<.con)ig<gean"<. W!re)i; i% the !ath .here *ean" i% in%talle& 1%ee 6n%tallation !re)i;2.
For e;am!le:
% cp /usr/1oca1/share/geany/ui_oo1bar.xm1 /home/username/.config/geany/
Then e&it it an& a&& an" o) the availa(le element% li%te& in the )ile or remove an" o) the e;i%ting element%. 4)
co'r%e0 "o' can al%o reor&er the element% a% "o' .i%h an& a&& or remove a&&itional %e!arator%. Thi% )ile m'%t (e
vali& =L0 other.i%e the glo(al tool(ar +6 &e)inition .ill (e '%e& in%tea&.
5o'r change% are a!!lie& once "o' %ave the )ile.
Note
1. 5o' cannot a&& ne. action% .hich are not li%te& (elo..
2. Ever"thing "o' a&& or change m'%t (e in%i&e the <'i<tool(ar< !ath.
A7aila$le tool$ar ele&ents
Ele&ent na&e Des#ri*tion
Ne. Create a ne. )ile
4!en 4!en an e;i%ting )ile
-ave -ave the c'rrent )ile
-ave3ll -ave all o!en )ile%
Geloa& Geloa& the c'rrent )ile )rom &i%k
Clo%e Clo%e the c'rrent )ile
Clo%e3ll Clo%e all o!en )ile%
,rint ,rint the c'rrent )ile
C't C't the c'rrent %election
Co!" Co!" the c'rrent %election
,a%te ,a%te the content% o) the cli!(oar&
7elete 7elete the c'rrent %election
+n&o +n&o the la%t mo&i)ication
Ge&o Ge&o the la%t mo&i)ication
Nav@ack Navigate (ack a location
NavFor Navigate )or.ar& a location
Com!ile Com!ile the c'rrent )ile
Ele&ent na&e Des#ri*tion
@'il& @'il& the c'rrent )ile0 incl'&e% al%o a %'(men' )or ake comman&%. *ean"
remem(er% the la%t cho%en action )rom the %'(men' an& '%e% thi% a%
&e)a'lt action .hen the ('tton it%el) i% clicke&.
G'n G'n or vie. the c'rrent )ile
Color 4!en a color choo%er &ialog0 to interactivel" !ick color% )rom a !alette
\oom6n \oom in the te;t
\oom4't \oom o't the te;t
+n6n&ent 7ecrea%e in&entation
6n&ent 6ncrea%e in&entation
Ge!lace Ge!lace te;t in the c'rrent &oc'ment
-earchEntr" The %earch )iel& (elonging to the H-earchH element 1can (e '%e& alone2
-earch Fin& the entere& te;t in the c'rrent )ile 1onl" '%e)'l i) "o' al%o '%e
H-earchEntr"H2
*otoEntr" The goto )iel& (elonging to the H*otoH element 1can (e '%e& alone2
*oto ?'m! to the entere& line n'm(er 1onl" '%e)'l i) "o' al%o '%e H*otoEntr"H2
,re)erence% -ho. the !re)erence% &ialog
^'it ^'it *ean"
Plugin do#u&entation
Instant ,a7e
Thi% !l'gin %et% on ever" ne. )ile 1File-BNe. or File-B Ne. 1.ith tem!late22 a ran&oml" cho%en )ilename an& %et
it% )ilet"!e a!!ro!riate to the '%e& tem!late or .hen no tem!late .a% '%e&0 to a con)ig'ra(le &e)a'lt )ilet"!e.
Thi% ena(le% "o' to 9'ickl" com!ile0 ('il& an&<or r'n the ne. )ile .itho't the nee& to give it an e;!licit )ilename
'%ing the -ave 3% &ialog. Thi% might (e '%e)'l .hen "o' o)ten create ne. )ile% A'%t )or te%ting %ome co&e or
%omething %imilar.
)a#+u* !o*y
Thi% !l'gin create% a (ack'! co!" o) the c'rrent )ile in *ean" .hen it i% %ave&. 5o' can %!eci)" the &irector"
.here the (ack'! co!" i% %ave& an& "o' can con)ig're the a'tomaticall" a&&e& e;ten%ion in the con)ig're &ialog
in *ean"H% !l'gin manager.
3)ter the !l'gin .a% loa&e& in *ean"H% !l'gin manager0 ever" )ile i% co!ie& into the con)ig're& (ack'! &irector"
.hen the )ile i% %ave& in *ean".
!ontri$uting to this do#u&ent
Thi% &oc'ment 1gean".t;t2 i% .ritten in re-tr'ct're&Te;t 1or Kre-TK2. The %o'rce )ile )or it i% locate& in *ean"H% &oc
%'(&irector". 6) "o' inten& on making change%0 "o' %ho'l& gra( the %o'rce right )rom -NN to make %'re "o'Hve
got the ne.e%t ver%ion. 3)ter e&iting the )ile0 to ('il& the >TL &oc'ment to %ee ho. "o'r change% look0 r'n
Kmake &ocK in the %'(&irector" &oc o) *ean"H% %o'rce &irector". Thi% regenerate% the gean".html )ile. To generate
a ,7F )ile0 '%e the comman& Kmake !&)K .hich %ho'l& generate a )ile calle& gean"-0.18.!&).
3)ter "o' are ha!!" .ith "o'r change%0 create a !atch:
% svn diff geany.x > foo.pach
an& then %'(mit that )ile to the mailing li%t )or revie..
Note0 "o' .ill nee& the ,"thon &oc'til% %o)t.are !ackage in%talle& to ('il& the &oc%. The !ackage i% name&
!"thon-&oc'til% on 7e(ian an& Fe&ora %"%tem%.
,#intilla +ey$oard #o&&ands
Co!"right # 19980 2006 Neil >o&g%on Xneilh1at2%cintilla1&ot2orgB
Thi% a!!en&i; i% &i%tri('te& 'n&er the term% o) the Licen%e )or -cintilla an& -ciTE. 3 co!" o) thi% licen%e can (e
)o'n& in the )ile %cintilla<Licen%e.t;t incl'&e& .ith the %o'rce co&e o) thi% !rogram an& in the a!!en&i; o) thi%
&oc'ment. -ee Licen%e )or -cintilla an& -ciTE.
20 ?'ne 2006
Key$oard #o&&ands
8e"(oar& comman&% )or -cintilla mo%tl" )ollo. common Din&o.% an& *T8E convention%. 3ll move ke"% 1arro.%0
!age '!<&o.n0 home an& en&2 allo.% to e;ten& or re&'ce the %tream %election .hen hol&ing the -hi)t ke"0 an&
the rectang'lar %election .hen hol&ing the -hi)t an& Ctrl ke"%. -ome ke"% ma" not (e availa(le .ith %ome
national ke"(oar&% or (eca'%e the" are taken (" the %"%tem %'ch a% (" a .in&o. manager or *T8. 8e"(oar&
e9'ivalent% o) men' comman&% are li%te& in the men'%. -ome le%% common comman&% .ith no men' e9'ivalent
are:
A#tion ,hort#ut +ey
agni)" te;t %ize. CtrlE8e"!a&E
Ge&'ce te;t %ize. CtrlE8e"!a&-
Ge%tore te;t %ize to normal. CtrlE8e"!a&<
6n&ent (lock. Ta(
7e&ent (lock. -hi)tETa(
7elete to %tart o) .or&. CtrlE@ack-!ace
A#tion ,hort#ut +ey
7elete to en& o) .or&. CtrlE7elete
7elete to %tart o) line. CtrlE-hi)tE@ack-!ace
*o to %tart o) &oc'ment. CtrlE>ome
E;ten& %election to %tart o)
&oc'ment.
CtrlE-hi)tE>ome
*o to %tart o) &i%!la" line. 3ltE>ome
E;ten& %election to %tart o)
&i%!la" line.
3ltE-hi)tE>ome
*o to en& o) &oc'ment. CtrlEEn&
E;ten& %election to en& o)
&oc'ment.
CtrlE-hi)tEEn&
E;ten& %election to en& o) &i%!la"
line.
3ltE-hi)tEEn&
,revio'% !aragra!h. -hi)t
e;ten&% %election.
CtrlE+!
Ne;t !aragra!h. -hi)t e;ten&%
%election.
CtrlE7o.n
,revio'% .or&. -hi)t e;ten&%
%election.
CtrlELe)t
Ne;t .or&. -hi)t e;ten&%
%election.
CtrlEGight
Ti*s and tri#+s
Do#u&ent note$oo+
7o'(le-click on em!t" %!ace in the note(ook ta( (ar to o!en a ne. &oc'ment.
7o'(le-click on a &oc'mentH% note(ook ta( to toggle all a&&itional .i&get% 1to %ho. them again '%e the
Nie. men' or the ke"(oar& %hortc't2. The inter)ace !re) m'%t (e ena(le& )or thi% to .ork.
i&&le-click on a &oc'mentH% note(ook ta( to clo%e the &oc'ment.
Editor
3lt-%croll .heel move% '!<&o.n a !age.
Ctrl-%croll .heel zoom% in<o't.
-hi)t-%croll .heel %croll% 8 character% right<le)t.
Ctrl-click on a .or& in a &oc'ment to !er)orm *o to Tag 7e)inition.
Ctrl-click on a (racket<(race to !er)orm *o to atching @race.
Interfa#e
7o'(le-click on a %"m(ol-li%t gro'! to e;!an& or com!act it.
GTK/related
-crolling the mo'%e .heel over a note(ook ta( (ar .ill %.itch note(ook !age%.
The )ollo.ing are &erive& )rom =-Din&o.% )eat're% 1('t *T8 %till %'!!ort% them on Din&o.%2:
i&&le-click !a%te% the la%t %electe& te;t.
i&&le-click on a %croll(ar move% the %croll(ar to that !o%ition .itho't having to &rag it.
8idden *referen#es
There are %ome 'ncommon !re)erence% that are not %ho.n in the ,re)erence% &ialog. The%e can (e %et (" e&iting
F<.con)ig<gean"<gean".con)0 then re%tarting *ean". -earch )or the ke" name0 then e&it the val'e. E;am!le:
(raceMmatchMltgtCtr'e
The ta(le (elo. %ho. the ke" name% o) hi&&en !re)erence% in the con)ig'ration )ile.
Key Des#ri*tion Default
Editor
related

(raceMmatc
hMltgt
Dhether to highlight X0 B angle (racket%. )al%e
%ho.Me&itor
M%croll(ar%
Dhether to &i%!la" %croll(ar%. 6) %et to
)al%e0 the horizontal an& vertical %croll(ar%
are hi&&en com!letel".
tr'e
'%eMgtkM.or
&M(o'n&ari
e%
Dhether to look )or the en& o) a .or&
.hen '%ing .or&-(o'n&ar" relate&
-cintilla comman&% 1%ee -cintilla ke"(oar&
comman&%2.
tr'e
com!leteM%
ni!!et%M.hi
l%tMe&iting
Dhether to allo. com!letion o) %ni!!et%
.hen e&iting an e;i%ting line 1i.e. there i%
%ome te;t a)ter the c'rrent c'r%or !o%ition
on the line2. 4nl" '%e& .hen the
ke"(in&ing Com!lete %ni!!et i% %et to
)al%e
Key Des#ri*tion Default
-!ace.
Interfa#e
related

%ho.M%"m(
olMli%tMe;!a
n&er%
Dhether to %ho. or hi&e the %mall
e;!an&er icon% on the %"m(ol li%t treevie.
1onl" availa(le .ith *T8 2.12 or a(ove2.
tr'e
allo.Mal.a"
%M%ave
Dhether )ile% can (e %ave& al.a"%0 even i)
the" &onHt have an" change%. @" &e)a'lt0
the -ave ('tton% an& men' item% are
&i%a(le& .hen a )ile i% 'nchange&. Dhen
%etting thi% o!tion to tr'e0 the -ave
('tton% an& men' item% are al.a"% active
an& )ile% can (e %ave&.
)al%e
"TE related
em'lation Terminal em'lation mo&e. 4nl" change
thi% i) "o' have NTE termca! )ile% other
than vte<termca!<;term.
;term
File related
'%eM%a)eM)il
eM%aving
7e)ine% the mo&e ho. *ean" %ave% )ile% to
&i%k. 6) &i%a(le&0 *ean" &irectl" .rite% the
content o) the &oc'ment to &i%k. Thi%
might ca'%e in lo%% o) &ata .hen there i%
no more )ree %!ace on &i%k to %ave the )ile.
Dhen %et to tr'e0 *ean" )ir%t %ave% the
content% into a tem!orar" )ile an& i) thi%
%'ccee&e&0 the tem!orar" )ile i% move& to
the real )ile to %ave. Thi% give% (etter error
checking in ca%e o) no more )ree &i%k
%!ace. @'t it al%o &e%tro"% har& link% o) the
original )ile an& it% !ermi%%ion% 1e.g.
e;ec'ta(le )lag% are re%et2. +%e thi% .ith
care a% it can (reak thing% %erio'%l". The
(etter a!!roach .o'l& (e to en%'re "o'r
&i%k .onHt r'n o't o) )ree %!ace.
)al%e
!o&*ile/ti&e o*tions
There are %ome o!tion% .hich can onl" (e change& at com!ile time0 an& %ome o!tion% .hich are '%e& a% the
&e)a'lt )or con)ig'ra(le o!tion%. To change the%e o!tion%0 e&it the a!!ro!riate %o'rce )ile in the %rc %'(&irector".
Look )or a (lock o) line% %tarting .ith S&e)ine *E3N5MR. 3n" &e)inition% .hich are not li%te& here %ho'l& not (e
change&.
Note
o%t '%er% %ho'l& not nee& to change the%e o!tion%.
sr#>geany3h
.*tion Des#ri*tion Default
*E3N5M-TG6N
*M+NT6TLE7
3 %tring '%e& a% the &e)a'lt
name )or ne. )ile%. @e a.are
that the %tring can (e
tran%late&0 %o change it onl"
i) "o' kno. .hat "o' are
&oing.
'ntitle&
*E3N5MD6N7
4DM6N63L
MD67T>
The minimal .i&th o) the
main .in&o..
620
*E3N5MD6N7
4DM6N63L
M>E6*>T
The minimal height o) the
main .in&o..
II0
*E3N5MD6N7
4DM7EF3+LTM
D67T>
The &e)a'lt .i&th o) the
main .in&o. at the )ir%t
%tart.
900
*E3N5MD6N7
4DM7EF3+LTM
>E6*>T
The &e)a'lt height o) the
main .in&o. at the )ir%t
%tart.
600
%indo0s
s*e#ifi#

*E3N5M+-EMD
6NY2M763L4*
-et thi% to 1 i) "o' .ant to
'%e the &e)a'lt Din&o.% )ile
o!en an& %ave &ialog%
in%tea& *T8H% )ile o!en an&
%ave &ialog%. The &e)a'lt
Din&o.% )ile &ialog% are
mi%%ing %ome nice )eat're%
like choo%ing a )ilet"!e or an
enco&ing. 7o not to'ch thi%
%etting .hen ('il&ing on a
non-DinY2 %"%tem.
0
*ro9e#t3h
.*tion Des#ri*tion Default
*E3N5M,G4?E
CTME=T
The &e)a'lt )ilename
e;ten%ion )or *ean" !roAect
)ile%. 6t i% '%e& .hen
creating ne. !roAect% an& a%
)ilter ma%k )or the !roAect
o!en &ialog.
gean"
editor3h
.*tion Des#ri*tion Default
*E3N5MD4G7C>3G- The%e character% &e)ine .or& (o'n&arie%
.hen making %election% an& %earching '%ing
.or& matching o!tion%.
a %tring .ith: a-z0 3-\0 0-9
an& 'n&er%core.
+eyfile3#
The%e are &e)a'lt %etting% that can (e overri&&en in the ,re)erence% &ialog.
.*tion Des#ri*tion Default
*E3N5M6NM-5@4LL6-TMC>3G- >o. man" character% "o' nee& to t"!e to trigger the
a'tocom!letion li%t.
I
*E3N5M76-8MC>EC8MT6E4+T Time in %econ&% (et.een checking a )ile )or e;ternal
change%.
Y0
*E3N5M7EF3+LTMT44L-M38E The make tool. Thi% can al%o incl'&e a !ath. KmakeK
*E3N5M7EF3+LTMT44L-MTEG6N3L 3 terminal em'lator. 6t ha% to acce!t the comman&
line o!tion K-eK. Thi% can al%o incl'&e a !ath.
K;termK
*E3N5M7EF3+LTMT44L-M@G4D-EG 3 .e( (ro.%er. Thi% can al%o incl'&e a !ath. K)ire)o;K
*E3N5M7EF3+LTMT44L-M,G6NTC7 3 !rinting tool. 6t %ho'l& (e a(le to acce!t an&
!roce%% !lain te;t )ile%. Thi% can al%o incl'&e a !ath.
Kl!rK
*E3N5M7EF3+LTMT44L-M*GE, 3 gre! tool. 6t %ho'l& (e com!ati(le .ith *N+ gre!.
Thi% can al%o incl'&e a !ath.
Kgre!K
*E3N5M7EF3+LTMG+MLEN*T> The length o) the KGecent )ile%K li%t. 10
*E3N5M7EF3+LTMF4NTM-5@4LML6-T The )ont '%e& in %i&e(ar to %ho. %"m(ol% an& o!en
)ile%.
K-an% 9K
*E3N5M7EF3+LTMF4NTM-*MD6N74D The )ont '%e& in the me%%age% .in&o.. K-an% 9K
*E3N5M7EF3+LTMF4NTME76T4G The )ont '%e& in the e&itor .in&o.. Kono%!ace 10K
*E3N5MT4**LEM3G8 3 %tring .hich i% '%e& to mark a toggle& comment. KF K
*E3N5M3=M3+T4C4,LETEMD4G7- >o. man" a'tocom!letion %'gge%tion% %ho'l&
*ean" !rovi&e.
Y0
$uild3h
.*tion Des#ri*tion Default
*E3N5M@+6L7MEGGM>6*>L6*>TM3= 3mo'nt o) ('il& error me%%age% .hich %ho'l&
(e highlighte& in the Com!iler me%%age .in&o..
Thi% a))ect% the %!ecial coloring .hen *ean"
&etect% a com!iler o't!'t line a% an error
me%%age an& then highlight the corre%!on&ing
line in the %o'rce co&e. +%'all" onl" the )ir%t )e.
me%%age% are intere%ting (eca'%e )ollo.ing
error% are A'%t a)tere))ect%.
100
GNU General Pu$li# Li#ense
GNU GENE'AL PU)LI! LI!EN,E
"ersion 4, ?une @AA@
Co!"right 1C2 19890 1991 Free -o)t.are Fo'n&ation0 6nc.
$1 Franklin -t0 Fi)th Floor0 @o%ton0 3 02110-1Y01 +-3
Ever"one i% !ermitte& to co!" an& &i%tri('te ver(atim co!ie%
o) thi% licen%e &oc'ment0 ('t changing it i% not allo.e&.
Prea&$le
The licen%e% )or mo%t %o)t.are are &e%igne& to take a.a" "o'r
)ree&om to %hare an& change it. @" contra%t0 the *N+ *eneral ,'(lic
Licen%e i% inten&e& to g'arantee "o'r )ree&om to %hare an& change )ree
%o)t.are--to make %'re the %o)t.are i% )ree )or all it% '%er%. Thi%
*eneral ,'(lic Licen%e a!!lie% to mo%t o) the Free -o)t.are
Fo'n&ationH% %o)t.are an& to an" other !rogram .ho%e a'thor% commit to
'%ing it. 1-ome other Free -o)t.are Fo'n&ation %o)t.are i% covere& ("
the *N+ Li(rar" *eneral ,'(lic Licen%e in%tea&.2 5o' can a!!l" it to
"o'r !rogram%0 too.
Dhen .e %!eak o) )ree %o)t.are0 .e are re)erring to )ree&om0 not
!rice. 4'r *eneral ,'(lic Licen%e% are &e%igne& to make %'re that "o'
have the )ree&om to &i%tri('te co!ie% o) )ree %o)t.are 1an& charge )or
thi% %ervice i) "o' .i%h20 that "o' receive %o'rce co&e or can get it
i) "o' .ant it0 that "o' can change the %o)t.are or '%e !iece% o) it
in ne. )ree !rogram%/ an& that "o' kno. "o' can &o the%e thing%.
To !rotect "o'r right%0 .e nee& to make re%triction% that )or(i&
an"one to &en" "o' the%e right% or to a%k "o' to %'rren&er the right%.
The%e re%triction% tran%late to certain re%!on%i(ilitie% )or "o' i) "o'
&i%tri('te co!ie% o) the %o)t.are0 or i) "o' mo&i)" it.
For e;am!le0 i) "o' &i%tri('te co!ie% o) %'ch a !rogram0 .hether
grati% or )or a )ee0 "o' m'%t give the reci!ient% all the right% that
"o' have. 5o' m'%t make %'re that the"0 too0 receive or can get the
%o'rce co&e. 3n& "o' m'%t %ho. them the%e term% %o the" kno. their
right%.
De !rotect "o'r right% .ith t.o %te!%: 112 co!"right the %o)t.are0 an&
122 o))er "o' thi% licen%e .hich give% "o' legal !ermi%%ion to co!"0
&i%tri('te an&<or mo&i)" the %o)t.are.
3l%o0 )or each a'thorH% !rotection an& o'r%0 .e .ant to make certain
that ever"one 'n&er%tan&% that there i% no .arrant" )or thi% )ree
%o)t.are. 6) the %o)t.are i% mo&i)ie& (" %omeone el%e an& !a%%e& on0 .e
.ant it% reci!ient% to kno. that .hat the" have i% not the original0 %o
that an" !ro(lem% intro&'ce& (" other% .ill not re)lect on the original
a'thor%H re!'tation%.
Finall"0 an" )ree !rogram i% threatene& con%tantl" (" %o)t.are
!atent%. De .i%h to avoi& the &anger that re&i%tri('tor% o) a )ree
!rogram .ill in&ivi&'all" o(tain !atent licen%e%0 in e))ect making the
!rogram !ro!rietar". To !revent thi%0 .e have ma&e it clear that an"
!atent m'%t (e licen%e& )or ever"oneH% )ree '%e or not licen%e& at all.
The !reci%e term% an& con&ition% )or co!"ing0 &i%tri('tion an&
mo&i)ication )ollo..
GNU GENE'AL PU)LI! LI!EN,E
TE'M, AND !.NDITI.N, F.' !.PBING, DI,T'I)UTI.N AND M.DIFI!ATI.N
0. Thi% Licen%e a!!lie% to an" !rogram or other .ork .hich contain%
a notice !lace& (" the co!"right hol&er %a"ing it ma" (e &i%tri('te&
'n&er the term% o) thi% *eneral ,'(lic Licen%e. The K,rogramK0 (elo.0
re)er% to an" %'ch !rogram or .ork0 an& a K.ork (a%e& on the ,rogramK
mean% either the ,rogram or an" &erivative .ork 'n&er co!"right la.:
that i% to %a"0 a .ork containing the ,rogram or a !ortion o) it0
either ver(atim or .ith mo&i)ication% an&<or tran%late& into another
lang'age. 1>ereina)ter0 tran%lation i% incl'&e& .itho't limitation in
the term Kmo&i)icationK.2 Each licen%ee i% a&&re%%e& a% K"o'K.
3ctivitie% other than co!"ing0 &i%tri('tion an& mo&i)ication are not
covere& (" thi% Licen%e/ the" are o't%i&e it% %co!e. The act o)
r'nning the ,rogram i% not re%tricte&0 an& the o't!'t )rom the ,rogram
i% covere& onl" i) it% content% con%tit'te a .ork (a%e& on the
,rogram 1in&e!en&ent o) having (een ma&e (" r'nning the ,rogram2.
Dhether that i% tr'e &e!en&% on .hat the ,rogram &oe%.
1. 5o' ma" co!" an& &i%tri('te ver(atim co!ie% o) the ,rogramH%
%o'rce co&e a% "o' receive it0 in an" me&i'm0 !rovi&e& that "o'
con%!ic'o'%l" an& a!!ro!riatel" !'(li%h on each co!" an a!!ro!riate
co!"right notice an& &i%claimer o) .arrant"/ kee! intact all the
notice% that re)er to thi% Licen%e an& to the a(%ence o) an" .arrant"/
an& give an" other reci!ient% o) the ,rogram a co!" o) thi% Licen%e
along .ith the ,rogram.
5o' ma" charge a )ee )or the !h"%ical act o) tran%)erring a co!"0 an&
"o' ma" at "o'r o!tion o))er .arrant" !rotection in e;change )or a )ee.
2. 5o' ma" mo&i)" "o'r co!" or co!ie% o) the ,rogram or an" !ortion
o) it0 th'% )orming a .ork (a%e& on the ,rogram0 an& co!" an&
&i%tri('te %'ch mo&i)ication% or .ork 'n&er the term% o) -ection 1
a(ove0 !rovi&e& that "o' al%o meet all o) the%e con&ition%:
a2 5o' m'%t ca'%e the mo&i)ie& )ile% to carr" !rominent notice%
%tating that "o' change& the )ile% an& the &ate o) an" change.
(2 5o' m'%t ca'%e an" .ork that "o' &i%tri('te or !'(li%h0 that in
.hole or in !art contain% or i% &erive& )rom the ,rogram or an"
!art thereo)0 to (e licen%e& a% a .hole at no charge to all thir&
!artie% 'n&er the term% o) thi% Licen%e.
c2 6) the mo&i)ie& !rogram normall" rea&% comman&% interactivel"
.hen r'n0 "o' m'%t ca'%e it0 .hen %tarte& r'nning )or %'ch
interactive '%e in the mo%t or&inar" .a"0 to !rint or &i%!la" an
anno'ncement incl'&ing an a!!ro!riate co!"right notice an& a
notice that there i% no .arrant" 1or el%e0 %a"ing that "o' !rovi&e
a .arrant"2 an& that '%er% ma" re&i%tri('te the !rogram 'n&er
the%e con&ition%0 an& telling the '%er ho. to vie. a co!" o) thi%
Licen%e. 1E;ce!tion: i) the ,rogram it%el) i% interactive ('t
&oe% not normall" !rint %'ch an anno'ncement0 "o'r .ork (a%e& on
the ,rogram i% not re9'ire& to !rint an anno'ncement.2
The%e re9'irement% a!!l" to the mo&i)ie& .ork a% a .hole. 6)
i&enti)ia(le %ection% o) that .ork are not &erive& )rom the ,rogram0
an& can (e rea%ona(l" con%i&ere& in&e!en&ent an& %e!arate .ork% in
them%elve%0 then thi% Licen%e0 an& it% term%0 &o not a!!l" to tho%e
%ection% .hen "o' &i%tri('te them a% %e!arate .ork%. @'t .hen "o'
&i%tri('te the %ame %ection% a% !art o) a .hole .hich i% a .ork (a%e&
on the ,rogram0 the &i%tri('tion o) the .hole m'%t (e on the term% o)
thi% Licen%e0 .ho%e !ermi%%ion% )or other licen%ee% e;ten& to the
entire .hole0 an& th'% to each an& ever" !art regar&le%% o) .ho .rote it.
Th'%0 it i% not the intent o) thi% %ection to claim right% or conte%t
"o'r right% to .ork .ritten entirel" (" "o'/ rather0 the intent i% to
e;erci%e the right to control the &i%tri('tion o) &erivative or
collective .ork% (a%e& on the ,rogram.
6n a&&ition0 mere aggregation o) another .ork not (a%e& on the ,rogram
.ith the ,rogram 1or .ith a .ork (a%e& on the ,rogram2 on a vol'me o)
a %torage or &i%tri('tion me&i'm &oe% not (ring the other .ork 'n&er
the %co!e o) thi% Licen%e.
Y. 5o' ma" co!" an& &i%tri('te the ,rogram 1or a .ork (a%e& on it0
'n&er -ection 22 in o(Aect co&e or e;ec'ta(le )orm 'n&er the term% o)
-ection% 1 an& 2 a(ove !rovi&e& that "o' al%o &o one o) the )ollo.ing:
a2 3ccom!an" it .ith the com!lete corre%!on&ing machine-rea&a(le
%o'rce co&e0 .hich m'%t (e &i%tri('te& 'n&er the term% o) -ection%
1 an& 2 a(ove on a me&i'm c'%tomaril" '%e& )or %o)t.are interchange/ or0
(2 3ccom!an" it .ith a .ritten o))er0 vali& )or at lea%t three
"ear%0 to give an" thir& !art"0 )or a charge no more than "o'r
co%t o) !h"%icall" !er)orming %o'rce &i%tri('tion0 a com!lete
machine-rea&a(le co!" o) the corre%!on&ing %o'rce co&e0 to (e
&i%tri('te& 'n&er the term% o) -ection% 1 an& 2 a(ove on a me&i'm
c'%tomaril" '%e& )or %o)t.are interchange/ or0
c2 3ccom!an" it .ith the in)ormation "o' receive& a% to the o))er
to &i%tri('te corre%!on&ing %o'rce co&e. 1Thi% alternative i%
allo.e& onl" )or noncommercial &i%tri('tion an& onl" i) "o'
receive& the !rogram in o(Aect co&e or e;ec'ta(le )orm .ith %'ch
an o))er0 in accor& .ith -'(%ection ( a(ove.2
The %o'rce co&e )or a .ork mean% the !re)erre& )orm o) the .ork )or
making mo&i)ication% to it. For an e;ec'ta(le .ork0 com!lete %o'rce
co&e mean% all the %o'rce co&e )or all mo&'le% it contain%0 !l'% an"
a%%ociate& inter)ace &e)inition )ile%0 !l'% the %cri!t% '%e& to
control com!ilation an& in%tallation o) the e;ec'ta(le. >o.ever0 a% a
%!ecial e;ce!tion0 the %o'rce co&e &i%tri('te& nee& not incl'&e
an"thing that i% normall" &i%tri('te& 1in either %o'rce or (inar"
)orm2 .ith the maAor com!onent% 1com!iler0 kernel0 an& %o on2 o) the
o!erating %"%tem on .hich the e;ec'ta(le r'n%0 'nle%% that com!onent
it%el) accom!anie% the e;ec'ta(le.
6) &i%tri('tion o) e;ec'ta(le or o(Aect co&e i% ma&e (" o))ering
acce%% to co!" )rom a &e%ignate& !lace0 then o))ering e9'ivalent
acce%% to co!" the %o'rce co&e )rom the %ame !lace co'nt% a%
&i%tri('tion o) the %o'rce co&e0 even tho'gh thir& !artie% are not
com!elle& to co!" the %o'rce along .ith the o(Aect co&e.
I. 5o' ma" not co!"0 mo&i)"0 %'(licen%e0 or &i%tri('te the ,rogram
e;ce!t a% e;!re%%l" !rovi&e& 'n&er thi% Licen%e. 3n" attem!t
other.i%e to co!"0 mo&i)"0 %'(licen%e or &i%tri('te the ,rogram i%
voi&0 an& .ill a'tomaticall" terminate "o'r right% 'n&er thi% Licen%e.
>o.ever0 !artie% .ho have receive& co!ie%0 or right%0 )rom "o' 'n&er
thi% Licen%e .ill not have their licen%e% terminate& %o long a% %'ch
!artie% remain in )'ll com!liance.
$. 5o' are not re9'ire& to acce!t thi% Licen%e0 %ince "o' have not
%igne& it. >o.ever0 nothing el%e grant% "o' !ermi%%ion to mo&i)" or
&i%tri('te the ,rogram or it% &erivative .ork%. The%e action% are
!rohi(ite& (" la. i) "o' &o not acce!t thi% Licen%e. There)ore0 ("
mo&i)"ing or &i%tri('ting the ,rogram 1or an" .ork (a%e& on the
,rogram20 "o' in&icate "o'r acce!tance o) thi% Licen%e to &o %o0 an&
all it% term% an& con&ition% )or co!"ing0 &i%tri('ting or mo&i)"ing
the ,rogram or .ork% (a%e& on it.
6. Each time "o' re&i%tri('te the ,rogram 1or an" .ork (a%e& on the
,rogram20 the reci!ient a'tomaticall" receive% a licen%e )rom the
original licen%or to co!"0 &i%tri('te or mo&i)" the ,rogram %'(Aect to
the%e term% an& con&ition%. 5o' ma" not im!o%e an" )'rther
re%triction% on the reci!ient%H e;erci%e o) the right% grante& herein.
5o' are not re%!on%i(le )or en)orcing com!liance (" thir& !artie% to
thi% Licen%e.
L. 6)0 a% a con%e9'ence o) a co'rt A'&gment or allegation o) !atent
in)ringement or )or an" other rea%on 1not limite& to !atent i%%'e%20
con&ition% are im!o%e& on "o' 1.hether (" co'rt or&er0 agreement or
other.i%e2 that contra&ict the con&ition% o) thi% Licen%e0 the" &o not
e;c'%e "o' )rom the con&ition% o) thi% Licen%e. 6) "o' cannot
&i%tri('te %o a% to %ati%)" %im'ltaneo'%l" "o'r o(ligation% 'n&er thi%
Licen%e an& an" other !ertinent o(ligation%0 then a% a con%e9'ence "o'
ma" not &i%tri('te the ,rogram at all. For e;am!le0 i) a !atent
licen%e .o'l& not !ermit ro"alt"-)ree re&i%tri('tion o) the ,rogram ("
all tho%e .ho receive co!ie% &irectl" or in&irectl" thro'gh "o'0 then
the onl" .a" "o' co'l& %ati%)" (oth it an& thi% Licen%e .o'l& (e to
re)rain entirel" )rom &i%tri('tion o) the ,rogram.
6) an" !ortion o) thi% %ection i% hel& invali& or 'nen)orcea(le 'n&er
an" !artic'lar circ'm%tance0 the (alance o) the %ection i% inten&e& to
a!!l" an& the %ection a% a .hole i% inten&e& to a!!l" in other
circ'm%tance%.
6t i% not the !'r!o%e o) thi% %ection to in&'ce "o' to in)ringe an"
!atent% or other !ro!ert" right claim% or to conte%t vali&it" o) an"
%'ch claim%/ thi% %ection ha% the %ole !'r!o%e o) !rotecting the
integrit" o) the )ree %o)t.are &i%tri('tion %"%tem0 .hich i%
im!lemente& (" !'(lic licen%e !ractice%. an" !eo!le have ma&e
genero'% contri('tion% to the .i&e range o) %o)t.are &i%tri('te&
thro'gh that %"%tem in reliance on con%i%tent a!!lication o) that
%"%tem/ it i% '! to the a'thor<&onor to &eci&e i) he or %he i% .illing
to &i%tri('te %o)t.are thro'gh an" other %"%tem an& a licen%ee cannot
im!o%e that choice.
Thi% %ection i% inten&e& to make thoro'ghl" clear .hat i% (elieve& to
(e a con%e9'ence o) the re%t o) thi% Licen%e.
8. 6) the &i%tri('tion an&<or '%e o) the ,rogram i% re%tricte& in
certain co'ntrie% either (" !atent% or (" co!"righte& inter)ace%0 the
original co!"right hol&er .ho !lace% the ,rogram 'n&er thi% Licen%e
ma" a&& an e;!licit geogra!hical &i%tri('tion limitation e;cl'&ing
tho%e co'ntrie%0 %o that &i%tri('tion i% !ermitte& onl" in or among
co'ntrie% not th'% e;cl'&e&. 6n %'ch ca%e0 thi% Licen%e incor!orate%
the limitation a% i) .ritten in the (o&" o) thi% Licen%e.
9. The Free -o)t.are Fo'n&ation ma" !'(li%h revi%e& an&<or ne. ver%ion%
o) the *eneral ,'(lic Licen%e )rom time to time. -'ch ne. ver%ion% .ill
(e %imilar in %!irit to the !re%ent ver%ion0 ('t ma" &i))er in &etail to
a&&re%% ne. !ro(lem% or concern%.
Each ver%ion i% given a &i%ting'i%hing ver%ion n'm(er. 6) the ,rogram
%!eci)ie% a ver%ion n'm(er o) thi% Licen%e .hich a!!lie% to it an& Kan"
later ver%ionK0 "o' have the o!tion o) )ollo.ing the term% an& con&ition%
either o) that ver%ion or o) an" later ver%ion !'(li%he& (" the Free
-o)t.are Fo'n&ation. 6) the ,rogram &oe% not %!eci)" a ver%ion n'm(er o)
thi% Licen%e0 "o' ma" choo%e an" ver%ion ever !'(li%he& (" the Free -o)t.are
Fo'n&ation.
10. 6) "o' .i%h to incor!orate !art% o) the ,rogram into other )ree
!rogram% .ho%e &i%tri('tion con&ition% are &i))erent0 .rite to the a'thor
to a%k )or !ermi%%ion. For %o)t.are .hich i% co!"righte& (" the Free
-o)t.are Fo'n&ation0 .rite to the Free -o)t.are Fo'n&ation/ .e %ometime%
make e;ce!tion% )or thi%. 4'r &eci%ion .ill (e g'i&e& (" the t.o goal%
o) !re%erving the )ree %tat'% o) all &erivative% o) o'r )ree %o)t.are an&
o) !romoting the %haring an& re'%e o) %o)t.are generall".
N4 D3GG3NT5
11. @EC3+-E T>E ,G4*G3 6- L6CEN-E7 FGEE 4F C>3G*E0 T>EGE 6- N4 D3GG3NT5
F4G T>E ,G4*G30 T4 T>E E=TENT ,EG6TTE7 @5 3,,L6C3@LE L3D. E=CE,T D>EN
4T>EGD6-E -T3TE7 6N DG6T6N* T>E C4,5G6*>T >4L7EG- 3N7<4G 4T>EG ,3GT6E-
,G4N67E T>E ,G4*G3 K3- 6-K D6T>4+T D3GG3NT5 4F 3N5 86N70 E6T>EG E=,GE--E7
4G 6,L6E70 6NCL+76N*0 @+T N4T L66TE7 T40 T>E 6,L6E7 D3GG3NT6E- 4F
EGC>3NT3@6L6T5 3N7 F6TNE-- F4G 3 ,3GT6C+L3G ,+G,4-E. T>E ENT6GE G6-8 3-
T4 T>E ^+3L6T5 3N7 ,EGF4G3NCE 4F T>E ,G4*G3 6- D6T> 54+. ->4+L7 T>E
,G4*G3 ,G4NE 7EFECT6NE0 54+ 3--+E T>E C4-T 4F 3LL NECE--3G5 -EGN6C6N*0
GE,36G 4G C4GGECT64N.
12. 6N N4 ENENT +NLE-- GE^+6GE7 @5 3,,L6C3@LE L3D 4G 3*GEE7 T4 6N DG6T6N*
D6LL 3N5 C4,5G6*>T >4L7EG0 4G 3N5 4T>EG ,3GT5 D>4 35 476F5 3N7<4G
GE76-TG6@+TE T>E ,G4*G3 3- ,EG6TTE7 3@4NE0 @E L63@LE T4 54+ F4G 733*E-0
6NCL+76N* 3N5 *ENEG3L0 -,EC63L0 6NC67ENT3L 4G C4N-E^+ENT63L 733*E- 3G6-6N*
4+T 4F T>E +-E 4G 6N3@6L6T5 T4 +-E T>E ,G4*G3 16NCL+76N* @+T N4T L66TE7
T4 L4-- 4F 73T3 4G 73T3 @E6N* GEN7EGE7 6N3CC+G3TE 4G L4--E- -+-T36NE7 @5
54+ 4G T>6G7 ,3GT6E- 4G 3 F36L+GE 4F T>E ,G4*G3 T4 4,EG3TE D6T> 3N5 4T>EG
,G4*G3-20 ENEN 6F -+C> >4L7EG 4G 4T>EG ,3GT5 >3- @EEN 37N6-E7 4F T>E
,4--6@6L6T5 4F -+C> 733*E-.
EN7 4F TEG- 3N7 C4N76T64N-
8o0 to A**ly These Ter&s to Bour Ne0 Progra&s
6) "o' &evelo! a ne. !rogram0 an& "o' .ant it to (e o) the greate%t
!o%%i(le '%e to the !'(lic0 the (e%t .a" to achieve thi% i% to make it
)ree %o)t.are .hich ever"one can re&i%tri('te an& change 'n&er the%e term%.
To &o %o0 attach the )ollo.ing notice% to the !rogram. 6t i% %a)e%t
to attach them to the %tart o) each %o'rce )ile to mo%t e))ectivel"
conve" the e;cl'%ion o) .arrant"/ an& each )ile %ho'l& have at lea%t
the Kco!"rightK line an& a !ointer to .here the )'ll notice i% )o'n&.
Xone line to give the !rogramH% name an& a (rie) i&ea o) .hat it &oe%.B
Co!"right 1C2 X"earB Xname o) a'thorB
Thi% !rogram i% )ree %o)t.are/ "o' can re&i%tri('te it an&<or mo&i)"
it 'n&er the term% o) the *N+ *eneral ,'(lic Licen%e a% !'(li%he& ("
the Free -o)t.are Fo'n&ation/ either ver%ion 2 o) the Licen%e0 or
1at "o'r o!tion2 an" later ver%ion.
Thi% !rogram i% &i%tri('te& in the ho!e that it .ill (e '%e)'l0
('t D6T>4+T 3N5 D3GG3NT5/ .itho't even the im!lie& .arrant" o)
EGC>3NT3@6L6T5 or F6TNE-- F4G 3 ,3GT6C+L3G ,+G,4-E. -ee the
*N+ *eneral ,'(lic Licen%e )or more &etail%.
5o' %ho'l& have receive& a co!" o) the *N+ *eneral ,'(lic Licen%e
along .ith thi% !rogram/ i) not0 .rite to the Free -o)t.are
Fo'n&ation0 6nc.0 $1 Franklin -t0 Fi)th Floor0 @o%ton0 3 02110-1Y01 +-3
3l%o a&& in)ormation on ho. to contact "o' (" electronic an& !a!er mail.
6) the !rogram i% interactive0 make it o't!'t a %hort notice like thi%
.hen it %tart% in an interactive mo&e:
*nomovi%ion ver%ion 690 Co!"right 1C2 "ear name o) a'thor
*nomovi%ion come% .ith 3@-4L+TEL5 N4 D3GG3NT5/ )or &etail% t"!e _%ho. .H.
Thi% i% )ree %o)t.are0 an& "o' are .elcome to re&i%tri('te it
'n&er certain con&ition%/ t"!e _%ho. cH )or &etail%.
The h"!othetical comman&% _%ho. .H an& _%ho. cH %ho'l& %ho. the a!!ro!riate
!art% o) the *eneral ,'(lic Licen%e. 4) co'r%e0 the comman&% "o' '%e ma"
(e calle& %omething other than _%ho. .H an& _%ho. cH/ the" co'l& even (e
mo'%e-click% or men' item%--.hatever %'it% "o'r !rogram.
5o' %ho'l& al%o get "o'r em!lo"er 1i) "o' .ork a% a !rogrammer2 or "o'r
%chool0 i) an"0 to %ign a Kco!"right &i%claimerK )or the !rogram0 i)
nece%%ar". >ere i% a %am!le/ alter the name%:
5o"o&"ne0 6nc.0 here(" &i%claim% all co!"right intere%t in the !rogram
_*nomovi%ionH 1.hich make% !a%%e% at com!iler%2 .ritten (" ?ame% >acker.
X%ignat're o) T" CoonB0 1 3!ril 1989
T" Coon0 ,re%i&ent o) Nice
Thi% *eneral ,'(lic Licen%e &oe% not !ermit incor!orating "o'r !rogram into
!ro!rietar" !rogram%. 6) "o'r !rogram i% a %'(ro'tine li(rar"0 "o' ma"
con%i&er it more '%e)'l to !ermit linking !ro!rietar" a!!lication% .ith the
li(rar". 6) thi% i% .hat "o' .ant to &o0 '%e the *N+ Li(rar" *eneral
,'(lic Licen%e in%tea& o) thi% Licen%e.
Li#ense for ,#intilla and ,#iTE
Co!"right 1998-200Y (" Neil >o&g%on Xneilh1at2%cintilla1&ot2orgB
3ll Gight% Ge%erve&
,ermi%%ion to '%e0 co!"0 mo&i)"0 an& &i%tri('te thi% %o)t.are an& it% &oc'mentation )or an" !'r!o%e an& .itho't )ee i% here(" grante&0
!rovi&e& that the a(ove co!"right notice a!!ear in all co!ie% an& that (oth that co!"right notice an& thi% !ermi%%ion notice a!!ear in
%'!!orting &oc'mentation.
NE6L >47*-4N 76-CL36- 3LL D3GG3NT6E- D6T> GE*3G7 T4 T>6- -4FTD3GE0 6NCL+76N* 3LL 6,L6E7 D3GG3NT6E- 4F
EGC>3NT3@6L6T5 3N7 F6TNE--0 6N N4 ENENT ->3LL NE6L >47*-4N @E L63@LE F4G 3N5 -,EC63L0 6N76GECT 4G C4N-E^+ENT63L
733*E- 4G 3N5 733*E- D>3T-4ENEG GE-+LT6N* FG4 L4-- 4F +-E0 73T3 4G ,G4F6T-0 D>ET>EG 6N 3N 3CT64N 4F C4NTG3CT0
NE*L6*ENCE 4G 4T>EG T4GT64+- 3CT64N0 3G6-6N* 4+T 4F 4G 6N C4NNECT64N D6T> T>E +-E 4G ,EGF4G3NCE 4F T>6- -4FTD3GE.

S-ar putea să vă placă și