Back to ThoughtJunkie
Power User Guide

Mastering
Hotkey Chains

Stop clicking through menus. Wire a single keystroke to spawn a fully styled, named, sized, colored, glowing node — instantly. This is speed mapping.

1 Keypress
19 Available Actions
Custom Chains
01 · The Case for Speed

Thought moves faster than your mouse

Every time you reach for a menu, you break the thread. A half-formed idea waits while you navigate sub-menus, pick a color, choose a shape, adjust the size. By the time the node looks right, three other thoughts have slipped away. Hotkey Chains collapse that entire sequence to a single keystroke fired at the speed of thought.

01 · The Problem
The Menu Tax
Every styled node you create without hotkeys costs you 6–12 individual clicks and 3–5 seconds. Across a focused 30-minute session, that's hundreds of lost seconds — and hundreds of micro-interruptions to your flow state.
02 · The Solution
Chains Eliminate the Tax
A hotkey chain bundles every action — create, name, color, shape, size, glow — into one press. You stay in the map. Your hands stay on the keyboard. Your thoughts keep moving forward without waiting for the interface to catch up.
03 · The Muscle Memory
Your Fingers Learn Your Workflow
After a few sessions, chains stop feeling like shortcuts and start feeling like instincts. Ctrl+T means "task" the same way Ctrl+S means "save." Your brain maps the key to the concept, not to the sequence of actions.
04 · The Compounding Effect
Templates for Your Thinking Style
Build a library of chains that matches how you think. Quick idea nodes, urgent alerts, project milestones, journal moods — each as a single key. Over time your whole mapping vocabulary becomes available at your fingertips.
🐌 Without Hotkey Chains
With a Hotkey Chain
1 Right-click → Add Child Node
2 Double-click to edit text
3 Type "⚠️ Important"
4 Open Color Picker → choose Red
5 Open Shape Dialog → select Diamond
6 Drag resize handle to 120px
7 Open Intensity → set to 5
8 Click away to deselect
1 Press Ctrl+1
⏱ ~8 actions · 6–10 seconds
⚡ 1 keypress · <0.1 second
02 · Under the Hood

What a chain actually is

A hotkey chain is a named list of actions saved to a JSON config file and bound to a keyboard shortcut. When you press the key, ThoughtJunkie runs every action in sequence against the currently selected node — in order, instantly, without user input for each step.

⚙️ ANATOMY OF A CHAIN — "Important Node" (Ctrl+1)
Ctrl+1
1 add_node "⚠️ Important"
2 set_shape diamond
3 set_color #ef4444
4 set_intensity 5
5 set_size 120
5 actions · executed in ~8ms · stored in hotkeys.json
📄 HOW IT LOOKS IN hotkeys.json
// Each chain is keyed by its shortcut "Ctrl+1": { "name": "Important Node", "description": "Create important/urgent node", "actions": [ { "action_type": "add_node", "params": { "text": "⚠️ Important" } }, { "action_type": "set_shape", "params": { "shape": "diamond" } }, { "action_type": "set_color", "params": { "color": "#ef4444" } }, { "action_type": "set_intensity", "params": { "intensity": 5 } }, { "action_type": "set_size", "params": { "size": 120 } } ] }
03 · The Building Blocks

All 19 action types

Every action in the Action Editor maps to one of these. Mix and match them in any order to build exactly the node type your workflow needs.

add_node Create
Adds a child node to the selected node. Optionally pre-fills the label text.
↔️ add_sibling Create
Adds a node at the same level as the selected node, under the same parent.
✏️ set_text Style
Replaces the selected node's label with a specified string.
🎨 set_color Style
Sets the node's fill and glow color using any hex value (e.g. #ef4444).
🔤 set_text_color Font
Sets the color of the text label independently from the node fill color.
🔡 set_font_family Font
Changes the label font to any installed font family.
🔢 set_font_size Font
Sets label font size in points. Works independently from node size.
𝐁 set_bold Font
Toggles bold on the label. Pass bold: true to force on, or omit to toggle.
set_shape Style
Sets the node shape. Options: circle · square · diamond · hexagon · heart.
📐 set_size Style
Sets the node diameter in pixels. Range: 60 (minimum) → 600 (maximum).
set_intensity Style
Sets the glow intensity (0 = none, 5 = max pulsing glow). Stacks with node color.
🖼️ set_image Style
Loads an image from a file path and fills the node with it.
📋 quick_image Style
Grabs whatever image is on your clipboard and applies it to the node immediately.
😊 set_mood Style
Tags the node with a mood (Hopeful, Anxious, Inspired, etc.) which also sets color and intensity.
🔄 auto_arrange Flow
Radially arranges all children of the selected node. Set the radius (default 200px).
🎯 focus_node Flow
Centers and zooms the view to the selected node. Great at the end of a chain.
💾 save Util
Triggers an immediate save of the current tab's data.
🗑️ delete_node Util
Deletes the currently selected node. Use with caution in chains.
📝 edit_node Util
Opens the text edit dialog for the selected node. Useful as the final action to prompt immediate labeling.
04 · Batteries Included

