====== Screenwriter ====== One of the most universal and simple solutions for writing screenplays is [[http://www.nongnu.org/screenwriter|Screenwriter]], a fork of Screenplay-Mode by Vance L. Simpson. Screenwriter is a plugin for the famous GNU Emacs text editor (or in Emacs terminology, it is a [major] "mode"). Screenwriter mode is easy to use, efficient, and works on any and every platform that the ubiquitous and revered GNU Emacs works on. ===== Strengths [Weaknesses] ===== **WYSIWIG** Write screenplays with on-the-fly formatting, but in the universal format of plain text. This is not a markup language, so what you see is what you will get on the page. **Plugin** Screenwriter is a plugin for an existing popular editor, meaning that there's nothing to install aside from one ''.el'' file. And if you're using Emacs on a daily basis anyway, this fits nicely in with your existing workflow. **Simple** Emacs is a complex editor, with a high ceiling that frightens many tech-hesitant users, but Screenwriter mode is easy to use and involves only the simplest keyboard shortcuts. ===== Weaknesses [Strengths] ===== **Formatted** Plain text is eternal, but Screenwriter //does// format the text, so the output is intended for print. It being plain text, the formatting can be easily reversed, but Screenwriter output is not as unstructured as [[fountain|Fountain]] markup. **Emacs** There's no denying that the Emacs interface is unique. Even though Screenwriter uses only the most basic features of Emacs, it's common for users to find complexity in the most unexpected places. For a more familiar interface that acts more like a modern word processor, try [[trelby|Trelby]]. ===== Install ===== If you are running a default install of Slackware, as Slackermedia recommends, then you will have Emacs installed already. If you have not installed Emacs, you will find it in the ''e'' package set and is available on your install media, Slackpkg, or directly from a [[http://mirrors.slackware.com/slackware|Slackware mirror]]. Installing ''.el'' files for Emacs is as simple as placing the ''.el'' in a user-owned ''~/elisp'' directory, and then adding that ''~/elisp'' directory into Emacs's load directory if it is not already there: $ mkdir ~/elisp $ wget http://nongnu.org/screenwriter/download/screenwriter-X.Y.Z.tar.gz $ tar -xf screenwriter-X.Y.Z.tar.gz $ mv ./screenwriter-mode/screenwriter.el ~/elisp $ echo "(add-to-list 'load-path \"~/elisp\")" >> .emacs $ echo "(require 'screenplay)" >> .emacs ===== Usage ===== Start Emacs from either the **K Menu** or from a terminal. Once Emacs is open, press ''alt'' ''x'', and type ''screenwriter-mode''. You are now in screenplay-mode and can write in proper screenplay format. [{{ screenwriter.jpg | Screenwriting in Emacs. }}] There are three elements in screenplays: * Slug Lines - scene headings, such as INT. CAFE - NIGHT * Screen Direction (or "action") - text describing what a character is doing physically during a scene * Dialogue - heavily indented blocks of text in which characters speak * Transitions - FADE IN, FADE OUT, DISSOLVE TO, and so on Accessing each element is done with keyboard commands that can be easily remembered with the mnemonic (more or less) **SAD**: * ''ctrl'' ''c'', ''s'' Slugline * ''ctrl'' ''c'', ''a'' Action (Screen direction) * ''ctrl'' ''c'', ''d'' Dialogue Plus the straggler, and infrequently used: * ''ctrl'' ''c'', ''t'' Transition Or for refugees of closed source screenwriting applications that used the ''Tab'' key for control: * ''tab'', ''return'' Slugline * ''tab'', ''tab'', ''return'' Action * ''tab'', ''tab'', ''tab'', ''return'' Dialogue * ''tab'', ''tab'', ''tab'', ''tab'', ''return'' Transition Regardless of how you trigger different line types, whitespace is handled for you; there is no need to explicitly place a blank line between the actor's lines, or between a slugline and the beginning of the action, and so on. ===== Streamlining Screenwriter ===== Make ''screenwriter-mode'' a quicker launch from within emacs by adding a global keyboard shortcut for it, and defining the expected file suffix in your ''~/.emacs'' file: ; quick and easy way to enter screenwriter-mode (global-set-key (kbd "") 'screenwriter-mode) ; open .scp or .screenplay ; files in screenwriter-mode (setq auto-mode-alist (cons '("\\.scp" . screenwriter-mode) auto-mode-alist)) (setq auto-mode-alist (cons '("\\.screenplay" . screenwriter-mode) auto-mode-alist)) Save your ''.emacs'' file and launch Emacs. Pressing ''F5'' should place you in Screenwriter mode. Save a sample screenplay (''sample.scp'', for example), and then close Emacs. Open Emacs again and open a file via the **File** menu → **Open File** or by using the ''ctrl'' ''x'' ''ctrl'' ''f'' key sequence. Open your ''sample.scp'' and note that Emacs opens it in ''screenwriter-mode''. In Dolphin, right-click on ''sample.scp'' and choose ''Open With Emacs''. The file will be opened in ''screenwriter-mode'' in Emacs. However, default KDE uses the much faster single-click method, so it would be nice if a single click on any ''.scp'' or ''.screenplay'' file would open in Emacs, and Emacs in turn would start Screenwriter mode. Emacs is already set for ''.scp'' and ''.screenplay'', so only KDE needs to be configured: - Open ''System Settings'' and click the ''File Associations'' icon. - Click the **Add...** button on the left of the panel to add a new file type. - Place your new file type in the **Text** category. It will be placed at the bottom of the text list; select it and configure it on the right side of the panel. - You may give your file type a custom icon or just use the default. - Define the file extension as both ''*.scp'' and ''*.screenplay'' (or whatever custom extension you want to use, if neither of these appeal to you). - Give the **Application Preference Order** a sensible set of applications. The documents are in plain text, so they may be opened in any text editor; **Emacs** as the first is obvious, but **Kate** and **KWrite** are likely candidates for fallback applications. - Click the **Apply** button in the lower right corner to save your configuration. Now if you click on ''sample.scp'' from Dolphin, KDE will open the file in Emacs, and Emacs will enter screenwriter-mode upon detecting the ''.scp'' suffix. You now have a screenplay authoring program for Slackermedia, and quite likely for any other platform you could possibly run. ====== Screenplay-Tools ====== The ''screenplay-tools'' suite is a set of shell scripts to help with page breakdowns, scheduling, and planning a shoot. They are bundled with ''screenwriter-mode'' but do not run in Emacs. They run in a terminal. Full documentation is included in the download, and also on [[http://www.nongnu.org/screenwriter/tools/intro.html]]. **See Also** \\ [[trelby|Trelby]] \\ [[fountain|Fountain]] [[screencapture|R]] [[start|S]] [[scribus|Q]]