Editor full screen
unlistedby 3C0D
Full screen mode with configurable hidden elements via modal - including sidebars. Hidden elements appear on hover.
Editor Full Screen
Full screen mode with configurable hidden elements via modal - including sidebars. Hidden elements appear on hover.
Features
- Single full screen mode with individually configurable hidden elements
- Hover-to-reveal: move cursor to viewport edges to temporarily show hidden elements
- Left sidebar: collapses on activation, reveals on ribbon hover, hides on editor return
- Right sidebar: reveals with Shift + hover near right editor edge, hides on editor return
- Persistent state: remembers whether full screen was active before a restart (optional)
Hidden elements (configurable)
| Element | Hover zone |
|---|---|
| Title bar + tab strip | Top edge |
| View header (file title inside editor) | Top area |
| Ribbon | Left edge |
| Status bar | Bottom edge |
| Left sidebar | Revealed with ribbon on left hover |
| Right sidebar | Shift + right editor edge |
Settings
Access via the plugin settings tab or the quick modal ("Configure hidden elements" in command palette or editor context menu):
- Persistent full screen: restore full screen mode on restart if it was active when Obsidian closed
- Per-element toggles (changes apply immediately if mode is active)
N.B: Enabling hide left sidebar also enables hide ribbon
Usage
All actions are accessible via the command palette or right-click. Hotkeys can be assigned in Obsidian settings.
Development
This plugin uses a template that automates the development and publication processes on GitHub, including releases. You can develop either inside or outside your Obsidian vault.
Environment Setup
File Structure
src/
types.ts — enums, interfaces
constants.ts — element configs, default settings
elementManager.ts — DOM show/hide logic
hoverDetector.ts — mouse movement + edge detection
modal.ts — quick-settings modal
menuManager.ts — context menus (editor + reading mode)
settings.ts — PluginSettingTab
main.ts
styles.css
Note: If
styles.cssis accidentally placed in the root folder instead ofsrc, it will be automatically moved to the correct location when running any development command. After building, a copy ofstyles.csswill appear in the root folder as part of the normal release process.
Shared Reading Mode Context Menu
This plugin shares its reading mode context menu with Obsidian Smart Print using a cooperative pattern:
- Both plugins listen to the native
contextmenuevent ondocument - The first plugin to respond creates a shared menu stored at
window._sharedReadingMenu - It then defers menu display using
setTimeout(0)— this allows all othercontextmenulisteners to run first and add their own items - Subsequent plugins detect the existing menu and append their items
- After the event loop completes, the menu is displayed with all items combined
This approach avoids conflicts and ensures a unified context menu experience for users.
Development Options
-
Inside the vault's plugins folder:
- Delete the
.envfile - Run npm commands as usual
- Delete the
-
Outside the vault:
- Set the paths in the
.envfile:TestVaultfor developmentRealVaultfor production simulation
- Necessary files will be automatically copied to the targeted vault
- Set the paths in the
Available Commands
npm run start: Opens VS Code, runsnpm install, thennpm run devnpm run dev: For developmentnpm run build: Builds the projectnpm run real: Simulates a traditional plugin installation in your REAL vaultnpm run bacp: Builds, adds, commits, and pushes (prompts for commit message)npm run acp: Adds, commits, and pushes (without building)npm run version: Updates version, modifies relevant files, then adds, commits, and pushesnpm run release: Creates a GitHub release (prompts for release title, can be multiline using\n)
Recommended Workflow
npm run startnpm run bacpnpm run versionnpm run release
Additional Features
- obsidian-typings: This template automatically includes obsidian-typings, providing access to additional types not present in the official API.
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.