1
0
Files
Toak/TextInjector.cs
2026-02-25 21:51:27 +01:00

44 lines
1.3 KiB
C#

using System.Diagnostics;
namespace Toak;
public static class TextInjector
{
public static void Inject(string text, string backend)
{
if (string.IsNullOrWhiteSpace(text)) return;
try
{
ProcessStartInfo pInfo;
if (backend.ToLowerInvariant() == "wtype")
{
pInfo = new ProcessStartInfo
{
FileName = "wtype",
Arguments = $"\"{text.Replace("\"", "\\\"")}\"",
UseShellExecute = false,
CreateNoWindow = true
};
}
else // xdotool
{
pInfo = new ProcessStartInfo
{
FileName = "xdotool",
Arguments = $"type --clearmodifiers --delay 0 \"{text.Replace("\"", "\\\"")}\"",
UseShellExecute = false,
CreateNoWindow = true
};
}
var process = Process.Start(pInfo);
process?.WaitForExit();
}
catch (Exception ex)
{
Console.WriteLine($"[TextInjector] Error injecting text: {ex.Message}");
Notifications.Notify("Injection Error", "Could not type text into window.");
}
}
}