From bcf6736d46437a8f310fdb786e2ac632ec632dc6 Mon Sep 17 00:00:00 2001 From: kkard2 Date: Fri, 9 May 2025 21:22:47 +0200 Subject: i didn't finish --- _windows/VirtualDesktopSwitcher/.gitignore | 2 + _windows/VirtualDesktopSwitcher/Program.cs | 43 ++++++++++++++++++++++ .../VirtualDesktopSwitcher.csproj | 16 ++++++++ 3 files changed, 61 insertions(+) create mode 100644 _windows/VirtualDesktopSwitcher/.gitignore create mode 100644 _windows/VirtualDesktopSwitcher/Program.cs create mode 100644 _windows/VirtualDesktopSwitcher/VirtualDesktopSwitcher.csproj (limited to '_windows/VirtualDesktopSwitcher') diff --git a/_windows/VirtualDesktopSwitcher/.gitignore b/_windows/VirtualDesktopSwitcher/.gitignore new file mode 100644 index 0000000..cd42ee3 --- /dev/null +++ b/_windows/VirtualDesktopSwitcher/.gitignore @@ -0,0 +1,2 @@ +bin/ +obj/ diff --git a/_windows/VirtualDesktopSwitcher/Program.cs b/_windows/VirtualDesktopSwitcher/Program.cs new file mode 100644 index 0000000..eba2e44 --- /dev/null +++ b/_windows/VirtualDesktopSwitcher/Program.cs @@ -0,0 +1,43 @@ +using System.Runtime.InteropServices; +using WindowsDesktop; + + + +class Program +{ + [DllImport("user32.dll")] private static extern IntPtr GetForegroundWindow(); + + private static int RealIndex(int index) + { + if (index == 0) + return 9; + + return index - 1; + } + + [STAThread] + public static int Main(string[] args) + { + if (args[0] == "prepare") + { + while (VirtualDesktop.GetDesktops().Length < 10) + VirtualDesktop.Create(); + return 0; + } + if (args[0] == "switch") + { + var desktops = VirtualDesktop.GetDesktops(); + desktops[RealIndex(int.Parse(args[1]))].Switch(); + return 0; + } + if (args[0] == "move") + { + var desktops = VirtualDesktop.GetDesktops(); + var targetDesktop = desktops[RealIndex(int.Parse(args[1]))]; + VirtualDesktop.MoveToDesktop(GetForegroundWindow(), targetDesktop); + } + + return 1; + } +} + diff --git a/_windows/VirtualDesktopSwitcher/VirtualDesktopSwitcher.csproj b/_windows/VirtualDesktopSwitcher/VirtualDesktopSwitcher.csproj new file mode 100644 index 0000000..b9d3539 --- /dev/null +++ b/_windows/VirtualDesktopSwitcher/VirtualDesktopSwitcher.csproj @@ -0,0 +1,16 @@ + + + + Exe + net9.0-windows10.0.19041.0 + true + true + enable + enable + + + + + + + -- cgit v1.3.1