Skip to main content

WinFish Shell

A Fish shell-like implementation for Windows that provides modern shell features including syntax highlighting, autocompletion, and command suggestions. Comes with a built-in terminal emulator for a seamless experience.

Features

  • Modern terminal emulator with customizable interface
  • Syntax highlighting for commands
  • Command history with search (Ctrl+R)
  • Auto-suggestions based on history
  • Tab completion for commands and paths
  • Modern command prompt with Git integration
  • Color support for Windows
  • Built-in command handling
  • Alias support with persistent storage
  • Directory stack navigation (pushd/popd)
  • Multiple terminal windows support
  • Customizable font size
  • Copy/paste support
  • Split terminal support (vertical and horizontal)
  • Full text search in terminal
  • Window transparency control
  • Customizable colors (background and text)
  • Full-screen mode
  • Always-on-top option
  • Persistent configuration
  • Multiple shell instances in split panes

Requirements

  • Python 3.7 or higher
  • Windows 10/11

Installation

Via pip (recommended)

pip install winfish-terminal

Via package managers

Chocolatey

choco install winfish-terminal

Scoop

scoop bucket add extras
scoop install winfish-terminal

Winget

winget install winfish-terminal

Manual Installation

  1. Clone or download this repository
  2. Install the required dependencies:
pip install -r requirements.txt
  1. Create a desktop shortcut (optional):
python create_shortcut.py

Usage

You can start the terminal in two ways:

  1. Run the terminal emulator (recommended):
python terminal_app.py
  1. Run the shell directly (basic terminal):
python winfish.py

Available Commands

  • All standard Windows commands are supported
  • Built-in commands:
    • cd [dir] - Change directory (use cd - to go to previous directory)
    • ls - List directory contents
    • pwd - Print working directory
    • help - Show help message
    • exit - Exit the shell
    • alias - Show or set command aliases
    • unalias - Remove an alias
    • history - Show command history
    • clear - Clear screen
    • pushd/popd/dirs - Directory stack manipulation

Keyboard Shortcuts

  • Up/Down arrows: Navigate through command history
  • Tab: Command and path completion
  • Ctrl+R: Reverse history search
  • Ctrl+C: Cancel current command
  • Ctrl+D: Exit shell
  • Ctrl+L: Clear screen
  • Ctrl+W: Delete word before cursor
  • Ctrl+F: Open search
  • F11: Toggle full screen

Terminal Emulator Features

  • Multiple windows support (File -> New Window)
  • Split terminal support (File -> Split Vertical/Horizontal)
  • Customizable font size (Settings -> Font Size)
  • Customizable colors (Settings -> Background/Text Color)
  • Window transparency (Settings -> Transparency)
  • Copy/Paste support (Edit menu or standard shortcuts)
  • Full text search (Edit -> Find or Ctrl+F)
  • Modern dark theme
  • Scrollback buffer
  • Always on top option (View -> Always on Top)
  • Full screen mode (View -> Toggle Full Screen or F11)

Configuration

The shell stores its configuration in the following locations:

  • ~/.winfish/ - Configuration directory
  • ~/.winfish/aliases.json - Stored command aliases
  • ~/.winfish/terminal_config.json - Terminal emulator settings
  • ~/.winfish_history - Command history

Features compared to Fish shell

  • Command syntax highlighting ✓
  • Command history ✓
  • Directory navigation ✓
  • Auto-suggestions ✓
  • Tab completion ✓
  • Modern prompt design ✓
  • Git integration ✓
  • Alias support ✓
  • Directory stack ✓
  • Split panes ✓
  • Customization ✓

Note: This is a simplified implementation focused on providing a modern command-line experience on Windows while maintaining compatibility with Windows commands.

Metadata

Release files for winfish-terminal 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for winfish-terminal 1.0.0
File Size Uploaded Provenance
winfish_terminal-1.0.0.tar.gz 3.4 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for winfish-terminal 1.0.0
File Interpreter ABI Platform
winfish_terminal-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 6.8 kB

Release files / winfish_terminal-1.0.0.tar.gz

Download URL winfish_terminal-1.0.0.tar.gz
Size 3.4 kB
Tags Source
SHA-256 checksum
How to use checksums
027814645ae9239975dc8ac60f56eea4965339b78a1b3ba7dffd08121c6807da
BLAKE2b-256 checksum
How to use checksums
9874b97ecc5d2f8d94f6783fa3acca81936250f5bed4998d5392a92e7f8ea620
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.9

Release files / winfish_terminal-1.0.0-py3-none-any.whl

Download URL winfish_terminal-1.0.0-py3-none-any.whl
Size 3.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e0e71009dc5cce20497e533ef0b701397e88c822f5123fbbf5eaaecbc4a49ddd
BLAKE2b-256 checksum
How to use checksums
07e17ee565607316a451dc7686aced5c6348cf99403f21914e9f441455c60649
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.9

Security for winfish-terminal 1.0.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files No provenance

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