SkillAgentSearch skills...

WxReader

A lightweight PDF, ePub and ZIP book/manga reader app for Windows/Linux. Custom OpenGL shaders, external control (voice and webcam eye-gesture) supported.

Install / Use

/learn @puff-dayo/WxReader

README

wxReader

wxReader is a zip comic/zip manga/pdf document reader built with wxWidgets (wxPython), MuPDF (PyMuPDF), OpenGL (PyOpenGL), libvips (pyvips), and Python. Currently support Windows and Linux.

wxReaderVoiceCtrl is a hands-free external controller app for wxReader, recognizing voice command offline by vosk and pyaudio. GUI is built with wxPython. wxReaderEyeTrackCtrl is a hands-free external controller app for wxReader, recognizing eye movement and blinking gesture offline by EyeTrax through a webcam. GUI is also built with wxPython.

-> Download link <- <br>wxReader v1.5.0 for Windows10+ (>1809) <br>wxReader v1.3.9 for Debian13 <br>external controllers for Windows10+_avx2 (>1809)

Build/run from source: see below ↓


Minimum GPU Requirements

GPU that supports OpenGL 2.1 should be compatible, which typically includes:<br> Intel Graphics: GMA 950 and later <br> NVIDIA: GeForce 6000 series and later<br> AMD/ATI: Radeon X1000 series and later<br> All-in-wonder: ATI X600 series and later

Installation

Windows

  1. From sauce (latest dev):

    1. Install Python 3.12 and uv, uv --project . sync.
    2. Download and put the libvips shared library *.dll files inside .\src.
    3. Sync dependencies with uv.
    4. Build with .\build.bat on Windows x64. (Run the build script inside root folder.)
    5. (Notes: upgrade pymupdf will fail the compilation.)
    6. Optional: uv --project .\extctrl\voice sync, uv --project .\extctrl\eye_track sync, then build with .\build_*.bat.
  2. Pre-compiled binary (stable): portable .exe files are provided on the Releases page. Here are links to download (for win10+ x86_64):

    1. wxReader
    2. wxReaderVoiceCtrl
    3. wxReaderEyeTrackCtrl
  3. Upgrade from older versions: simply copy the wxReader.cfg and pswd.txt files containing all user settings to the folder of a new version. You (probably) can also just unzip and overwrite existing files in the old folder.

Linux

Tested on platform: Linux-6.12.73+deb13-amd64-x86_64-with-glibc2.41

  1. Run from sauce (clone the linux-dev branch of the repo!):

    1. Install Python 3.13 and uv, uv --project . sync.
    2. sudo apt install libvips42t64 python3-wxgtk4.0.
    3. uv venv --python /usr/bin/python3 --system-site-packages, and then activate the venv.
    4. cd src
    5. ../.venv/bin/python wxReader.py
  2. Build your own binary:

uv --project . run pyinstaller \
  --name wxReader \
  --distpath build \
  --workpath build/pyi-build \
  --specpath build/pyi-spec \
  --onedir \
  --icon "$(pwd)/src/icon.png" \
  --add-data "$(pwd)/src/icon.png:icon.png" \
  --add-data "$(pwd)/src/filters:filters" \
  --add-data "$(pwd)/src/locale:locale" \
  --exclude-module tkinter \
  --exclude-module pillow \
  --collect-submodules OpenGL \
  src/wxReader.py
  1. Pre-compiled binary: portable files are provided on the Releases page.

Edit translation

See /tools.txt in the repo.

Language support currently: en_US, ja_JP, zh_SG and zh_TW.

Message files are extracted with pybabel and translated with tool Virtaal.

How to ... in wxReader

Check the Menubar -> Info -> Help Topic manual of wxReader.

View on GitHub
GitHub Stars5
CategoryCustomer
Updated5d ago
Forks1

Languages

Python

Security Score

90/100

Audited on Mar 26, 2026

No findings