Skip to content

markszymik/mando-navigator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MandoNavigator

Warning: Experimental project. Do not use in production.

A dual-pane terminal file manager with a retrowave aesthetic, inspired by Norton Commander and Midnight Commander. Features AWS S3 and Cloudflare R2 cloud support. Built with Bubble Tea.

╔═══════════════════════════════════════════════════════════════════════╗
║  ╔╦╗╔═╗╔╗╔╔╦╗╔═╗                              ████████████            ║
║  ║║║╠═╣║║║ ║║║ ║    N A V I G A T O R        ██▓▓▓▓▓▓▓▓██            ║
║  ╩ ╩╩ ╩╝╚╝═╩╝╚═╝    // v1.0.0 [retrowave]   █▓▓▓▓▓▓▓▓▓▓▓▓█           ║
╠═══════════════════════════════╦═══════════════════════════════════════╣
║ ~/projects                    ║ ☁ s3://my-bucket                      ║
║────────── 4 items ────────────║────────── 3 items ────────────────────║
║▌▸ src/                  <DIR> ║ ▸ backups/                      <DIR> ║
║  ▸ docs/                <DIR> ║   data.json                     1.2K  ║
║    main.go              4.5K  ║   config.yaml                    820B ║
║    README.md            2.1K  ║                                       ║
╠═══════════════════════════════╩═══════════════════════════════════════╣
║ goto ║ view ║ edit ║ copy ║ move ║ new ║ del ║ s3/r2 ║ theme ║ help  ║
╚═══════════════════════════════════════════════════════════════════════╝

Features

  • Retrowave UI - Neon colors, synthwave aesthetic, double-line borders
  • 7 Built-in Themes - retrowave, classic, nord, dracula, gruvbox, minimal, cyberpunk
  • Custom Themes - Create your own color schemes
  • Dual-pane Navigation - vim-style (j/k) or arrow keys
  • Cloud Storage - AWS S3 and Cloudflare R2 support
  • Cross-backend Transfers - local ↔ cloud, cloud ↔ cloud
  • In-app Configuration - Cloud setup wizard, theme switching
  • Built-in File Viewer - View files without leaving the app
  • Editor Integration - Uses your $EDITOR

Install

go build -o mando .
./mando

Keys

Key Alt Action
↑/↓ j/k Move cursor
Enter Open directory
Tab Switch panel
g Go to path
v F3 View file
e F4 Edit file (uses $EDITOR)
c F5 Copy to other panel
m F6 Move to other panel
n F7 Create directory
d F8 Delete
s F9 Cloud storage menu
t F10 Cycle themes
. Toggle hidden files
? F1 Help
q Quit

Themes

MandoNavigator comes with 7 built-in themes:

Theme Description
retrowave Synthwave aesthetic with neon pink/cyan (default)
classic Traditional file manager colors
nord Arctic, north-bluish palette
dracula Dark theme with vibrant colors
gruvbox Retro groove color scheme
minimal Clean monochrome
cyberpunk High-tech, low-life aesthetic

Switch themes: Press t or F10 to cycle through themes.

Set default theme in ~/.config/mando/config.yaml:

theme_name: retrowave  # or nord, dracula, gruvbox, etc.

Custom Themes

Create custom themes in ~/.config/mando/themes/:

# ~/.config/mando/themes/mytheme.yaml
name: My Theme
author: Your Name
description: A custom color scheme
colors:
  primary: "#ff2d95"      # Active borders, highlights
  secondary: "#00fff5"    # Selected items, accents
  accent: "#b967ff"       # Tertiary accent
  warning: "#ffd319"      # Warning/attention color
  error: "#ff4757"        # Error messages
  success: "#00ff88"      # Success indicators
  background: "#0d0221"   # Main background
  background_dark: "#150533"
  background_mid: "#1a1a3e"
  selection: "#3d1a5c"    # Selection background
  text: "#8892b0"         # Primary text
  text_dim: "#6c5ce7"     # Secondary text
  text_muted: "#495670"   # Muted text
  border: "#ff2d95"       # Active border
  border_inactive: "#6c5ce7"
  directory: "#ffd319"    # Directory color
  file: "#8892b0"         # File color
  executable: "#00ff88"
  symlink: "#00fff5"
  cloud: "#00fff5"        # Cloud indicator
  status_bg: "#150533"    # Status bar background
  status_key: "#ff2d95"   # Status bar keys

An example.yaml template is created automatically in the themes directory.

Cloud Setup

Press s and select "Add new..." to configure cloud storage interactively.

Or edit ~/.config/mando/config.yaml:

clouds:
  # AWS S3
  my-s3:
    type: s3
    bucket: my-bucket
    region: us-east-1
    access_key_id: AKIA...
    secret_access_key: ...

  # Cloudflare R2
  my-r2:
    type: r2
    bucket: my-bucket
    account_id: <cloudflare-account-id>
    access_key_id: ...
    secret_access_key: ...

  # Custom S3-compatible (MinIO, Backblaze, etc)
  minio:
    type: s3
    bucket: data
    endpoint: https://minio.example.com
    access_key_id: minioadmin
    secret_access_key: minioadmin

Config

# ~/.config/mando/config.yaml
theme_name: retrowave   # Theme: retrowave, classic, nord, dracula, gruvbox, minimal, cyberpunk
editor: $EDITOR         # or vim, nano, etc
show_hidden: false

Requirements

  • Go 1.21+
  • 256-color terminal (true color recommended for best results)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages