User Manual
Design Intent: Prioritize the present moment above organization or recall. Navigating Whisp should feel like dancing in your short-term memory.
Navigation
- Two-finger swipe left or right on your touchpad to smoothly transition between notes.
- Alternatively, click on the edges of the window or use the scroll wheel to navigate.
Swipe Left or Ctrl + [ Go to previous note
Swipe Right or Ctrl + ] Go to next note
Creating Notes
- Swiping past the latest (right-most) note will automatically spawn a fresh, blank note.
- You can also explicitly create a new note at any time using a keyboard shortcut.
Ctrl + N Create new note
Deleting Notes
- Deleting a note removes it from the main view and moves it to a hidden
.trashdirectory. - If you accidentally delete a note, you can instantly undo it.
Ctrl + Delete Delete current note
Ctrl + Shift + T Undo last deletion
Search
- Instantly search through all your notes. Clicking a search result immediately jumps you to that note.
Ctrl + F Open global search
Markdown Formatting
- Whisp supports standard Markdown for fast formatting, but powers it up with smart keyboard toggles.
- Highlight text and press a shortcut to wrap it. Press it again to unwrap it.
Ctrl + B Toggle **bold**
Ctrl + I Toggle *italic*
Ctrl + U Toggle _underline_
WYSIWYG Mode
- Tired of looking at Markdown syntax? Toggle the live formatting view (the eye icon).
- All markdown symbols dynamically disappear when your cursor leaves the line, leaving behind beautiful rich text.
Ctrl + E Toggle WYSIWYG Mode
Slate Mode
- Turn Whisp into the ultimate distraction-free writing environment.
- Slate mode hides the navigation bar, carousel borders, and controls to give you an ultra-minimalist plain-text canvas.
Alt + S Toggle Slate Mode
Smart Lists
- Type
listorlist: Custom Titleat the top of your note to activate List Mode. - Pressing Enter will automatically spawn a new
☐checkbox on the next line. - Smart Overwrite: Type
#on an empty checkbox to instantly turn it into a heading. - Comments: Type
//at the start of a list item to visually fade it out as a comment.
Tab Indent list item
Shift + Tab Outdent list item
Checkboxes
- Whisp uses native unicode checkboxes (
☐and☑) to keep your lists minimal and portable. - Use the shortcut anywhere on a line to instantly insert or toggle a checkbox.
Ctrl + S Insert / Toggle checkbox
Smart Paste (URL)
- Dropping massive tracking URLs ruins the visual flow of a note.
- Use the Smart Paste shortcut when pasting a long URL. Whisp will analyze it locally, generate a clean, short visual label, and format it securely in Markdown.
- Turn on WYSIWYG Mode and the ugly Markdown syntax dynamically vanishes, leaving only the tiny link!
- 100% offline and privacy-respecting. No external APIs used.
Ctrl + Shift + L Smart URL Paste
Plain Text Paste
- Pasting text from the web often brings along unwanted markdown syntax.
- Use Plain Paste to aggressively strip all markdown symbols (headers, bold, italics, links, lists) before dropping the raw text into your note.
Ctrl + Shift + V Plain text paste
Date & Time Expansions
Whisp includes a smart text expansion engine. Type a command starting with a colon (::) and hit Enter or Space to instantly expand it.
::today
insert
Inserts the current date
Also available as: ::date
::tomorrow
insert
Inserts tomorrow's date
Example: ::tomorrow
::yesterday
insert
Inserts yesterday's date
Example: ::yesterday
::today(n)
insert
Inserts a date with a specific offset in days
Example: ::today(5) inserts the date 5 days from now
::now
insert
Inserts the current local time
Also available as: ::time
Random & Fun Generators
Need a quick random string, a password, or a fun classic kaomoji? Use the built-in offline generator functions.
::roll(20)
insert
Rolls a die with the specified number of sides
Also available as: ::roll(d20)
::roll(4d6)
insert
Rolls multiple dice and automatically inserts their sum
Example: ::roll(4d6) rolls four 6-sided dice
::random(str, n)
insert
Generates a random alphabetical string of length n
Example: ::random(str, 20)
::random(int, n)
insert
Generates an n-digit random number
Example: ::random(int, 10)
::random(alnum, n)
insert
Generates a secure n-character alphanumeric string
Example: ::random(alnum, 16)
::password
insert
Generates a secure 16-character password with special characters
Example: ::password
::uuid
insert
Generates a standard developer UUID string
Example: ::uuid
::random_quote
insert
Insert a random inspirational quote about programming and design
Example: ::random_quote
::random_wiki
openURL
Open a random Wikipedia page instantly in your web browser
Example: ::random_wiki
::magic8ball
insert
Ask Whisp a question and get a random classic Magic 8-Ball response
Example: ::magic8ball
::lorem
insert
Insert a standard Lorem Ipsum placeholder paragraph
Example: ::lorem
Tip: You don't need to memorize these! A smart autocomplete dropdown appears when you type
::.
List & Data Commands
Instantly format and organize lists and data without touching the mouse.
::sort_lines_alpha
replaceAll
Sorts all lines alphabetically
::sort_lines_number
replaceAll
Sorts all lines numerically based on leading numbers
::remove_lines_empty
replaceAll
Removes all empty lines from the document
::dedupe_lines
replaceAll
Removes duplicate lines while preserving order
::checked_to_bottom
replaceAll
Moves all completed [x] tasks to the bottom of the document
::remove_checked
replaceAll
Deletes all completed [x] tasks from the document
::lines_to_commas
replaceAll
Converts a vertical list into a single comma-separated line
::commas_to_list
replaceAll
Splits a comma-separated line into a vertical list
::keep_lines_with(text)
replaceAll
Deletes all lines that do not contain the specified text
Example: ::keep_lines_with([ERROR])
::remove_lines_with(text)
replaceAll
Deletes all lines that contain the specified text
Example: ::remove_lines_with(TODO)
Text Commands
Transform the entire document's text with various formatting options.
::replace
replaceAll
Find and replace text throughout the document
Example: ::replace(old, new)
::append
replaceAll
Add text to the end of every line in the document
Example: ::append(;) adds semicolon to each line
::prepend
replaceAll
Add text to the beginning of every line in the document
Example: ::prepend(- ) adds dash bullet to each line
::uppercase
replaceAll
Convert entire document to UPPERCASE
Example: ::uppercase
::lowercase
replaceAll
Convert entire document to lowercase
Example: ::lowercase
::sentence_case
replaceAll
Convert document to Sentence case
Example: ::sentence_case
::title_case
replaceAll
Convert Document To Title Case
Example: ::title_case
::capitalize_first
replaceAll
Capitalize the first letter of the document
Example: ::capitalize_first
::remove_quotes
replaceAll
Strip surrounding quotes from the entire document
Example: ::remove_quotes
Paper Themes
- Customize the aesthetic of your notes by opening Preferences.
- Whisp supports three minimalist native backgrounds: Blank, Dotted, and Grid.
Dark Mode
- Whisp is built natively for GNOME and will automatically adapt its UI, editor, and paper themes to match your system's global Dark Mode setting.
- The dotted and grid backgrounds dynamically invert to maintain high contrast and readability.
Typography
- You have complete control over the editor font through the Preferences menu.
- Adjust the Line Spacing (1.0 to 2.0) to give your text more breathing room.
Ctrl + , Open Preferences