<p><a class="user-mention" data-hovercard-user-id="4308927" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zaxebo1">@zaxebo1</a>, thanks for the link!<br>
I've modified it to this:</p>
<div class="highlight highlight-source-shell"><pre><span class="pl-c"><span class="pl-c">#!</span>/bin/sh</span>

socket=<span class="pl-s"><span class="pl-pds">`</span>xprop -root _NET_CURRENT_DESKTOP<span class="pl-pds">`</span></span>
socket=<span class="pl-smi">${socket<span class="pl-k">##*</span> }</span>

<span class="pl-k">if</span> [ <span class="pl-s"><span class="pl-pds">"</span><span class="pl-smi">$socket</span><span class="pl-pds">"</span></span> ]
<span class="pl-k">then</span>
    <span class="pl-k">if</span> [ <span class="pl-s"><span class="pl-pds">"</span><span class="pl-smi">$DISPLAY</span><span class="pl-pds">"</span></span> ]
    <span class="pl-k">then</span>
        socket=<span class="pl-s"><span class="pl-pds">"</span><span class="pl-smi">${DISPLAY<span class="pl-k">%</span>.<span class="pl-k">*</span>}</span>-<span class="pl-smi">$socket</span><span class="pl-pds">"</span></span>
        socket=<span class="pl-smi">${socket<span class="pl-k">#*:</span>}</span>
    <span class="pl-k">else</span>
        socket=<span class="pl-s"><span class="pl-pds">"</span>NODISPLAY-<span class="pl-smi">$socket</span><span class="pl-pds">"</span></span>
    <span class="pl-k">fi</span>
    <span class="pl-c1">exec</span> /usr/bin/geany --socket-file <span class="pl-s"><span class="pl-pds">"</span>/tmp/geany_socket_<span class="pl-smi">$socket</span><span class="pl-pds">"</span></span> <span class="pl-s"><span class="pl-pds">"</span><span class="pl-smi">$@</span><span class="pl-pds">"</span></span>
<span class="pl-k">else</span>
    <span class="pl-c1">exec</span> /usr/bin/geany <span class="pl-s"><span class="pl-pds">"</span><span class="pl-smi">$@</span><span class="pl-pds">"</span></span>
<span class="pl-k">fi</span></pre></div>
<p>Then I've saved it as <code>~/.local/bin/geany</code>, made it executable and added <code>~/.local/bin</code> to PATH.</p>
<p>SInce in Ubuntu <code>geany.desktop</code> uses simply <code>geany</code> instead of full path, all file types associations now use this new script as well as direct execution from menu. Works wonderfully, finally proper replacement for slow gedit.</p>
<p>IMHO, this should be the default behavior.</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/issues/1025#issuecomment-386770780">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ABDrJ7iyrIIZ4sGfz3AYOx-94ZEt-ednks5tvQQ2gaJpZM4IXoel">mute the thread</a>.<img src="https://github.com/notifications/beacon/ABDrJ2JkvpSQfbK3x89etpGLmlzeXl8gks5tvQQ2gaJpZM4IXoel.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/issues/1025#issuecomment-386770780"></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","title":"geany/geany","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"}},"updates":{"snippets":[{"icon":"PERSON","message":"@nazar-pc in #1025: @zaxebo1, thanks for the link!\r\nI've modified it to this:\r\n```bash\r\n#!/bin/sh\r\n\r\nsocket=`xprop -root _NET_CURRENT_DESKTOP`\r\nsocket=${socket##* }\r\n\r\nif [ \"$socket\" ]\r\nthen\r\n    if [ \"$DISPLAY\" ]\r\n    then\r\n        socket=\"${DISPLAY%.*}-$socket\"\r\n        socket=${socket#*:}\r\n    else\r\n        socket=\"NODISPLAY-$socket\"\r\n    fi\r\n    exec /usr/bin/geany --socket-file \"/tmp/geany_socket_$socket\" \"$@\"\r\nelse\r\n    exec /usr/bin/geany \"$@\"\r\nfi\r\n```\r\n\r\nThen I've saved it as `~/.local/bin/geany`, made it executable and added `~/.local/bin` to PATH.\r\n\r\nSInce in Ubuntu `geany.desktop` uses simply `geany` instead of full path, all file types associations now use this new script as well as direct execution from menu. Works wonderfully, finally proper replacement for slow gedit.\r\n\r\nIMHO, this should be the default behavior."}],"action":{"name":"View Issue","url":"https://github.com/geany/geany/issues/1025#issuecomment-386770780"}}}</script>