Please visit my website.
someodd / waffle Goto Github PK
View Code? Open in Web Editor NEWHaskell Gopher Protocol TUI Client ๐ง
Home Page: https://www.someodd.zip/showcase/waffle/
License: GNU General Public License v3.0
Haskell Gopher Protocol TUI Client ๐ง
Home Page: https://www.someodd.zip/showcase/waffle/
License: GNU General Public License v3.0
Please visit my website.
Need to be able to handle saving/downloads to specific locations.
we can always assume that "up" on a text file is a menu, likewise for a menu. :)
Links are currently numbered. Make it so you can enter in the link number to open it.
Currently you can keep scrolling right as long as you please... it should stop scrolling right once the farthest-right character in the entire menu is on the same column as the farthest-right viewable column (typical viewport behavior).
this might be tricky. i guess it's no biggie if bg is black but uhhh... returning to previous state might be a little tricky... really need to make a true state engine? i'm not sure what the best way to approach this is.
https://raw.githubusercontent.com/jtdaugherty/brick/master/programs/DialogDemo.hs
use network-anonymous-tor-0.11.0
This will require keeping the GopherMenu
in the application state.
Be able to handle images various types that have been downloaded by assigning them to external programs to open the downloaded file.
This isn't very thought out, but basically, some things like images you want to just pop up once downloaded in some kinda viewer.
This download works a little bit differently,but maybe things can be modularized between searchGet and gopherGet and all the progress mode stuff using higher order functions to reduce/refactor.
Like an ASCII art color mode?
Could just use a single field for a gopher URL. More convenient than thethree field style with gopher
.
I saw an ascii art project in brick do this
https://github.com/jtdaugherty/brick/blob/master/docs/guide.rst#mouse-support
?
for help
Could even double as homepage. Waffle ASCII art with "waffle" text.
Should probably be implemented after #38.
Don't re-request stuff that was accessed recently. This also means that you'll have to have a refresh button or something.
Also refresh ability...
Here's an incomplete listing:
Can grep
to view all error
lines, as well, which generally should be handled with an error dialog box.
might need to develop resource inference
In menu mode.
Otherwise emojis and double-width characters will bug out the vertical borders. COuld get rid of the borders altogether.
Make it so you can:
I believe this is pretty much all mostly doable through the Brick INI thingy.
Cannot scroll horizontally for those extra long lines in menu mode.
Can even be a custom, local gopher menu
https://hackage.haskell.org/package/brick-0.52/docs/Brick-Widgets-Core.html#v:hyperlink
for web http links in menu... just a consideration
Use arrows to move up and down links and hit enter to follow link.
Bonus if make menu/links colored.
There's not a huge difference, but the count is slightly off when doing an accumulative count (count as bytes come in) vs. just counting total bytes of everything after it's been accumulated.
curl gopher://sdf.org/1/maps -o userlist
curl: 90985
mine: 90800
diff: 185
curl gopher://sdf.org:70/1/aged-maps -o aged-userlist
curl: 56476
mine: 56048
diff: 428
curl gopher://sdf.org:70/1/sdf/faq -o faq
curl: 1354
mine: 1024
diff: 330
Conducted on a new day (separate from other earlier results in previous section).
curl gopher://sdf.org/1/maps -o usermapactive
curl: 91224
mine: 90800
Conducted on a new day (separate from other earlier results in previous section).
curl gopher://sdf.org/1/maps -o usermapactive
curl: 91224
mine: 90552
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.