# 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
## 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**.
### 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**.