aboutsummaryrefslogtreecommitdiff
path: root/src/GetWindows.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/GetWindows.cs')
-rw-r--r--src/GetWindows.cs47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/GetWindows.cs b/src/GetWindows.cs
new file mode 100644
index 0000000..d2bba9f
--- /dev/null
+++ b/src/GetWindows.cs
@@ -0,0 +1,47 @@
+namespace hyprwatch.Window
+{
+ using System;
+ using System.Diagnostics;
+ using System.Text.RegularExpressions;
+
+ public class GetWindows
+ {
+ public static string ActiveWindow()
+ {
+ string? activeWindow = null;
+
+ try {
+ Process process = new Process
+ {
+ StartInfo = new ProcessStartInfo
+ {
+ FileName = "hyprctl",
+ Arguments = "activewindow",
+ RedirectStandardOutput = true,
+ UseShellExecute = false,
+ CreateNoWindow = true,
+ }
+ };
+
+ process.Start();
+
+ string output = process.StandardOutput.ReadToEnd();
+ process.WaitForExit();
+
+ var classMatch = Regex.Match(output, @"class:(.+)");
+
+ if(classMatch.Success)
+ {
+ activeWindow = classMatch.Groups[1].Value.Trim();
+ }
+ }
+ catch(Exception ex)
+ {
+ Console.WriteLine(ex.Message);
+ }
+
+ return activeWindow;
+ }
+ }
+
+}