If I am copying files using dired having previously called
(dired-async-mode) to make it copy asynchronously, how do I know when it has successfully finished copying the files?
The final status information of the process is reported on the mode line for 3 seconds, however if you enter some keys during the 3 seconds, it will disappear immediately, thus if you are using Emacs actively, you might miss that easily.
You can change the default behavior via the user option
dired-async-message-function. Notes that the corresponding docstring:
Function to use to notify result when operation finish.
Should take same args as `message'.
is not 100% correct, it actually takes
(text face &rest args), which
is not the same as
message. Use the default value as an example, if
you want to change it. Here is another example which notifies via
voice by using say(1) which provided by macOS.
(setq dired-async-message-function (lambda (text face &rest args) (shell-command (format "say '%s'" (apply #'format text args)))))