From a3afbdc286443db8093bb3a300f186fc021030b0 Mon Sep 17 00:00:00 2001 From: Valdemar Lorenzen Date: Wed, 21 Oct 2026 11:57:57 +0200 Subject: [PATCH] style: remove emoji picker divider lines --- README.md | 2 +- Sources/Conjure/EmojiPickerController.swift | 20 ++------------------ 2 files changed, 3 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index b30ce74..9ee8fc7 100644 --- a/README.md +++ b/README.md @@ -115,7 +115,7 @@ Rates are shared across queries and refreshed on the next currency query after t Search for **Conjure Emoji**, identified by its centered 🤔 icon, and open it. Browse labeled sections with emoji counts: **Favorites**, **Recently Used**, then the remaining categories. Each emoji appears once. Search by name, keyword, `:shortcode:`, or emoji; matching results appear in one section. The category menu in the footer filters results or shows **Recently Used**. Your last 30 selections are saved locally. -Square 80-point emoji tiles have 8-point spacing and softly rounded, tinted surfaces. The selected tile uses Conjure’s amber fill and outline; hovering adds a subtle border. Section labels, search and footer dividers, and the shared action pill retain Conjure’s sunset palette. +Square 80-point emoji tiles have 8-point spacing and softly rounded, tinted surfaces. The selected tile uses Conjure’s amber fill and outline; hovering adds a subtle border. Section labels and the shared action pill retain Conjure’s sunset palette, without divider lines around the grid. Use the arrow keys or Control-H/J/K/L to navigate left/down/up/right; the grid scrolls to keep the selected emoji visible. Return, clicking an emoji, or **Copy and Paste** copies it, dismisses Conjure, and tries to paste into the app that was focused when the launcher opened. Automatic pasting requires **System Settings → Privacy & Security → Accessibility → Conjure**; macOS prompts if permission is missing. After granting it, select an emoji again. If permission is denied, the previous app is unavailable, or focus cannot be restored promptly, the emoji stays copied for manual Command-V. The Back chevron returns to the launcher and restores your search. diff --git a/Sources/Conjure/EmojiPickerController.swift b/Sources/Conjure/EmojiPickerController.swift index e22d97e..9bc32dd 100644 --- a/Sources/Conjure/EmojiPickerController.swift +++ b/Sources/Conjure/EmojiPickerController.swift @@ -77,31 +77,15 @@ final class EmojiPickerController: NSViewController, NSCollectionViewDataSource, footer.orientation = .horizontal footer.alignment = .centerY footer.spacing = 12 - let headerDivider = NSView() - let footerDivider = NSView() - for divider in [headerDivider, footerDivider] { - divider.wantsLayer = true - divider.layer?.backgroundColor = SunsetPalette.selectionBorder.cgColor - divider.translatesAutoresizingMaskIntoConstraints = false - view.addSubview(divider) - } for child in [scroll, empty, footer] { child.translatesAutoresizingMaskIntoConstraints = false view.addSubview(child) } NSLayoutConstraint.activate([ - headerDivider.topAnchor.constraint(equalTo: view.topAnchor), - headerDivider.leadingAnchor.constraint(equalTo: view.leadingAnchor), - headerDivider.trailingAnchor.constraint(equalTo: view.trailingAnchor), - headerDivider.heightAnchor.constraint(equalToConstant: 0.5), - scroll.topAnchor.constraint(equalTo: headerDivider.bottomAnchor), + scroll.topAnchor.constraint(equalTo: view.topAnchor), scroll.leadingAnchor.constraint(equalTo: view.leadingAnchor), scroll.trailingAnchor.constraint(equalTo: view.trailingAnchor), - scroll.bottomAnchor.constraint(equalTo: footerDivider.topAnchor), - footerDivider.bottomAnchor.constraint(equalTo: footer.topAnchor, constant: -8), - footerDivider.leadingAnchor.constraint(equalTo: view.leadingAnchor), - footerDivider.trailingAnchor.constraint(equalTo: view.trailingAnchor), - footerDivider.heightAnchor.constraint(equalToConstant: 0.5), + scroll.bottomAnchor.constraint(equalTo: footer.topAnchor, constant: -8), empty.centerXAnchor.constraint(equalTo: scroll.centerXAnchor), empty.centerYAnchor.constraint(equalTo: scroll.centerYAnchor), footer.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 16),