<table><tr><td style="">jgrulich added a comment.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D15093">View Revision</a></tr></table><br /><div><div><blockquote style="border-left: 3px solid #8C98B8;
          color: #6B748C;
          font-style: italic;
          margin: 4px 0 12px 0;
          padding: 8px 12px;
          background-color: #F8F9FC;">
<div style="font-style: normal;
          padding-bottom: 4px;">In <a href="https://phabricator.kde.org/D15093#319336" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;">D15093#319336</a>, <a href="https://phabricator.kde.org/p/andersonbruce/" style="
              border-color: #f1f7ff;
              color: #19558d;
              background-color: #f1f7ff;
                border: 1px solid transparent;
                border-radius: 3px;
                font-weight: bold;
                padding: 0 4px;">@andersonbruce</a> wrote:</div>
<div style="margin: 0;
          padding: 0;
          border: 0;
          color: rgb(107, 116, 140);"><blockquote style="border-left: 3px solid #8C98B8;
          color: #6B748C;
          font-style: italic;
          margin: 4px 0 12px 0;
          padding: 8px 12px;
          background-color: #F8F9FC;">
<div style="font-style: normal;
          padding-bottom: 4px;">In <a href="https://phabricator.kde.org/D15093#319253" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;">D15093#319253</a>, <a href="https://phabricator.kde.org/p/pino/" style="
              border-color: #f1f7ff;
              color: #19558d;
              background-color: #f1f7ff;
                border: 1px solid transparent;
                border-radius: 3px;
                font-weight: bold;
                padding: 0 4px;">@pino</a> wrote:</div>
<div style="margin: 0;
          padding: 0;
          border: 0;
          color: rgb(107, 116, 140);"><p>Much better now!</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">regarding the UI for all the pre/post scripts: since they are file paths, better use a KUrlRequester widget (limited to local existing files only, no URLs), so the users have a Browse button next to each line edit that can be used to open a file dialog</li>
</ul></div>
</blockquote>

<p>I debated with myself when I started this whether to include these at all. They are included in the base NetworkManager implementation which "inherited" them from the underlying wg-quick command but they duplicate functionality that NM provides directly and it seems to me that if someone is using NM then they can use those methods instead. Also, wg-quick specifies these as "script snippets" meaning actual direct commands that are executed by bash not necessarily a shell script. It also specifies that there can be multiple instances of each, a capability that the base NM implementation does not support. So my quandary is, do I implement this like the base NM does and possibly, as you suggest, force it to be a single shell script which sort of violates the spirit of the wg-quick command or do I delete it completely and not support something that base NM does, or do I leave it like it is?</p>

<p>Personally I think that the base NM should get rid of these and force users to rely on the capability in NM to perform pre and post operations but given what exists, I don't think any of the alternatives are good and I'm not sure what the "least bad" solution is. If someone uses nm-connection-editor and enters something which is not a script and then opens the connection in a plasma-nm interface which only supports a file, I'm not sure what will happen. On the other hand if I delete the fields completely and open something created in nm-connection-editor with these fields, that's not good either.</p>

<p>Since I initially was doing this only for my own use and was probably going to use NM for this, I admit that I took the easiest way out and duplicated what base NM has, which is a single string which can contain a shell script but also a snippet as the base WireGuard does and then said in the tool-tip that it was preferable to use NM capability instead.</p>

<p>If you as a representative of the plasma-nm philosophy have a preference on which way to go or have a brilliant idea which solves all the problems, I will follow your lead.</p></div>
</blockquote>

<p>Does wg-quick support both, like simple commands and script files? If so, we should support both as well, if it supports only commands/snippets, we should leave it as it is.</p></div></div><br /><div><strong>INLINE COMMENTS</strong><div><div style="margin: 6px 0 12px 0;"><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D15093#inline-82114">View Inline</a><span style="color: #4b4d51; font-weight: bold;">plasmanetworkmanagement_wireguardui.desktop:17</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">Name=WireGuard
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Maybe use better description, most of the plugins say "Compatible with Foo servers" so perhaps "Compatible with WireGuard VPN servers"</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D15093#inline-82115">View Inline</a><span style="color: #4b4d51; font-weight: bold;">wireguard.ui:46</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">        <property name="text">
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">         <string>Address (IPv6)</string>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">        </property>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Use "Property name:" for each property, every label in plasma-nm use colon at the end of property name.</p></div></div></div></div></div><br /><div><strong>REPOSITORY</strong><div><div>R116 Plasma Network Management Applet</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D15093">https://phabricator.kde.org/D15093</a></div></div><br /><div><strong>To: </strong>andersonbruce, Plasma, jgrulich, pino<br /><strong>Cc: </strong>acrouthamel, K900, anthonyfieroni, pino, lbeltrame, ngraham, plasma-devel, ragreen, Pitel, ZrenBot, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart<br /></div>