The default chains — ready on day one

ThoughtJunkie ships with these production-ready chains. Use them as-is, or study them as templates to understand how to build your own.

Ctrl+T
Task Node
A square amber node with a subtle glow — instantly identifiable as an action item
4 actions
Task
1 add_node → text: "Task"
2 set_shape → square
3 set_color → #f59e0b (amber)
4 set_intensity → 2 (subtle glow)
Ctrl+I
Idea Node
A glowing golden circle for capturing sparks of inspiration at full intensity
4 actions
💡
1 add_node → text: "💡 Idea"
2 set_shape → circle
3 set_color → #fbbf24 (gold)
4 set_intensity → 4 (strong glow)
Ctrl+1
Important Node
Large red diamond with maximum glow — impossible to miss in any map
5 actions
⚠️
1 add_node → text: "⚠️ Important"
2 set_shape → diamond
3 set_color → #ef4444 (red)
4 set_intensity → 5 (max glow)
5 set_size → 120px (prominent)
Ctrl+Q
Question Node
A purple hexagon for open questions, uncertainties, and things to research
3 actions
1 add_node → text: "❓"
2 set_shape → hexagon
3 set_color → #8b5cf6 (purple)
Tip: The default chains are saved to data/hotkeys.json. You can edit that file directly, or use the Hotkey Dialog in-app to modify them. A backup is auto-created at hotkeys_backup.json on every save.
05 · Step-by-Step

Build your first custom chain

We'll build a "Journal Entry" chain from scratch — a teal heart node with your name and a soft glow, spawned instantly while journaling.

01
Open the Hotkey Dialog
In the app, press Ctrl+H or navigate to Tools → Hotkey Manager. The dialog shows your existing chains on the left panel and the action editor on the right. This is your chain-building workbench.
02
Create a New Chain
Click "+ New Chain". A blank chain appears with placeholder fields. Give it a name ("Journal Feeling"), a description ("Mood node for daily journal"), and click the key capture field — then press your desired hotkey combination. For this example, use Ctrl+J.
Key Combinations: Single keys (G, H, 3), Ctrl combos (Ctrl+J), Ctrl+Shift combos (Ctrl+Shift+J), and function keys (F3, F4) are all valid. Avoid Ctrl+Z (undo), Ctrl+S (save), and Ctrl+C/V/X (clipboard) as they're reserved.
03
Add Your First Action: Create the Node
Click "+ Add Action". In the Action Editor, select add_node from the dropdown. Enter "😊 Feeling" in the text field. Click Save Action. This is step 1 of your chain — it creates the node with a pre-filled label.
04
Stack More Actions
Add these actions one by one using the same "+ Add Action" workflow. Each gets added to the numbered list in sequence.
Action sequence — "Journal Feeling" chain
1. add_node → text: "😊 Feeling" 2. set_shape → heart 3. set_color → #14b8a6 (teal) 4. set_intensity → 2 (soft glow) 5. set_size → 90 (medium) 6. set_mood → 😌 Peaceful
05
Reorder if Needed
Actions execute top-to-bottom. Use the ▲ / ▼ buttons next to each action to reorder them. The only hard rule: add_node or add_sibling must come first if you want to style a new node. Styling actions on an existing selection can go in any order.
Order matters for edit_node: If you end your chain with edit_node, it will open the text editor immediately after the chain fires — perfect for chains that need custom labels every time.
06
Test It Live
With a node selected in your map, click "🧪 Test Chain" in the dialog. The chain fires on your selected node immediately so you can see the result without leaving the dialog. If something's wrong, edit the action, test again.
07
Save and Use It
Click "💾 Save Chain". The chain is written to hotkeys.json and the shortcut is registered immediately — no restart required. Select any node and press Ctrl+J. Watch all 6 actions execute at once.
06 · Inspiration

Chain recipes for common workflows

Copy these directly into your Hotkey Dialog, or use them as a starting point for your own.

