diff --git a/README.md b/README.md
index c50536d..a16e21c 100644
--- a/README.md
+++ b/README.md
@@ -27,7 +27,7 @@ The extension ID is `BinaryOutlook.binary-markdown`. Installation leaves your de
## Features
- **Visual, Source, and Split views:** semantic paragraphs and lists, preserved source for unchanged blocks, links, images, blockquotes, an Outline/Document rail, and an editable Markdown pane beside a read-only live preview.
-- **Formatting and tables:** Full or Simple toolbars, a permanent three-dot search across formatting and insertion commands, a `>>`/`<<` toolbar toggle with optional contextual tools, and the retained Insert workspace and Action Palette, HTML-backed underline, compact table controls with clickable row/column gutters and distinct text selection, horizontal scrolling for wide tables, and aligned or compact source formatting for edited tables.
+- **Formatting and tables:** Full or Simple toolbars, an 01md toggle to hide the entire bar for reading with optional chevrons and hover-only recovery, a three-dot search across formatting and insertion commands, a `>>`/`<<` toolbar toggle with optional contextual tools, and the retained Insert workspace and Action Palette, HTML-backed underline, compact table controls with clickable row/column gutters and distinct text selection, horizontal scrolling for wide tables, and aligned or compact source formatting for edited tables.
- **Code and equations:** syntax highlighting, searchable language selection, labeled or icon-only code controls for copying and soft wrapping, a visible wrap notice, editable KaTeX source, and Mermaid diagrams. See [code block features](docs/editor-guide.md#-code-block-features).
- **A configurable writing space:** themes, seven interface languages, full or capped column width, column alignment, and optional width guides.
- **Find and Replace:** source-context results, selected replacements, and case, whole-word, or regular-expression matching with a shared undo history.
diff --git a/docs/editor-guide.md b/docs/editor-guide.md
index 6c65e81..7de48ce 100644
--- a/docs/editor-guide.md
+++ b/docs/editor-guide.md
@@ -6,9 +6,19 @@ Adapted from the inherited editor documentation. See [Acknowledgments](../ACKNOW
The **Full** toolbar shows standard text formatting by default in VS Code and the desktop app. Choose **Simple** with `binary-markdown.toolbarMode` in VS Code Settings or **Toolbar** in desktop Preferences for compact history, view, and utility controls. Explicit `simple` and `full` preferences are retained. This default also applies to existing configurations without a stored toolbar preference; it is not limited to new installations.
-The three-dot **More toolbar actions** button is always available. Resizing keeps complete buttons in the toolbar and puts remaining actions under that menu, with a search field at the top. Typing searches the complete formatting, insertion, and view command catalog, including actions already visible in the toolbar. With an empty search, the menu shows the overflow actions, or the full catalog when all toolbar actions fit. Arrow Down enters the choices; use the arrow keys and `Home`/`End` on a choice, or press Enter in the search field to run the first enabled result. Escape closes the menu and returns focus to the three-dot button while retaining the editor selection. Changing toolbar mode keeps the document, selection, active equation input, and undo history.
+While the top bar is visible, the three-dot **More toolbar actions** button is always available. Resizing keeps complete buttons in the toolbar and puts remaining actions under that menu, with a search field at the top. Typing searches the complete formatting, insertion, and view command catalog, including actions already visible in the toolbar. With an empty search, the menu shows the overflow actions, or the full catalog when all toolbar actions fit. Arrow Down enters the choices; use the arrow keys and `Home`/`End` on a choice, or press Enter in the search field to run the first enabled result. Escape closes the menu and returns focus to the three-dot button while retaining the editor selection. Changing toolbar mode keeps the document, selection, active equation input, and undo history.
-The searchable Action Palette remains available through `Cmd+/`/`Ctrl+/` and the contextual strip's **All actions** ellipsis. Category filters and an action count help you browse descriptions, all six heading levels, insertion commands, Undo/Redo, and navigation/view actions. The toolbar toggle shows `<<` while the formatting row is expanded. Click it to collapse the row and enable **Contextual tools** for the current editor session; the button changes to `>>`. Selected prose then shows a small formatting strip where nearby space permits. The permanent three-dot command search remains available when there is no unobstructed space for the strip. Click `>>` to expand the row again and disable contextual tools; the saved Full/Simple preference stays intact.
+The searchable Action Palette remains available through `Cmd+/`/`Ctrl+/` and the contextual strip's **All actions** ellipsis. Category filters and an action count help you browse descriptions, all six heading levels, insertion commands, Undo/Redo, and navigation/view actions. The **Contextual tools** toggle shows `<<` while the formatting row is expanded. Click it to collapse the row and enable **Contextual tools** for the current editor session; the button changes to `>>`. Selected prose then shows a small formatting strip where nearby space permits. The three-dot command search in the visible top bar remains available when there is no unobstructed space for the strip. Click `>>` to expand the row again and disable contextual tools; the saved Full/Simple preference stays intact.
+
+### Hide the top bar for reading
+
+Click the **01md logo** at the far left, before Undo, to hide the entire top bar and any table controls docked to it. The bar releases its height; only the logo remains in the upper-left corner of the editor pane, with no button background or shadow, including on hover. Its accessible name changes to **Show top bar**. Click it again to restore the bar. This choice lasts for the current editor session, independently of Full/Simple mode and Contextual tools. A newly opened editor starts with the bar visible.
+
+In **Editor & Appearance**, choose `binary-markdown.toolbarToggleIcon` in VS Code Settings or **Top bar toggle icon** in desktop Preferences. The default is **01md logo**; choose **Double chevrons** for upward arrows to hide the bar and downward arrows to show it.
+
+Enable `binary-markdown.toolbarToggleOnHover` or **Show hidden top bar toggle on hover** for an unobstructed reading view. With the bar hidden, move the pointer near the editor pane’s upper-left corner to reveal the button. Keyboard focus also reveals it; Enter or Space toggles the bar. Touch devices keep the button visible. Hover-only visibility is off by default, and reduced-motion preferences disable the fade.
+
+Both settings are saved and update open editors immediately. Toggling the bar preserves document content, selection, active equation input, editing mode, and undo history. Existing keyboard shortcuts, including the Action Palette, remain available while the bar is hidden. Width indicators are a separate preference; turn off `binary-markdown.editorWidthIndicators` to remove their guide row as well.
## Editor views and document rail
@@ -422,6 +432,8 @@ Desktop **Preferences** uses the same Editor & Appearance, Writing Tools, Images
| `binary-markdown.theme` | Editor theme (`github`, `sepia`, `night`, `dark`, `minimal`, `perplexity`, `things`) | `things` |
| `binary-markdown.fontSize` | Base font size (px) | `16` |
| `binary-markdown.toolbarMode` | Toolbar display mode (`full`, `simple`). Simple shows history, contextual tools, command search, and utility controls; search for formatting and insertion commands | `full` |
+| `binary-markdown.toolbarToggleIcon` | Top bar toggle icon: `logo` or `chevrons` | `logo` |
+| `binary-markdown.toolbarToggleOnHover` | Reveal the hidden bar’s toggle on hover or keyboard focus; always visible on touch devices | `false` |
| `binary-markdown.editorWidthMode` | Visual editor column width: `default`, `full`, or `custom` | `default` |
| `binary-markdown.editorMaxWidth` | Outer column cap in CSS pixels for Custom mode; integer 320–4000 | `860` |
| `binary-markdown.editorAlignment` | Position the capped column at the `left`, `center`, or `right` of the pane | `center` |
diff --git a/electron/package.json b/electron/package.json
index b88b7e7..5915528 100644
--- a/electron/package.json
+++ b/electron/package.json
@@ -33,6 +33,10 @@
"out/**/*"
],
"extraResources": [
+ {
+ "from": "../media/icon.png",
+ "to": "media/icon.png"
+ },
{
"from": "../out/webview",
"to": "out/webview",
diff --git a/electron/src/html-generator.ts b/electron/src/html-generator.ts
index 95305a9..855e053 100644
--- a/electron/src/html-generator.ts
+++ b/electron/src/html-generator.ts
@@ -19,6 +19,8 @@ interface ElectronEditorConfig {
codeLanguageOrder?: string;
codeBlockActionLabels?: boolean;
toolbarMode: string;
+ toolbarToggleIcon?: string;
+ toolbarToggleOnHover?: boolean;
tableToolbarPosition?: string;
tableSourceFormat?: string;
documentBaseUri: string;
@@ -98,7 +100,7 @@ export function generateEditorHtml(
const vendorFileUri = (file: string) => fileUri(path.join(vendorDir, file));
return `
-
+