notion-enhancer

notion.so is a pretty awesome tool already, but there’s always room for improvements. it might just be a preference, it might be something crucial to your setup, it might be something users have been asking for for a long time, or it might even be something you haven’t realised you need yet - there’s something that would make your user experience a lot better.

this package is a mod-loader for the desktop app, with custom colour theming and extra feature enhancements.

want to contribute? check out the contribution guidelines and the documentation.

for support, join the discord server.

supported desktop clients

(it can also be run from the wsl to apply enhancements to the windows app.)

mobile clients are not supported and due to system limitations/restrictions cannot be.

a chrome extension may be coming soon for web client support.

installation

coming from <= v0.7.0? things are a bit different - have a read of the update guide before following these instructions.

during installation/removal, make sure no notion processes are running! (check your task manager.)

win10, macOS

  1. install node.js (a computer restart may be required here.)
  2. execute npm i -g notion-enhancer in the terminal/command prompt.

debian/ubuntu, chromeOS, WSL (to modify the win10 app)

execute the following lines in the terminal:

bash curl -sL https://deb.nodesource.com setup_current.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo npm i -g notion-enhancer

arch linux, manjaro

install the aur package with your aur helper (e.g. yay -S notion-enhancer).

command-line interface

the enhancements should be automatically applied on installation and automatically removed on uninstallation.

on some platforms this may throw errors if done without elevated/admin permissions, though, so if it hasn’t automatically installed you will still need to use these commands.

Usage:
  $ notion-enhancer <command> [options]

Commands:
  apply   : add enhancements to the notion app
  remove  : return notion to its pre-enhanced/pre-modded state
  check   : check the current state of the notion app

For more info, run any command with the `--help` flag:
  $ notion-enhancer apply --help
  $ notion-enhancer remove --help
  $ notion-enhancer check --help

Options:
  -y, --yes      : skip prompts (may overwrite data)
  -d, --dev      : show detailed error messages (not recommended)
  -h, --help     : display usage information
  -v, --version  : display version number

is this against notion’s terms of service? can i get in trouble for using it?

definitely not! i contacted their support team to check, and the response was awesome:

“Thanks for taking the time to share this with us. Userscripts and userstyles are definitely cool ideas and would be helpful for many users! … I’ll also share this with the rest of the team to take to heart for future improvements.”

features

once applied, modules can be configured via the graphical menu, which is opened from the tray/menubar icon or with ALT+E.

currently all modules come pre-installed for technical reasons, security assurance, and ease-of-use. these include:

notion-enhancer core

tags: #core

description: the cli, modloader, menu, & tray.

author: dragonwocky

option type default
hide app on open toggle no
auto-maximise windows toggle no
close window to the tray toggle yes
integrated titlebar toggle yes
height of frameless dragarea number input 15
tiling window manager mode toggle no
integrated scrollbars toggle yes
window display hotkey accelerator input CommandOrControl+Shift+A
open enhancements menu hotkey accelerator input Alt+E

always on top

tags: #extension

description: add an arrow/button to show the notion window on top of other windows even if it’s not focused.

author: dragonwocky

tags: #extension

description: render links surrounded with [[brackets]] instead of underlined.

author: arecsu

bypass preview

tags: #extension

description: go straight to the normal full view when opening a page.

author: dragonwocky

calendar scroll

tags: #extension

description: add a button to scroll down to the current week in fullpage/infinite-scroll calendars.

author: dragonwocky

custom inserts

tags: #extension

description: link files for small client-side tweaks.

author: dragonwocky

option type
css insert file
client-side js insert file

dark+

tags: #theme #dark

description: a vivid-colour near-black theme.

author: dragonwocky

option type default
primary colour color rgb(177, 24, 24)

emoji sets

tags: #extension

description: pick from a variety of emoji styles to use.

author: dragonwocky

option type values
style select twitter, apple, google, microsoft, samsung, whatsapp, facebook, joypixels, openmoji, emojidex, messenger, lg, htc, mozilla

focus mode

tags: #extension

description: hide the titlebar/menubar if the sidebar is closed (will be shown on hover).

author: arecsu

font chooser

tags: #extension

description: customize fonts. for each option, type in the name of the font you would like to use, or leave it blank to not change anything.

author: torchatlas

option type
sans-serif (inc. ui) text input
serif text input
monospace text input
code text input

gameish

tags: #theme #dark

description: a purple, “gamer-styled” theme with a blocky-font.

author: LVL100ShrekCultist

hide help

tags: #extension

description: hide the help button if you don’t need it.

author: coryzibell

littlepig dark

tags: #theme #dark

description: a purple monospaced theme using emojis and colourful text.

author: Lizishan

littlepig light

tags: #theme #light

description: a bright monospaced theme using emojis and colourful text.

author: Lizishan

neutral

tags: #theme #dark

description: smoother colours and fonts, designed to be more pleasing to the eye.

author: arecsu

night shift

tags: #extension #theme

description: sync dark/light theme with the system (overrides normal theme setting).

author: dragonwocky

pastel dark

tags: #theme #dark

description: a true dark theme with a hint of pastel.

author: zenith_illinois

property layout

tags: #extension

description: auto-collapse page properties that usually push down page content.

author: alexander-kazakov

right-to-left

tags: #extension

description: enables auto rtl/ltr text direction detection.

author: obahareth

weekly view

tags: #extension

description: calendar views named “weekly” will show only the 7 days of this week.

author: adihd

word counter

tags: #extension

description: add page details: word/character/sentence/block count & speaking/reading times.

author: dragonwocky

contributors

@TarasokUA wrote the first versions of this in python, in early 2020. a couple months after I (@dragonwocky) picked the project up, at first extending upon the original base and later moving to the javascript module system.

since then, various community members have helped out heaps - some listed as contributors here on github, but many helping with code, feedback and testing on discord and in emails.

individual modules have their original authors attributed.