{"id":29814473,"url":"https://github.com/wgross/gui.ps1","last_synced_at":"2025-07-28T19:17:59.749Z","repository":{"id":55352008,"uuid":"295015770","full_name":"wgross/gui.ps1","owner":"wgross","description":"PowerShell cmdlet wrapper for Miguel De Icazas gui.cs","archived":false,"fork":false,"pushed_at":"2021-01-05T09:55:52.000Z","size":44,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"develop","last_synced_at":"2023-03-25T10:27:15.001Z","etag":null,"topics":["csharp","dotnet-core","terminal","ui"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wgross.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-09-12T19:52:34.000Z","updated_at":"2023-01-30T03:26:25.000Z","dependencies_parsed_at":"2022-08-14T22:01:33.328Z","dependency_job_id":null,"html_url":"https://github.com/wgross/gui.ps1","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"purl":"pkg:github/wgross/gui.ps1","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wgross%2Fgui.ps1","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wgross%2Fgui.ps1/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wgross%2Fgui.ps1/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wgross%2Fgui.ps1/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wgross","download_url":"https://codeload.github.com/wgross/gui.ps1/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wgross%2Fgui.ps1/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267571218,"owners_count":24109383,"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","status":"online","status_checked_at":"2025-07-28T02:00:09.689Z","response_time":68,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["csharp","dotnet-core","terminal","ui"],"created_at":"2025-07-28T19:17:46.662Z","updated_at":"2025-07-28T19:17:59.734Z","avatar_url":"https://github.com/wgross.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# gui.ps1\nPowerShell cmdlet wrapper for Miguel De Icazas gui.cs\n\nThis is far from being complete. I consider this more a spike of how a powershell integration of gui.cs could look like.\n\nThe goal was to create a gui with a powershell script in a \"powershelly\" way. \nThis means:\n- Controls are created by powershell commands: \n```powershell\nNew-TerminalButton, New-TerminalWindow,...\n```\n- Properties and event handlers can be set at creation time of the control using arguments: \n```powershell\nNew-TerminalButton -Text \"Quit\" -IsDefault -X 3 -Y 3\n```\n- Event Handler are supplied as script blocks: \n```powershell \nNew-TerminalButton -Text \"Quit\" -Clicked { [Application]::RequestStop() }\n```\n- Controls receive the child views from the pipe: \n```powershell\nNew-TerminalLabel -Text  \"This is a Label\" -X 3 -Y 1 | New-TerminalWindow -Title \"test\"\n```\nAt least the simple cases (see: test.ui.ps1 in projects root) are working but not all properties of the controls or the event handlers are yet accessible by the cmdlets.\nAlso more complex scenarios like scrollviewer I have not explored yet. \n\n# Using the project\n\nJust clone the repo to your machine. The test.ps1 in the root compiles, publishes and loads the module in the current powershell instance. \nIt also calls the test.ui.ps1 which contains the actual UI-building code.\n\nIf you have any feedback, let me know :-)\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwgross%2Fgui.ps1","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwgross%2Fgui.ps1","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwgross%2Fgui.ps1/lists"}