Branch: refs/heads/master
Author: Frank Lanitz <frank(a)frank.uvena.de>
Committer: Frank Lanitz <frank(a)frank.uvena.de>
Date: Mon, 28 May 2012 09:24:02
Commit: ffb722876cee426a4484616e011abd711477c85d
https://github.com/geany/newsletter/commit/ffb722876cee426a4484616e011abd71…
Log Message:
-----------
Adding list of contributors
Modified Paths:
--------------
vol_5/newsletter_5.html
vol_5/newsletter_5.pdf
vol_5/newsletter_5.rst
Modified: vol_5/newsletter_5.html
7 files changed, 7 insertions(+), 0 deletions(-)
===================================================================
@@ -424,6 +424,13 @@ <h1 class="title">Geany Newsletter #5</h1>
<p>This newsletter has been created in cooperation by people from Geany's
international community. Contributors to this newsletter and the
infrastructure behind it, ordered by alphabet:</p>
+<ul class="simple">
+<li>Dominic Hopf</li>
+<li>Enrico Tröger</li>
+<li>Frank Lanitz</li>
+<li>Lex Trotman</li>
+<li>Matthew Brush</li>
+</ul>
</div>
</div>
</body>
Modified: vol_5/newsletter_5.pdf
0 files changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: vol_5/newsletter_5.rst
6 files changed, 6 insertions(+), 0 deletions(-)
===================================================================
@@ -259,3 +259,9 @@ About this newsletter
This newsletter has been created in cooperation by people from Geany's
international community. Contributors to this newsletter and the
infrastructure behind it, ordered by alphabet:
+
+* Dominic Hopf
+* Enrico Tröger
+* Frank Lanitz
+* Lex Trotman
+* Matthew Brush
@@ Diff output truncated at 100000 characters. @@
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: TBD).
Branch: refs/heads/master
Author: Frank Lanitz <frank(a)frank.uvena.de>
Committer: Frank Lanitz <frank(a)frank.uvena.de>
Date: Mon, 28 May 2012 09:22:22
Commit: 7e58e4c9381af7b56d04a5cdac525459d9cc26d3
https://github.com/geany/newsletter/commit/7e58e4c9381af7b56d04a5cdac525459…
Log Message:
-----------
Adding list of contributors to text-version
Modified Paths:
--------------
vol_5/newsletter_5.txt
Modified: vol_5/newsletter_5.txt
7 files changed, 6 insertions(+), 1 deletions(-)
===================================================================
@@ -239,7 +239,6 @@ saying hello. So Enrico and Frank had a lot of questions to answer
and a lot of feedback to respond to.
-
7 Geany Packages for Fedora
===========================
@@ -270,3 +269,9 @@ Contact Dominic if you have suggestions for improvements.
This newsletter has been created in cooperation by people from Geany's
international community. Contributors to this newsletter and the
infrastructure behind it, ordered by alphabet:
+
+Dominic Hopf
+Enrico Tröger
+Frank Lanitz
+Lex Trotman
+Matthew Brush
@@ Diff output truncated at 100000 characters. @@
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: TBD).
Branch: refs/heads/master
Author: Frank Lanitz <frank(a)frank.uvena.de>
Committer: Frank Lanitz <frank(a)frank.uvena.de>
Date: Mon, 28 May 2012 09:13:13
Commit: 40a3168e07569137b2da550ac617628608b4b58d
https://github.com/geany/newsletter/commit/40a3168e07569137b2da550ac6176286…
Log Message:
-----------
Adding txt-version
Modified Paths:
--------------
vol_5/newsletter_5.txt
Modified: vol_5/newsletter_5.txt
272 files changed, 272 insertions(+), 0 deletions(-)
===================================================================
@@ -0,0 +1,272 @@
+Geany Newsletter #5
+-------------------
+
+1 About Geany
+2 New translations and updates
+3 Wiki available
+4 C++ plugins supported
+5 Plugins
+5.1 New Plugins
+5.1.1 GeanyPyflakes
+5.1.2 GeniusPaste
+5.2 GeanyPG
+6 Geany local
+7 Geany Packages for Fedora
+8 About this newsletter
+
+
+1 About Geany
+=============
+
+Geany is a small and lightweight Integrated Development Environment.
+It was developed to provide a small and fast IDE, which has only a
+few dependencies from other packages. Another goal was to be as
+independent as possible from a special Desktop Environment like KDE
+or GNOME - Geany only requires the GTK2 runtime libraries.
+
+More information about Geany can be found at
+`geany.org <http://www.geany.org/>`_.
+
+
+
+2 New translations and updates
+==============================
+
+Since our last newsletter a number of translations has been updated
+or newly added to Geany. New translations are:
+
+* Arabian
+* Indonesian
+* Lithuanian
+* Mongolian (back in 2011)
+
+But also translations like German, Kazakh, Hungarian, Italian,
+Traditional Chinese and Swedish translations have been updated
+during the last roughly four month.
+
+
+3 Wiki available
+================
+
+We set up a wiki for additional documentation and resources related
+to Geany at http://wiki.geany.org. Anyone can contribute to the wiki
+simply by registering and then logging in.
+
+In the wiki you can find configuration snippets and tips, snippets for
+various programming languages and many additional tags files to enhance
+Geany's autocompletion features.
+
+Everybody is welcome to add additional useful content to the wiki.
+
+
+4 C++ plugins supported
+=======================
+
+Geany's public plugin API headers have been updated to support
+inclusion into C++ code. Most of the changes involve adding `extern
+"C" {...}` blocks around the public headers' code (by way of GLIB's
+`G_BEGIN_DECLS` and `G_END_DECLS` macros) to make them easier to
+include, so the C++ code doesn't need to do this.
+
+You can now write plugins in C++ and they will be loadable by Geany
+at run-time. Of course using Geany's API will still involve using C
+in your code, but the rest of your plugin can use whatever C++
+features you want. You can even use gtkmm [1] in your plugin if you
+want.
+
+Any of the symbols Geany looks up at run-time must not have their
+names mangled by the compiler. To avoid this, put that code inside
+an `extern "C"` block.
+
+Here's an example of Geany's Hello World plugin from the Plugin
+HowTo [2] ported to C++::
+
+ #include <geanyplugin.h>
+
+ class HelloWorld
+ {
+ private:
+ gchar *hello_message;
+ GtkWidget *main_menu_item;
+
+ public:
+ HelloWorld(const gchar *message);
+ ~HelloWorld();
+ void SayHelloWorld();
+ };
+
+ static HelloWorld *hello;
+
+ extern "C"
+ {
+ GeanyPlugin *geany_plugin;
+ GeanyData *geany_data;
+ GeanyFunctions *geany_functions;
+
+ PLUGIN_VERSION_CHECK(211)
+ PLUGIN_SET_INFO("HelloWorld C++",
+ "Just another tool to say hello world, this time in C++",
+ "1.0", "John Doe <john.doe(a)example.org>");
+
+ void plugin_init(GeanyData *data)
+ {
+ hello = new HelloWorld("Hello C++ World");
+ }
+
+ void plugin_cleanup(void)
+ {
+ delete hello;
+ }
+
+ static void on_menu_item_clicked(GtkMenuItem *item, gpointer user_data)
+ {
+ hello->SayHelloWorld();
+ }
+ }
+
+ HelloWorld::HelloWorld(const gchar *message)
+ {
+ hello_message = g_strdup(message);
+ main_menu_item = gtk_menu_item_new_with_mnemonic("Hello World");
+ gtk_widget_show(main_menu_item);
+ gtk_container_add(GTK_CONTAINER(geany->main_widgets->tools_menu), main_menu_item);
+ g_signal_connect(main_menu_item, "activate", G_CALLBACK(on_menu_item_clicked), NULL);
+ }
+
+ HelloWorld::~HelloWorld()
+ {
+ g_free(hello_message);
+ gtk_widget_destroy(main_menu_item);
+ }
+
+ void HelloWorld::SayHelloWorld()
+ {
+ dialogs_show_msgbox(GTK_MESSAGE_INFO, "%s", hello_message);
+ }
+
+It's important to note that the dynamic library loading mechanism
+that loads plugins is C functionality and does not know about C++
+constructors. This means that global and static objects in the
+plugin will *not* have their constructors called when the plugin is
+loaded. Use dynamically created objects as show in the above example.
+
+These changes will be available in the next Geany release but you
+can start using them right away in your C++ plugins if you Build
+Geany From Git [3].
+
+1. http://developer.gnome.org/gtkmm-tutorial/2.24/sec-basics-gobj-and-wrap.htm…
+2. http://www.geany.org/manual/reference/howto.html
+3. http://www.geany.org/Download/Git
+
+
+5 Plugins
+=========
+
+Notes from the plugin section.
+
+
+5.1 New Plugins
+***************
+
+5.1.1 GeanyPyflakes
+###################
+
+Pyflakes is a command line tool that statically analyzes python
+program and detects two kinds of errors: unused imports and
+undefined symbols. geany-pyflakes runs pyflakes in the background
+and parses its output. Afterwards puts markers on lines with errors
+and adds the output to the panel at the bottom of editor (the one
+with console, todo, etc.). Geany-pyflakes is available at its project
+pages at http://code.google.com/p/geany-pyflakes/
+
+Another way to check your Python code is described inside the wiki at
+http://wiki.geany.org/howtos/check_python_code
+
+
+5.1.2 GeniusPaste
+#################
+
+GeniusPaste is a plugin which is adding the possibility to paste
+your code from Geany into different pastebins. It supports this
+services:
+
+ * codepad.org
+ * pastebin.com
+ * pastebin.geany.org
+ * dpaste.de
+ * sprunge.us
+
+During the paste process GeniusPaste detects automatically the
+syntax of your code and paste it with syntax highlighting enabled.
+Once this is done it is also able to redirect you to the pasted code
+opening a new browser tab.
+
+
+5.2 GeanyPG
+***********
+
+GeanyPG is a plugin that allows the user to encrypt, decrypt text
+and verify signatures with GnuPG from inside Geany. It's created by
+Hans Alves and is part of the geany-plugins project.
+
+After the plugin has been installed successfully, it can be loaded
+from inside Geany's plugin manager which will add a new menu item
+into the Tools menu offering functions of the plugin.
+
+To decrypt or encrypt, just select the interesting parts and choose
+the function you wish -- If none text has been selected, the whole
+document will be processed. In case you like to verify a signature
+obviously you will have to select the whole block.
+
+When encrypting a message you can choose to sign at the same time.
+If a passphrase is needed, the GPGME library will decide how the
+user is prompted. Usually this will use gpg-agent. If gpg-agent is
+disabled, pinentry with one of its frontends will be used.
+
+
+6 Geany local
+=============
+
+6.1 Geany at Chemnitzer Linuxtage 2012 (March 17th, 18th)
+*********************************************************
+
+As last year, Geany had a booth a Chemnitzer Linuxtage 2012 in
+German city Chemnitz. Our booth was again located next to the guys
+of Xfce as well as next (that was different to last year) to 2
+lecture rooms. Even though the event wasn't as much crowded as last
+year, a lot of people were passing by asking some question or just
+saying hello. So Enrico and Frank had a lot of questions to answer
+and a lot of feedback to respond to.
+
+
+
+7 Geany Packages for Fedora
+===========================
+
+There are new packages unofficially available for Fedora. One is
+containing the Geany Themes Matthew maintains at GitHub [1], the
+other one provides the tags files listed in the Geany Wiki [2]. The
+packages are not yet in Fedoras official repositories but available
+at Dominic's Fedora People space [3]. Note the geany-themes package
+is intended to work with current Git versions of Geany only. A
+x86_64 package from the current Git master as well as an SRPM for
+rebuilding is also available at [3].
+
+The geany-tags package is split into subpackages containing the tags
+for each programming language. Currently these are: geany-tags-c,
+geany-tags-php and geany-tags-python. They can be installed
+independently from each other, of course.
+
+Contact Dominic if you have suggestions for improvements.
+
+1. http://codebrainz.github.com/geany-themes/
+2. http://wiki.geany.org/tags/start
+3. http://dmaphy.fedorapeople.org/
+
+
+8 About this newsletter
+=======================
+
+This newsletter has been created in cooperation by people from Geany's
+international community. Contributors to this newsletter and the
+infrastructure behind it, ordered by alphabet:
@@ Diff output truncated at 100000 characters. @@
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: TBD).
Branch: refs/heads/master
Author: Frank Lanitz <frank(a)frank.uvena.de>
Committer: Frank Lanitz <frank(a)frank.uvena.de>
Date: Mon, 28 May 2012 09:13:03
Commit: 102b11ef7bc53ec3296fe877c145992f4de73640
https://github.com/geany/newsletter/commit/102b11ef7bc53ec3296fe877c145992f…
Log Message:
-----------
Fix a duplicate inside rst and update pdf as well as html files
Modified Paths:
--------------
vol_5/newsletter_5.html
vol_5/newsletter_5.pdf
vol_5/newsletter_5.rst
Modified: vol_5/newsletter_5.html
37 files changed, 13 insertions(+), 24 deletions(-)
===================================================================
@@ -180,26 +180,25 @@ <h1 class="title">Geany Newsletter #5</h1>
<div class="contents topic" id="contents">
<p class="topic-title first">Contents</p>
<ul class="simple">
-<li><a class="reference internal" href="#about-geany" id="id3">About Geany</a></li>
-<li><a class="reference internal" href="#new-translations-and-updates" id="id4">New translations and updates</a></li>
-<li><a class="reference internal" href="#wiki-available" id="id5">Wiki available</a></li>
-<li><a class="reference internal" href="#c-plugins-supported" id="id6">C++ plugins supported</a></li>
-<li><a class="reference internal" href="#plugins" id="id7">Plugins</a><ul>
-<li><a class="reference internal" href="#new-plugins" id="id8">New Plugins</a><ul>
-<li><a class="reference internal" href="#geanypyflakes" id="id9">GeanyPyflakes</a></li>
-<li><a class="reference internal" href="#geniuspaste" id="id10">GeniusPaste</a></li>
+<li><a class="reference internal" href="#about-geany" id="id1">About Geany</a></li>
+<li><a class="reference internal" href="#new-translations-and-updates" id="id2">New translations and updates</a></li>
+<li><a class="reference internal" href="#wiki-available" id="id3">Wiki available</a></li>
+<li><a class="reference internal" href="#c-plugins-supported" id="id4">C++ plugins supported</a></li>
+<li><a class="reference internal" href="#plugins" id="id5">Plugins</a><ul>
+<li><a class="reference internal" href="#new-plugins" id="id6">New Plugins</a><ul>
+<li><a class="reference internal" href="#geanypyflakes" id="id7">GeanyPyflakes</a></li>
+<li><a class="reference internal" href="#geniuspaste" id="id8">GeniusPaste</a></li>
</ul>
</li>
-<li><a class="reference internal" href="#geanypg" id="id11">GeanyPG</a></li>
+<li><a class="reference internal" href="#geanypg" id="id9">GeanyPG</a></li>
</ul>
</li>
-<li><a class="reference internal" href="#geany-local" id="id12">Geany local</a><ul>
-<li><a class="reference internal" href="#geany-at-chemnitzer-linuxtage-2012-march-17th-18th" id="id13">Geany at Chemnitzer Linuxtage 2012 (March 17th, 18th)</a></li>
+<li><a class="reference internal" href="#geany-local" id="id10">Geany local</a><ul>
+<li><a class="reference internal" href="#geany-at-chemnitzer-linuxtage-2012-march-17th-18th" id="id11">Geany at Chemnitzer Linuxtage 2012 (March 17th, 18th)</a></li>
</ul>
</li>
-<li><a class="reference internal" href="#geany-packages-for-fedora" id="id14">Geany Packages for Fedora</a></li>
-<li><a class="reference internal" href="#id1" id="id15">About Geany</a></li>
-<li><a class="reference internal" href="#about-this-newsletter" id="id16">About this newsletter</a></li>
+<li><a class="reference internal" href="#geany-packages-for-fedora" id="id12">Geany Packages for Fedora</a></li>
+<li><a class="reference internal" href="#about-this-newsletter" id="id13">About this newsletter</a></li>
</ul>
</div>
<div class="section" id="about-geany">
@@ -420,16 +419,6 @@ <h1 class="title">Geany Newsletter #5</h1>
<li><a class="reference external" href="http://dmaphy.fedorapeople.org/">http://dmaphy.fedorapeople.org/</a></li>
</ol>
</div>
-<div class="section" id="id1">
-<h1><a class="toc-backref" href="#contents">About Geany</a></h1>
-<p>Geany is a small and lightweight Integrated Development Environment.
-It was developed to provide a small and fast IDE, which has only a
-few dependencies from other packages. Another goal was to be as
-independent as possible from a special Desktop Environment like KDE
-or GNOME - Geany only requires the GTK2 runtime libraries.</p>
-<p>More information about Geany can be found at
-<a class="reference external" href="http://www.geany.org/">geany.org</a>.</p>
-</div>
<div class="section" id="about-this-newsletter">
<h1><a class="toc-backref" href="#contents">About this newsletter</a></h1>
<p>This newsletter has been created in cooperation by people from Geany's
Modified: vol_5/newsletter_5.pdf
0 files changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: vol_5/newsletter_5.rst
13 files changed, 0 insertions(+), 13 deletions(-)
===================================================================
@@ -253,19 +253,6 @@ Contact Dominic if you have suggestions for improvements.
3. http://dmaphy.fedorapeople.org/
-About Geany
-===========
-
-Geany is a small and lightweight Integrated Development Environment.
-It was developed to provide a small and fast IDE, which has only a
-few dependencies from other packages. Another goal was to be as
-independent as possible from a special Desktop Environment like KDE
-or GNOME - Geany only requires the GTK2 runtime libraries.
-
-More information about Geany can be found at
-`geany.org <http://www.geany.org/>`_.
-
-
About this newsletter
=====================
@@ Diff output truncated at 100000 characters. @@
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: TBD).
Branch: refs/heads/master
Author: Frank Lanitz <frank(a)frank.uvena.de>
Committer: Frank Lanitz <frank(a)frank.uvena.de>
Date: Mon, 28 May 2012 09:05:30
Commit: d2f4bd76493659e8c1177eeb4864fc19965af53f
https://github.com/geany/newsletter/commit/d2f4bd76493659e8c1177eeb4864fc19…
Log Message:
-----------
Adding HTML-version
Modified Paths:
--------------
vol_5/newsletter_5.html
Modified: vol_5/newsletter_5.html
441 files changed, 441 insertions(+), 0 deletions(-)
===================================================================
@@ -0,0 +1,441 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="generator" content="Docutils 0.8.1: http://docutils.sourceforge.net/" />
+<title>Geany Newsletter #5</title>
+<style type="text/css">
+
+html { font-family: sans-serif; }
+
+
+body
+{
+ font-family: sans-serif;
+ width: 80%;
+ margin-left: auto; margin-right: auto;
+ margin-top: 2%;
+}
+
+
+h1 { font-size: 1.4em }
+h2 { font-size: 1.3em }
+h3 { font-size: 1.2em }
+h4 { font-size: 1.1em }
+h5 { font-size: 1.0em }
+h6 { font-size: 0.9em }
+
+
+a:link, a:visited
+{
+ color: #9e8100;
+ text-decoration: none;
+}
+
+a:hover
+{
+ color: #a40000;
+ text-decoration: underline;
+}
+
+
+img { border-width: 0; }
+
+
+hr
+{
+ border-style: solid;
+ border-color: #babdb6;
+}
+
+
+table
+{
+ margin-top: 20px;
+}
+
+table, th, td
+{
+ border-style:1px solid;
+ border-color: #babdb6;
+}
+
+
+div.document
+{
+ width: 80%;
+ margin-left: auto; margin-right: auto;
+}
+
+
+div#header
+{
+ line-height: 48px;
+}
+
+
+div#contents, div#navigation
+{
+ width: 30%; float: left;
+ margin-bottom: 10px; margin-right: 1em;
+ padding: 1.5em;
+ background-color: #F2F2F3;
+ font-size: 10pt;
+ position: static;
+ border-radius: 20px;
+ -moz-border-radius: 20px;
+ -webkit-border-radius: 20px;
+ overflow: hidden;
+}
+
+div#contents ul, div#navigation ul
+{
+ list-style-type: none;
+ list-style-position: outside;
+ margin-bottom: 0.2em;
+ padding-left: 0.8em;
+}
+
+div#contents ul li, div#navigation ul li
+{
+ margin-top: 0.4em;
+}
+
+div#navigation h1
+{
+ font-size: 1em;
+}
+
+
+div#navigation hr
+{
+ width: 100%;
+ margin: 0; padding: 0;
+}
+
+div#navigation ul li
+{
+ margin-bottom: 4px;
+}
+
+
+div#navigation a
+{
+ display: block;
+ text-decoration: none;
+}
+
+div.section, div#content
+{
+ overflow: auto;
+}
+
+code, pre.literal-block
+{
+ display: block;
+ padding-left: 4px;
+ margin-left: 25px; margin-top: 5px;
+ font-family: monospace;
+ background-color: #eeeeef;
+ border-left-width: 2px; border-right-width: 0;
+ border-top-width: 0; border-bottom-width: 0;
+ border-style: solid; border-color: #babdb6;
+ overflow-x: auto;
+}
+
+
+/*
+ * This is for the pages with a content section. The heading of the content
+ * generated from rst2html looks like this:
+ * <p class="topic-title first">
+ * Contents
+ * </p>
+ * So we format it as general h3 headers look like in the browser (tested with
+ * Midori, Firefox and Opera, all work fine).
+ * FIXME: ideally the mentioned code block should be a h3 header instead
+ */
+p.topic-title
+{
+ font-size: 1.17em;
+ font-weight: bold;
+ margin: 1em 0px;
+}
+
+
+div#footer
+{
+ clear: both;
+ text-align: center;
+ font-size: smaller;
+ margin-top: 3em;
+}
+
+</style>
+</head>
+<body>
+<div class="document" id="geany-newsletter-5">
+<h1 class="title">Geany Newsletter #5</h1>
+
+<div class="contents topic" id="contents">
+<p class="topic-title first">Contents</p>
+<ul class="simple">
+<li><a class="reference internal" href="#about-geany" id="id3">About Geany</a></li>
+<li><a class="reference internal" href="#new-translations-and-updates" id="id4">New translations and updates</a></li>
+<li><a class="reference internal" href="#wiki-available" id="id5">Wiki available</a></li>
+<li><a class="reference internal" href="#c-plugins-supported" id="id6">C++ plugins supported</a></li>
+<li><a class="reference internal" href="#plugins" id="id7">Plugins</a><ul>
+<li><a class="reference internal" href="#new-plugins" id="id8">New Plugins</a><ul>
+<li><a class="reference internal" href="#geanypyflakes" id="id9">GeanyPyflakes</a></li>
+<li><a class="reference internal" href="#geniuspaste" id="id10">GeniusPaste</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#geanypg" id="id11">GeanyPG</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#geany-local" id="id12">Geany local</a><ul>
+<li><a class="reference internal" href="#geany-at-chemnitzer-linuxtage-2012-march-17th-18th" id="id13">Geany at Chemnitzer Linuxtage 2012 (March 17th, 18th)</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#geany-packages-for-fedora" id="id14">Geany Packages for Fedora</a></li>
+<li><a class="reference internal" href="#id1" id="id15">About Geany</a></li>
+<li><a class="reference internal" href="#about-this-newsletter" id="id16">About this newsletter</a></li>
+</ul>
+</div>
+<div class="section" id="about-geany">
+<h1><a class="toc-backref" href="#contents">About Geany</a></h1>
+<p>Geany is a small and lightweight Integrated Development Environment.
+It was developed to provide a small and fast IDE, which has only a
+few dependencies from other packages. Another goal was to be as
+independent as possible from a special Desktop Environment like KDE
+or GNOME - Geany only requires the GTK2 runtime libraries.</p>
+<p>More information about Geany can be found at
+<a class="reference external" href="http://www.geany.org/">geany.org</a>.</p>
+</div>
+<div class="section" id="new-translations-and-updates">
+<h1><a class="toc-backref" href="#contents">New translations and updates</a></h1>
+<p>Since our last newsletter a number of translations has been updated
+or newly added to Geany. New translations are:</p>
+<ul class="simple">
+<li>Arabian</li>
+<li>Indonesian</li>
+<li>Lithuanian</li>
+<li>Mongolian (back in 2011)</li>
+</ul>
+<p>But also translations like German, Kazakh, Hungarian, Italian,
+Traditional Chinese and Swedish translations have been updated
+during the last roughly four month.</p>
+</div>
+<div class="section" id="wiki-available">
+<h1><a class="toc-backref" href="#contents">Wiki available</a></h1>
+<p>We set up a wiki for additional documentation and resources related
+to Geany at <a class="reference external" href="http://wiki.geany.org">http://wiki.geany.org</a>. Anyone can contribute to the wiki
+simply by registering and then logging in.</p>
+<p>In the wiki you can find configuration snippets and tips, snippets for
+various programming languages and many additional tags files to enhance
+Geany's autocompletion features.</p>
+<p>Everybody is welcome to add additional useful content to the wiki.</p>
+</div>
+<div class="section" id="c-plugins-supported">
+<h1><a class="toc-backref" href="#contents">C++ plugins supported</a></h1>
+<p>Geany's public plugin API headers have been updated to support
+inclusion into C++ code. Most of the changes involve adding <cite>extern
+"C" {...}</cite> blocks around the public headers' code (by way of GLIB's
+<cite>G_BEGIN_DECLS</cite> and <cite>G_END_DECLS</cite> macros) to make them easier to
+include, so the C++ code doesn't need to do this.</p>
+<p>You can now write plugins in C++ and they will be loadable by Geany
+at run-time. Of course using Geany's API will still involve using C
+in your code, but the rest of your plugin can use whatever C++
+features you want. You can even use gtkmm [1] in your plugin if you
+want.</p>
+<p>Any of the symbols Geany looks up at run-time must not have their
+names mangled by the compiler. To avoid this, put that code inside
+an <cite>extern "C"</cite> block.</p>
+<p>Here's an example of Geany's Hello World plugin from the Plugin
+HowTo [2] ported to C++:</p>
+<pre class="literal-block">
+#include <geanyplugin.h>
+
+class HelloWorld
+{
+ private:
+ gchar *hello_message;
+ GtkWidget *main_menu_item;
+
+ public:
+ HelloWorld(const gchar *message);
+ ~HelloWorld();
+ void SayHelloWorld();
+};
+
+static HelloWorld *hello;
+
+extern "C"
+{
+ GeanyPlugin *geany_plugin;
+ GeanyData *geany_data;
+ GeanyFunctions *geany_functions;
+
+ PLUGIN_VERSION_CHECK(211)
+ PLUGIN_SET_INFO("HelloWorld C++",
+ "Just another tool to say hello world, this time in C++",
+ "1.0", "John Doe <john.doe@example.org>");
+
+ void plugin_init(GeanyData *data)
+ {
+ hello = new HelloWorld("Hello C++ World");
+ }
+
+ void plugin_cleanup(void)
+ {
+ delete hello;
+ }
+
+ static void on_menu_item_clicked(GtkMenuItem *item, gpointer user_data)
+ {
+ hello->SayHelloWorld();
+ }
+}
+
+HelloWorld::HelloWorld(const gchar *message)
+{
+ hello_message = g_strdup(message);
+ main_menu_item = gtk_menu_item_new_with_mnemonic("Hello World");
+ gtk_widget_show(main_menu_item);
+ gtk_container_add(GTK_CONTAINER(geany->main_widgets->tools_menu), main_menu_item);
+ g_signal_connect(main_menu_item, "activate", G_CALLBACK(on_menu_item_clicked), NULL);
+}
+
+HelloWorld::~HelloWorld()
+{
+ g_free(hello_message);
+ gtk_widget_destroy(main_menu_item);
+}
+
+void HelloWorld::SayHelloWorld()
+{
+ dialogs_show_msgbox(GTK_MESSAGE_INFO, "%s", hello_message);
+}
+</pre>
+<p>It's important to note that the dynamic library loading mechanism
+that loads plugins is C functionality and does not know about C++
+constructors. This means that global and static objects in the
+plugin will <em>not</em> have their constructors called when the plugin is
+loaded. Use dynamically created objects as show in the above example.</p>
+<p>These changes will be available in the next Geany release but you
+can start using them right away in your C++ plugins if you Build
+Geany From Git [3].</p>
+<ol class="arabic simple">
+<li><a class="reference external" href="http://developer.gnome.org/gtkmm-tutorial/2.24/sec-basics-gobj-and-wrap.htm…">http://developer.gnome.org/gtkmm-tutorial/2.24/sec-basics-gobj-and-wrap.htm…</a></li>
+<li><a class="reference external" href="http://www.geany.org/manual/reference/howto.html">http://www.geany.org/manual/reference/howto.html</a></li>
+<li><a class="reference external" href="http://www.geany.org/Download/Git">http://www.geany.org/Download/Git</a></li>
+</ol>
+</div>
+<div class="section" id="plugins">
+<h1><a class="toc-backref" href="#contents">Plugins</a></h1>
+<p>Notes from the plugin section.</p>
+<div class="section" id="new-plugins">
+<h2><a class="toc-backref" href="#contents">New Plugins</a></h2>
+<div class="section" id="geanypyflakes">
+<h3><a class="toc-backref" href="#contents">GeanyPyflakes</a></h3>
+<p>Pyflakes is a command line tool that statically analyzes python
+program and detects two kinds of errors: unused imports and
+undefined symbols. geany-pyflakes runs pyflakes in the background
+and parses its output. Afterwards puts markers on lines with errors
+and adds the output to the panel at the bottom of editor (the one
+with console, todo, etc.). Geany-pyflakes is available at its project
+pages at <a class="reference external" href="http://code.google.com/p/geany-pyflakes/">http://code.google.com/p/geany-pyflakes/</a></p>
+<p>Another way to check your Python code is described inside the wiki at
+<a class="reference external" href="http://wiki.geany.org/howtos/check_python_code">http://wiki.geany.org/howtos/check_python_code</a></p>
+</div>
+<div class="section" id="geniuspaste">
+<h3><a class="toc-backref" href="#contents">GeniusPaste</a></h3>
+<p>GeniusPaste is a plugin which is adding the possibility to paste
+your code from Geany into different pastebins. It supports this
+services:</p>
+<blockquote>
+<ul class="simple">
+<li>codepad.org</li>
+<li>pastebin.com</li>
+<li>pastebin.geany.org</li>
+<li>dpaste.de</li>
+<li>sprunge.us</li>
+</ul>
+</blockquote>
+<p>During the paste process GeniusPaste detects automatically the
+syntax of your code and paste it with syntax highlighting enabled.
+Once this is done it is also able to redirect you to the pasted code
+opening a new browser tab.</p>
+</div>
+</div>
+<div class="section" id="geanypg">
+<h2><a class="toc-backref" href="#contents">GeanyPG</a></h2>
+<p>GeanyPG is a plugin that allows the user to encrypt, decrypt text
+and verify signatures with GnuPG from inside Geany. It's created by
+Hans Alves and is part of the geany-plugins project.</p>
+<p>After the plugin has been installed successfully, it can be loaded
+from inside Geany's plugin manager which will add a new menu item
+into the Tools menu offering functions of the plugin.</p>
+<p>To decrypt or encrypt, just select the interesting parts and choose
+the function you wish -- If none text has been selected, the whole
+document will be processed. In case you like to verify a signature
+obviously you will have to select the whole block.</p>
+<p>When encrypting a message you can choose to sign at the same time.
+If a passphrase is needed, the GPGME library will decide how the
+user is prompted. Usually this will use gpg-agent. If gpg-agent is
+disabled, pinentry with one of its frontends will be used.</p>
+</div>
+</div>
+<div class="section" id="geany-local">
+<h1><a class="toc-backref" href="#contents">Geany local</a></h1>
+<div class="section" id="geany-at-chemnitzer-linuxtage-2012-march-17th-18th">
+<h2><a class="toc-backref" href="#contents">Geany at Chemnitzer Linuxtage 2012 (March 17th, 18th)</a></h2>
+<p>As last year, Geany had a booth a Chemnitzer Linuxtage 2012 in
+German city Chemnitz. Our booth was again located next to the guys
+of Xfce as well as next (that was different to last year) to 2
+lecture rooms. Even though the event wasn't as much crowded as last
+year, a lot of people were passing by asking some question or just
+saying hello. So Enrico and Frank had a lot of questions to answer
+and a lot of feedback to respond to.</p>
+</div>
+</div>
+<div class="section" id="geany-packages-for-fedora">
+<h1><a class="toc-backref" href="#contents">Geany Packages for Fedora</a></h1>
+<p>There are new packages unofficially available for Fedora. One is
+containing the Geany Themes Matthew maintains at GitHub [1], the
+other one provides the tags files listed in the Geany Wiki [2]. The
+packages are not yet in Fedoras official repositories but available
+at Dominic's Fedora People space [3]. Note the geany-themes package
+is intended to work with current Git versions of Geany only. A
+x86_64 package from the current Git master as well as an SRPM for
+rebuilding is also available at [3].</p>
+<p>The geany-tags package is split into subpackages containing the tags
+for each programming language. Currently these are: geany-tags-c,
+geany-tags-php and geany-tags-python. They can be installed
+independently from each other, of course.</p>
+<p>Contact Dominic if you have suggestions for improvements.</p>
+<ol class="arabic simple">
+<li><a class="reference external" href="http://codebrainz.github.com/geany-themes/">http://codebrainz.github.com/geany-themes/</a></li>
+<li><a class="reference external" href="http://wiki.geany.org/tags/start">http://wiki.geany.org/tags/start</a></li>
+<li><a class="reference external" href="http://dmaphy.fedorapeople.org/">http://dmaphy.fedorapeople.org/</a></li>
+</ol>
+</div>
+<div class="section" id="id1">
+<h1><a class="toc-backref" href="#contents">About Geany</a></h1>
+<p>Geany is a small and lightweight Integrated Development Environment.
+It was developed to provide a small and fast IDE, which has only a
+few dependencies from other packages. Another goal was to be as
+independent as possible from a special Desktop Environment like KDE
+or GNOME - Geany only requires the GTK2 runtime libraries.</p>
+<p>More information about Geany can be found at
+<a class="reference external" href="http://www.geany.org/">geany.org</a>.</p>
+</div>
+<div class="section" id="about-this-newsletter">
+<h1><a class="toc-backref" href="#contents">About this newsletter</a></h1>
+<p>This newsletter has been created in cooperation by people from Geany's
+international community. Contributors to this newsletter and the
+infrastructure behind it, ordered by alphabet:</p>
+</div>
+</div>
+</body>
+</html>
@@ Diff output truncated at 100000 characters. @@
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: TBD).
Branch: refs/heads/master
Author: Frank Lanitz <frank(a)frank.uvena.de>
Committer: Frank Lanitz <frank(a)frank.uvena.de>
Date: Mon, 28 May 2012 08:58:37
Commit: c7cbf12087ee0a7933c11b7a254c90a07116d960
https://github.com/geany/newsletter/commit/c7cbf12087ee0a7933c11b7a254c90a0…
Log Message:
-----------
Rename "Geany Packages"section as this only cover new packages for Fedora
Modified Paths:
--------------
vol_5/newsletter_5.rst
Modified: vol_5/newsletter_5.rst
5 files changed, 2 insertions(+), 3 deletions(-)
===================================================================
@@ -226,8 +226,8 @@ and a lot of feedback to respond to.
-Geany Packages
-==============
+Geany Packages for Fedora
+=========================
There are new packages unofficially available for Fedora. One is
containing the Geany Themes Matthew maintains at GitHub [1], the
@@ -245,7 +245,6 @@ independently from each other, of course.
Contact Dominic if you have suggestions for improvements.
-
1. http://codebrainz.github.com/geany-themes/
2. http://wiki.geany.org/tags/start
3. http://dmaphy.fedorapeople.org/
@@ Diff output truncated at 100000 characters. @@
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: TBD).
Branch: refs/heads/master
Author: Frank Lanitz <frank(a)frank.uvena.de>
Committer: Frank Lanitz <frank(a)frank.uvena.de>
Date: Mon, 28 May 2012 08:56:18
Commit: f34cfd85e93a98a61b54b04d588bee9135f02885
https://github.com/geany/newsletter/commit/f34cfd85e93a98a61b54b04d588bee91…
Log Message:
-----------
Small updates in section about GeanyPG
Modified Paths:
--------------
vol_5/newsletter_5.rst
Modified: vol_5/newsletter_5.rst
5 files changed, 3 insertions(+), 2 deletions(-)
===================================================================
@@ -187,6 +187,7 @@ syntax of your code and paste it with syntax highlighting enabled.
Once this is done it is also able to redirect you to the pasted code
opening a new browser tab.
+
GeanyPG
*******
@@ -196,7 +197,7 @@ Hans Alves and is part of the geany-plugins project.
After the plugin has been installed successfully, it can be loaded
from inside Geany's plugin manager which will add a new menu item
-into the Tools menu offering functions of the plugin..
+into the Tools menu offering functions of the plugin.
To decrypt or encrypt, just select the interesting parts and choose
the function you wish -- If none text has been selected, the whole
@@ -206,7 +207,7 @@ obviously you will have to select the whole block.
When encrypting a message you can choose to sign at the same time.
If a passphrase is needed, the GPGME library will decide how the
user is prompted. Usually this will use gpg-agent. If gpg-agent is
-disabled, pinentry (see man 1 pinentry) will be used.
+disabled, pinentry with one of its frontends will be used.
Geany local
@@ Diff output truncated at 100000 characters. @@
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: TBD).