{"id":17014534,"url":"https://github.com/silversquirl/vtk","last_synced_at":"2025-10-14T11:43:42.179Z","repository":{"id":52948750,"uuid":"130264954","full_name":"silversquirl/vtk","owner":"silversquirl","description":"A GUI \"toolkit\" by vktec","archived":false,"fork":false,"pushed_at":"2021-04-12T17:43:26.000Z","size":38,"stargazers_count":3,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-10-14T11:43:40.467Z","etag":null,"topics":["c","cairo","gui","gui-toolkit","xlib"],"latest_commit_sha":null,"homepage":null,"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/silversquirl.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}},"created_at":"2018-04-19T19:45:50.000Z","updated_at":"2024-06-21T14:37:53.000Z","dependencies_parsed_at":"2022-08-28T09:53:48.257Z","dependency_job_id":null,"html_url":"https://github.com/silversquirl/vtk","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/silversquirl/vtk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/silversquirl%2Fvtk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/silversquirl%2Fvtk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/silversquirl%2Fvtk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/silversquirl%2Fvtk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/silversquirl","download_url":"https://codeload.github.com/silversquirl/vtk/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/silversquirl%2Fvtk/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279019075,"owners_count":26086518,"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-14T02:00:06.444Z","response_time":60,"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":["c","cairo","gui","gui-toolkit","xlib"],"created_at":"2024-10-14T06:25:14.289Z","updated_at":"2025-10-14T11:43:42.151Z","avatar_url":"https://github.com/silversquirl.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# vtk\n\nA GUI \"toolkit\" by vktec\n\n## What?\n\nvtk is my take on a GUI toolkit. It's incredibly minimal and adds very\nlittle on top of the libraries it wraps, preferring to simply leave the\nimplementation details up to the user. It has no widgets of any kind,\nand instead allows you to draw whatever you want using Cairo, including\nhigh-quality text through PangoCairo.\n\nIn summary, vtk is a system for handling events and creating a Cairo\ncontext that will draw to the screen.\n\nCurrently, vtk only has an Xlib backend, but it could in theory be\nported to other systems by using Cairo's Quartz and Win32 backends,\nor even to the Linux framebuffer by using Cairo's image surfaces.\n\n## Why?\n\nThere are plenty of pre-existing GUI toolkits, why create another?\n\nMy opinion on GUI toolkits is that they overcomplicate things. Most of\nthem are huge, monolithic libraries that try to do everything at once:\nevent handling, graphics, widgets, text, internationalization, command\nline argument parsing, IO, networking, etc.\n\nvtk takes the opposite approach, aiming to do as *little* as possible\nwhile still being useful. In other words, it aims to be a [minimal\nviable program][mvp].\n\n[mvp]: https://joearms.github.io/published/2014-06-25-minimal-viable-program.html\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsilversquirl%2Fvtk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsilversquirl%2Fvtk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsilversquirl%2Fvtk/lists"}