Home

Awesome

Fountainhead

Contextual screenwriting environment that leverages the speed of Sublime Text and the readability of Fountain, enabling the user to just write.

Inspired by Jonathan Poritsky's Fountain for Sublime Text package.

Compatible with Sublime Text 2 and 3. Optimized for Sublime Text 3.

Help documentation can also be found within Sublime Text at: Tools > Fountainhead > Help.

Note: Even though Sublime Text 3 is in beta, it is extremely stable and is better than 2 in almost every way.

Support for OpenDyslexic Typeface

Fountainhead supports the open source dyslexia typeface, OpenDyslexic. The OpenDyslexic monospaced (and proportional) font can be downloaded here: http://opendyslexic.org

Instructions on how to install fonts are located in Settings - Installing Fonts.

Why Fountain?

John August gives a great explanation on the benefits of writing in Fountain.

Installation

Option A: Package Control

  1. Download and install Sublime Text.

Option B: GitHub

  1. Download and install Sublime Text.

Quickstart

  1. Open or create a new .fountain file.
    • If creating a new file, first save the file with a .fountain filename extension.

Symbol Dictionary

SymbolKey
Return
Command/Cmd/Super
Option/Alt
Control/Ctrl
Shift
Right Arrow
Up Arrow
Down Arrow

Key bindings are displayed as: OSX / Windows/Linux

Fountain Syntax

Fountainhead offers complete support of the Fountain syntax. For a complete overview of the Fountain syntax, go to http://fountain.io/syntax.

Note: Leading spaces and tabs are supported.

What you wantHow to get it
Scene HeadingsStart line with: INT., EXT., EST., INT./EXT., INT/EXT, I/E, . (forced scene heading)
Scene NumbersEnd Scene Heading with: #Scene Number#
ActionParagraph of text (empty line before and after) or force Action by starting line with !
CharacterAll uppercase with empty line before and without an empty line after or force by starting line with @ to allow for names with lowercase letters
Character ExtensionsEnd character line with (O.S., V.O., CONT'D)
DialogueLines of text that are beneath Character or Parenthetical lines
ParentheticalLines of (Parenthetical Text) that are beneath Character or Dialogue lines
Dual DialogueEnd second Character with: ^
LyricsStart line with: ~
TransitionsFADE IN:, FADE OUT., FADE TO BLACK., all uppercase line that ends with: TO:, or force by starting line with: >
Notes[[Note Text]]
Boneyard (ignored text)/*Boneyard Text*/
SectionsStart line with one or more: #
"Act" SectionStart line with: # Act
"Sequence" SectionStart line with: ## Sequence
"Scene" SectionStart line with: ### Scene
SynopsesStart line with: =
Centered Text>Centered Text<
Page BreaksLine that only contains three or more consecutive equal signs: ===
Line BreaksLines can be broken up by using carriage returns
Italics*Italic Text*
Bold**Bold Text**
Bold Italics***Bold Italic Text***
Underline_Underline Text_
*\*
Title PageTitle Page Key that ends with : and precedes its value (Each key can have multiple values by placing them on newlines that are indented 3+ spaces or by a tab)
Title:Title: Title
Credit:Credit: Written by
Author:Author: Author Name(s)
Source:Source: Story by...
Draft date:Draft date: Date
Contact:Contact: Contact Info

###Example:

Title:
    Title 1
    Title 2
Credit: Written by
Author: Author name
Source: Story by...
Draft date: 12/10/2014
Contact:
    Contact Info
    Address Line 1
    Address Line 2

# Act 1

= The introduction of Character

EXT. HOUSE - DAY

Some action text.

CHARACTER
(parenthetical)
Dialogue.

CUT TO:

.Scene Heading

Features

Fountainhead takes care of the formatting, so you just have to worry about the words.

Fountainhead commands can be found by selecting:

Tools > Fountainhead or Tools > Command Palette (⇧⌘P / ⇧⌃P) and entering Fountainhead

All settings can be deactivated and customized by the user, as described in the Settings section.

Automatic Capitalization and Line Spacing

Fountainhead believes in efficiency, and that means doing away with superfluous Shift and Caps Lock usage. It is smart enough to know which elements should be in all uppercase letters. Unless it's the beginning of an action or dialogue sentence, type everything in lowercase, and let Fountainhead handle the super-sizing.

Pressing ⏎ at the end of lines will have the following effect*:

* Pressing ⌘⏎ / ⌃⏎ will produce a normal carriage return.

Element TypeUppercaseLine Spacing
Scene HeadingsYESDOUBLE
ActionNODOUBLE
Characters*YESSINGLE
@ Characters**NOSINGLE
Dialogue***NODOUBLE
LyricsNOSINGLE
ParentheticalNOSINGLE
TransitionsYESDOUBLE
NotesNODOUBLE
BoneyardNOSINGLE
SectionsNODOUBLE
SynopsesNODOUBLE
Centered TextNODOUBLE
Page BreaksN/ADOUBLE
Title PageNOSINGLE

* Supports V.O. and O.S. character elements, which are automatically capitalized.

** Character names that begin with @ will remain as written, but V.O. and O.S. will be capitalized ( e.g., @McDOWELL (v.o.) > @McDOWELL (V.O.) ).

*** Dialogue lines that are not complete sentences have single line spacing. Dialogue line spacing can be changed in settings.

Manual Capitalization

For those times that manual capitalization is needed (e.g., edits), the following commands are provided:

Key CombinationPerforms the Following Action
⌘K, ⌘L / ⌃K, ⌃L*Convert highlighted text to lowercase
⌘K, ⌘U / ⌃K, ⌃U*Convert highlighted text to uppercase
⌘K, K / ⌃K, K**Capitalize the entire line

* The comma is used to separate the sequence of key presses (X,Y is equal to "Press X, and then press Y").

** All commands use lowercase letters (K is equal to pressing k), unless preceded by ⇧/Shift.

The above commands can also be selected through the use of menus:

Tools > Fountainhead > Convert to Lowercase Tools > Fountainhead > Convert to Uppercase Tools > Fountainhead > Capitalize Current Line or Tools > Command Palette (⇧⌘P / ⇧⌃P) and entering Fountainhead: Convert to Lowercase Tools > Command Palette (⇧⌘P / ⇧⌃P) and entering Fountainhead: Convert to Uppercase Tools > Command Palette (⇧⌘P / ⇧⌃P) and entering Fountainhead: Capitalize Current Line

Automatic Escaping of Parentheses, Boneyard, and Notes

Pressing ⏎ when the cursor is directly to the left of the closing ),*/, ]] will automatically escape the element and create a line break.

