<!DOCTYPE HTML><html>
<head>
<meta name="Generator" content="Amazon WorkMail v3.1.940.0">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>RE: Auto-save</title>
</head>
<body>
<html><head></head><body><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;">Hi!</p><p style="margin: 0px; font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small;"> </p><p style="margin: 0px; font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small;">Thanks for your reply! I have been trying Sven Brauch's suggestion</p><p style="margin: 0px; font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small;"> </p><p style="margin: 0px; font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small;">qdbus org.kde.kate-$(pidof kate) /kate/MainWindow_1/actions/file_save_all trigger</p><p style="margin: 0px; font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small;"> </p><p style="margin: 0px; font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small;">and it seems to work!</p><p style="margin: 0px; font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small;"> </p><p style="margin: 0px; font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small;">You suggested to save perdiodically every x seconds and I can write a bash script to run the qdbus command every x seconds.</p><p style="margin: 0px; font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small;"> </p><p style="margin: 0px; font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small;">I'm curious, would it be possible/advantageous to monitor for changed files and selectively save only those? So make it event-driven instead of periodic, i.e. wait for the creation of a *.kate-swp file and then trigger a file save on that file?</p><p style="margin: 0px; font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small;"> </p><p style="margin: 0px; font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small;">The reason I'm asking is because I have open files which are build artifacts (output from a cpp preprocessor or other files edited by processes other than kate). I don't know how to mark entire folders as read-only in kate, so what I currently do is</p><p style="margin: 0px; font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small;"> </p><p style="margin: 0px; font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small;">> chmod -R u+w /path/to/readonlyfolder</p><p style="margin: 0px; font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small;">> command_which_modifies_files_in_readonlyfolder</p><p style="margin: 0px; font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small;">> chmod -R u-w /path/to/readonlyfolder</p><p style="margin: 0px; font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small;"> </p><p style="margin: 0px; font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small;">So the files are in fact writeable by kate during a brief moment while the command runs. Ideally I would not run the save-all command during that time.</p><p style="margin: 0px; font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small;"> </p><p style="margin: 0px; font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small;">But I think I should first try the simplest solution and see if that problem actually arises in practice. I'll get back later when it does.</p><p style="margin: 0px; font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small;"> </p><p style="margin: 0px; font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small;">Thanks again for your help!</p><p style="margin: 0px; font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small;"> </p><p style="margin: 0px; font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small;"> </p><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;"> </p><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;"> </p><blockquote style="border-left: 2px solid rgb(176, 176, 183); margin-left: 5px; margin-right: 0px; padding-left: 5px;">-----Original message-----<br><strong>From:</strong> Waqar Ahmed<br><strong>Sent:</strong> Wednesday, March 16 2022, 8:39 pm<br><strong>To:</strong> kwrite-devel@kde.org; Stefan Riha<br><strong>Subject:</strong> Re: Auto-save<br> <div dir="auto"><div>Sorry, I meant to say *internal script, not external ;p<br> <div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Mar 17, 2022, 12:31 AM Waqar Ahmed <<a title="This external link opens in a new window" href="mailto:waqar.17a@gmail.com">waqar.17a@gmail.com</a>> wrote:</div><blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0px 0px 0px 0.8ex; padding-left: 1ex;" class="gmail_quote"><div dir="auto"><div>Hi, </div><div dir="auto"> </div><div dir="auto">I don't this is possible via our external script. However, it is doable using a plugin and is really trivial to implement I think. One just needs a timer that fires every x seconds and saves all open documents. Or alternatively it can be implemented in the editor component. </div><div dir="auto"> <div dir="auto" class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Mar 16, 2022, 11:39 PM Stefan Riha <<a title="This external link opens in a new window" href="mailto:stefan@sriha.net">stefan@sriha.net</a>> wrote:</div><blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0px 0px 0px 0.8ex; padding-left: 1ex;" class="gmail_quote"><div><div><pre>Hi,

I switched from vscode a couple of months ago and I'm quite happy with kate. However, I miss is auto-save which saved me dozens of identical key presses per hour.  Given that auto-save has apparently been a feature request for a decade [1] and not implemented, I assume it will not be implemented for some time.

What I mean by 'auto-save': 

Currently I do this:

1) Edit e.g. a python script
2) Save a file with shortcut, e.g. Ctrl-s
3) Switch to a terminal and run the python script

I want to do this</pre><pre>1) Edit e.g. a python script
2) Switch to a terminal and run the python script</pre><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;"> </p><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;">without having to press Ctrl-s.</p><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;"> </p><pre>Having no idea about kwrite/kate (or Qt and KDE in general), I can think of the following options to solve my problem:

*) Modifying the source code (difficult)
*) Writing a plugin (don't know if possible/feasible?)
*) automation via a shell script (don't know if possible/feasible?)</pre><pre>I'd prefer the last option (shell script). Do you think this is feasible?
</pre><p>Can I somehow run a background process that would trigger a save-action, e.g. in the event that a *.kate-swp file is created for that file?</p><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;"> </p><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;">[1] <a title="This external link opens in a new window" href="https://forum.kde.org/viewtopic.php?f=83&t=102258">https://forum.kde.org/viewtopic.php?f=83&t=102258</a></p><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;"> </p><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;">Thanks for your help!</p><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;"> </p><p style="font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: small; margin: 0px;">Regards, Stefan</p></div></div></blockquote></div></div></div></blockquote></div></div></div></blockquote></body></html>
</body>
</html>