Burrow is a GUI browser for gopherspace.
Go to file
sloumdrone 11fccdbef6 Merge branch 'master' of https://github.com/sloumdrone/digger into develop 2018-10-29 19:36:36 -07:00
images Major updates to styling. Uses a dark code editor theme. Light theme coming soon. 2018-10-27 15:33:01 -07:00
.gitignore Initial commit of mostly working basic browser 2018-10-14 20:42:17 -07:00
README.md Updated dependencies and project status 2018-10-25 20:56:13 -07:00
burrow.py Started reconfiguring of classes, buggy but semifunctional output is go 2018-10-23 22:32:26 -07:00
connect.py Added code for processing images, at the cost of adding dependencies 2018-10-25 20:30:07 -07:00
gui.py Added support for h itemtype to open in web browser 2018-10-29 19:19:03 -07:00
home.gopher Adjusted home page and home button behavior 2018-10-24 20:17:36 -07:00
parser.py Added code for processing images, at the cost of adding dependencies 2018-10-25 20:30:07 -07:00

README.md

Burrow

A client/browser that accesses gopherspace. It is under current early stage development.

Burrow browser

Gopher

Gopher is a communications protocol that, in the early 90s, competed (briefly) with what became the world wide web. Gopher serves up files and text based menus. As such, it is much lighter weight than HTML documents and the like served over http. Due to its text based nature it also has the benefit of being reliable in its visual output and style, and for being relatively accessible.

Browser Features

The following is a list of current and future Burrow features:

  • Tk based GUI
    • Back button, move backwards in session history
    • Forward button, move forward in session history
    • Refresh button, will be replaced by a favorite button (non-functional)
    • Home, shows favorites and is a start page
    • An address bar, on ENTER submits a request for a gopher page
    • Settings button (non-functional)
    • A display area for the requested information
    • Scroll bar
    • A status bar to display various information
  • Links to menus and files
    • On hover, link destination shows in status bar
    • On hover, link is underlined
    • Links are colored differently from regular text (configurable)
    • Link type appears next to link in noticeable coloring (configurable)
    • On primary click, destination is loaded and new location replaces old location in address bar
    • On primary click, link background changes to visually confirm click (configurable)
    • Cursor is a pointer over links, while regular text is an I-beam cursor.
  • Menus Pages and files
    • Menus display correctly and quickly
    • Text files display correctly and quickly
    • Images files
    • Sound files (non-functional)
    • Binary files (non-functional)
    • HTML files, will open in default browser (non-functional)
    • Interactive pages/search (non-functional)
  • History
    • Session based history for backward and forward navigation
    • Persistent favorites (non-functional)
    • Suggestions on URL entry based on persistent history (non-functional)
  • Application settings and menus
    • Settings menu (non-functional)
      • Color themes
      • Icon themes
      • History settings
      • Files/download settings
    • Secondary click context menus for text manipulation & file saving (non-functional)
    • Page saving for offline viewing (non-functional)
    • Hotkey to view raw page source for menus (non-functional)
  • Errors
    • Error warnings to user (non-functional)
    • Error page on bad/malformed request (non-functional)
    • Error display for type 3 server response (non-functional)

Installation

Burrow requires python3 to be installed on the system prior to running. Until some bundling/setup file creation occurs, you will also need to add:

pip3 install pillow

On some linux distributions an additional package for tkinter may be required. If you get a console error complaining about tkinter try the following (or equivalent for your package manager):

sudo apt-get install python3-tk
sudo apt-get install python3-pil.imagetk

Distribution

Burrow's primary system target is linux. Once a version 1.0 is reached the plan is to distribute primarily through Snapcraft packages.

Some version of windows executable may come along as well, depending on configurability of build tools (py2exe, freeze, etc) for windows executables and time.

Contribute

To contribute, please branch off of develop and then submit a pull request into develop with any changes. As the project grows I will likely add wiki, issues, etc as the need arises and more people get involved.