<blockquote>
<p>You mean the Set Build Commands dialog I guess. My thought was that plugin commands NOT be set there, just shown as insensitive since they are the highest priority.</p>
</blockquote>
<blockquote>
<p>These pointers are not and should not be exposed, they are Geany implementation details. Thats another reason not to have the user edit plugin commands in the Geany dialog.</p>
</blockquote>
<p>By re-using it, I meant using only the GUI. I thought it would write the settings made by the user to <code>dst</code> so that it would not change any other data that belongs to geany.</p>
<blockquote>
<p>Note that there are already build access functions in the plugin API, plugins shouldn't be accessing the Geany internal structures. But the existing functions make no decisions what the plugin can do, and I repeat my question from previous posts, how does Geany decide who won?</p>
</blockquote>
<p>I still need to look at those. Right now I am not sure which tasks can be done where and how we can limit code duplication. I think these are the three main tasks:</p>
<ol>
<li>Load and save build command data for a plugin (of course a job for the plugin)</li>
<li>Having a GUI dialog to edit these settings (as written above I thought the existing geany dialog could be re-used WITHOUT changing any of the geany data - I want to pass over the pointer for the workbench data as <code>dst</code>.</li>
<li>A menu for the user to start the build commands (I thought extension of the six sources with a seventh for plugins meant to re-use this because it would decide which command to run)</li>
<li>Having code that actually runs a build command (also done through the above I thought)</li>
</ol>
<p>If a plugin or plugins has it's own complete build menu and set build commands dialog, then there wouldn't be any interaction with geany? So are you talking about to duplicate that code for the plugins?</p>
<p>Anyway, still have to look at the existing API functions. Thanks for the detailed answer <g-emoji class="g-emoji" alias="+1" fallback-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f44d.png">👍</g-emoji></p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/geany/geany-plugins/issues/733#issuecomment-381025685">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ABDrJ30njRFzwI-iyTnsH1gI5MGsRv1Iks5toDO0gaJpZM4TNXBD">mute the thread</a>.<img src="https://github.com/notifications/beacon/ABDrJ2wbBxA1Q_xPWRAtn6QQuHb_5-fhks5toDO0gaJpZM4TNXBD.gif" height="1" width="1" alt="" /></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/issues/733#issuecomment-381025685"></link>
  <meta itemprop="name" content="View Issue"></meta>
</div>
<meta itemprop="description" content="View this Issue on GitHub"></meta>
</div>

<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/geany/geany-plugins","title":"geany/geany-plugins","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/geany/geany-plugins"}},"updates":{"snippets":[{"icon":"PERSON","message":"@LarsGit223 in #733: \u003e You mean the Set Build Commands dialog I guess. My thought was that plugin commands NOT be set there, just shown as insensitive since they are the highest priority.\r\n\r\n\u003e These pointers are not and should not be exposed, they are Geany implementation details. Thats another reason not to have the user edit plugin commands in the Geany dialog.\r\n\r\nBy re-using it, I meant using only the GUI. I thought it would write the settings made by the user to ```dst``` so that it would not change any other data that belongs to geany.\r\n\r\n\u003e Note that there are already build access functions in the plugin API, plugins shouldn't be accessing the Geany internal structures. But the existing functions make no decisions what the plugin can do, and I repeat my question from previous posts, how does Geany decide who won?\r\n\r\nI still need to look at those. Right now I am not sure which tasks can be done where and how we can limit code duplication. I think these are the three main tasks:\r\n\r\n1. Load and save build command data for a plugin (of course a job for the plugin)\r\n1. Having a GUI dialog to edit these settings (as written above I thought the existing geany dialog could be re-used WITHOUT changing any of the geany data - I want to pass over the pointer for the workbench data as ```dst```.\r\n1. A menu for the user to start the build commands (I thought extension of the six sources with a seventh for plugins meant to re-use this because it would decide which command to run)\r\n1. Having code that actually runs a build command (also done through the above I thought)\r\n\r\nIf a plugin or plugins has it's own complete build menu and set build commands dialog, then there wouldn't be any interaction with geany? So are you talking about to duplicate that code for the plugins?\r\n\r\nAnyway, still have to look at the existing API functions. Thanks for the detailed answer :thumbsup:"}],"action":{"name":"View Issue","url":"https://github.com/geany/geany-plugins/issues/733#issuecomment-381025685"}}}</script>