{"id":31895402,"url":"https://github.com/deno-windowing/dwm","last_synced_at":"2025-10-13T10:25:06.803Z","repository":{"id":64921621,"uuid":"560051204","full_name":"deno-windowing/dwm","owner":"deno-windowing","description":"Deno Window Manager: Cross-platform window creation and management","archived":false,"fork":false,"pushed_at":"2024-11-04T19:09:51.000Z","size":1001,"stargazers_count":197,"open_issues_count":8,"forks_count":10,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-09-19T03:42:28.244Z","etag":null,"topics":["cross-platform","deno","ffi","window"],"latest_commit_sha":null,"homepage":"https://deno.land/x/dwm","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/deno-windowing.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":"2022-10-31T16:28:45.000Z","updated_at":"2025-09-12T05:33:32.000Z","dependencies_parsed_at":"2024-10-23T20:32:52.497Z","dependency_job_id":"3a029c2f-e73b-48e0-b80f-c47bbad9c354","html_url":"https://github.com/deno-windowing/dwm","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/deno-windowing/dwm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deno-windowing%2Fdwm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deno-windowing%2Fdwm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deno-windowing%2Fdwm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deno-windowing%2Fdwm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/deno-windowing","download_url":"https://codeload.github.com/deno-windowing/dwm/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deno-windowing%2Fdwm/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279014680,"owners_count":26085554,"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-10-13T02:00:06.723Z","response_time":61,"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":["cross-platform","deno","ffi","window"],"created_at":"2025-10-13T10:25:05.591Z","updated_at":"2025-10-13T10:25:06.796Z","avatar_url":"https://github.com/deno-windowing.png","language":"TypeScript","funding_links":["https://github.com/sponsors/DjDeveloperr"],"categories":["TypeScript"],"sub_categories":[],"readme":"# Deno Window Manager\n\n[![Tags](https://img.shields.io/github/release/deno-windowing/dwm)](https://github.com/deno-windowing/dwm/releases)\n[![Doc](https://doc.deno.land/badge.svg)](https://doc.deno.land/https/deno.land/x/dwm@0.3.3/mod.ts)\n[![Checks](https://github.com/deno-windowing/dwm/actions/workflows/ci.yml/badge.svg)](https://github.com/deno-windowing/dwm/actions/workflows/ci.yml)\n[![License](https://img.shields.io/github/license/deno-windowing/dwm)](https://github.com/deno-windowing/dwm/blob/master/LICENSE)\n[![Sponsor](https://img.shields.io/static/v1?label=Sponsor\u0026message=%E2%9D%A4\u0026logo=GitHub\u0026color=%23fe8e86)](https://github.com/sponsors/DjDeveloperr)\n\nCross-platform window management library for Deno.\n\n## Example\n\n### Creating an OpenGL Window\n\n```ts\nimport {\n  createWindow,\n  getProcAddress,\n  mainloop,\n} from \"jsr:@gfx/dwm\";\nimport * as gl from \"https://deno.land/x/gluten@0.1.3/api/gles23.2.ts\";\n\nconst window = createWindow({\n  title: \"DenoGL\",\n  width: 800,\n  height: 600,\n  resizable: true,\n  glVersion: \"v3.2\",\n  gles: true,\n});\n\ngl.load(getProcAddress);\n\naddEventListener(\"resize\", (event) =\u003e {\n  gl.Viewport(0, 0, event.width, event.height);\n});\n\ngl.ClearColor(0.0, 0.0, 0.0, 1.0);\n\nfunction frame() {\n  gl.Clear(gl.COLOR_BUFFER_BIT);\n  window.swapBuffers();\n}\n\nawait mainloop(frame);\n```\n\n### Creating a Skia Canvas Window\n\n```ts\nimport {\n  mainloop,\n  WindowCanvas,\n} from \"jsr:@gfx/dwm/ext/canvas\";\n\nconst canvas = new WindowCanvas({\n  title: \"Skia Canvas\",\n  width: 800,\n  height: 600,\n  resizable: true,\n});\n\ncanvas.onDraw = (ctx) =\u003e {\n  ctx.fillStyle = \"black\";\n  ctx.fillRect(0, 0, ctx.canvas.width, ctx.canvas.height);\n  ctx.fillStyle = \"white\";\n  ctx.font = \"30px Arial\";\n  ctx.textBaseline = \"top\";\n  ctx.fillText(\"Hello World\", 10, 10);\n};\n\nawait mainloop(() =\u003e {\n  canvas.draw();\n});\n```\n\nSee [examples](./examples) for more examples!\n\n## Usage\n\nFor drawing, you can use:\n\n- [WebGPU](https://developer.mozilla.org/en-US/docs/Web/API/WebGPU_API) (Use `ext/webgpu` for an easy to use wrapper)\n- [Deno Gluten](https://github.com/deno-windowing/gluten)\n- [Skia Canvas](https://github.com/DjDeveloperr/skia_canvas) (Use\n  `ext/canvas` for an easy to use wrapper)\n- [Deno Vulkan](https://github.com/deno-windowing/vulkan)\n\n\nSince this module depends on unstable FFI API, you need to pass `--unstable`\nalong with `--allow-ffi`, `--allow-write` and `--allow-env`.\n\n```sh\ndeno run --unstable --allow-ffi --allow-write --allow-env \u003cfile\u003e\n```\n\n## Maintainers\n\n- Dj ([@DjDeveloperr](https://github.com/DjDeveloperr))\n- Dean Srebnik ([@load1n9](https://github.com/load1n9))\n\n## License\n\n[Apache-2.0](./LICENSE) licensed.\n\nCopyright 2024 © The Deno Windowing Team\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeno-windowing%2Fdwm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeno-windowing%2Fdwm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeno-windowing%2Fdwm/lists"}