- Python 100%
|
|
||
|---|---|---|
| fbless3 | remove images spaces on top opened file | |
| LICENSE | fbless3 | |
| README.md | change readme | |
fbless3 - Modern Python 3 FB2 Console Reader
A modernized Python 3 rewrite of the original fbless FB2 console reader.
About
fbless3 is a terminal-based reader for FB2 (FictionBook2) e-book files. This is a complete rewrite of the original fbless in modern Python 3, featuring improved Unicode support, better terminal integration, and enhanced usability.
Features
- 📖 Read FB2 files in your terminal
- 🗜️ Support for compressed files (zip, gzip, bzip2)
- 📏 Dynamic text wrapping (uses full terminal width)
- 🔍 Search functionality with regex support
- 📚 Automatic bookmarks (remembers reading position)
- ⚡ Auto-scroll mode
- 🔧 Configurable via JSON config file
- 🖥️ Responsive to terminal resize
Install/Uninstall and Requirements
Install:
# Just copy the file and make it executable
cp fbless3 ~/.local/bin/fbless3
chmod +x ~/.local/bin/fbless3
# Make sure ~/.local/bin is in your PATH
export PATH="$HOME/.local/bin:$PATH"
Uninstall:
rm ~/.local/bin/fbless3
Requirements:
- Python 3.6 or newer
- Python curses library (usually pre-installed on Linux/Mac)
Usage
Read a book: fbless3 book.fb2
Read compressed book: fbless3 book.fb2.zip
Start with autoscroll: fbless3 -a book.fb2
Go to 50% of book: fbless3 -g 50 book.fb2
View Bookmarks fbless3 -l
Show help: fbless3 -h
Controls
| Key | Action |
|---|---|
↑ / k |
Scroll up one line |
↓ / j |
Scroll down one line |
PgUp |
Scroll up one page |
Space / PgDn |
Scroll down one page |
Home / g |
Go to beginning |
End |
Go to end |
5 / G |
Go to percentage |
/ |
Search (regex supported) |
n |
Next search result |
a |
Toggle autoscroll |
s |
Toggle status bar |
+ / - |
Adjust scroll speed |
e |
Open in editor |
q |
Quit |
Configuration
Configuration file: ~/.config/fbless3/config.json
Configuration Options
- left_indent/right_indent: Text margins
- bold: Use bold text
- save_file: Bookmark file location
- max_bookmarks: number of records
Example: (do not forget set ","! This is JSON)
{
"left_indent": 2,
"right_indent": 2,
"bold": false,
"max_bookmarks": 100
}
Differences from Original fbless
- Modern Python 3 - Type hints, dataclasses, pathlib
- Better Unicode support - Full UTF-8 throughout
- Dynamic text wrapping - Uses full terminal width
- Improved error handling - Better user feedback
- Responsive design - Handles terminal resize
- Enhanced bookmarks - JSON-based bookmark storage
Credits
This project is a modernized rewrite of the original fbless by Artem Shinkarov:
- Original author: Con Radchenko
- Original maintainer: Ivan Burbakov
fbless3 rewrite by Neuromagus - maintaining the spirit of the original while modernizing for Python 3.
License
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
This is a derivative work of the original fbless, which is also GPL licensed.