Automatically control view modes (Reading, Live Preview, Source) for your notes based on smart rules and patterns.
Automatically applies the right view mode when opening notes based on your rules:
- Reading mode for documentation and finished content
- Live Preview for active note-taking
- Source mode for templates and technical notes
Configure view modes based on:
- π Folder paths β All notes in
Templates/open in Source mode - π File patterns β Match files using RegEx (e.g., all daily notes)
- π Frontmatter β Per-note control with custom metadata field
Right-click any file or folder in the File Explorer or Notebook Navigator to instantly lock it to a specific view mode.
See at a glance which files and folders are locked with inline icon badges:
- π Book icon β Locked to Reading mode
- ποΈ Pen icon β Locked to Live Preview
- π» Code icon β Locked to Source mode
Lock icons in File Explorer (left) and Notebook Navigator (right)
Full support for Notebook Navigator plugin:
- β Context menu integration using official API (v1.2.0+)
- β Lock icons in both navigation pane and file list
- β Real-time updates when locking/unlocking
When you open a note, Current View checks for view mode rules in this order:
1. File Pattern Rules β Exact path match or RegEx pattern
2. Folder Rules β Deepest matching folder wins
3. Frontmatter β Per-note override
4. Obsidian Default β Your global Obsidian setting
Example:
- You have a folder rule:
Templates/β Source mode - You open
Templates/meeting-note.md - The note has frontmatter:
current view: reading - Result: Opens in Reading mode (frontmatter wins)
Add a frontmatter field to any note for per-note control:
---
current view: reading # Options: reading, source, live
---You can customize the frontmatter key in plugin settings (e.g., change it to view-mode or display).
π Documentation vault:
# Lock all files in Docs/ to Reading mode
Folder: Docs/
Mode: readingποΈ Daily notes:
# Match pattern like "2024-01-15.md"
Pattern: ^\d{4}-\d{2}-\d{2}\.md$
Mode: liveβοΈ Templates:
# All templates open in Source mode for editing
Folder: Templates/
Mode: source| Setting | Description | Default |
|---|---|---|
| Frontmatter key | Which frontmatter field to read for view mode | current view |
| Debounce timeout | Delay (ms) before applying view mode to prevent rapid switching | 0 |
| Setting | Description | Default |
|---|---|---|
| Ignore opened files | Don't change view mode for notes already open in workspace | false |
| Ignore force view when not in frontmatter | Only apply rules if frontmatter explicitly sets a view mode | false |
| Setting | Description | Default |
|---|---|---|
| Show explorer icons | Display lock icons next to files/folders in File Explorer and Notebook Navigator | true |
| Show lock notifications | Show notice when locking/unlocking via context menu | true |
- Folder Rules: Apply view mode to all notes in a folder (context menu locks write here)
- File Patterns: RegEx patterns or exact file paths (context menu file locks write here)
- Open Settings β Community Plugins in Obsidian
- Click Browse and search for "Current View"
- Click Install, then Enable
- Install BRAT plugin
- In BRAT settings, click Add Beta Plugin
- Enter:
LucEast/obsidian-current-view - Enable the plugin in Community Plugins
- Download the latest
main.js,manifest.json, andstyles.cssfrom Releases - Create folder:
<vault>/.obsidian/plugins/obsidian-current-view/ - Copy the downloaded files into this folder
- Reload Obsidian and enable the plugin in Settings β Community Plugins
- Notebook Navigator (v1.2.0+) β Full integration with context menus and lock icons
- File Explorer β Native Obsidian file explorer support
- Obsidian v1.0.0 or higher
git clone https://github.com/LucEast/obsidian-current-view.git
cd obsidian-current-view
npm installnpm run dev # Watch mode - auto-rebuild on changes
npm run build # Production buildnpm run test # Run unit tests once
npm run test:watch # Watch mode during development
npm run coverage # Generate V8 coverage reportSee CLAUDE.md for development guidelines and architecture overview.
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes using conventional commits (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
If you encounter issues or have feature requests:
- π Report a bug
- π‘ Request a feature
- π¬ Start a discussion
- Built for Obsidian
- Integrated with Notebook Navigator by Johan Sanneblad
- Inspired by the Obsidian community's need for better view mode control
MIT β Free to use and modify.



