Feather MD v1.7.0
This is a minor update focusing on keyboard efficiency, distraction-free editing, and user settings accessibility.
Summary:
- Distraction-Free Fullscreen Preview: Press
F11to hide the editor, status bar, and toolbar, displaying only your rendered document in fullscreen. PressEscorF11to return. - Quick Style Cycling: Tap
Alt + T(themes),Alt + F(fonts), orAlt + D(tab sizes) followed by↑/↓arrow keys to quickly customize the editor interface without using the mouse. - Recent Files Dialog: Access your recently opened documents in a clean, scrollable window using
Ctrl + R. - Keyboard Controls: Quit the app with
Ctrl + Qand reload/refresh the app cleanly withCtrl + Shift + R. - Remapped Shortcuts: Adjustments made to word wrap, sync scroll (
Alt + X), and line numbers (Alt + C) to prevent keyboard conflicts.
Technical Details:
- Capture-Phase Leader Sequence: Integrated a capture-phase keydown event listener in keyboard.js to intercept up/down arrow inputs after Alt-chords. This manages a 2-second timeout window to prevent standard CodeMirror inputs during configuration cycling.
- Tauri Window Optimization: Modified window.js to utilize Tauri's
isMaximized,maximize, andunmaximizeAPIs. This avoids OS-level borderless fullscreen layout glitches in Windows where the WebView lag leaves unpainted areas. - DOM & CSS Refactoring: Repositioned the split container to fixed viewport coordinates (
inset: 0) and applied theme-based background paint during fullscreen mode. Replaced submenu elements in index.html and base.css with a modal layout (#recent-files-modaland#recent-files-list). - Safety reload: Implemented a reload utility that prompts the user through
confirmDiscardChanges()in file-io.js to protect modifications before refreshing. - Test Suite Enhancements: Added comprehensive vitest suites: fullscreen.test.js validating JSDOM classes and hint timeouts; themes.test.js validating cyclical array traversals; and updated toolbar element assertions in toolbar.test.js and html.test.js.