{"id":21454719,"url":"https://github.com/lazerbeak12345/bad-mitten-browser","last_synced_at":"2025-07-22T22:33:47.491Z","repository":{"id":59645507,"uuid":"277391303","full_name":"Lazerbeak12345/bad-mitten-browser","owner":"Lazerbeak12345","description":"WIP A browser using the racket framework to be as small as possible.","archived":false,"fork":false,"pushed_at":"2022-09-25T21:58:38.000Z","size":347,"stargazers_count":6,"open_issues_count":22,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-17T03:22:22.298Z","etag":null,"topics":["browser","racket","racket-gui","web-browser"],"latest_commit_sha":null,"homepage":"","language":"Racket","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Lazerbeak12345.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-07-05T22:09:54.000Z","updated_at":"2023-11-05T23:31:09.000Z","dependencies_parsed_at":"2023-01-18T22:15:53.158Z","dependency_job_id":null,"html_url":"https://github.com/Lazerbeak12345/bad-mitten-browser","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Lazerbeak12345/bad-mitten-browser","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lazerbeak12345%2Fbad-mitten-browser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lazerbeak12345%2Fbad-mitten-browser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lazerbeak12345%2Fbad-mitten-browser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lazerbeak12345%2Fbad-mitten-browser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Lazerbeak12345","download_url":"https://codeload.github.com/Lazerbeak12345/bad-mitten-browser/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lazerbeak12345%2Fbad-mitten-browser/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266586041,"owners_count":23952169,"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-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"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":["browser","racket","racket-gui","web-browser"],"created_at":"2024-11-23T05:08:51.351Z","updated_at":"2025-07-22T22:33:47.457Z","avatar_url":"https://github.com/Lazerbeak12345.png","language":"Racket","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Bad-Mitten browser\n\n[![Racket](https://img.shields.io/badge/-Made%20with%20Racket-darkred?logo=racket)](https://racket-lang.org)\n\nA www browser using the racket framework to be as small as possible.\n\nNow two years old! :tada: :tada:\n\n## Target platform(s)\n\nI plan on focusing all of my development on Linux. I don't see any reason why I\nwouldn't support other \\*nixes, such as Darwin (macOS), BSDs, Minix, Redox, and\nthe like, so patches to make it work there will be likely to be given some\ndegree of priority over feature functionality.\n\nHowever, Windows compatibility is a low priority. It's nice if it works on\nWindows, but I don't want to spend very much effort on it, I don't plan on\ngiving that platform any sort of priority. **As of yet, I have seen nothing to\nindicate that it _wouldn't_ work on Windows, but Windows users should not expect\nto be able to run development versions, for reasons mentioned above.**\n\n## Contributing\n\nTo contribute, fork the project, make a branch, make your changes, then Pull\nrequest that branch into this project's master branch, or other branch on this\nproject, if that would be better. (EX: what if we make a branch dedicated to\nfinding ways to streamline the CSS engine, and you've got an idea? Well, that's\nwhere you would both pull from, and send a PR to.)\n\n## Details about GUI\n\nRight now, the GUI (not the rendering engine) is basically done until they make\nchanges to improve what tabs can do (and what the top bar can do).\n\n### GUI things I can't do yet, but want to, once racket/gui gets better\n\nI would like the tabs to have these changes:\n\n- They need to try to be as wide as possible, but once they are too small, hide\n  like it does already.\n\nI would like the titlebar to have these changes:\n\n- It should have these widgets, in order:\n  - Add Tab\n  - Back and Forward joined (A \"split-button\" sort of thing)\n  - Reload\n  - The URL bar\n- I might want to make the additive actions on the right if the window action\n  buttons are on the left (default macOS behavior).\n\nAnd all of these buttons should have icons instead of text. Show the text when\nhovering. (System icons would be best here)\n\n### Style Guide\n\nAll imports must use `only-in` to improove code readability.\n\n## Tools used\n\n1. `racket` and `typed/racket` Yes, I must give due credit there. They're\n   pretty darn awesome.\n2. `html-parsing`. It's _really_ good at parsing html5 code.\n   It provides `html-\u003exexp`. (yes, it even handles script tags right. The\n   script is just a string!)\n3. `net/url`, `net/url-connect` and, `net/head`. Tools for managing connections\n   to servers.\n\n## Licence\n\nThis software is free software under the GPLv3 or later, and respects not\nonly the four freedoms, but also your privacy, unlike other browsers I\nshouldn't name.\n\n\u003e 0. The freedom to run the program as you wish, for any purpose (freedom 0).\n\u003e 1. The freedom to study how the program works, and change it so it does your\n\u003e    computing as you wish (freedom 1). Access to the source code is a\n\u003e    precondition for this.\n\u003e 2. The freedom to redistribute copies so you can help your neighbor (freedom\n\u003e    2).\n\u003e 3. The freedom to distribute copies of your modified versions to others\n\u003e    (freedom 3). By doing this you can give the whole community a chance to\n\u003e    benefit from your changes. Access to the source code is a precondition for\n\u003e    this.\n\n[![GPLv3 or higher logo][gpl-logo]][gpl-link]\n\n[gpl-logo]: https://www.gnu.org/graphics/gplv3-with-text-136x68.png\n[gpl-link]: https://www.gnu.org/licenses/gpl-3.0.txt\n\nIn addition, these files have unique licencing:\n\n- `./custom-tab-panel.rkt` Used (and slightly modified) under the MIT licence.\n  (also, I was the original author for that code, but I've re-backported it here.).\n\nFurthermore, I've been very careful to include a licence text in the beginning\nof _every_ file. It's ugly, but it has a purpose.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flazerbeak12345%2Fbad-mitten-browser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flazerbeak12345%2Fbad-mitten-browser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flazerbeak12345%2Fbad-mitten-browser/lists"}