Lotion v1.6.0
The biggest UX release since v1.5 — 10 themes that actually work, session restore, native window decorations toggle, tab UX overhaul, redesigned logo menu, and a rewritten Arch packaging story.
🎨 Theme system
Built-in themes now actually apply to Notion (fixes #150) — the 7 named themes (Dracula, Nord, Gruvbox Dark, 4 Catppuccin variants) shipped in v1.5 only existed in the menu; no CSS was bundled, so theming silently no-oped for everyone regardless of OS. The fix: bundle the theme CSS in assets/themes/ and override Notion's current --c-* CSS variable convention on the right selectors (.notion-dark-theme / .notion-light-theme on <body>) with !important to win the cascade.
3 new themes:
- Monokai — classic Sublime palette, olive bg + hot-pink accent
- Noir — high-contrast black & white with a single blood-red accent (film-noir aesthetic)
- Sakura — pastel-pink Hello-Kitty light theme
System-theme sync — picking a light theme (Sakura, Catppuccin Latte) auto-flips Notion's "use system setting" appearance to light; dark themes flip it back to dark. Implemented via nativeTheme.themeSource.
Tab bar themes keep pace — all 10 themes now have matching tab-bar palettes.
🪟 Window & tab UX
Session restore (opt-in) — new "Restore Tabs on Startup" toggle in the logo menu persists each window's tabs and restores them on next launch. Uses a debounced Redux subscriber so closing via the X button doesn't lose state.
Native window decorations (opt-in) (closes #151) — new "Use Native Window Decorations" toggle swaps the frameless custom tab bar for your DE's window chrome + the standard Electron menu bar. Single-tab-per-window in this mode (you can't have both tabs and native decorations without stacking title bars).
Tab overflow (closes #158) — tabs now shrink Chrome-style first (min-width 80px), then the scrollbar is hidden in favor of mouse-wheel horizontal scroll, with soft fade gradients on whichever edge has hidden tabs. The + button stays pinned next to window controls instead of scrolling off-screen.
Tab bar fixes:
- Active tab indicator was a click behind (closes #157) — Redux subscriber missed
activeTabIdchanges, so switching tabs swapped content but the underline stayed on the previous tab. - Drag-and-drop tab reordering didn't actually work (closes #156) — the IPC handler existed but the renderer had zero drag code. README had been overselling the feature.
- First tab was missing from the tab bar —
addTabToWindowwas being dispatched beforeaddWindow, which silently no-oped. Pre-existing bug; only became visible while building session restore.
Zoom shortcuts work on non-US keyboards (closes #155) — Ctrl + + / Ctrl + = / Ctrl + - / Ctrl + 0 now bind to layout-independent keys (the = key rather than the + symbol), so Spanish, German, French, etc. layouts work.
🎛️ Logo menu redesign
Replaced emoji-prefixed text labels and ✓ text-checkmark hacks with native Electron menu controls — type:'checkbox' for toggles, app version header, About dialog, Help & GitHub submenu.
📦 Arch packaging overhaul
The previous source-build PKGBUILD ran npm install on the user's machine, which pulled ~950 npm packages with the deprecation warnings and CVE chatter reported in #146. That's inherent to building any Electron app from source — not something we should be making users sit through.
Rewrote as lotion-bin: the PKGBUILD now downloads the official .deb artifact from this release and extracts it. Same binary that ships here, ~30s install instead of ~5min, no npm chain on the user's machine. The legacy install-arch.sh (a bash <(curl ...) pattern, security-flagged) is gone — makepkg -si is the supported install path.
The lotion-bin package isn't on the AUR yet; the README walks through building it locally from this repo. Submission is documented in knol/AUR_SUBMISSION.md.
🍎 macOS "damaged" error mitigated
Apple Silicon users were seeing a misleading "Lotion is damaged and can't be opened" error because the build was unsigned. The app isn't damaged — macOS Gatekeeper just refuses to validate a missing signature.
This release ships with an ad-hoc signature, which changes the error to the friendlier "unidentified developer" (right-click → Open to bypass). The real fix would be Apple Developer signing + notarization ($99/year program); if that's something you'd like, the README links the GitHub Sponsors page.
User-side workaround if Gatekeeper still gives you trouble:
xattr -cr ~/Downloads/Lotion-darwin-arm64-1.6.0.zip
# or after extracting:
xattr -cr /Applications/Lotion.app📝 Docs
Full README rewrite — the previous one had drifted out of sync (version badge 1.5.0, Electron 34.3.2, themes list missing 5 themes, .deb examples using 1.0.0 filenames, broken references to portable.sh and a root-level AUR_SUBMISSION.md that didn't exist). Now reflects what actually ships, including a custom-CSS theming example against Notion's current --c-* variable convention.
📥 Installation
Linux
- Debian/Ubuntu:
sudo apt install ./lotion_1.6.0_amd64.deb - Fedora/RHEL:
sudo dnf install ./lotion-1.6.0-1.x86_64.rpm - Arch:
git clone https://github.com/puneetsl/lotion.git && cd lotion && makepkg -si - Portable: download
Lotion-linux-x64-1.6.0.zip(orarm64), extract, run thelotionbinary
macOS
Download Lotion-darwin-arm64-1.6.0.zip (Apple Silicon) or Lotion-darwin-x64-1.6.0.zip (Intel). If Gatekeeper blocks it, right-click → Open, or run xattr -cr (see above).
Windows
Run Lotion-1.6.0.Setup.exe. SmartScreen may flag the unsigned installer — click More info → Run anyway.
🐛 Known limitations
- Apple Silicon: ad-hoc signed only; "unidentified developer" warning on first launch (right-click → Open or use
xattr -cr) - Windows: SmartScreen warning on the installer (no code-signing certificate)
- #136 (global shortcut for new note) is not in this release — global shortcuts on Wayland depend on xdg-desktop-portal support that's not yet universal across compositors
Full changelog: v1.5.1...v1.6.0