<p>Depends on <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="493392724" data-permission-text="Issue title is private" data-url="https://github.com/geany/geany/issues/2301" data-hovercard-type="pull_request" data-hovercard-url="/geany/geany/pull/2301/hovercard" href="https://github.com/geany/geany/pull/2301">#2301</a>, that should be merged first. (Could be worked around if necessary).</p>
<p>Currently the user can manually edit <code>geany.conf</code> or the project <code>.conf</code> to add filetype-independent execute commands which silently override the filetype execute ones. It's not really explained in the manual (but Lex says it's in the Wiki page), my guess is it's not used much.</p>
<p>This creates a new group of build commands - independent execute commands. These appear in the build menu after the filetype execute commands.<br>
This is more flexible for the user and allows for adding GUI configurability to the 'Set Build Commands' dialog (which I can do in another pull).<br>
This adds a keybinding for the first filetype-independent execute command, which defaults to Shift+F5.</p>

<hr>

<h4>You can view, comment on, or merge this pull request online at:</h4>
<p>  <a href='https://github.com/geany/geany/pull/2307'>https://github.com/geany/geany/pull/2307</a></p>

<h4>Commit Summary</h4>
<ul>
  <li>build.c: Replace return_cmd_if macros with simpler BREAK_IF_CMD macro</li>
  <li>Replace unhygienic macro calls with array of struct</li>
  <li>Begin separating filetype-independent execute commands from FT execute</li>
  <li>Replace run_info with run_pids</li>
  <li>load & save independent exec group instead of ft exec</li>
  <li>Make build_run_cmd support independent execute & add keybinding</li>
  <li>Show independent run menu items</li>
</ul>

<h4>File Changes</h4>
<ul>
  <li>
    <strong>M</strong>
    <a href="https://github.com/geany/geany/pull/2307/files#diff-0">TODO</a>
    (1)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/geany/geany/pull/2307/files#diff-1">src/build.c</a>
    (232)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/geany/geany/pull/2307/files#diff-2">src/build.h</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/geany/geany/pull/2307/files#diff-3">src/keybindings.c</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/geany/geany/pull/2307/files#diff-4">src/keybindings.h</a>
    (5)
  </li>
</ul>

<h4>Patch Links:</h4>
<ul>
  <li><a href='https://github.com/geany/geany/pull/2307.patch'>https://github.com/geany/geany/pull/2307.patch</a></li>
  <li><a href='https://github.com/geany/geany/pull/2307.diff'>https://github.com/geany/geany/pull/2307.diff</a></li>
</ul>

<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/pull/2307?email_source=notifications&email_token=AAIOWJ67WEZGLOYJFGN3NFLQKN7ELA5CNFSM4IYLLYX2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HMNPDDQ">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AAIOWJ2BGVNY7KIA47L7MXTQKN7ELANCNFSM4IYLLYXQ">mute the thread</a>.<img src="https://github.com/notifications/beacon/AAIOWJ43U2Q4S7SA6NBLD5DQKN7ELA5CNFSM4IYLLYX2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HMNPDDQ.gif" height="1" width="1" alt="" /></p>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/geany/geany/pull/2307?email_source=notifications\u0026email_token=AAIOWJ67WEZGLOYJFGN3NFLQKN7ELA5CNFSM4IYLLYX2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HMNPDDQ",
"url": "https://github.com/geany/geany/pull/2307?email_source=notifications\u0026email_token=AAIOWJ67WEZGLOYJFGN3NFLQKN7ELA5CNFSM4IYLLYX2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HMNPDDQ",
"name": "View Pull Request"
},
"description": "View this Pull Request on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>