Skip to content

Latest commit

 

History

History
55 lines (52 loc) · 2.58 KB

File metadata and controls

55 lines (52 loc) · 2.58 KB

Guipher TODO

  • Keep navigation history separate from the back/forward stack
  • Keyboard shortcuts for navigation
    • Up, down, page up, page down, top, bottom
    • Backspace to go back
  • Bring back graceful failure when rendering menus
  • h selectors should xdg-open when starting with URL: or be downloaded/rendered as HTML otherwise
  • Further restructure code Some things need to be shown, some things need to be downloaded (all binaries), and some things need to be dispatched to some external app (telnet, h-type selectors)
  • Restructure code:
    • Protocol -> handler dispatch table
    • Selector type -> (icon tag handler) dispatch table When handler is not #f, add both tag and link to tags.
  • Clear history when jumping to a new page (both by clicking on a link and by writing it in the address bar)
  • Better creation of URIs (remove leading / from path when aggregating, the selector already contains it)
  • Better UI handling
  • Remove hashmap - put target in the tag, and then retrieve it
    • Clean up hashmap when changing page
  • Modify history to contain addresses, and not just gopher quadruplets
  • Rename functions handling UI to make that clear
  • URI "parser"
    • If no protocol, add gopher://
    • If no port, use 70
    • If path, try splitting on / and check the first item - if it's a single character, use it as the selector
  • Take URI from the command line or jump to home page
    • Allow home page to be defined
    • about:home? about:guipher?
  • "Gracefully" handle errors (especially poorly formatted directories like those returned by gophernicus when they can't be found)
  • Binary downloader
    • Need somehow to get a path, and the Tk saveAs dialog isn't working
  • Handle images (inline? display when clicking?)
  • Parse out kind from URLs, or assume 1
  • History
    • Ignore going back/forward with no history
    • Back
    • Forward
    • Display history log (about:history?)
    • Keep only URIs in history?
  • Handle search (7) selectors
    • Click -> display input box w. cancel and submit?
    • Display entry box inline?
  • Cache already downloaded pages
    • Cache forever/for a day unless reloading?
    • Cache for the current session unless reloading?

Graphical customization

  • Set the font
    • Make ch-width take some arbitrary Tcl font
    • Different fonts for directories and text?
  • Set background/foreground/link background and foreground
  • Tags for each item type, allow customization of them?