diff --git a/src/ClipCMD/MainWindow.xaml.cs b/src/ClipCMD/MainWindow.xaml.cs index 4c707fe..76d4568 100644 --- a/src/ClipCMD/MainWindow.xaml.cs +++ b/src/ClipCMD/MainWindow.xaml.cs @@ -24,7 +24,7 @@ namespace ClipCMD; /// public partial class MainWindow : Window { - private readonly Dictionary commands = new Dictionary(); + private readonly Dictionary commands = []; private readonly string commandsPath; private readonly System.Windows.Forms.NotifyIcon notifyIcon; private readonly string settingsPath; @@ -149,10 +149,12 @@ public partial class MainWindow : Window .AddParameters(sections.Skip(1).ToList()); StringBuilder outText = new StringBuilder(); + List outputLines = []; foreach (PSObject commandResult in ps.Invoke()) { _ = outText.AppendLine(commandResult?.ToString() ?? string.Empty); + outputLines.Add(commandResult?.ToString().Trim() ?? string.Empty); } RuntimeData.Logs.Insert(0, $"{command} > {outText.ToString().TrimEnd()}"); @@ -163,7 +165,14 @@ public partial class MainWindow : Window if (Settings.Mode == ClipCMDMode.ClipBoard) { - Clipboard.SetText(outText.ToString().TrimEnd()); + if (outputLines.TrueForAll(File.Exists)) + { + Clipboard.SetFileDropList([.. outputLines.ToArray()]); + } + else + { + Clipboard.SetText(outText.ToString().TrimEnd()); + } if (Settings.AutoPaste) {