Void Writer is a minimalist, cross-platform text editor built with Python3 with no other dependencies, designed for writers seeking a focused, distraction-free environment. Leveraging a lightweight architecture and a robust feature set, it provides a seamless writing experience that is themeable, has session persistence, and portability.
inimalist UI: A fullscreen, centered text area eliminates distractions, with configurable line width and typewriter-style positioning for ergonomic writing.
Cross-Platform Portability: Uses a single Python script with no external dependencies beyond the standard library (Tkinter 8.5+).
Theming System: Supports multiple editor themes (dark, paper, sepia, nord, gruvbox_light, gruvbox_dark, monokai, cobalt, custom) with customizable background and foreground colors. Menus and popups use a consistent dark theme for visual coherence.
Session Persistence: Automatically saves and restores the last opened file via a session file (last_session.txt).
Autosave: Configurable autosave intervals (default: 10 seconds) ensure data integrity without manual intervention, implemented via a background threading loop.
Backup on Large Deletions: Automatically creates backup files for deletions exceeding 3000 characters, appending a random 4-digit suffix to prevent data loss.
Customizable Settings:
-Font family (from system fonts or predefined options like Consolas, Arial) and size.
-Maximum character width for text wrapping.
-Typewriter position (vertical alignment as a percentage of window height).
-Optional word count display in the bottom-right corner.
-Context Menu: Right-click access to settings, save, open, fullscreen toggle, and exit, styled with a dark theme for consistency.
-Hotkey Support: Intuitive shortcuts (Ctrl+O for open, Ctrl+S for save, F12 for settings, F11 for fullscreen, Esc to exit) enhance productivity.
-Undo Support: Built-in undo stack for the text area, preserving editing history.
-Responsive Layout: Dynamically centers the text area based on window size and font metrics, ensuring optimal readability.