|
| 1 | +Geany-ng - A fast and lightweight IDE <img src="https://raw.githubusercontent.com/Alex313031/geany-ng/master/icons/geany256.png" width="48"> |
| 2 | +---------------------------------- |
| 3 | + |
| 4 | + |
| 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. |
| 13 | + |
| 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 |
| 18 | + |
| 19 | +NG |
| 20 | +------ |
| 21 | +These are optimized builds, built with `-g0 -s -O3 -mavx -maes -DNDEBUG`, as well as the main icon and build icon changed. |
| 22 | + |
| 23 | +Features |
| 24 | +-------- |
| 25 | +The basic features of Geany are: |
| 26 | + |
| 27 | +- syntax highlighting |
| 28 | +- code completion |
| 29 | +- auto completion of often used constructs like if, for and while |
| 30 | +- auto completion of XML and HTML tags |
| 31 | +- call tips |
| 32 | +- folding |
| 33 | +- many supported filetypes like C, Java, PHP, HTML, Python, Perl, Pascal |
| 34 | +- symbol lists |
| 35 | +- embedded terminal emulation |
| 36 | +- extensibility through plugins |
| 37 | + |
| 38 | + |
| 39 | +Installation from distribution packages |
| 40 | +--------------------------------------- |
| 41 | +Using distribution packages on Linux, BSD and similar distributions |
| 42 | +is the easiest and recommended way. This way you will also benefit |
| 43 | +from automatic Geany updates by the package manager of the distribution. |
| 44 | + |
| 45 | +Packages are available for most distributions including Debian, Fedora, Ubuntu |
| 46 | +and many more. |
| 47 | + |
| 48 | + |
| 49 | +Installation on Mac OS and Windows |
| 50 | +---------------------------------- |
| 51 | +Prebuilt binary packages for Mac OS and Windows can be found on |
| 52 | +https://www.geany.org. |
| 53 | + |
| 54 | + |
| 55 | +Installation from sources |
| 56 | +------------------------- |
| 57 | + |
| 58 | +Requirements |
| 59 | +++++++++++++ |
| 60 | +For compiling Geany yourself, you will need the GTK3 libraries and |
| 61 | +header files. You will also need its dependency libraries and header |
| 62 | +files, such as Pango, Glib and ATK. All these files are available at |
| 63 | +https://www.gtk.org. |
| 64 | + |
| 65 | +Furthermore you need, of course, a C compiler and the Make tool; a C++ |
| 66 | +compiler is also needed for the required Scintilla library included. The |
| 67 | +GNU versions of these tools are recommended. |
| 68 | + |
| 69 | + |
| 70 | +To build the user manual you need *rst2html* from Docutils. A pre-built |
| 71 | +version of the manual is available in distribution tarballs and will be used as |
| 72 | +fallback if *rst2html* is missing. When building from Git however, that |
| 73 | +pre-built version is not included and *rst2html* is required by default. |
| 74 | +You can explicitly disable building the user manual using the |
| 75 | +``--disable-html-docs`` *configure* flag, but this will result in not |
| 76 | +installing a local version of the user manual, and Geany will then try |
| 77 | +and open the online version instead when requested. |
| 78 | + |
| 79 | + |
| 80 | +.. note:: |
| 81 | + Building Geany from source on Mac OS and Windows is more complicated |
| 82 | + and is out of scope of this document. For more information on |
| 83 | + building instructions for these platforms, please check the wiki |
| 84 | + at https://wiki.geany.org/howtos/. |
| 85 | + |
| 86 | +Installing from a Git clone |
| 87 | ++++++++++++++++++++++++++++ |
| 88 | + |
| 89 | +Using the Meson build system |
| 90 | +++++++++++++++++++++++++++++ |
| 91 | + |
| 92 | +N.B. Meson support is still incomplete and a work-in-progress. |
| 93 | + |
| 94 | +Meson requires to chose a separate build directory. Either create |
| 95 | +one, or let meson do it: |
| 96 | + |
| 97 | +`meson build` or `mkdir build; cd build; meson ..` |
| 98 | + |
| 99 | +Either command will configure the build system. The system is probed |
| 100 | +in many ways and system-dependant build files are created. This includes |
| 101 | +location of dependencies and compiler and linker flags required for them. |
| 102 | + |
| 103 | +To build Geany, follow with a `meson compile -C build` |
| 104 | + |
| 105 | +To install Geany, follow the build with a `sudo meson install -C build`. |
| 106 | + |
| 107 | +By default, meson will install Geany to `/usr/local`. A different |
| 108 | +prefix can be selected at the initial command or via reconfiguration: |
| 109 | + |
| 110 | +`meson --prefix /opt build` or `meson configure --prefix /opt build` |
| 111 | + |
| 112 | +Geany has some selectable features that may reduce the required |
| 113 | +build and runtime dependencies. See meson_optionts.txt for a full list. |
| 114 | + |
| 115 | +To turn a feature off, use `-D<feature>=false` when configuring the build, |
| 116 | +for example: `meson configure -Dvte=false build` |
| 117 | + |
| 118 | +Using Autotools |
| 119 | ++++++++++++++++ |
| 120 | + |
| 121 | +Install Autotools (*autopoint*, *automake*, *autoconf* and *libtool*), |
| 122 | +*gettext*, and the GLib development files **before** running any of the |
| 123 | +following commands, as well as *rst2html* from Docutils (see above for |
| 124 | +details). Then, run ``./autogen.sh`` and then follow the instructions for |
| 125 | +`installing from a release tarball`_. |
| 126 | + |
| 127 | +Installing from a release tarball |
| 128 | ++++++++++++++++++++++++++++++++++ |
| 129 | + |
| 130 | +Run the the following three commands:: |
| 131 | + |
| 132 | + $ ./configure |
| 133 | + $ make |
| 134 | + (as root, or using sudo) |
| 135 | + % make install |
| 136 | + |
| 137 | +For more configuration details run ``./configure --help``. |
| 138 | + |
| 139 | +If there are any errors during compilation, check your build environment |
| 140 | +and try to find the error, otherwise contact the mailing list or one of |
| 141 | +the authors. |
| 142 | + |
| 143 | +See the manual for details (geany.txt/geany.html). |
| 144 | + |
| 145 | + |
| 146 | +Usage |
| 147 | +----- |
| 148 | +To run Geany just type:: |
| 149 | + |
| 150 | + $ geany |
| 151 | + |
| 152 | +on a console or use the applications menu from your desktop environment. |
| 153 | +For command line options, see the manual page of Geany or run:: |
| 154 | + |
| 155 | + $ geany --help |
| 156 | + |
| 157 | +for details. Or look into the documentation in the *doc/* directory. |
| 158 | +The most important option probably is ``-c`` or ``--config``, where you can |
| 159 | +specify an alternate configuration directory. |
| 160 | + |
| 161 | + |
| 162 | +License |
| 163 | +------- |
| 164 | +Geany is distributed under the terms of the GNU General Public License |
| 165 | +as published by the Free Software Foundation; either version 2 of the |
| 166 | +License, or (at your option) any later version. A copy of this license |
| 167 | +can be found in the file COPYING included with the source code of this |
| 168 | +program. |
| 169 | +The included Scintilla library (found in the subdirectory scintilla/) |
| 170 | +has its own license, which can be found in the file scintilla/License.txt |
| 171 | +included with the source code of this program. |
| 172 | + |
| 173 | + |
| 174 | +Ideas, questions, patches and bug reports |
| 175 | +----------------------------------------- |
| 176 | +See https://www.geany.org/. |
| 177 | +If you add something, or fix a bug, please create a pull request at |
| 178 | +https://github.com/geany/geany/. Also see the HACKING file. |
0 commit comments