Giter Site home page Giter Site logo

someodd / waffle Goto Github PK

View Code? Open in Web Editor NEW
21.0 1.0 1.0 462 KB

Haskell Gopher Protocol TUI Client ๐Ÿง‡

Home Page: https://www.someodd.zip/showcase/waffle/

License: GNU General Public License v3.0

Haskell 98.84% Nix 1.16%
gopher-client gopher-protocol haskell

waffle's Introduction

waffle's People

Contributors

garmelon avatar hyperrealgopher avatar someodd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

doytsujin

waffle's Issues

Releases

  • Snap
  • Maybe standalone (static) Linux

open link #

Links are currently numbered. Make it so you can enter in the link number to open it.

Clean up code

  • Safety
  • Put each mode's event handler in their own module
  • Clean comments, including moving TODOs and FIXMEs to issues and their details
  • Document
  • Modularize better so more stuff is moved out of UI
  • Modularize better; put thing in their own modules appropriately and submodules etc
  • Better imports
  • Better exporting+module documentation (specifically import certain things!)

Limit horizontal/right scrolling in menu mode

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).

Have download type association editor?

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.

no progress mode or indication for search

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.

Open link with 'o'

Could just use a single field for a gopher URL. More convenient than thethree field style with gopher.

help text file/screen

? for help

Could even double as homepage. Waffle ASCII art with "waffle" text.

Should probably be implemented after #38.

Caching

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...

Handle errors with brackets and dialog boxes

Here's an incomplete listing:

  • History index error
  • Incorrect starting args
  • Invalid line selection
  • Network errors

Can grep to view all error lines, as well, which generally should be handled with an error dialog box.

Custom Theme Support

Make it so you can:

  • Toggle emoji mode
  • Change arrow/"asterisk" to other characters
  • Change borders
  • Change all the colors and styles

I believe this is pretty much all mostly doable through the Brick INI thingy.

Cursor menu select item

Use arrows to move up and down links and hit enter to follow link.

Bonus if make menu/links colored.

byte count/download is incorrect

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.

Using Char8 length

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

Today update

ByteString.length

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

Char8.length

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.