Skip to content

Skrive v0.1.6

Choose a tag to compare

@github-actions github-actions released this 04 May 20:16

v0.1.6 — Top-bar redesign

The chrome at the top of the workspace was reading as a separator strip — a white macOS title bar above a cream Skrive header above the editor, with rules between each layer. This release pulls the cream all the way up to the traffic lights, redoes the open-document tabs as cards that flow into the editor below, and lightens the right-side panel toggles.

What's new

  • Cream extends to the very top. The window now uses macOS overlay title bar mode, so the warm cream surface continues up under the traffic lights instead of stopping at a white strip. No more color seam at the top of the window.
  • Tabs are document cards. Each open tab gets the Markdown doc icon, browser-style sizing (tabs hug their content width, cap at 14rem for long filenames, and shrink uniformly to 36px icon-only when many are open), and an active state that lifts to the editor cream with rounded top corners — the active tab's bottom edge meets the editor edge, so the open document visually flows out of its tab.
  • Right-side panel toggles, lightened. The FM / BL / Aa / HI text pills in the top-right are replaced with four small icon-only buttons (frontmatter, backlinks, personal dictionary, history). Counts moved into each panel's own header where they're more useful, so the chrome stops carrying content metadata.
  • Four new panel icons. IconFrontmatter, IconBacklinks, IconDictionary, and IconHistory join the existing IconDocMarkdown / IconFolder family — same hand-drawn voice, same 16/24 sizing pattern.

Under the hood

  • New --skrive-chrome CSS variable (light: #efece5, dark: #1a1a1a) gives the chrome strip a subtle tint so the active tab — which matches editor cream — reads as lifted out of the strip and connected to the writing surface below. Tab strip uses align-items: stretch plus container padding-top so the active tab extends from above the text down to the chrome's bottom edge; tabs themselves use flex: 0 1 auto for the hug-content sizing.
  • macOS overlay title bar requires the chrome to clear the traffic-light cluster — 78px left-padding applied via a navigator.platform check at mount, so Windows / Linux builds don't get phantom whitespace. Header carries data-tauri-drag-region so window dragging still works in the empty zones of the chrome.
  • Panel click-outside escape hatch refactored: each side panel's "ignore clicks on my own toggle" check now matches a data-panel-toggle="X" attribute instead of the (deleted) per-pill class names. ~190 lines of dead pill CSS removed from Header.svelte in the same pass.

Coming next

  • Sort order options for the sidebar tree with per-project persistence
  • Inline metadata in the sidebar (relative time, optional word count, tag chips)
  • Pinned section above the sidebar tree
  • Drag-to-reorganize with link rewriting
  • Smooth expand/collapse animation in the sidebar