{"id":29792363,"url":"https://github.com/3c0d/obsidian-editor-full-screen","last_synced_at":"2026-04-01T21:21:22.252Z","repository":{"id":300664120,"uuid":"871237682","full_name":"3C0D/obsidian-editor-full-screen","owner":"3C0D","description":"Full screen mode with configurable hidden elements via modal - including sidebars. Hidden elements appear on hover.","archived":false,"fork":false,"pushed_at":"2026-03-24T18:06:03.000Z","size":5242,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-03-25T18:53:38.755Z","etag":null,"topics":["focus","fullscreen","obsidian","obsidian-plugin","productivity","typescript","zen-mode"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/3C0D.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-10-11T14:39:35.000Z","updated_at":"2026-03-24T18:06:12.000Z","dependencies_parsed_at":"2025-06-23T01:20:08.540Z","dependency_job_id":"12858e16-403b-4b17-bcfd-c40818d0ce2c","html_url":"https://github.com/3C0D/obsidian-editor-full-screen","commit_stats":null,"previous_names":["3c0d/obsidian-editor-full-screen"],"tags_count":6,"template":false,"template_full_name":"3C0D/obsidian-sample-plugin-modif","purl":"pkg:github/3C0D/obsidian-editor-full-screen","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3C0D%2Fobsidian-editor-full-screen","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3C0D%2Fobsidian-editor-full-screen/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3C0D%2Fobsidian-editor-full-screen/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3C0D%2Fobsidian-editor-full-screen/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/3C0D","download_url":"https://codeload.github.com/3C0D/obsidian-editor-full-screen/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3C0D%2Fobsidian-editor-full-screen/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31292162,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T21:15:39.731Z","status":"ssl_error","status_checked_at":"2026-04-01T21:15:34.046Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["focus","fullscreen","obsidian","obsidian-plugin","productivity","typescript","zen-mode"],"created_at":"2025-07-28T01:39:06.037Z","updated_at":"2026-04-01T21:21:22.242Z","avatar_url":"https://github.com/3C0D.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Editor Full Screen\n\nFull screen mode with configurable hidden elements via modal - including sidebars. Hidden elements appear on hover.\n\n### Features\n\n- **Single full screen mode** with individually configurable hidden elements\n- **Hover-to-reveal**: move cursor to viewport edges to temporarily show hidden elements\n- **Left sidebar**: collapses on activation, reveals on ribbon hover, hides on editor return\n- **Right sidebar**: reveals with **Shift + hover** near right editor edge, hides on editor return\n- **Persistent state**: remembers whether full screen was active before a restart (optional)\n\n### Hidden elements (configurable)\n\n| Element | Hover zone |\n| --- | --- |\n| Title bar + tab strip | Top edge |\n| View header (file title inside editor) | Top area |\n| Ribbon | Left edge |\n| Status bar | Bottom edge |\n| Left sidebar | Revealed with ribbon on left hover |\n| Right sidebar | Shift + right editor edge |\n\n### Settings\n\nAccess via the plugin settings tab or the **quick modal** (\"Configure hidden elements\" in command palette or editor context menu):\n\n- **Persistent full screen**: restore full screen mode on restart if it was active when Obsidian closed\n- Per-element toggles (changes apply immediately if mode is active)\n\nN.B: Enabling **hide left sidebar** also enables **hide ribbon**\n\n### Usage\n\nAll actions are accessible via the command palette or right-click. Hotkeys can be assigned in Obsidian settings.\n\n---\n\n## Development\n\nThis 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.\n\n### Environment Setup\n\n#### File Structure\n\n```\nsrc/\n  types.ts          — enums, interfaces\n  constants.ts      — element configs, default settings\n  elementManager.ts — DOM show/hide logic\n  hoverDetector.ts  — mouse movement + edge detection\n  modal.ts          — quick-settings modal\n  menuManager.ts    — context menus (editor + reading mode)\n  settings.ts       — PluginSettingTab\nmain.ts\nstyles.css\n```\n\n\u003e **Note:** If `styles.css` is accidentally placed in the root folder instead of `src`, it will be automatically moved to the correct location when running any development command. After building, a copy of `styles.css` will appear in the root folder as part of the normal release process.\n\n#### Shared Reading Mode Context Menu\n\nThis plugin shares its reading mode context menu with **Obsidian Smart Print** using a cooperative pattern:\n\n1. Both plugins listen to the native `contextmenu` event on `document`\n2. The first plugin to respond creates a shared menu stored at `window._sharedReadingMenu`\n3. It then defers menu display using `setTimeout(0)` — this allows all other `contextmenu` listeners to run first and add their own items\n4. Subsequent plugins detect the existing menu and append their items\n5. After the event loop completes, the menu is displayed with all items combined\n\nThis approach avoids conflicts and ensures a unified context menu experience for users.\n\n#### Development Options\n\n1. **Inside the vault's plugins folder:**\n   - Delete the `.env` file\n   - Run npm commands as usual\n\n2. **Outside the vault:**\n   - Set the paths in the `.env` file:\n     - `TestVault` for development\n     - `RealVault` for production simulation\n   - Necessary files will be automatically copied to the targeted vault\n\n### Available Commands\n\n- `npm run start`: Opens VS Code, runs `npm install`, then `npm run dev`\n- `npm run dev`: For development\n- `npm run build`: Builds the project\n- `npm run real`: Simulates a traditional plugin installation in your REAL vault\n- `npm run bacp`: Builds, adds, commits, and pushes (prompts for commit message)\n- `npm run acp`: Adds, commits, and pushes (without building)\n- `npm run version`: Updates version, modifies relevant files, then adds, commits, and pushes\n- `npm run release`: Creates a GitHub release (prompts for release title, can be multiline using `\\n`)\n\n### Recommended Workflow\n\n1. `npm run start`\n2. `npm run bacp`\n3. `npm run version`\n4. `npm run release`\n\n### Additional Features\n\n- **obsidian-typings**: This template automatically includes obsidian-typings, providing access to additional types not present in the official API.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F3c0d%2Fobsidian-editor-full-screen","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F3c0d%2Fobsidian-editor-full-screen","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F3c0d%2Fobsidian-editor-full-screen/lists"}