<p>This is a new plugin called workbench.</p>
<p>It has the following features:</p>
<ul>
<li>assign multiple projects to a workbench</li>
<li>assign directories and file patterns to each project for easy file listing</li>
<li>create "global" workbench or project bookmarks to have quick access to often used files</li>
<li>the plugin uses relative pathes (a project file path is relative to the workbench file path, a file path is relative to the project file path)</li>
<li>languages: english and german</li>
</ul>
<p>For instructions please see the readme file.</p>
<p>The plugin is heavily based on the project organizer plugin, thanks to Jiří Techet. Icons are taken from the gnome desktop.</p>
<p><strong>This is a follow-up/clean PR for PR <a href="https://github.com/geany/geany-plugins/pull/598" class="issue-link js-issue-link" data-url="https://github.com/geany/geany-plugins/issues/598" data-id="250403645" data-error-text="Failed to load issue title" data-permission-text="Issue title is private">#598</a>. All changes are included, this PR is based on todays master.</strong></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/601'>https://github.com/geany/geany-plugins/pull/601</a></p>

<h4>Commit Summary</h4>
<ul>
  <li>New plugin 'workbench': initial commit.</li>
</ul>

<h4>File Changes</h4>
<ul>
  <li>
    <strong>M</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-0">Makefile.am</a>
    (4)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-1">build/workbench.m4</a>
    (15)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-2">configure.ac</a>
    (1)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-3">po/de.po</a>
    (345)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-4">workbench/AUTHORS</a>
    (1)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-5">workbench/COPYING</a>
    (340)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-6">workbench/ChangeLog</a>
    (0)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-7">workbench/Makefile.am</a>
    (4)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-8">workbench/NEWS</a>
    (2)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-9">workbench/README</a>
    (151)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-10">workbench/THANKS</a>
    (13)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-11">workbench/icons/16x16/Makefile.am</a>
    (9)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-12">workbench/icons/16x16/workbench-bookmark.png</a>
    (0)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-13">workbench/icons/16x16/workbench-dir.png</a>
    (0)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-14">workbench/icons/16x16/workbench-nodirs.png</a>
    (0)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-15">workbench/icons/16x16/workbench-project-error.png</a>
    (0)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-16">workbench/icons/16x16/workbench-project.png</a>
    (0)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-17">workbench/icons/24x24/Makefile.am</a>
    (9)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-18">workbench/icons/24x24/workbench-bookmark.png</a>
    (0)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-19">workbench/icons/24x24/workbench-dir.png</a>
    (0)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-20">workbench/icons/24x24/workbench-nodirs.png</a>
    (0)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-21">workbench/icons/24x24/workbench-project-error.png</a>
    (0)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-22">workbench/icons/24x24/workbench-project.png</a>
    (0)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-23">workbench/icons/32x32/Makefile.am</a>
    (9)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-24">workbench/icons/32x32/workbench-bookmark.png</a>
    (0)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-25">workbench/icons/32x32/workbench-dir.png</a>
    (0)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-26">workbench/icons/32x32/workbench-nodirs.png</a>
    (0)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-27">workbench/icons/32x32/workbench-project-error.png</a>
    (0)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-28">workbench/icons/32x32/workbench-project.png</a>
    (0)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-29">workbench/icons/48x48/Makefile.am</a>
    (9)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-30">workbench/icons/48x48/workbench-bookmark.png</a>
    (0)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-31">workbench/icons/48x48/workbench-dir.png</a>
    (0)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-32">workbench/icons/48x48/workbench-nodirs.png</a>
    (0)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-33">workbench/icons/48x48/workbench-project-error.png</a>
    (0)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-34">workbench/icons/48x48/workbench-project.png</a>
    (0)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-35">workbench/icons/Makefile.am</a>
    (20)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-36">workbench/icons/scalable/Makefile.am</a>
    (9)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-37">workbench/icons/scalable/workbench-bookmark.svg</a>
    (17)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-38">workbench/icons/scalable/workbench-dir.svg</a>
    (18)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-39">workbench/icons/scalable/workbench-nodirs.svg</a>
    (20)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-40">workbench/icons/scalable/workbench-project-error.svg</a>
    (17)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-41">workbench/icons/scalable/workbench-project.svg</a>
    (19)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-42">workbench/src/Makefile.am</a>
    (31)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-43">workbench/src/dialogs.c</a>
    (395)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-44">workbench/src/dialogs.h</a>
    (29)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-45">workbench/src/menu.c</a>
    (229)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-46">workbench/src/menu.h</a>
    (33)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-47">workbench/src/plugin_main.c</a>
    (142)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-48">workbench/src/popup_menu.c</a>
    (468)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-49">workbench/src/popup_menu.h</a>
    (38)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-50">workbench/src/sidebar.c</a>
    (1152)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-51">workbench/src/sidebar.h</a>
    (75)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-52">workbench/src/utils.c</a>
    (301)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-53">workbench/src/utils.h</a>
    (30)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-54">workbench/src/wb_globals.c</a>
    (30)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-55">workbench/src/wb_globals.h</a>
    (35)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-56">workbench/src/wb_project.c</a>
    (1468)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-57">workbench/src/wb_project.h</a>
    (68)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-58">workbench/src/workbench.c</a>
    (803)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/geany/geany-plugins/pull/601/files#diff-59">workbench/src/workbench.h</a>
    (61)
  </li>
</ul>

<h4>Patch Links:</h4>
<ul>
  <li><a href='https://github.com/geany/geany-plugins/pull/601.patch'>https://github.com/geany/geany-plugins/pull/601.patch</a></li>
  <li><a href='https://github.com/geany/geany-plugins/pull/601.diff'>https://github.com/geany/geany-plugins/pull/601.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-plugins/pull/601">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ABDrJ1Mmdf3w1Jsktn94nMXrUtB8GacYks5seRyTgaJpZM4PK2Ue">mute the thread</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/ABDrJ2VZCFSMvYsE-ZJKau5P79FPFg_Vks5seRyTgaJpZM4PK2Ue.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/601"></link>
  <meta itemprop="name" content="View Pull Request"></meta>
</div>
<meta itemprop="description" content="View this Pull Request 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":"DESCRIPTION","message":"New plugin 'workbench': initial commit. (Follow-up/clean PR) (#601)"}],"action":{"name":"View Pull Request","url":"https://github.com/geany/geany-plugins/pull/601"}}}</script>