A Fish shell-like terminal emulator for Windows
Project description
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
- Clone or download this repository
- Install the required dependencies:
pip install -r requirements.txt
- Create a desktop shortcut (optional):
python create_shortcut.py
Usage
You can start the terminal in two ways:
- Run the terminal emulator (recommended):
python terminal_app.py
- Run the shell directly (basic terminal):
python winfish.py
Available Commands
- All standard Windows commands are supported
- Built-in commands:
cd [dir]- Change directory (usecd -to go to previous directory)ls- List directory contentspwd- Print working directoryhelp- Show help messageexit- Exit the shellalias- Show or set command aliasesunalias- Remove an aliashistory- Show command historyclear- Clear screenpushd/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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file winfish_terminal-1.0.0.tar.gz.
File metadata
- Download URL: winfish_terminal-1.0.0.tar.gz
- Upload date:
- Size: 3.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
027814645ae9239975dc8ac60f56eea4965339b78a1b3ba7dffd08121c6807da
|
|
| MD5 |
7409c1a4de9ee963bf6419309b624e68
|
|
| BLAKE2b-256 |
9874b97ecc5d2f8d94f6783fa3acca81936250f5bed4998d5392a92e7f8ea620
|
File details
Details for the file winfish_terminal-1.0.0-py3-none-any.whl.
File metadata
- Download URL: winfish_terminal-1.0.0-py3-none-any.whl
- Upload date:
- Size: 3.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e0e71009dc5cce20497e533ef0b701397e88c822f5123fbbf5eaaecbc4a49ddd
|
|
| MD5 |
dd47c5230e8927a25798c4879122184d
|
|
| BLAKE2b-256 |
07e17ee565607316a451dc7686aced5c6348cf99403f21914e9f441455c60649
|