<p>This is reworked version if <a href="https://github.com/geany/geany-plugins/pull/295" class="issue-link js-issue-link" data-url="https://github.com/geany/geany-plugins/issues/295" data-id="115609299" data-error-text="Failed to load issue title" data-permission-text="Issue title is private">#295</a> </p>
<p>I opened a new PR because I don't have incremental commits available (I cherry picked from the upstream PR <a href="https://github.com/codebrainz/geanypy/pull/37" class="issue-link js-issue-link" data-url="https://github.com/codebrainz/geanypy/issues/37" data-id="111275110" data-error-text="Failed to load issue title" data-permission-text="Issue title is private">codebrainz/geanypy#37</a>) and didn't want to destroy the comments there.</p>
<p>Anyway, the commits tell the story. This PR converts geanypy to a proxy plugin (needs Geany git master/1.26), and then adds the long-awaited keybindings support.</p>
<p>With this, python plugins are just like other plugins w.r.t to the PM dialog, configuration and keybindings</p>
<p>According to <a href="https://github.com/geany/geany-plugins/pull/295" class="issue-link js-issue-link" data-url="https://github.com/geany/geany-plugins/issues/295" data-id="115609299" data-error-text="Failed to load issue title" data-permission-text="Issue title is private">#295</a> <a href="https://github.com/codebrainz" class="user-mention">@codebrainz</a> is fine if G-P merges it first (<a href="https://github.com/codebrainz" class="user-mention">@codebrainz</a> please speak up if you changed your mind).</p>
<hr>
<h4>You can view, comment on, or merge this pull request online at:</h4>
<p> <a href='https://github.com/geany/geany-plugins/pull/384'>https://github.com/geany/geany-plugins/pull/384</a></p>
<h4>Commit Summary</h4>
<ul>
<li>Convert to a proxy plugin</li>
<li>Store per-plugin GeanyPlugin pointer</li>
<li>Add support for keybindings</li>
<li>proxy: backward compatibility for legaxy show_configure()</li>
<li>docs: update docs for the proxy plugin changes</li>
</ul>
<h4>File Changes</h4>
<ul>
<li>
<strong>M</strong>
<a href="https://github.com/geany/geany-plugins/pull/384/files#diff-0">geanypy/README</a>
(11)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/geany/geany-plugins/pull/384/files#diff-1">geanypy/doc/source/starting.rst</a>
(40)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/geany/geany-plugins/pull/384/files#diff-2">geanypy/geany/Makefile.am</a>
(2)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/geany/geany-plugins/pull/384/files#diff-3">geanypy/geany/__init__.py</a>
(4)
</li>
<li>
<strong>D</strong>
<a href="https://github.com/geany/geany-plugins/pull/384/files#diff-4">geanypy/geany/loader.py</a>
(172)
</li>
<li>
<strong>D</strong>
<a href="https://github.com/geany/geany-plugins/pull/384/files#diff-5">geanypy/geany/manager.py</a>
(179)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/geany/geany-plugins/pull/384/files#diff-6">geanypy/geany/plugin.py</a>
(16)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/geany/geany-plugins/pull/384/files#diff-7">geanypy/plugins/Makefile.am</a>
(2)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/geany/geany-plugins/pull/384/files#diff-8">geanypy/plugins/console.py</a>
(16)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/geany/geany-plugins/pull/384/files#diff-9">geanypy/src/Makefile.am</a>
(3)
</li>
<li>
<strong>A</strong>
<a href="https://github.com/geany/geany-plugins/pull/384/files#diff-10">geanypy/src/geanypy-keybindings.c</a>
(213)
</li>
<li>
<strong>A</strong>
<a href="https://github.com/geany/geany-plugins/pull/384/files#diff-11">geanypy/src/geanypy-keybindings.h</a>
(39)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/geany/geany-plugins/pull/384/files#diff-12">geanypy/src/geanypy-plugin.c</a>
(383)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/geany/geany-plugins/pull/384/files#diff-13">geanypy/src/geanypy-plugin.h</a>
(12)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/geany/geany-plugins/pull/384/files#diff-14">geanypy/src/geanypy-signalmanager.c</a>
(1)
</li>
</ul>
<h4>Patch Links:</h4>
<ul>
<li><a href='https://github.com/geany/geany-plugins/pull/384.patch'>https://github.com/geany/geany-plugins/pull/384.patch</a></li>
<li><a href='https://github.com/geany/geany-plugins/pull/384.diff'>https://github.com/geany/geany-plugins/pull/384.diff</a></li>
</ul>
<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br>Reply to this email directly or <a href="https://github.com/geany/geany-plugins/pull/384">view it on GitHub</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/ABDrJ3-qgxFOLaGgu8RJUActrBapbC7wks5pqsrCgaJpZM4HqPwM.gif" width="1" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
<link itemprop="url" href="https://github.com/geany/geany-plugins/pull/384"></link>
<meta itemprop="name" content="View Pull Request"></meta>
</div>
<meta itemprop="description" content="View this Pull Request on GitHub"></meta>
</div>