<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    <title> - english</title>
    <link>http://abderrahim.arablug.org/blog/</link>
    <description></description>
    <dc:language>en</dc:language>
    <generator>Serendipity 1.3.1 - http://www.s9y.org/</generator>
    <pubDate>Sat, 06 Dec 2008 21:35:57 GMT</pubDate>

    <image>
        <url>http://abderrahim.arablug.org/blog/templates/default/img/s9y_banner_small.png</url>
        <title>RSS:  - english - </title>
        <link>http://abderrahim.arablug.org/blog/</link>
        <width>100</width>
        <height>21</height>
    </image>

<item>
    <title>Vala plugin news</title>
    <link>http://abderrahim.arablug.org/blog/archives/9-Vala-plugin-news.html</link>
            <category>GNOME</category>
    
    <comments>http://abderrahim.arablug.org/blog/archives/9-Vala-plugin-news.html#comments</comments>
    <wfw:comment>http://abderrahim.arablug.org/blog/wfwcomment.php?cid=9</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://abderrahim.arablug.org/blog/rss.php?version=2.0&amp;type=comments&amp;cid=9</wfw:commentRss>
    

    <author>nospam@example.com (Abderrahim Kitouni)</author>
    <content:encoded>
    Hi all,&lt;br /&gt;
&lt;br /&gt;
there are some new things in the &lt;a href=&quot;http://freehg.org/u/abderrahim/anjuta-vala-plugin/&quot;&gt;repository&lt;/a&gt; about the vala plugin of anjuta. I&#039;ll try to make a release as soon as I finish a last little thing and get all the needed patches included in libvala.&lt;br /&gt;
&lt;br /&gt;
meanwhile, you can play with it (apply the patch in bug &lt;a href=&quot;http://bugzilla.gnome.org/show_bug.cgi?id=542920&quot;&gt;542920&lt;/a&gt;, and change the last &quot;return false;&quot; to &quot;return sym1.get_full_name () == sym2.get_full_name ();&quot; I&#039;ll try to fix it).&lt;br /&gt;
&lt;br /&gt;
If you make it crash, send me a backtrace, and I&#039;ll try to fix it  
    </content:encoded>

    <pubDate>Sat, 06 Dec 2008 02:02:33 -0800</pubDate>
    <guid isPermaLink="false">http://abderrahim.arablug.org/blog/archives/9-guid.html</guid>
    
</item>
<item>
    <title>GDB Vala support</title>
    <link>http://abderrahim.arablug.org/blog/archives/8-GDB-Vala-support.html</link>
            <category>GNOME</category>
    
    <comments>http://abderrahim.arablug.org/blog/archives/8-GDB-Vala-support.html#comments</comments>
    <wfw:comment>http://abderrahim.arablug.org/blog/wfwcomment.php?cid=8</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://abderrahim.arablug.org/blog/rss.php?version=2.0&amp;type=comments&amp;cid=8</wfw:commentRss>
    

    <author>nospam@example.com (Abderrahim Kitouni)</author>
    <content:encoded>
    Hi,&lt;br /&gt;
&lt;br /&gt;
I&#039;ve just uploaded my latest patch to add Vala support to gdb.&lt;br /&gt;
It works mostly ok, and I&#039;d like more feedback on it.&lt;br /&gt;
You can get it from &lt;a href=&quot;http://abderrahim.arablug.org/GSoC2008/gdb-vala-20080818.patch&quot;&gt;here&lt;/a&gt;. (apply it against gdb 6.8 )  
    </content:encoded>

    <pubDate>Mon, 18 Aug 2008 09:58:01 -0700</pubDate>
    <guid isPermaLink="false">http://abderrahim.arablug.org/blog/archives/8-guid.html</guid>
    
</item>
<item>
    <title>It's almost over</title>
    <link>http://abderrahim.arablug.org/blog/archives/7-Its-almost-over.html</link>
            <category>GNOME</category>
    
    <comments>http://abderrahim.arablug.org/blog/archives/7-Its-almost-over.html#comments</comments>
    <wfw:comment>http://abderrahim.arablug.org/blog/wfwcomment.php?cid=7</wfw:comment>

    <slash:comments>5</slash:comments>
    <wfw:commentRss>http://abderrahim.arablug.org/blog/rss.php?version=2.0&amp;type=comments&amp;cid=7</wfw:commentRss>
    

    <author>nospam@example.com (Abderrahim Kitouni)</author>
    <content:encoded>
    Summer of code is almost over, and I think I&#039;m on track for completing my project.&lt;br /&gt;
&lt;br /&gt;
Now, more about what I&#039;ve been doing lately : &lt;br /&gt;
&lt;br /&gt;
The next step in my project is Vala debugging support for Anjuta. I tried to work directly on gdb so that others can use it even if not using anjuta. Here are the results &lt;a href=&quot;http://abderrahim.arablug.org/GSoC2008/gdb-vala.ogv&quot;&gt;as a small demo video&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
So what do you think of this? Of course you can try it yourself : get the patch &lt;a href=&quot;http://abderrahim.arablug.org/GSoC2008/gdb-vala-20080811.patch&quot;&gt;from here&lt;/a&gt;, and apply it on &lt;a href=&quot;http://ftp.gnu.org/gnu/gdb/gdb-6.8.tar.bz2&quot;&gt;gdb 6.8&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
There are still some things to clean, some things to add, but I think it&#039;s useable now. the main thing to add is printing of values (now it uses the C), and the main thing to add is accessing private fields directly (i.e. obj.privfield instead of obj.priv.privfield).&lt;br /&gt;
&lt;br /&gt;
P.S: I&#039;ll try to prepare a video using Anjuta.  
    </content:encoded>

    <pubDate>Mon, 11 Aug 2008 08:07:00 -0700</pubDate>
    <guid isPermaLink="false">http://abderrahim.arablug.org/blog/archives/7-guid.html</guid>
    
</item>
<item>
    <title>Anjuta-valaplugin 0.2</title>
    <link>http://abderrahim.arablug.org/blog/archives/6-Anjuta-valaplugin-0.2.html</link>
            <category>GNOME</category>
    
    <comments>http://abderrahim.arablug.org/blog/archives/6-Anjuta-valaplugin-0.2.html#comments</comments>
    <wfw:comment>http://abderrahim.arablug.org/blog/wfwcomment.php?cid=6</wfw:comment>

    <slash:comments>5</slash:comments>
    <wfw:commentRss>http://abderrahim.arablug.org/blog/rss.php?version=2.0&amp;type=comments&amp;cid=6</wfw:commentRss>
    

    <author>nospam@example.com (Abderrahim Kitouni)</author>
    <content:encoded>
    Another release of my Vala plugin for anjuta is &lt;a href=&quot;http://abderrahim.arablug.org/GSoC2008/anjuta-valaplugin-0.2.tar.bz2&quot;&gt;available&lt;/a&gt;. The patch for libvala I&#039;ve posted &lt;a href=&quot;http://abderrahim.arablug.org/blog/archives/5-first-release-of-the-Vala-plugin-for-Anjuta.html&quot;&gt;earlier&lt;/a&gt; are still needed.&lt;br /&gt;
This release features :&lt;br /&gt;
 * completion based on return types of methods.&lt;br /&gt;
 * showing errors in anjuta ui (only red underline right now).&lt;br /&gt;
 * call tips.&lt;br /&gt;
 * fixed completion popup alignment.&lt;br /&gt;
 * various fixes.&lt;br /&gt;
 * a dozen more warnings on compilation :-p&lt;br /&gt;
&lt;br /&gt;
I&#039;d love to put a screenshot, but I&#039;m not on my pc right now.&lt;br /&gt;
&lt;br /&gt;
Anyway, I consider code completion mostly done, and will be concentrating on other things (I&#039;ll try to add Vala support to the debugger). If you feel something is missing or if you find a bug, feel free to send feedback.  
    </content:encoded>

    <pubDate>Mon, 28 Jul 2008 02:03:22 -0700</pubDate>
    <guid isPermaLink="false">http://abderrahim.arablug.org/blog/archives/6-guid.html</guid>
    
</item>
<item>
    <title>first release of the Vala plugin for Anjuta</title>
    <link>http://abderrahim.arablug.org/blog/archives/5-first-release-of-the-Vala-plugin-for-Anjuta.html</link>
            <category>GNOME</category>
    
    <comments>http://abderrahim.arablug.org/blog/archives/5-first-release-of-the-Vala-plugin-for-Anjuta.html#comments</comments>
    <wfw:comment>http://abderrahim.arablug.org/blog/wfwcomment.php?cid=5</wfw:comment>

    <slash:comments>4</slash:comments>
    <wfw:commentRss>http://abderrahim.arablug.org/blog/rss.php?version=2.0&amp;type=comments&amp;cid=5</wfw:commentRss>
    

    <author>nospam@example.com (Abderrahim Kitouni)</author>
    <content:encoded>
    I&#039;m pleased to announce the first release of my Anjuta plugin featuring code completion for Vala.&lt;br /&gt;
&lt;br /&gt;
You can get a tarball from &lt;a href=&quot;http://abderrahim.arablug.org/GSoC2008/vala-plugin-0.1/anjuta-valaplugin.tar.bz2&quot;&gt;here&lt;/a&gt;. You&#039;ll also need a patched version of vala : &lt;a href=&quot;http://abderrahim.arablug.org/GSoC2008/vala-plugin-0.1/glib-completion.patch&quot;&gt;GCompletion binding&lt;/a&gt;, &lt;a href=&quot;http://abderrahim.arablug.org/GSoC2008/vala-plugin-0.1/symtable-nullable-vapidirectories.patch&quot;&gt;public Vala.Scope.symbol_table&lt;/a&gt; (maybe should be read only, there is also another small change that removes a warning), &lt;a href=&quot;http://abderrahim.arablug.org/GSoC2008/vala-plugin-0.1/block.patch&quot;&gt;better source_reference for Vala.Block&lt;/a&gt; and &lt;a href=&quot;http://abderrahim.arablug.org/GSoC2008/vala-plugin-0.1/report.patch&quot;&gt;support for error reporting in anjuta ui&lt;/a&gt; (not included in the plugin). (I&#039;ll bug Jürg later to include them.&lt;br /&gt;
The plugin compiles with a dozen warnings (about ignored errors) so don&#039;t worry about it.&lt;br /&gt;
to compile : make &amp;&amp;amp; make install, it needs to install in the same prefix as Anjuta, so you may need to install as root.&lt;br /&gt;
&lt;br /&gt;
If you have any suggestions, bug reports or other feedback, don&#039;t hesitate. Meanwhile, I&#039;ll be working on call tips.  
    </content:encoded>

    <pubDate>Fri, 25 Jul 2008 08:45:00 -0700</pubDate>
    <guid isPermaLink="false">http://abderrahim.arablug.org/blog/archives/5-guid.html</guid>
    
</item>
<item>
    <title>Vala support for ctags</title>
    <link>http://abderrahim.arablug.org/blog/archives/4-Vala-support-for-ctags.html</link>
            <category>GNOME</category>
    
    <comments>http://abderrahim.arablug.org/blog/archives/4-Vala-support-for-ctags.html#comments</comments>
    <wfw:comment>http://abderrahim.arablug.org/blog/wfwcomment.php?cid=4</wfw:comment>

    <slash:comments>4</slash:comments>
    <wfw:commentRss>http://abderrahim.arablug.org/blog/rss.php?version=2.0&amp;type=comments&amp;cid=4</wfw:commentRss>
    

    <author>nospam@example.com (Abderrahim Kitouni)</author>
    <content:encoded>
    It&#039;s been a long time since I&#039;ve posted anything, and the last thing I&#039;ve posted was about vala support for ctags. The good news is : it&#039;s done.&lt;br /&gt;
&lt;br /&gt;
I&#039;m pleased to announce the first release of vala support for (exuberant) ctags. It supports every vala tag kind I&#039;m aware of, and most exuberant ctags extensions. And since it&#039;s based on libvala, it also supports Genie. Vala was tested with the entire libvala code, and genie was only tested with the two examples on Jamie&#039;s blog (but this should be sufficient as it uses libvala)&lt;br /&gt;
&lt;br /&gt;
What&#039;s missing now is the ability to produce pattern based tag entries (only line number is supported), and tag scope (such as namespace and class name for a field).&lt;br /&gt;
&lt;br /&gt;
You can get a &lt;a href=&quot;http://abderrahim.arablug.org/GSoC2008/ctags-vala.tar.bz2&quot;&gt;tarball&lt;/a&gt; (based on latest svn of exuberant ctags), or patches : &lt;a href=&quot;http://abderrahim.arablug.org/GSoC2008/ctags-vala.diff&quot;&gt;against exuberant ctags&lt;/a&gt; and &lt;a href=&quot;http://abderrahim.arablug.org/GSoC2008/anjuta-tagmanager.diff&quot;&gt;against anjuta&#039;s local copy&lt;/a&gt;, both svn versions.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Update:&lt;/b&gt; The exuberant ctags based version needs to be configured with --enable-vala&lt;br /&gt;
&lt;b&gt;Update 2 :&lt;/b&gt; I&#039;ve just updated the tarball because it had a problem (I forgot to run aclocal)&lt;br /&gt;
&lt;br /&gt;
And since a screenshot is better than talk, here is one:&lt;br /&gt;
&lt;center&gt;&lt;a href=&quot;http://abderrahim.arablug.org/GSoC2008/Screenshot-anjuta-tags.png&quot;&gt;&lt;img src=&quot;http://abderrahim.arablug.org/GSoC2008/Screenshot-anjuta-tags.png&quot; alt=&quot;anjuta tag manager&quot; width=&quot;512&quot; height=&quot;384&quot; /&gt;&lt;/a&gt;&lt;/center&gt;  
    </content:encoded>

    <pubDate>Tue, 01 Jul 2008 08:11:00 -0700</pubDate>
    <guid isPermaLink="false">http://abderrahim.arablug.org/blog/archives/4-guid.html</guid>
    
</item>
<item>
    <title>Start of coding</title>
    <link>http://abderrahim.arablug.org/blog/archives/3-Start-of-coding.html</link>
            <category>GNOME</category>
    
    <comments>http://abderrahim.arablug.org/blog/archives/3-Start-of-coding.html#comments</comments>
    <wfw:comment>http://abderrahim.arablug.org/blog/wfwcomment.php?cid=3</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://abderrahim.arablug.org/blog/rss.php?version=2.0&amp;type=comments&amp;cid=3</wfw:commentRss>
    

    <author>nospam@example.com (Abderrahim Kitouni)</author>
    <content:encoded>
    I just finished my last exam (well there is still one left, but it won&#039;t slow me down), so I&#039;m going to start working on my  GSoC project.&lt;br /&gt;
&lt;br /&gt;
Right now I&#039;m trying to add vala support to exuberant ctags, by wrapping the libvala parser (as a, rather pleasant, side effect : support for &lt;a href=&quot;http://live.gnome.org/Genie&quot;&gt;Genie&lt;/a&gt; will be there as well).&lt;br /&gt;
&lt;br /&gt;
After that, I think I&#039;m going to tackle code completion, and hopefully have something useable by the end of June.&lt;br /&gt;
&lt;br /&gt;
That&#039;s all. If you have any ideas or feedback, you can leave comments.  
    </content:encoded>

    <pubDate>Wed, 11 Jun 2008 09:38:00 -0700</pubDate>
    <guid isPermaLink="false">http://abderrahim.arablug.org/blog/archives/3-guid.html</guid>
    
</item>
<item>
    <title>Writing Anjuta plugins in Vala</title>
    <link>http://abderrahim.arablug.org/blog/archives/2-Writing-Anjuta-plugins-in-Vala.html</link>
            <category>GNOME</category>
    
    <comments>http://abderrahim.arablug.org/blog/archives/2-Writing-Anjuta-plugins-in-Vala.html#comments</comments>
    <wfw:comment>http://abderrahim.arablug.org/blog/wfwcomment.php?cid=2</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://abderrahim.arablug.org/blog/rss.php?version=2.0&amp;type=comments&amp;cid=2</wfw:commentRss>
    

    <author>nospam@example.com (Abderrahim Kitouni)</author>
    <content:encoded>
    Update : this is now &lt;a href=&quot;http://bugzilla.gnome.org/show_bug.cgi?id=538021&quot;&gt;bug 538021&lt;/a&gt;&lt;br /&gt;
Since I had a break from my exams (next is on monday), I wrote a little tutorial about writing Anjuta plugins in Vala, it is still incomplete.&lt;br /&gt;
I&#039;m posting it here before sending a patch to have more visibility and hopefully someone can proofread it. I&#039;m not really confident about it&#039;s quality (and this is the first time I&#039;m writing a software documentation).&lt;br /&gt;
Enough speaking, Here you go : &lt;div&gt;
&lt;h2&gt;Writing plugins in Vala&lt;/h2&gt;
    Before writing an Anjuta plugin, please read
    &lt;i&gt;Anjuta Architecture&lt;/i&gt; for general concepts about how Anjuta 
    plugins interact with Anjuta Shell and other plugins.

    Anjuta API is divided in two namespaces : Anjuta and IAnjuta. Anjuta
    contains API to interact with the IDE, and IAnjuta contains interfaces that
    plugins implement to be able to interact with each other.
    Writing a plugin for Anjuta is as simple as subclassing Anjuta.Plugin,
    overriding activate and deactivate, and writing a .plugin file to let Anjuta
    know about your plugin.

    This tutorial is still uncomplete. However most of the documentation
    regarding C plugins is still applicable, so you can always refer to
    &lt;i&gt;Writing plugins&lt;/i&gt;.

    In this tutorial, we will write a basic &lt;em&gt;Hello world&lt;/em&gt;
    plugin that does nothing but adding a &quot;Hello World&quot; label to Anjuta.
    
&lt;h2&gt;Writing the plugin code &lt;/h2&gt;
      As said earlier, we will need to subclass Anjuta.Plugin and override some
      methods, so here is Anjuta.Plugin :
&lt;/div&gt;&lt;br /&gt;
&lt;div class=&quot;csharp&quot; style=&quot;text-align: left&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #0600FF;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #FF0000;&quot;&gt;class&lt;/span&gt; Anjuta.&lt;span style=&quot;color: #0000FF;&quot;&gt;Plugin&lt;/span&gt; : GLib.&lt;span style=&quot;color: #FF0000;&quot;&gt;Object&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #0600FF;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #FF0000;&quot;&gt;uint&lt;/span&gt; add_watch &lt;span style=&quot;color: #000000;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;string&lt;/span&gt; name, Anjuta.&lt;span style=&quot;color: #0000FF;&quot;&gt;PluginValueAdded&lt;/span&gt; added, Anjuta.&lt;span style=&quot;color: #0000FF;&quot;&gt;PluginValueRemoved&lt;/span&gt; removed&lt;span style=&quot;color: #000000;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #0600FF;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #FF0000;&quot;&gt;bool&lt;/span&gt; is_active &lt;span style=&quot;color: #000000;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #0600FF;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #0600FF;&quot;&gt;void&lt;/span&gt; remove_watch &lt;span style=&quot;color: #000000;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;uint&lt;/span&gt; id, &lt;span style=&quot;color: #FF0000;&quot;&gt;bool&lt;/span&gt; send_remove&lt;span style=&quot;color: #000000;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #0600FF;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #0600FF;&quot;&gt;virtual&lt;/span&gt; &lt;span style=&quot;color: #FF0000;&quot;&gt;bool&lt;/span&gt; activate &lt;span style=&quot;color: #000000;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #0600FF;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #0600FF;&quot;&gt;virtual&lt;/span&gt; &lt;span style=&quot;color: #FF0000;&quot;&gt;bool&lt;/span&gt; deactivate &lt;span style=&quot;color: #000000;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #0600FF;&quot;&gt;public&lt;/span&gt; weak Anjuta.&lt;span style=&quot;color: #0000FF;&quot;&gt;Shell&lt;/span&gt; shell &lt;span style=&quot;color: #000000;&quot;&gt;&amp;#123;&lt;/span&gt; get; set; &lt;span style=&quot;color: #000000;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #0600FF;&quot;&gt;public&lt;/span&gt; signal &lt;span style=&quot;color: #0600FF;&quot;&gt;void&lt;/span&gt; activated &lt;span style=&quot;color: #000000;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #0600FF;&quot;&gt;public&lt;/span&gt; signal &lt;span style=&quot;color: #0600FF;&quot;&gt;void&lt;/span&gt; deactivated &lt;span style=&quot;color: #000000;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div&gt;
      The methods we&#039;ll need to override are activate and deactivate, the shell
      property is what we&#039;ll use to interact with Anjuta. &lt;code&gt;add_watch&lt;/code&gt;
      and &lt;code&gt;remove_watch&lt;/code&gt; are used to interface with the
      &lt;span&gt;&lt;em&gt;Values System&lt;/em&gt; see &lt;i&gt;Anjuta Architecture&lt;/i&gt;
      for more information. The rest is pretty self explanatory, and we generally won&#039;t need it.

      We will only use the &lt;code&gt;add_widget&lt;/code&gt; method of 
      Anjuta.Shell in this tutorial. For more informations, you can see
      the C API documentation.

      This plugin does nothing more than showing a &quot;Hello World&quot; widget in
      Anjuta 
&lt;/div&gt;&lt;br /&gt;
&lt;div class=&quot;csharp&quot; style=&quot;text-align: left&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #0600FF;&quot;&gt;using&lt;/span&gt; Gtk;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #0600FF;&quot;&gt;using&lt;/span&gt; Anjuta;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #0600FF;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #FF0000;&quot;&gt;class&lt;/span&gt; HelloWorldPlugin: Plugin &lt;span style=&quot;color: #000000;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #008080; font-style: italic;&quot;&gt;/* The hello world widget */&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; Widget widget;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #008080; font-style: italic;&quot;&gt;/* We use the &amp;quot;override&amp;quot; keyword to override the virtual methods activate and deactivate */&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #0600FF;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #0600FF;&quot;&gt;override&lt;/span&gt; &lt;span style=&quot;color: #FF0000;&quot;&gt;bool&lt;/span&gt; activate &lt;span style=&quot;color: #000000;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; widget = &lt;a href=&quot;http://www.google.com/search?q=new+msdn.microsoft.com&quot;&gt;&lt;span style=&quot;color: #008000;&quot;&gt;new&lt;/span&gt;&lt;/a&gt; Label&lt;span style=&quot;color: #000000;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&quot;Hello World&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #008080; font-style: italic;&quot;&gt;/* adding the widget */&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; shell.&lt;span style=&quot;color: #0000FF;&quot;&gt;add_widget&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;#40;&lt;/span&gt;widget, &lt;span style=&quot;color: #008080; font-style: italic;&quot;&gt;/* the widget to add */&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;&lt;span style=&quot;color: #808080;&quot;&gt;&quot;AnjutaHelloWorldPlugin&quot;&lt;/span&gt;, &lt;span style=&quot;color: #008080; font-style: italic;&quot;&gt;/* name of the widget */&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;&lt;span style=&quot;color: #808080;&quot;&gt;&quot;HelloWorldPlugin&quot;&lt;/span&gt;, &lt;span style=&quot;color: #008080; font-style: italic;&quot;&gt;/* title, should be translated */&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;Gtk.&lt;span style=&quot;color: #0000FF;&quot;&gt;STOCK_ABOUT&lt;/span&gt;, &lt;span style=&quot;color: #008080; font-style: italic;&quot;&gt;/* icon stock id */&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;ShellPlacement.&lt;span style=&quot;color: #0000FF;&quot;&gt;CENTER&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;#41;&lt;/span&gt;; &lt;span style=&quot;color: #008080; font-style: italic;&quot;&gt;/* placement in in the shell */&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #0600FF;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #0600FF;&quot;&gt;true&lt;/span&gt;; &lt;span style=&quot;color: #008080; font-style: italic;&quot;&gt;/* false if activation failed */&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #000000;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #0600FF;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #0600FF;&quot;&gt;override&lt;/span&gt; &lt;span style=&quot;color: #FF0000;&quot;&gt;bool&lt;/span&gt; deactivate &lt;span style=&quot;color: #000000;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #008080; font-style: italic;&quot;&gt;/* remove the widget we&#039;ve added */&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; shell.&lt;span style=&quot;color: #0000FF;&quot;&gt;remove_widget&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;#40;&lt;/span&gt;widget&lt;span style=&quot;color: #000000;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #0600FF;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #0600FF;&quot;&gt;true&lt;/span&gt;; &lt;span style=&quot;color: #008080; font-style: italic;&quot;&gt;/* false if plugin doesn&#039;t want to deactivate */&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #000000;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #008080; font-style: italic;&quot;&gt;/* Initialization function, in C this would be automatically generated by the&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #008080; font-style: italic;&quot;&gt;&amp;#160; &amp;#160;ANJUTA_SIMPLE_PLUGIN macro */&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;#91;&lt;/span&gt;ModuleInit&lt;span style=&quot;color: #000000;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #0600FF;&quot;&gt;public&lt;/span&gt; GLib.&lt;span style=&quot;color: #0000FF;&quot;&gt;Type&lt;/span&gt; anjuta_glue_register_components &lt;span style=&quot;color: #000000;&quot;&gt;&amp;#40;&lt;/span&gt;GLib.&lt;span style=&quot;color: #0000FF;&quot;&gt;TypeModule&lt;/span&gt; module&lt;span style=&quot;color: #000000;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #0600FF;&quot;&gt;return&lt;/span&gt; &lt;a href=&quot;http://www.google.com/search?q=typeof+msdn.microsoft.com&quot;&gt;&lt;span style=&quot;color: #008000;&quot;&gt;typeof&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #000000;&quot;&gt;&amp;#40;&lt;/span&gt;HelloWorldPlugin&lt;span style=&quot;color: #000000;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div&gt;
&lt;h2&gt;Writing a plugin description&lt;/h2&gt;
    Anjuta needs a file with a plugin extension to know about our plugin, its name
    and description, where it is located, when to load it. Here is an example for our
    basic plugin :
&lt;/div&gt;&lt;br /&gt;
&lt;div class=&quot;ini&quot; style=&quot;text-align: left&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color: #000066; font-weight:bold;&quot;&gt;&lt;span style=&quot;&quot;&gt;&amp;#91;&lt;/span&gt;Anjuta Plugin&lt;span style=&quot;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000099;&quot;&gt;Name&lt;/span&gt;=&lt;span style=&quot;color: #660066;&quot;&gt;Hello World&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000099;&quot;&gt;Description&lt;/span&gt;=&lt;span style=&quot;color: #660066;&quot;&gt;An example hello world plugin.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000099;&quot;&gt;Location&lt;/span&gt;=&lt;span style=&quot;color: #660066;&quot;&gt;anjuta-hello-world:HelloWorldPlugin&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000099;&quot;&gt;Icon&lt;/span&gt;=&lt;span style=&quot;color: #660066;&quot;&gt;anjuta-sample-plugin-&lt;span style=&quot;&quot;&gt;48&lt;/span&gt;.png&lt;/span&gt;&lt;br /&gt;&amp;#160;&lt;/div&gt;&lt;br /&gt;
&lt;div&gt;
    Generally, Name and Description should be translated. Using intltool, you can
    do this by prefixing them with _.
    Location is of the form libraryname:ClassName : libraryname is the name of the
    library file (without the lib prefix and .so suffix), and ClassName is the full
    class name including the namespace (and not separated by a period as you would 
    write it in Vala).
    Icon is the icon to be used by the plugin, here we put sample plugin icon which
    is distributed along with Anjuta, but you could put your own icon instead.
      For more information about plugin description files, refer to
      &lt;i&gt;Plugin description file&lt;/i&gt;.

&lt;h2&gt;
Compiling and installing the plugin&lt;/h2&gt;
&lt;h3&gt;Manual compilation&lt;/h3&gt;
      Assuming you saved the plugin as hello-plugin.vala, you can compile it with :
      &lt;pre&gt;
valac --ccode --pkg libanjuta-1.0 hello-plugin.vala
gcc -shared -o libanjuta-hello-world.so hello-plugin.c
      &lt;/pre&gt;
&lt;h3&gt;
Using autotools&lt;/h3&gt;
      Coming soon.
&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
You can get the vapi (and deps) for Anjuta from my &lt;a href=&quot;http://freehg.org/u/abderrahim/anjuta-vala-plugin&quot;&gt;mercurial repository&lt;/a&gt; (direct links : &lt;a href=&quot;http://freehg.org/u/abderrahim/anjuta-vala-plugin/raw-file/tip/anjuta-vapi/libanjuta-1.0.vapi&quot;&gt;vapi&lt;/a&gt;, &lt;a href=&quot;http://freehg.org/u/abderrahim/anjuta-vala-plugin/raw-file/tip/anjuta-vapi/libanjuta/libanjuta-1.0.deps&quot;&gt;deps&lt;/a&gt;), add &lt;code&gt;--vapidir /path/to/libanjuta-1.0.vapi&lt;/code&gt; to valac command line. 
    </content:encoded>

    <pubDate>Thu, 05 Jun 2008 09:50:00 -0700</pubDate>
    <guid isPermaLink="false">http://abderrahim.arablug.org/blog/archives/2-guid.html</guid>
    
</item>
<item>
    <title>Hello, World</title>
    <link>http://abderrahim.arablug.org/blog/archives/1-Hello,-World.html</link>
            <category>GNOME</category>
    
    <comments>http://abderrahim.arablug.org/blog/archives/1-Hello,-World.html#comments</comments>
    <wfw:comment>http://abderrahim.arablug.org/blog/wfwcomment.php?cid=1</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://abderrahim.arablug.org/blog/rss.php?version=2.0&amp;type=comments&amp;cid=1</wfw:commentRss>
    

    <author>nospam@example.com (Abderrahim Kitouni)</author>
    <content:encoded>
    &lt;b&gt;Update:&lt;/b&gt; Hello, Planet Gnome&lt;br /&gt;
&lt;br /&gt;
This is my first blog post, which I created to follow the progress of Summer of Code project.&lt;br /&gt;
&lt;br /&gt;
My project is about adding Vala support to Anjuta, I&#039;ll be mentored by &lt;a href=&quot;http://blogs.gnome.org/juergbi&quot;&gt;Jürg Billeter&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
I&#039;ve setup a &lt;a href=&quot;http://freehg.org/u/abderrahim/anjuta-vala-plugin/&quot;&gt;mercurial repository&lt;/a&gt; at freehg, if you want to see the progress (right now there is only a skeleton, but I understand Anjuta plugin architecture, so the next step is to start writing the actual code)&lt;br /&gt;
&lt;br /&gt;
I&#039;m going to have exams shortly, so I won&#039;t be able to work on this until June, 10th.&lt;br /&gt;
&lt;br /&gt;
Anyway, If you have any feature request, you can use comments &lt;img src=&quot;http://abderrahim.arablug.org/blog/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;  
    </content:encoded>

    <pubDate>Tue, 20 May 2008 10:03:00 -0700</pubDate>
    <guid isPermaLink="false">http://abderrahim.arablug.org/blog/archives/1-guid.html</guid>
    
</item>

</channel>
</rss>