<table><tr><td style="">andersonbruce 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#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></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>