<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Plugin Source]]></title><description><![CDATA[<p dir="auto">Hi,<br />
Some of the plugins don’t have source code(?).  I’m interested in adding to the toolbar.<br />
customize-toolbar has a download but no source code that i can find…<br />
Is this a policy? And…Can anyone point me to documentation where I can find how to add toolbar events and icons?<br />
Thanks!</p>
]]></description><link>https://community.notepad-plus-plus.org/topic/17290/plugin-source</link><generator>RSS for Node</generator><lastBuildDate>Sun, 12 Jul 2026 08:54:03 GMT</lastBuildDate><atom:link href="https://community.notepad-plus-plus.org/topic/17290.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 13 Mar 2019 22:18:26 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Plugin Source on Thu, 14 Mar 2019 18:45:20 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/tod-mar" aria-label="Profile: Tod-Mar">@<bdi>Tod-Mar</bdi></a></p>
<p dir="auto">When I started to develop plugins for Notepad++ the following links have been helpful:</p>
<p dir="auto"><a href="http://docs.notepad-plus-plus.org/index.php/Plugin_Development" rel="nofollow ugc">How to develop a plugin or a lexer</a><br />
<a href="http://docs.notepad-plus-plus.org/index.php/Messages_And_Notifications" rel="nofollow ugc">Messages and notifications</a><br />
<a href="https://github.com/notepad-plus-plus/notepad-plus-plus/tree/master/PowerEditor/src/MISC/PluginsManager" rel="nofollow ugc">Sources of plugin interface</a><br />
<a href="http://www.scintilla.org/ScintillaDoc.html" rel="nofollow ugc">Scintilla documentation</a></p>
<p dir="auto"><strong>Regarding toolbar buttons</strong></p>
<p dir="auto">The handling of toolbar buttons is totally transparent to a plugin developer because they work like a menu entry.</p>
<p dir="auto">A plugin developer has to fill an array at plugin’s startup that contains structs of type <em>FuncItem</em>. Every array element describes a menu entry of the plugin (text, click handler function, menu command id, <em>Checked</em> state, and keyboard shortcut).</p>
<p dir="auto">Notepad++ queries a pointer to this array at a certain time in the startup process. It generates the menu entry of the plugin in the <em>Plugins</em> menu, adds for every array element a submenu entry and fills the <em>menu command id</em> member of the array elements. So you know the menu command ids of your menu entries.</p>
<p dir="auto">If you want to have a toolbar button you have to hook the <em>NPPN_TB_MODIFICATION</em> event sent by Notepad++ to your plugin. In the handler of this event you have to fill a struct of type <em>toolbarIcons</em> (<strong>please note:</strong> you have to fill only <strong>one</strong> of its two members, either <em>hToolbarBmp</em> or <em>hToolbarIcon</em> but it seems only the first one works). The bitmap whose handle you provide has to be in a 8 bits-per-pixel palletized format (max. 256 colors) and its size has to be 16x16 pixels. Then you can send a <em>NPPM_ADDTOOLBARICON</em> event to Notepad++ where you provide the menu command id of the menu entry which you want to connect with your toolbar button and a pointer to the <em>toolbarIcons</em> struct you filled before.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/41149</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/41149</guid><dc:creator><![CDATA[dinkumoil]]></dc:creator><pubDate>Thu, 14 Mar 2019 18:45:20 GMT</pubDate></item><item><title><![CDATA[Reply to Plugin Source on Thu, 14 Mar 2019 17:51:35 GMT]]></title><description><![CDATA[<p dir="auto">So you do everything using window handles and messages?  how about icons/images? (looking at the toolbar…)</p>
]]></description><link>https://community.notepad-plus-plus.org/post/41146</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/41146</guid><dc:creator><![CDATA[Tod Mar]]></dc:creator><pubDate>Thu, 14 Mar 2019 17:51:35 GMT</pubDate></item><item><title><![CDATA[Reply to Plugin Source on Thu, 14 Mar 2019 16:00:09 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/tod-mar" aria-label="Profile: Tod-Mar">@<bdi>Tod-Mar</bdi></a></p>
<p dir="auto">You can write plugins in a lot of languages.  Notepad++ itself is as you said, “classic Windows code”, C++ and straight Windows API function calls, so maybe the natural choice for a plugin is to stick with same.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/41139</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/41139</guid><dc:creator><![CDATA[Alan Kilborn]]></dc:creator><pubDate>Thu, 14 Mar 2019 16:00:09 GMT</pubDate></item><item><title><![CDATA[Reply to Plugin Source on Thu, 14 Mar 2019 15:52:46 GMT]]></title><description><![CDATA[<p dir="auto">Yet some plugins are C#.  I thought C# was only a .Net platform, but they could be compiled with .NET Native…</p>
]]></description><link>https://community.notepad-plus-plus.org/post/41138</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/41138</guid><dc:creator><![CDATA[Tod Mar]]></dc:creator><pubDate>Thu, 14 Mar 2019 15:52:46 GMT</pubDate></item><item><title><![CDATA[Reply to Plugin Source on Thu, 14 Mar 2019 13:55:41 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/tod-mar" aria-label="Profile: Tod-Mar">@<bdi>Tod-Mar</bdi></a> said:</p>
<blockquote>
<p dir="auto">the code here is classic Windows code without even MFC or ATL/WTL I assume?</p>
</blockquote>
<p dir="auto">Yes…double-edged sword I guess.  Personally, I’m glad it is not MFC-based.  I always found MFC to be a joke.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/41121</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/41121</guid><dc:creator><![CDATA[Alan Kilborn]]></dc:creator><pubDate>Thu, 14 Mar 2019 13:55:41 GMT</pubDate></item><item><title><![CDATA[Reply to Plugin Source on Thu, 14 Mar 2019 13:40:13 GMT]]></title><description><![CDATA[<p dir="auto">Super I’m glad I started the conversation but my 2nd question was where to find any doc. about adding icons to the toolbar and getting their events. I can search and find it but if anyone can point me anywhere.  Also…the code here is classic Windows code without even MFC or ATL/WTL I assume?</p>
]]></description><link>https://community.notepad-plus-plus.org/post/41119</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/41119</guid><dc:creator><![CDATA[Tod Mar]]></dc:creator><pubDate>Thu, 14 Mar 2019 13:40:13 GMT</pubDate></item><item><title><![CDATA[Reply to Plugin Source on Wed, 13 Mar 2019 23:21:29 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/meta-chuh" aria-label="Profile: Meta-Chuh">@<bdi>Meta-Chuh</bdi></a><br />
A translator is a robot, not a living person. You want to say one thing, but it turns out quite another.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/41093</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/41093</guid><dc:creator><![CDATA[andrecool-68]]></dc:creator><pubDate>Wed, 13 Mar 2019 23:21:29 GMT</pubDate></item><item><title><![CDATA[Reply to Plugin Source on Wed, 13 Mar 2019 23:02:09 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/andrecool-68" aria-label="Profile: andrecool-68">@<bdi>andrecool-68</bdi></a></p>
<p dir="auto">of course i did not mean you, but big, big enterprises.<br />
i hope this was a joke from you, because otherwise maybe you need a better translator after all 😉</p>
]]></description><link>https://community.notepad-plus-plus.org/post/41089</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/41089</guid><dc:creator><![CDATA[Meta Chuh]]></dc:creator><pubDate>Wed, 13 Mar 2019 23:02:09 GMT</pubDate></item><item><title><![CDATA[Reply to Plugin Source on Wed, 13 Mar 2019 22:52:32 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/meta-chuh" aria-label="Profile: Meta-Chuh">@<bdi>Meta-Chuh</bdi></a><br />
Me a thief and a bad seller turns out)))<br />
Parents are not taught to steal)))</p>
]]></description><link>https://community.notepad-plus-plus.org/post/41087</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/41087</guid><dc:creator><![CDATA[andrecool-68]]></dc:creator><pubDate>Wed, 13 Mar 2019 22:52:32 GMT</pubDate></item><item><title><![CDATA[Reply to Plugin Source on Wed, 13 Mar 2019 22:47:40 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/andrecool-68" aria-label="Profile: andrecool-68">@<bdi>andrecool-68</bdi></a></p>
<p dir="auto">yes, and most of the plugins are open source.</p>
<p dir="auto">but there are many developers that published source code, and had a very bad experience, as some rogue entities took profit on selling it, and worst case, trying or accomplishing to patent, what they have taken from another person’s open source project.</p>
<p dir="auto">so i can fully understand why some developers, especially the ones with a lot of bad experiences, choose to omit to publish any further source codes.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/41086</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/41086</guid><dc:creator><![CDATA[Meta Chuh]]></dc:creator><pubDate>Wed, 13 Mar 2019 22:47:40 GMT</pubDate></item><item><title><![CDATA[Reply to Plugin Source on Wed, 13 Mar 2019 22:37:32 GMT]]></title><description><![CDATA[<p dir="auto">Something strange …plugins which I use you can freely download the source code</p>
<p dir="auto">And the authors of these plugins helped me with advice on how to compile these projects! For which they thank you!</p>
]]></description><link>https://community.notepad-plus-plus.org/post/41083</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/41083</guid><dc:creator><![CDATA[andrecool-68]]></dc:creator><pubDate>Wed, 13 Mar 2019 22:37:32 GMT</pubDate></item><item><title><![CDATA[Reply to Plugin Source on Wed, 13 Mar 2019 22:31:40 GMT]]></title><description><![CDATA[<p dir="auto">There is no requirement for a plugin to publish its source code.  Even when available, the source code usually won’t come bundled if you download it through the Plugins Admin.  You can check the plugin’s individual website to see if it’s available.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/41082</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/41082</guid><dc:creator><![CDATA[PeterJones]]></dc:creator><pubDate>Wed, 13 Mar 2019 22:31:40 GMT</pubDate></item><item><title><![CDATA[Reply to Plugin Source on Wed, 13 Mar 2019 22:31:36 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/tod-mar" aria-label="Profile: Tod-Mar">@<bdi>Tod-Mar</bdi></a></p>
<p dir="auto">every free plugin developer has the right to freely share his source code for free, as well as having the free right to omit any further free publication, to eventually protect his and/or her intellectual property.</p>
<p dir="auto">additionally: as soon as you would be able and ready to modify, for example <a class="plugin-mentions-user plugin-mentions-a" href="/user/dave-user" aria-label="Profile: dave-user">@<bdi>dave-user</bdi></a> 's customize toolbar plugin, you will have enough knowledge to write it from scratch, as you will be quicker doing that than to read and comprehend the existing code.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/41081</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/41081</guid><dc:creator><![CDATA[Meta Chuh]]></dc:creator><pubDate>Wed, 13 Mar 2019 22:31:36 GMT</pubDate></item></channel></rss>