From 931eb0ffc37af57422e5619699aa2c374effe670 Mon Sep 17 00:00:00 2001 From: hl-valdemar Date: Mon, 19 Oct 2026 21:26:00 +0200 Subject: [PATCH] fix: fade note text at scroll edges --- README.md | 2 ++ Sources/Conjure/NotesController.swift | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index ea00a0e..8e4664d 100644 --- a/README.md +++ b/README.md @@ -145,6 +145,8 @@ Actions (Command-K) opens the same searchable popup style used throughout Conjur The bottom strip applies Markdown headings, bold, italic, strikethrough, inline code, links, fenced code blocks, quotes, numbered lists, bullet lists, and checklists. Formatting preserves embedded images and supports Undo. List buttons convert existing list types; clicking the current type removes its marker. The formatting strip is always visible. Successful autosaves stay unobtrusive; only save, load, or deletion errors appear below the editor. +Note text fades at the editor’s scroll edges rather than clipping sharply above the formatting strip. Scroll insets keep the first and last lines clear of the fade when scrolled to either end. + Formatting shortcuts use the same actions as the bottom strip. They apply to the editor’s current selection or caret, never to text in an open picker. Hover over a formatting button to see its shortcut. Command-K remains Actions. | Formatting | Shortcut | diff --git a/Sources/Conjure/NotesController.swift b/Sources/Conjure/NotesController.swift index 2d1c3ca..fb1df74 100644 --- a/Sources/Conjure/NotesController.swift +++ b/Sources/Conjure/NotesController.swift @@ -119,12 +119,15 @@ final class NotesController: NSViewController, NSTextViewDelegate { editor.textContainer?.widthTracksTextView = true editor.textContainerInset = NSSize(width: 22, height: 8) editor.setAccessibilityLabel("Note editor") - let scroll = NSScrollView() + let scroll = LauncherScrollView() scroll.documentView = editor scroll.hasVerticalScroller = true scroll.autohidesScrollers = true scroll.drawsBackground = false scroll.scrollerStyle = .overlay + scroll.automaticallyAdjustsContentInsets = false + scroll.contentInsets = NSEdgeInsets(top: LauncherScrollView.fadeHeight, left: 0, + bottom: LauncherScrollView.fadeHeight, right: 0) status.font = .systemFont(ofSize: 12) status.textColor = SunsetPalette.secondaryText status.setAccessibilityLabel("Notes save status")