Merge pull request #3757 from andy5995/iss-3752
[geany-mirror.git] / README
blobed8c16b9da15a04c8c63717c0166063d92e4c2c3
1 Geany - A fast and lightweight IDE
2 ----------------------------------
5 About
6 -----
7 Geany is a small and lightweight integrated development environment.
8 It was developed to provide a small and fast IDE, which has only a
9 few dependencies from other packages. Another goal was to be as independent
10 as possible from a special Desktop Environment like KDE or GNOME. So it
11 is using only the GTK+ toolkit and therefore you need only the
12 GTK+ runtime libraries to run Geany.
14 .. image:: doc/images/main_window.png
15   :width: 750
16   :alt: Screenshot of Geany showing the main user interface
17   :target: doc/images/main_window.png
20 Features
21 --------
22 The basic features of Geany are:
24 - syntax highlighting
25 - code completion
26 - auto completion of often used constructs like if, for and while
27 - auto completion of XML and HTML tags
28 - call tips
29 - folding
30 - many supported filetypes like C, Java, PHP, HTML, Python, Perl, Pascal
31 - symbol lists
32 - embedded terminal emulation
33 - extensibility through plugins
36 Installation from distribution packages
37 ---------------------------------------
38 Using distribution packages on Linux, BSD and similar distributions
39 is the easiest and recommended way. This way you will also benefit
40 from automatic Geany updates by the package manager of the distribution.
42 Packages are available for most distributions including Debian, Fedora, Ubuntu
43 and many more.
46 Installation on Mac OS and Windows
47 ----------------------------------
48 Prebuilt binary packages for Mac OS and Windows can be found on
49 https://www.geany.org.
52 Installation from sources
53 -------------------------
55 Requirements
56 ++++++++++++
57 For compiling Geany yourself, you will need the GTK3 libraries and 
58 header files. You will also need its dependency libraries and header 
59 files, such as Pango, Glib and ATK. All these files are available at 
60 https://www.gtk.org.
62 Furthermore you need, of course, a C compiler and the Make tool; a C++
63 compiler is also needed for the required Scintilla library included. The
64 GNU versions of these tools are recommended.
67 To build the user manual you need *rst2html* from Docutils. A pre-built
68 version of the manual is available in distribution tarballs and will be used as
69 fallback if *rst2html* is missing. When building from Git however, that
70 pre-built version is not included and *rst2html* is required by default.
71 You can explicitly disable building the user manual using the
72 ``--disable-html-docs`` *configure* flag, but this will result in not
73 installing a local version of the user manual, and Geany will then try
74 and open the online version instead when requested.
77 .. note::
78     Building Geany from source on Mac OS and Windows is more complicated
79     and is out of scope of this document. For more information on
80     building instructions for these platforms, please check the wiki
81     at https://wiki.geany.org/howtos/.
83 Installing from a Git clone
84 +++++++++++++++++++++++++++
86 Using the Meson build system
87 ++++++++++++++++++++++++++++
89 N.B. Meson support is still incomplete and a work-in-progress.
91 Meson requires to chose a separate build directory. Either create
92 one, or let meson do it:
94 `meson build` or `mkdir build; cd build; meson ..`
96 Either command will configure the build system. The system is probed
97 in many ways and system-dependant build files are created. This includes
98 location of dependencies and compiler and linker flags required for them.
100 To build Geany, follow with a `meson compile -C build`
102 To install Geany, follow the build with a `sudo meson install -C build`.
104 By default, meson will install Geany to `/usr/local`. A different
105 prefix can be selected at the initial command or via reconfiguration:
107 `meson --prefix /opt build` or `meson configure --prefix /opt build`
109 Geany has some selectable features that may reduce the required
110 build and runtime dependencies. See meson_optionts.txt for a full list.
112 To turn a feature off, use `-D<feature>=false` when configuring the build,
113 for example: `meson configure -Dvte=false build`
115 Using Autotools
116 +++++++++++++++
118 Install Autotools (*autopoint*, *automake*, *autoconf* and *libtool*),
119 *gettext*, and the GLib development files **before** running any of the
120 following commands, as well as *rst2html* from Docutils (see above for
121 details). Then, run ``./autogen.sh`` and then follow the instructions for
122 `installing from a release tarball`_.
124 Installing from a release tarball
125 +++++++++++++++++++++++++++++++++
127 Run the the following three commands::
129     $ ./configure
130     $ make
131     (as root, or using sudo)
132     % make install
134 For more configuration details run ``./configure --help``.
136 If there are any errors during compilation, check your build environment
137 and try to find the error, otherwise contact the mailing list or one of
138 the authors.
140 See the manual for details (geany.txt/geany.html).
143 Usage
144 -----
145 To run Geany just type::
147     $ geany
149 on a console or use the applications menu from your desktop environment.
150 For command line options, see the manual page of Geany or run::
152     $ geany --help
154 for details. Or look into the documentation in the *doc/* directory.
155 The most important option probably is ``-c`` or ``--config``, where you can
156 specify an alternate configuration directory.
159 License
160 -------
161 Geany is distributed under the terms of the GNU General Public License
162 as published by the Free Software Foundation; either version 2 of the
163 License, or (at your option) any later version.  A copy of this license
164 can be found in the file COPYING included with the source code of this
165 program.
166 The included Scintilla library (found in the subdirectory scintilla/)
167 has its own license, which can be found in the file scintilla/License.txt
168 included with the source code of this program.
171 Ideas, questions, patches and bug reports
172 -----------------------------------------
173 See https://www.geany.org/.
174 If you add something, or fix a bug, please create a pull request at
175 https://github.com/geany/geany/. Also see the HACKING file.