- 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
-
hselectors shouldxdg-openwhen starting withURL: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
tagandlinkto 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
- If no protocol, add
- 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?
- Set the font
- Make
ch-widthtake some arbitrary Tcl font - Different fonts for directories and text?
- Make
- Set background/foreground/link background and foreground
- Tags for each item type, allow customization of them?