{"id":20601102,"url":"https://github.com/fancywm/winman-windows","last_synced_at":"2025-10-06T03:33:35.582Z","repository":{"id":114465096,"uuid":"349708723","full_name":"FancyWM/winman-windows","owner":"FancyWM","description":"A platform-agnostic event-based window management library for .NET (Windows/Win32 implementation)","archived":false,"fork":false,"pushed_at":"2024-05-12T09:14:57.000Z","size":9827,"stargazers_count":12,"open_issues_count":0,"forks_count":7,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-28T13:36:59.586Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://fancywm.github.io/winman-windows/WinMan.Windows.html","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FancyWM.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-03-20T11:42:21.000Z","updated_at":"2025-03-18T19:44:40.000Z","dependencies_parsed_at":null,"dependency_job_id":"ee72ac10-74a3-4a16-9264-d761bf3b5c8c","html_url":"https://github.com/FancyWM/winman-windows","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FancyWM%2Fwinman-windows","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FancyWM%2Fwinman-windows/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FancyWM%2Fwinman-windows/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FancyWM%2Fwinman-windows/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FancyWM","download_url":"https://codeload.github.com/FancyWM/winman-windows/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248989836,"owners_count":21194650,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-16T09:08:39.493Z","updated_at":"2025-10-06T03:33:30.564Z","avatar_url":"https://github.com/FancyWM.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WinMan (Windows/Win32 implementation) \u003cimg src=\"https://raw.githubusercontent.com/veselink1/winman/master/Resources/Icon.png\" alt=\"Logo\" width=\"96\"\u003e\n\n### WinMan - a window management library for .NET with the following features:\n - Platform-agnostic design\n - Event-based API\n - Designed to be used by window management software\n\n### See the [Documentation](https://fancywm.github.io/winman-windows/WinMan.Windows.html).\n\n---\n### WinMan is a dependency of [FancyWM](https://www.microsoft.com/en-us/p/fancywm/9p1741lkhqs9).\n\n\n## Example 1\nPrints added, removed and initially present windows over the course of 10 seconds.\n```csharp\nusing System;\n\nusing WinMan;\nusing WinMan.Windows;\n\nvoid TestWinMan()\n{\n    using IWorkspace workspace = new Win32Workspace();\n    workspace.WindowManaging += (s, e) =\u003e\n    {\n        Console.WriteLine($\"Window {e.Source} initially present on the workspace!\");\n    };\n    workspace.WindowAdded += (s, e) =\u003e\n    {\n        Console.WriteLine($\"Window {e.Source} added to the workspace!\");\n    };\n    workspace.WindowRemoved += (s, e) =\u003e\n    {\n        Console.WriteLine($\"Window {e.Source} removed from the workspace!\");\n    };\n    workspace.Open();\n    Thread.Sleep(100000);\n}\n\n```\n\n## Example 2\nListens to changes to an empty notepad window.\n```csharp\nusing System;\n\nusing WinMan;\nusing WinMan.Windows;\n\nvoid TestWinMan()\n{\n    using IWorkspace workspace = new Win32Workspace();\n    workspace.Open();\n    var notepad = workspace.GetSnapshot().First(x =\u003e x.Title == \"Notepad -- Untitled\");\n    notepad.StateChanged += (s, e) =\u003e\n    {\n        Console.WriteLine($\"Notepad is now {e.NewState}!\");\n    };\n    Thread.Sleep(100000);\n}\n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffancywm%2Fwinman-windows","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffancywm%2Fwinman-windows","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffancywm%2Fwinman-windows/lists"}