Pressing ⇧Space is the same as pressing → and will move your cursor to the right (useful for keyboards with Lilliputian arrow keys).

Color Schemes

Fountainhead comes with a variety of custom color schemes, as well as support for all general Sublime Text color schemes.

By default, all custom color schemes are deactivated, allowing you to pick any of Sublime Text's general color schemes by selecting: Sublime Text > Preferences > Color Scheme

Fountainhead's custom color schemes can be chosen by selecting: Sublime Text > Preferences > Color Scheme > Fountainhead > schemes

Note: If you want a color scheme to only appear when working on a .fountain file, you can edit your user settings (explained in Settings), and uncomment the desired color scheme.

You may have to close (save first!) and re-open your screenplay if your color scheme changes are not seen.

Character List

Characters are remembered and can be autocompleted:

  1. When a document is first loaded, wait for the CHARACTERS FOUND! to appear. This process generally takes less than a second.

* This also works for previously entered @ character names that require lowercase letters.

** If you don't want any of the suggestions, just write like normal. You can choose to close the window by pressing Esc.

Sublime Text 3: ⇧⌃C / ⇧⌘C will bring up a pop-up menu that displays all previously entered characters. Pressing Enter or clicking on it will select the character (Tab will not select the character).

If the character list gets out of sync, you can recreate it by selecting:

Tools > Fountainhead > Update Character List or Tools > Command Palette (⇧⌘P / ⇧⌃P) and entering Fountainhead: Update Character List

Scene List

Scenes are remembered and can be autocompleted:

  1. When a document is first loaded, wait for the SCENES FOUND! to appear. This process generally takes less than a second.

* If you don't want any of the suggestions, just write like normal. You can close the window by pressing Esc.

Sublime Text 3: ⇧⌃S / ⇧⌘S will bring up a pop-up menu that displays all previously entered scenes. Pressing Enter or clicking on it will select the scene (Tab will not select the scene).

If the scene list gets out of sync, you can recreate it by selecting:

Tools > Fountainhead > Update Scene List or Tools > Command Palette (⇧⌘P / ⇧⌃P) and entering Fountainhead: Update Scene List

