# Focus Mode Pro Focus Mode Pro is an Obsidian plugin designed for deep work, providing a minimalist writing environment and high-efficiency navigation tools. ## Features - **Advanced Focus Mode**: A togglable distraction-free environment. - Automatically hides sidebars, ribbons, tabs, and status bars. - Centered writing area with configurable maximum width. - Dynamic font size adjustments for optimal readability. https://github.com/user-attachments/assets/04a13a24-2602-4762-bda1-2242f467dda8 - **File Finder**: A lightning-fast modal for searching files and navigating your vault without leaving the keyboard. - **Tab Switcher**: Windows-style `Ctrl+Tab` experience to quickly cycle through open documents. https://github.com/user-attachments/assets/68e6cd8f-9cc7-4ab9-9f5f-ddc9ad2f7485 - **Typewriter Mode**: Keeps your active line vertically centered, preventing "bottom-of-the-screen" fatigue. - **Acoustic Feedback**: Minimalist acoustic ticks for typing and UI interactions to enhance the sensory writing experience. - **Performance Optimized**: Built for speed using native Obsidian APIs and lightweight CSS transitions. ## Technical Details ### Compatibility - **Obsidian Version**: Requires v1.7.0 or higher. - **Platform**: Works on Desktop. ### How it Works - **Focus Mode**: Uses a custom CSS injection system to dynamically toggle UI elements via class body manipulation. - **File Finder**: Implements a highly optimized `SuggestModal` for near-instant indexing of vault paths. - **Typewriter Mode**: Leverages the CodeMirror 6 editor API to manage scroll offsets dynamically based on the cursor position. ### Known Limitations - May conflict with other plugins that heavily modify the editor's scroll behavior or force-hide UI elements via persistent CSS. - Tab Switcher behavior depends on global hotkey availability (see [Hotkeys and Conflicts](#hotkeys-and-conflicts)). ## Plugin Settings Settings Overview Typography Settings ## Installation ### Manual Installation 1. Download the latest release (`main.js`, `manifest.json`, `styles.css`) from the [Releases](https://github.com/MVRU/focus-mode-pro/releases) page. 2. Create a folder named `focus-mode-pro` in your vault's `.obsidian/plugins/` directory. 3. Move the downloaded files into that folder. 4. Reload Obsidian or enable the plugin in **Settings > Community plugins**. ## Hotkeys and Conflicts > [!WARNING] > For all plugin features to function correctly (especially the Tab Switcher), ensure there are **no conflicts** with your Obsidian hotkeys. If you experience issues, review and adjust your keybindings in **Settings > Hotkeys**. Hotkey Configuration ### Default Shortcuts - `Ctrl + Shift + Z`: Toggle Focus Mode. - `Ctrl + Shift + P`: Open File Finder. - `Ctrl + Tab`: Open Tab Switcher. ## Roadmap & Future Functionalities ### 1. Semantic Context Isolation (Graph-Based Scoping) Transform the vault from a flat file system into a focused knowledge cluster during deep work sessions. - **Scoped Search**: Restrict the `File Finder` and global search to index only 1st and 2nd-degree connections (links) or notes sharing the same active `#tags`. This eliminates "noise" from unrelated projects. - **Focus Lockdown**: An optional "hard-gate" that prevents opening files outside the current semantic scope, mitigating context-switching and "rabbit-hole" browsing. ### 2. UI Noise Suppression (Silent Mode) - **Toast Interception**: An optional toggle to suppress all Obsidian system notifications and third-party "toasts" while Focus Mode is active. - **Zero-Distraction Environment**: Ensure that background sync messages or plugin updates do not interrupt the visual flow of the editor. ### 3. Atomic Note Guardrails (Threshold Alerts) Promote a more modular and interconnected vault by monitoring note density. - **Character Thresholds**: Set a configurable soft-limit for `.md` files. Once exceeded, a subtle visual indicator appears (e.g., a progress bar or border color shift). - **Architectural Incentive**: This encourages the "Atomic Note" principle, signaling the user to refactor long documents into smaller, linked entities to maintain a healthy knowledge graph. ### 4. Live Session Telemetry (Focus Analytics) A minimalist, toggleable telemetry bar at the bottom of the workspace providing real-time performance data: - **Flow Duration**: Total time spent in the current Focus Mode session. - **Write Velocity**: Average Words Per Minute (WPM) and keystroke consistency. - **Focus Depth**: A metric tracking the frequency of window-blur events (times you left Obsidian) to evaluate the quality of the session. ## Contributions Contributions are welcome! Focus Mode Pro is open-source. 1. **Fork** the repository. 2. Create a feature branch. 3. Submit a **Pull Request**. _Note: The `main` branch is protected. All contributions must be made via approved Pull Requests._ ## License This project is licensed under the [MIT License](LICENSE). --- Created by **Marina Milo**.