📅
Daily Journal Anchor
Start of every journaling session — plant the root node
Ctrl+D
1 add_node → "📅 Today"
2 set_shape → hexagon
3 set_color → #3b82f6 (blue)
4 set_intensity → 3
5 set_size → 140
6 auto_arrange → radius 220
7 focus_node
✦ One press creates your day's hub, arranges space for children, and zooms in.
🔥
Urgent Blocker
Something must happen before you can move on
Ctrl+U
1 add_node → "🔥 BLOCKER"
2 set_shape → diamond
3 set_color → #ef4444
4 set_intensity → 5
5 set_size → 130
6 set_bold → true
7 edit_node (opens label editor)
✦ Creates a max-glow red diamond then immediately lets you type what the blocker is.
💡
Quick Insight Capture
An idea just hit — capture it before it disappears
Ctrl+Space
1 add_node → "💡"
2 set_shape → circle
3 set_color → #fbbf24
4 set_intensity → 4
5 edit_node
✦ Minimal chain — drops a glowing bulb and immediately opens the editor. Zero friction.
🌿
Mood Check-In
Log how you're feeling right now in the journal
Ctrl+M
1 add_node → "🌿 Feeling"
2 set_shape → heart
3 set_color → #10b981
4 set_mood → 🌿 Grounded
5 set_intensity → 2
✦ Instantly logs a mood node tagged to the current date — builds your mood timeline over time.
🧩
Project Milestone
Mark a meaningful step forward in any project
Ctrl+Shift+M
1 add_node → "🧩 Milestone"
2 set_shape → square
3 set_color → #8b5cf6
4 set_intensity → 3
5 set_size → 100
6 set_font_size → 10
7 edit_node
✦ A consistent visual language for milestones makes project maps instantly scannable.
Research Thread
A question that needs investigation — don't lose it
Ctrl+R
1 add_node → "❓ Research"
2 set_shape → hexagon
3 set_color → #6366f1
4 set_intensity → 2
5 set_text_color → #e0e7ff
6 edit_node
✦ Purple hexagons stand out as "open threads" — easy to spot and chase down later.
07 · Go Deeper

Pro tips for power mappers

🗂️
Build a Vocabulary
Design your chains as a visual language. Red diamonds = blockers. Gold circles = ideas. Teal hearts = moods. Once consistent, your maps become scannable at a glance without reading a single label.
End with edit_node
Any chain that creates a node benefits from edit_node as the final action. The node spawns fully styled, then the editor opens immediately — you fill in the specific label without extra clicks.
📐
Use Size to Signal Priority
Map set_size to urgency: 80px for minor notes, 100px for normal, 120px for important, 150px for critical. Combine with intensity for a full visual hierarchy system.
🔄
Styling-Only Chains
Chains don't have to create nodes. A chain of just set_color + set_intensity + set_size fires on the selected node — instantly restyling it. Use single letters (G, R, P) for quick recoloring.
🖼️
Image + Style in One
Combine add_node + quick_image into a single chain. Copy an image to clipboard first, then fire the chain — the node spawns and the clipboard image fills it automatically.
💾
Auto-Save at End
Add save as the last action on chains you use frequently. Any important node you spawn is immediately persisted. Zero chance of losing it to an unexpected close.
🌀
Arrange + Focus
End hub-creating chains with auto_arrangefocus_node. The children spread into a clean radial layout and the view zooms in — your map organizes itself as you build.
🔑
Key Grouping by Context
Group related chains under a modifier prefix: all Ctrl+Shift+* for project chains, all single-letter keys for quick restyling, Ctrl+* for creation chains. Your fingers learn the zones.
🧪
Test Before You Map
Always use the 🧪 Test Chain button before saving. It fires on your currently selected node live in the map so you see the exact output. Saves you from discovering a color is wrong after 20 nodes.
08 · Quick Reference

Default chains cheat sheet

⚡ Built-In Hotkey Chains

All active on first launch
Shortcut Chain Name Creates Actions
Ctrl+T Task Node Amber square add · shape · color · glow
Ctrl+I Idea Node Gold circle, high glow add · shape · color · glow
Ctrl+1 Important Node Red diamond, 120px, max glow add · shape · color · glow · size
Ctrl+Q Question Node Purple hexagon add · shape · color
C Circle Shape Restyling: sets selected → circle shape only
S Square Shape Restyling: sets selected → square shape only
3 Diamond Shape Restyling: sets selected → diamond shape only
N Hex Shape Restyling: sets selected → hexagon shape only
H Heart Shape Restyling: sets selected → heart shape only
G Green Recolor: sets selected → #1c8b36 color only
R Red Recolor: sets selected → #bc0000 color only
P Purple Recolor: sets selected → #6c36a2 color only
M Pink Recolor: sets selected → #ffaaff color only
T Edit Node Opens text editor on selected node edit only
Ctrl+Shift+V Paste Image Creates node with clipboard image quick_image