(CONT'D)

By default, (CONT'D)s are added to new characters. If you are loading a screenplay that doesn't have (CONT'D)s added, or have them added incorrectly, you can update your entire script by selecting:

Tools > Fountainhead > Update Character (CONT'D)s or Tools > Command Palette (⇧⌘P / ⇧⌃P) and entering Fountainhead: Update Character (CONT'D)s

You can remove all (CONT'D)s from the script by selecting:

Tools > Fountainhead > Remove all Character (CONT'D)s or Tools > Command Palette (⇧⌘P / ⇧⌃P) and entering Fountainhead: Remove all Character (CONT'D)s*

* If the "contd" Fountainhead setting is not false, a (CONT'D) will be added to all newly typed characters.

Auto-Save

Fountainhead has the ability to automatically save your script after a defined number of keystrokes. By default this feature is turned off, but can be activated in user settings (explained in Settings).

This feature pairs well with an app like Marked 2 that updates its preview every time you save.

Automatic Page Scrolling

Automatic page scrolling is built into Fountainhead, and activates when the cursor reaches the bottom of the screen. Once activated, the page scrolls down until the most recently edited action, character, or scene heading reaches the top of the screen.

Cursor Movement Shortcuts

ShortcutEqual to
Space
Return
Return / ⌃Return"Normal" Return*

* ⌘Return / ⌃Return in the middle of a line of text will add a newline below, without breaking up the text on the previous line.

Quick Navigation to Scenes and Sections

To navigate to a particular scene or section quickly, select: Goto > Goto Symbol... (⌘R / ⌃R). Type the desired scene/section or use ↑/↓, and press Return to select it. Pressing Esc will cancel out of the process.

Show/Hide Boneyard, Synopses, and Notes

Boneyard, Synopses, and Notes can be quickly hidden or revealed by selecting:

Tools > Fountainhead > Boneyard: Show/Hide ( ⌘K then ⌘/ / ⌃K then ⌃/ ) or Tools > Command Palette (⇧⌘P / ⇧⌃P) and entering Fountainhead: Show/Hide Boneyard

Tools > Fountainhead > Synopses: Show/Hide ( ⌘K then ⌘= / ⌃K then ⌃= ) or Tools > Command Palette (⇧⌘P / ⇧⌃P) and entering Fountainhead: Show/Hide Synopses

Tools > Fountainhead > Notes: Show/Hide ( ⌘K then ⌘[ / ⌃K then ⌃[ ) or Tools > Command Palette (⇧⌘P / ⇧⌃P) and entering Fountainhead: Show/Hide Notes

Within user settings (explained in Settings), there is the ability to hide boneyard, synopses, and notes by default.

Text Emphasis

Previously typed words can be highlighted and given the desired emphasis by typing the appropriate * and _ characters. * and _ will wrap automatically around the word(s).

Distraction Free Mode

Sublime Text comes with a distraction free mode: View > Enter Distraction Free Mode(⇧⌃⌘F).

You can create separate settings by editing: Sublime Text > Preferences > Settings - More > Distraction Free*.

* These changes are reflected no matter the syntax. I have found that a "wrap_width": 80 setting works well for distraction free coding as well as screenplay writing.

Settings

A description of Fountainhead's settings are located in the Default Fountainhead Settings file: Tools > Fountainhead > Preferences > Fountainhead Settings - Default

If you want to change any of Fountainhead's settings, you must do so in your Fountainhead User Settings file, or else your changes will be lost whenever Fountainhead is updated:

  1. Open Tools > Fountainhead > Preferences > Fountainhead Settings - Default
  2. Select all of the text: Selection > Select All (⌘A / ⌃A)
  3. Open Tools > Fountainhead > Preferences > Fountain Settings - User
  4. Paste the copied text: Edit > Paste (⌘V / ⌃V)
  5. Comment/Uncomment (⌘/ / ⌃/ or by adding/deleting the // at the beginning of the line) or Edit the value of the setting you want to change (usually true or false)*
  6. Save (⌘S / ⌃S)

* Each setting should only have one active value.

Installing Fonts

The steps below will install fonts onto your system, allowing them to be used in all programs, including Sublime Text.

Mac

  1. Double-click the font file (usually ending in .otf or .ttf)
  2. The Font Book app will open and display the font
  3. Click Install Font on the bottom of the preview window

Windows

Taken from Microsoft.

  1. Open Fonts by clicking the Start button, clicking Control Panel, clicking Appearance and Personalization, and then clicking Fonts.
  2. Click File, and then click Install New Font.
    • If you don't see the File menu, press ALT.
  3. In the Add Fonts dialog box, under Drives, click the drive where the font that you want to install is located.
  4. Under Folders, double-click the folder containing the fonts that you want to add.
  5. Under List of fonts, click the font that you want to add, and then click Install.

Linux (Ubuntu)

  1. Double-click the font file (usually ending in .otf or .ttf)
  2. Font Viewer will launch and display the font
  3. Click Install Font in the lower right-hand corner of the preview window

Key Bindings

You can customize Fountainhead's key bindings by copying the desired default key binding and editing it in your user key bindings. Due to how many key bindings Fountainhead uses, changes made to key bindings can have unexpected results.

Key Bindings can be accessed at:

Tools > Fountainhead > Preferences > Key Bindings - Default Tools > Fountainhead > Preferences > Key Bindings - User

FAQ

Contribute

Support

Feel free to contact me at: derick at unterrible dot com.

License

The project is licensed under the MIT license.