A www browser using the racket framework to be as small as possible.
Now two years old! 🎉 🎉
I plan on focusing all of my development on Linux. I don't see any reason why I wouldn't support other *nixes, such as Darwin (macOS), BSDs, Minix, Redox, and the like, so patches to make it work there will be likely to be given some degree of priority over feature functionality.
However, Windows compatibility is a low priority. It's nice if it works on Windows, but I don't want to spend very much effort on it, I don't plan on giving that platform any sort of priority. As of yet, I have seen nothing to indicate that it wouldn't work on Windows, but Windows users should not expect to be able to run development versions, for reasons mentioned above.
To contribute, fork the project, make a branch, make your changes, then Pull request that branch into this project's master branch, or other branch on this project, if that would be better. (EX: what if we make a branch dedicated to finding ways to streamline the CSS engine, and you've got an idea? Well, that's where you would both pull from, and send a PR to.)
Right now, the GUI (not the rendering engine) is basically done until they make changes to improve what tabs can do (and what the top bar can do).
I would like the tabs to have these changes:
- They need to try to be as wide as possible, but once they are too small, hide like it does already.
I would like the titlebar to have these changes:
- It should have these widgets, in order:
- Add Tab
- Back and Forward joined (A "split-button" sort of thing)
- Reload
- The URL bar
- I might want to make the additive actions on the right if the window action buttons are on the left (default macOS behavior).
And all of these buttons should have icons instead of text. Show the text when hovering. (System icons would be best here)
All imports must use only-in
to improove code readability.
racket
andtyped/racket
Yes, I must give due credit there. They're pretty darn awesome.html-parsing
. It's really good at parsing html5 code. It provideshtml->xexp
. (yes, it even handles script tags right. The script is just a string!)net/url
,net/url-connect
and,net/head
. Tools for managing connections to servers.
This software is free software under the GPLv3 or later, and respects not only the four freedoms, but also your privacy, unlike other browsers I shouldn't name.
- The freedom to run the program as you wish, for any purpose (freedom 0).
- The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this.
- The freedom to redistribute copies so you can help your neighbor (freedom 2).
- The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.
In addition, these files have unique licencing:
./custom-tab-panel.rkt
Used (and slightly modified) under the MIT licence. (also, I was the original author for that code, but I've re-backported it here.).
Furthermore, I've been very careful to include a licence text in the beginning of every file. It's ugly, but it has a purpose.