constantworkflow

jump-to-fusion-clean

Jump to Fusion Clean: One-Click Workspace Setup for DaVinci Resolve

When you're jumping between the Edit and Fusion pages dozens of times per day, manually resetting your workspace layout, hiding toolbars, and closing extraneous panels becomes a productivity tax. This script eliminates all workspace setup friction by automatically switching to the Fusion page, loading a custom decluttered layout, forcing single viewer mode, and hiding the toolbar—all in one command.

The Problem

I switched to DaVinci Resolve to escape Adobe's subscription costs and questionable AI practices. The same logic pushed me to learn Fusion as a replacement for After Effects. I now do all motion graphics, compositing, cleanup work, masking, and shot stitching inside Fusion—only falling back to After Effects when clients provide templates I can't rebuild.

But Fusion's default workspace is cluttered. The toolbar takes up vertical space, extra panels (Media Pool, Inspector, Keyframes, Spline Editor) occupy screen real estate I'd rather dedicate to the node graph and viewers. I prefer a minimal setup: two viewers, node graph, nothing else.

The manual process to achieve this workspace requires:

  1. Switch to Fusion page (Shift+7 or click)
  2. Menu bar → "Show Toolbar" (toggle to hide it)
  3. Close extra windows: Media Pool, Inspector, Keyframes, Spline Editor (I have keyboard shortcuts for these, but it's still multiple actions)
  4. Ensure dual viewer mode is active
  5. Load my saved layout preset (if it didn't auto-load)

Total time: 5-10 seconds depending on which panels are open and whether the layout preset loaded correctly. When I'm doing heavy graphics work for QuikTrip social content or AirCo commercials, I jump between Edit and Fusion dozens of times per day. That's 70-140 seconds of repetitive clicking—but the real cost is mental overhead. Every time I switch to Fusion, I have to think about workspace setup instead of immediately starting work.

The Solution

This script uses a hybrid approach—DaVinci Resolve API for page switching and layout loading, AppleScript for UI automation—to execute the entire workspace setup in one command:

  1. Cmd+Space to open Raycast
  2. Type "fusion clean," hit Enter
  3. Resolve switches to Fusion, loads my custom layout, hides the toolbar, forces single viewer mode

Total time: 2 seconds. I can immediately start working on nodes without touching a single menu or keyboard shortcut.

Technical Implementation

This script required solving a problem the Resolve API alone couldn't handle: UI state toggling. The API can switch pages and load layout presets, but it can't force single viewer mode or hide the toolbar. Those actions require simulating user input.

1. Resolve API for Page Switch and Layout Load

The first step uses the official DaVinci Resolve Python API to switch to the Fusion page and load my custom layout preset:

import DaVinciResolveScript as dvr
resolve = dvr.scriptapp("Resolve")
resolve.OpenPage("fusion")
resolve.LoadLayoutPreset("Cole Fusion 2512")

This part is deterministic—the API guarantees the page will switch and the layout will load. But layout presets don't store all UI state. Specifically, they don't enforce single vs. dual viewer mode or toolbar visibility. Those settings can drift based on what I did in the previous Fusion session.

2. AppleScript for UI Automation

To ensure consistent workspace state, the script uses AppleScript to simulate keyboard shortcuts and menu clicks:

tell application "DaVinci Resolve" to activate
delay 0.5
tell application "System Events"
    tell process "DaVinci Resolve"
        # Force Single Viewer (F4)
        key code 118

        # Toggle Toolbar (Hide it)
        try
            if exists menu item "Show Toolbar" of menu "Fusion" of menu bar 1 then
                click menu item "Show Toolbar" of menu "Fusion" of menu bar 1
            end if
        end try
    end tell
end tell

Why F4 for single viewer? Resolve's dual viewer mode is useful when comparing before/after or input/output, but for focused node work I prefer maximizing screen space for a single viewer. The F4 key toggles between single and dual viewer modes. The script presses it programmatically to ensure single viewer is active.

Why toggle the toolbar? The Fusion toolbar (with tools like Rectangle, Ellipse, Text, etc.) is useful for beginners, but I know the keyboard shortcuts and prefer the vertical space for the node graph. The script clicks the "Show Toolbar" menu item (which actually hides the toolbar because it's a toggle) to ensure it's not visible.

3. Timing Buffer for Page Switch

The script includes a 2-second sleep buffer between the Resolve API call and the AppleScript automation:

sleep 2.0

This ensures the Fusion page has fully loaded before AppleScript attempts to simulate keypresses. Without this buffer, the F4 keypress might fire while the Edit page is still active, toggling the wrong UI element (or doing nothing).

DaVinci Resolve's page transitions aren't instantaneous—the UI needs time to redraw panels, load the node graph, and initialize viewer windows. The 2-second buffer accounts for this lag, even on fast machines.

4. Custom Layout Preset: "Cole Fusion 2512"

The layout preset itself defines:

To create a similar layout:

  1. Arrange your Fusion workspace manually (close unwanted panels, resize viewers, position node graph)
  2. Menu bar → Workspace → Save Layout Preset
  3. Name it (e.g., "Clean Fusion")
  4. Update the script to reference your preset name

The "2512" in my layout name is just a custom identifier—it doesn't refer to a specific resolution or config. It's the layout I use on my 2560x1440 monitor, but the name is arbitrary.

Use Cases

I use this script every time I need to do work in Fusion:

Motion Graphics:

Compositing:

Frequency: Daily, dozens of times per day during heavy graphics work. When I'm iterating on a motion graphics piece, I constantly jump between Edit (to see how it fits in the timeline) and Fusion (to tweak animation curves, adjust masks, refine comps). This script eliminates the "workspace reset" tax every single time.

Time Savings

Manual process: 5-10 seconds (page switch → hide toolbar → close panels → ensure single viewer → load layout).

Automated process: 2 seconds (Raycast trigger → automatic workspace setup).

Savings per use: 3-8 seconds.

At a conservative estimate of 20 Fusion transitions per day (likely higher during graphics-heavy projects), this saves 60-160 seconds daily or 300-800 seconds (5-13 minutes) per week.

But the real value is eliminating cognitive overhead. I no longer think about workspace setup when switching to Fusion—the script handles it, and I can immediately start working on nodes. This is especially valuable when I'm in a creative flow state and don't want to break momentum with UI housekeeping.

Why Hybrid Automation? (API + AppleScript)

Some might ask: why not use the Resolve API for everything? Or pure AppleScript?

Answer: The Resolve API is deterministic and fast for page switching and layout loading, but it doesn't expose UI state toggles like single/dual viewer mode or toolbar visibility. Those settings are considered "window preferences" rather than project or page state.

AppleScript is necessary for simulating user input (F4 keypress, menu clicks), but it's slower and more fragile than the API. If Resolve's menu structure changes in a future update, the AppleScript might break. By using the API for what it does well (page switching, layout loading) and AppleScript only for what the API can't do (UI state toggling), the script is both fast and resilient.

Implementation Notes

This script requires:

Creating Your Own Layout Preset

  1. Open DaVinci Resolve and switch to the Fusion page
  2. Arrange your workspace:
    • Close unwanted panels (Media Pool, Inspector, Keyframes, Spline Editor)
    • Resize viewers to your preference
    • Position the node graph where you want it
  3. Menu bar → Workspace → Save Layout Preset
  4. Name it (e.g., "Clean Fusion," "Focus Mode," "Minimal Fusion")
  5. Update the script on line 23:
    resolve.LoadLayoutPreset("Your Layout Name Here")
    

F4 Keypress Customization

If you prefer dual viewer mode instead of single, remove or comment out lines 38-39:

# Force Single Viewer (F4)
# key code 118

Or change it to a different keycode if you've remapped F4 in Resolve's keyboard preferences.

Toolbar Preference

If you prefer the toolbar visible, remove or comment out lines 41-47:

# Toggle Toolbar (Hide it)
# try
#     if exists menu item "Show Toolbar" of menu "Fusion" of menu bar 1 then
#         click menu item "Show Toolbar" of menu "Fusion" of menu bar 1
#     end if
# end try

Why This Matters

This script doesn't just save seconds—it removes decision fatigue from creative work. When I'm editing a QuikTrip spot and realize I need to add a lower third, I don't want to think about workspace setup. I trigger the script, Fusion opens in my preferred state, and I immediately start building the graphic.

For anyone working in Fusion daily—whether for motion graphics, compositing, or VFX—this automation pays for itself the first time you avoid manually resetting your workspace mid-project.

The hybrid approach (Resolve API + AppleScript) demonstrates a key principle of automation: use the best tool for each layer of the problem. The API handles what it does well, AppleScript fills the gaps, and the result is a seamless one-command workspace setup that feels native to Resolve.