Skip to main content

Navigator project

Navigator (or nav) is a faithful recreation of the iconic DOS Navigator two-panel file manager for modern POSIX terminals.

It contains of three parts:

  • navkit - the application core library.
    • defines Application class that holds async event-loop and orchestrates widget render on ANSI terminal
    • handles ANSI terminal - cell render, terminal events, keyboard and mouse events
    • defines a screen buffer where all the widgets render their contents and which is rendered to terminal on demand
    • defines Widget abstract class that has its own render() method that renders to screen buffer
    • defines observable attributes on widgets that when changed trigger update of other widget attributes that reference them
    • defines css-like style sheet library and style lookup engine (*.nss files)
  • navml - custom markup language and widget library
    • defines a custom markup language in *.nml files heavily inspired by QML and Kivy frameworks – QML for the architecture, Kivy for the syntax, so blocks are made by indentation, and lines carry no semicolons
    • defines an *.nml file parser that translates it into a node graph suitable for python class code-generator
    • defines a python class code-generator that traverses node graph from parser
    • silently merges a code-generated python class with a handwritten python module with event handlers
    • overrides python import routine so a single import handles the merged class
    • defines a rich widget library to handle windows, buttons, menus, labels, etc., defines standard event handlers. Heavily inspired by Borland's TurboVision library
  • navigator or nav - two panel file manager application
    • defines a Manager window that has two panels with file listings
    • defines View and Edit file windows
    • performs file operations over the selected files in the manager
    • uses file system handlers that enable file operations over ssh, smb, in zip files, etc.
    • defines a flexible plugin system to expand core functionality with third party plugins
    • carefully recreates the look and feel of classic DOS Navigator by Ritlabs
    • TETRIS

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

navigator_fm-0.0.1.tar.gz (121.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

navigator_fm-0.0.1-py3-none-any.whl (117.2 kB view details)

Uploaded Python 3

Release history Release notifications | RSS feed

0.0.4

2 files

0.0.3

2 files

0.0.2

2 files

This release

0.0.1 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page