Licence: GPL
Version 3.0.8 | Release Date: 2012-03-08 | Download

New in this version: Bugfixes, Enhancements, German Localization.
Localized for: Chinese, French, German, Polish, Slovak.

Version 2.4.4 | Release Date: 2011-07-12 | Download

Bean 2.4.4 is a bugfix release and is the last version of Bean intended to be compatible with OS X 10.4 Tiger (unless a bugfix release for the Bean 2.4.x series is required for compatibility with 10.7 Lion).

There is a beta release of the next major version of Bean, Bean 3 (version numbered Bean 2.9.x), available at the website, if you don't mind running beta (unstable) software. Note that the new file formats in the Bean beta are not completely backwards compatible with version 2.4.4 of Bean, which ignores some information when reading files created by Bean 2.9.x+. Specifically, Bean 2.4.4 ignores free-form headers and footers, images saved in .rtf format and .doc format files, and document presentation information saved as extended file attributes (such as cursor location, whether alternate colors are being used, etc.). Also, auto-updating date tokens are not replaced.

• Fixed a problem where Find Next in the Find panel could misbehave due to some missing brackets in the TextFinder class code. This fix has been noted in the code as well.
• Corrected tab order of controls in Find panel.
• Removed various non-functional help buttons (they stopped working when I had to restructure the help system to work with localizations under 10.6).
• Fixed a problem with saving to the WebArchive format where saving with a white background, or no background, could produce a black background.
• Fixed a problem with toolbar icon validation (Thanks, CF) and a few other small code problems noted in the code.
• Files in the .bean format can now be searched with Spotlight for content and keywords.
• Edit > Paste & Match Style now also responds to standard Apple keyboard shortcut.
• Bean no longer automatically associates .rtf and .rtfd files with using the circuitous mechanism provided by the Finder. This association could only be done using an Applescript, and Bean could crash if the app was quit quickly after an initial save (while the Applescript was loading into memory). There is a hidden preference setting which restores the old behavior: quit Bean and paste this command into a session (change YES to NO to un-enable the old file association behavior again):

defaults write com.SevenYearsDreaming.Bean prefShouldAssociateFileWithBean -bool YES

• If you are not seeing filename extensions in the Save panel under 10.5+, you may need to select Finder > Preferences > Advanced > Show all filename extensions. This controls whether the Save panel gives you the option to reveal filename extensions.
• Localizers: there are no significant changes to the user interface in Bean 2.4.4; it is a bugfix release. The Italian and French localizations were updated slightly (sorry about the delay, fellows).

Version 2.4.2 | Release Date: 2009-11-30 | Download

Changes (to accomodate OS X 10.6 Snow Leopard)

  • Under Snow Leopard, Bean by default now does automatic text substitution (for example, substituting ‘the’ for ‘teh’ or changing© to ©). Text substitutions are controlled at System Preferences > Language & Text > Text > Symbol and Text Substitution. Substitution can be turned off during an editing session by unchecking Substitutions > Text Replacement in the context menu of the document. There is a hidden preference setting which disables text substitutions for all documents: quit Bean and paste this command into a session (change NO to YES to re-enable it):

    defaults write com.SevenYearsDreaming.Bean prefTextReplacement -bool NO

  • Similarly, under Snow Leopard, typographic dash substitution (off by default) can be enabled by using this command:

    defaults write com.SevenYearsDreaming.Bean prefDashSubstitution -bool YES

  • Under Snow Leopard, when you double-click a document icon in the Finder, the filename extension determines what application opens the file. This means that an .rtf or .rtfd document created in Bean opens (by default) in Text Edit. Since this is probably not the expected behavior, I’ve changed the code so that .rtf and .rtfd files saved in Bean now open in Bean (by using the Finder’s ‘Open With…’ override). Files in other formats saved by Bean will still open in the default application associated with that file (usually, Text Edit). To disable this behavior, quit Bean, and paste this command into a session (change NO to YES to re-enable it):

    defaults write com.SevenYearsDreaming.Bean prefAssociateDocumentWithBean -bool NO

    Note that you can associate all document files of a particular type (that is, having the same filename extension) with a different default application by using the ‘Change All…’ button in the Finder’s ‘Get Info…’ panel.

  • Services

    • Under OS X 10.6 Snow Leopard, you must enable the individual Services offered by Bean if you wish them to appear in the Services menu and the document’s context menu (see System Preferences > Keyboard > Keyboard Shortcuts > Services). To review, Bean offers the following services: New Bean Document Containing Selection, Paste Selection into Current Bean Document, HTML Snippit from Selection, HTML+CSS Snippit from Selection, Recover Text from Selected File.
    • The ‘Lorem Ipsum’ service, although useful in concept, no longer works correctly under Snow Leopard and has been removed. This is apparently due to a Snow Leopard bug which prevents an app from vending a text-transformation service to its own documents, resulting in a freeze (rdr://7355325).


    • Spotlight now indexes the contents of .bean format files.
    • Fixed a bug where the preference ‘Suggest filename at first save’ did not work under Snow Leopard.
    • Fixed a bug where resizing an image would temporarily blur it under Snow Leopard.
    • Fixed some leaks revealed by Static Analysis.
    • Fixed a problem where the List Marker… panel could appear on the Find/Replace window instead of a document window.
    • Tried to fix internationalized help files…it seems like sometimes they work, sometimes they don’t, even when the help caches cleaned
    • Fixed a permissions glitch that could cause the Italian localization not to work.
    • Fixed a problem with alternate colors that could cause erratic behavior in Bean and produce ’-redComponent not defined’ console error message.


    • Because this is a bugfix release, no changes were made to the user interface in this version that require changes to the included localizations.
Version 2.3 | Release Date: 2009-05-31 | Download


  • added Date/Time toolbar icon, which inserts date/time (select the date/time format from the icon's popup menu) (user suggestion)
  • Option key + view scale slider will now change view scale in rounded 25% increments; use this for example to set the view scale at exactly 100%
  • Shift + Enter is now the keyboard shortcut for inserting a 'line break' (a soft return) which causes a new line of text without creating a new paragraph (user suggestion)

Changes/Bug Fixes

  • Highlight toolbar icon now has 'None' option (that is, remove highlight) in icon's popup menu (user suggestion)
  • the method for applying a custom highlight color to selected text has changed: use Shift + Option + select a color from the color panel (instead of the previous Option + select a color from color panel). This makes a bug less likely where the highlight color becomes the same as the text color, making text illegible. (user reported)
  • Text List improvements/fixes
    • Format > List > Numbered/Bulleted can now create lists without a text selection (user suggestion)
    • font changes applied just after the text list marker are no longer rejected, and new list items created with a Return now inherit their font from the tail of the previous list item (and from the preceding tab thereafter). This avoids the Cocoa text system inconvenience where a cached font used for creating the list markers spills into new text list items (compare Text Edit). Note: under Tiger, the old behavior of restricting font changes after the marker remains as this works around a more severe bug where the font Lucida Grande appears in text list items when it shouldn't. (user reported)
    • Format > List > Indent/Unindent now works with multiple selected list items and in multiple selection ranges (user suggestion)
    • re-enumeration of list markers is attempted when a list item is cut or deleted
    • Format > List > Move Item Up/Down behavior is less buggy (Leopard only)
  • Find/Replace panel improvements/fixes
    • the text of a found match can now be referred to in the Replace text field as \0 (that's the digit zero, not the letter 'oh') when Match Patterns (Regex) is active; in other words, the text of the found match will be substituted for its symbol in the text to replace it. For example, Find: bad; Replace: not \0 at all; Result: not bad at all.
    • Find All/Replace All (in Selection) now works on multiple text selections, not just the first text selection (user suggestion)
    • fixed a bug where Replace would replace the next found match if the current text selection did not match the Find field text. Instead, Replace now highlights the next match without replacing it; click Replace again to actually replace the found match.
  • fixed a problem where inserting large images into a paragraph with line spacing greater than 1 in layout view would cause subsequent text to 'disappear.' (Text Edit also has this problem.) Incidentally, note that you can use the Inspector's Force Line Height / At Most control to limit the space above inline images to a reasonable amount (otherwise, double-spaced text, for example, will create a line spacing that is double the height of an inline image, which may be too much). (user reported)
  • Center Cursor Vertically is now disabled when Layout view is hidden in OS X 10.4 (Tiger); this is because there was a bug under Tiger that caused the scroller to misbehave that I could not fix
  • fixed a bug where Font > Strikethrough would sometimes not work (user reported)
  • fixed a bug where the File > Special New > Plain Text / Plain Text from Pasteboard commands would not work in localized versions (user reported)
  • fixed a bug where a document could be saved in full screen mode with alternate colors on, even though that document should open in windowed mode with alternate colors off (user reported)
  • fixed a bug involving undoing a change of margins with layout mode off


  • fixed code so the final dummy item in the Find panel's patterns menu is no longer required
  • (UI) Page Up/Page Down buttons below scroller at last have their own subview
Version 2.2.0 | Release Date: 2009-03-07 | Download

• new Find/Replace panel, with these features:
- pattern matching (regular expressions) allows easy searches for text that contains tabs, returns, pagebreaks, images, word boundaries, etc. Also search for text using character and digit wildcards, beginning and ending of line symbols, alternate spellings, etc. Complex search patterns can be created by combining these symbols. Tutorials on the use of regular expressions can be found on the internet.
- Patterns… drop down menu in Find panel inserts pattern matching symbols
- Select All, Replace All (In Document/In Selection Only) functions are better exposed than before
- Invisible characters (tab, return, space, non-breaking space) are visible when editing search fields
• File > Export > to HTML without Styles will export a file to pure HTML, with no embedded CSS styles (for when you have a separate style sheet)
• Services > Bean > HTML Snippit with/without Styles from Selection converts selected text from a word processor or web browser etc. to an HTML snippit. ‘With styles’ includes styles as inline CSS, while ‘without styles’ omits all CSS, leaving pure HTML. Note: new Service menu items appear after logging out and logging back in again.
Bug Fixes
• fixed a bug that could cause window display problems: minimum document window size is now set programmatically (nib setting kept disappearing)
• fixed many localization issues. Special thanks to Patrick Scheips for his help here.
• revised localization instructions (contrary to the first version, MainMenu.nib should be localized)
• TextFinder.[hm] class (along with the Find Panel interface files) is BSD license, in keeping with more permissive licenses of previous modifications of TextFinder by other programmers and of RegExKitLite and ICU, which Bean’s Find panel uses for regular expressions
Localizations added
• German, translation by Patrick Scheips
• Chinese (Simplified), translation by Yunxuan He (贺 昀轩)

Version 2.1.0 | Release Date: 2009-01-27 | Download

Added 'help' buttons in Preferences tabs; removed redundant tooltips.

Version 2.0.5b | Release Date: 2009-01-25 | Download

fixed a problem introduced in 2.0.4 that prevented the visible text range from being restored when entering full screen mode (oops)

Version 2.0 | Release Date: 2008-12-31 | Download
No changes specified
Version 1.3.3 | Release Date: 2008-06-20 | Download
  • Fixed a severe bug that would crash Bean when editing text lists in Alternate Colors mode (the bug originated in the new Alternate Colors code added in 1.3.1); this same bug would crash Bean when various dead keys were used for adding accents in Alternate Colors mode
  • Added LSHandlerRank=alternate to Word 97 info.plist section (it had been omitted by mistake); this should distance Bean’s association to the .doc format a bit more (giving priority to MS Word)
Version 1.2 | Release Date: 2008-04-29 | Download
  • images now indicate when they are selected with a selection-colored box (user suggestion)
  • added a small ‘EXIT’ button in the status bar as a hard-to-miss way to exit full screen mode
  • Find > Define Word now accepts multiple word selections, like ‘local time,’ or ‘turn on the charm’
  • added Style > Select by > Font Style/Ruler
  • added Style > Select by > Font Family/Ruler (like above, but selects italics, bold, etc. variations)
  • Changed the factory default rich text font to Times New Roman instead of Times. Text lays out up to three times faster using Times New Roman, despite the fact that the two fonts are nearly identical!
  • new keyboard shortcut for Format > Justify: Cmd-\ (the old one stopped working after the move to the 10.5 SDK)
  • Style > Select by... menu now contains all select-by-style actions
  • restored show/hide Font Panel action to Cmd-T (toggle function disappeared after the move to the 10.5 SDK)
  • fixed a problem where Inspector wouldn’t display correct initial settings for any document opened with the cursor at the start of the document
  • file links containing spaces now open immediately
  • fixed minor ruler widgets drawing problem
Version 1.1.0 | Release Date: 2008-04-16 | Download

added OpenDocument and Word 2007 file format support (in OS X 10.5 Leopard only)
shrink the Inspector: click the disclosure triangle to hide all Spacing controls
added Edit > Insert > Signature Line menu action (user suggestion)
added new header option: Subject (from Get Properties...)
new toolbar items: Full Screen, Get Properties..., Show Invisibles (I’m to blame for the icons for these - JH)
Inspector controls now work even when a document is empty
updated the Help file (the File Formats page describes the new formats)
Bug Fixes
the context menu you see when double-clicking a page’s margin in layout view is now localizable
removed some stray NSLog debug messages!
various fixes to help the Inspector follow changes better

Code: Bean’s Xcode project now uses the 10.5 SDK (for .odt and .docx support), but still targets OS X 10.4

Localization: I’ve tried everything I could find, short of coding an app from scratch, to create an incremental localization that combines the past translation work done on Bean with the new English version, so that only new controls and strings have to be translated. Apparently, there are just too many changes since the last version, and ibtool is too persnickety about slight changes in position of controls, etc. to be useful. If one of the many translators who volunteer to translate Bean has a solution to this problem, please let me know.

Version 1.0.1 | Release Date: 2008-03-27 | Download

Version 1.0.1 (26 March 2008)

Bug Fixes

  • fonts in Inspector’s popup menu were not sorted a-z on Tiger (but were on Leopard!), now fixed
  • disabled font controls in Inspector when there is no text

Version 1.0.0 (25 March 2008)


  • added Help file for all menu commands
  • link sheet now removes any previous link from text when link URL is left empty
  • new option: Preferences > View > Show invisible characters> Omit spaces
  • new icon for Cut in toolbar
  • added Please Wait... sheet which appears when Bean is paginating long documents
  • added Preference to paginate in the background while typing (General > Use background pagination). This is recommended only for fast (i.e., Intel) processors!
  • headers and footers now appear in Layout view when enabled
  • if you click on the page margin in Layout view, a context menu pops up with various useful options (such as quick access to the header/footer controls)
  • added value of 1.2 to line spacing options, commonly considered the most readable setting for most fonts (user suggestion)


  • exiting full screen will now restore Layout view if necessary

Bug Fixes

  • fixed a (recent) major bug where opening a file type not supported by Bean would appear to produce an open, empty document
  • rewrote the Format > List > Move Up / Move Down code to be more reliable
  • fixed some problems with the bindings for full screen preference controls
  • fixed a problem where Check for Updates... would fail silently on Leopard if no network was found
  • fixed a bug where zooming in or out using shortcut keys just after opening a document would fail
Version 0.9.11 | Release Date: 2008-01-06 | Download
  • new and improved method for screening out Leopard’s unnecessary screen updates - should eliminate the last traces of slowness due to this reason
  • backed away from paginating in the background as version 0.9.10 did; we now paginate while opening the document (slower to open, but more responsive once opened)
  • new 512 × 512 icon, courtesy Laurent Baumann -- thank you again, Laurent! (you can see the improvement in detail using coverflow under Leopard)
  • some tweaks in the document window’s UI and minor changes in the help files
  • changing a document property (View > Get Properties...) now marks a document as needing to be saved
  • Quick Look now works with .bean files (10.5 Leopard)
    • added benefit: Text Edit on 10.5 Leopard now understands .bean files, since their UTI superclass is
  • moved UTF-8 to third position in encoding list for convenience; this is the modern format for conversion from legacy encodings
  • fixed bug where the color panel could set an alternate color in Preferences while changing the color of a document’s selected text at the same time
  • rewrote much of the View > Alternate Colors code to fix some problems
  • removed some dead code
Version 0.9.10 | Release Date: 2007-12-18 | Download
  • fixed bugs causing severe slowdowns (only a problem on OS X 10.5 Leopard):
    • PageView class under Leopard is getting many more drawRect messages than it ever did under Tiger; it is now optimized to ignore most of them, and objects used in drawRect are cached; also, we draw the insertion point cursor to eliminate some extra drawRect messages
    • addTemporaryAttributes (=Alternate Text Colors) is now part of NSTextStorage’s processEditing method (the only place where it seems to work without a slowdown)
    • pagination now occurs in the background when documents are loading (instead of forcing completed layout, as we did formerly, since Leopard is very slow at paginating); also, Bean now ignores redraw messages sent while a document is paginating
  • fixed Leopard-only bug where opening a document and typing at index 0 would give you default type (Helvetica 12) instead of type matching subsequent text
  • fixed Leopard-only bug where the blinking insertion point could disappear (due to a low lineFragmentPadding value); widened the insertion point cursor for visibility
  • fixed Leopard-only bug where resizing an image using the slider would cause a weird effect (due to the selectedRange being continually reset)
  • fixed bug that could cause Get Info... to give incorrect plain text encoding after saving a document with different encodings in one session
  • fixed bug where selected word count in status bar would not be reset when Live Word Count was off
  • fine-tuned some user interface elements in JHDocument.nib; consequently, localizations will not work for tooltips in the document window of Bean Multilingual Edition 0.9.10 (when it is released)
    worked again to fix the problem where the Page Up and Page Down buttons sometimes disappear
Version 0.9.9 | Release Date: 2007-10-13 | Download
  • fixed a bug that prevented plain text format documents from being Default Save Format
  • document background color control in Font Panel is now hidden (Bean doesn’t use it)
  • the Link... sheet remembers the last type of link chosen
  • fixed annoying List... bug that would change the font to Lucida Grande (thanks, Philip Dow, for the code fix)
  • fixed a bug where, for example, a .5 margin would yield .57 on the ruler (due to non-zero default textContainer:lineFragmentPadding setting)
  • fixed a bug where input into any document would cause a beep when a read only document was open
  • got rid of system beep upon attempted input to read only documents...didn’t like it
  • added validation for menu items, toolbar, and Inspector when focused on a read only document
  • List > Numbered and List > Bulleted now removes first line indent attribute for selected text, which NSTextList’s initWithMarkerFormat:options: also does
Version 0.9.8 | Release Date: 2007-09-19 | Download
  • fixed Check for Updates -- this did not work correctly until
  • localization string fixes (,,
  • fixed crash involving textStorageWillProcessEditing out-of-bounds error (
  • fixed a bug where Bean would crash if you overtyped a single, selected smart quote (
  • fixed ‘nil value’ bug involving editing picture as initial character in a document (
  • fixed a problem with Get Info... numbers being formatted incorrectly (
Version 0.9.7 | Release Date: 2007-09-03 | Download


  • word and character counts for selected text now appear in the status bar (in blue instead of black); normal count resumes when no text is selected (user suggestion)
  • resizing an image now does not affect resolution (user suggestion)
  • Edit > Insert > Non-breaking space action added (like spacebar space, but prevents line breaks)
  • you can now separately control whether the standard Cocoa header (title) and footer (page numbers) prints in Preferences
  • fixed code so that Bean can now be fully localized (nibs, .strings files, html help). Note: unless you really want to potentially duplicate someone else's work, don't create a localization of Bean unless you coordinate it with me first.


  • you can now change the language style of Smart Quotes on the fly
  • added special code for French (France) and Canadian French Smart Quotes which inserts a non-breaking space before appropriate punctuation (yes, I know about partial cadratins, but the current solution seems more practical for Bean)
  • 'Fonts' icon in toolbar now toggles show/hide for Font panel (note: you will have to remove the old font icon and drag in the new one for this to work). (user suggestion)
  • Line Spacing 'Default' button in inspector now gets its value from user's Preference setting for line spacing
  • added keyboard shortcuts for Line Spacing and Highlight menu actions (user suggestion)

Bug Fixes

  • fixed a bug where documents would sometimes open in layout view when saved in continuous text view and vice versa
  • fixed bug where alternate editing colors would not cover entire scrollView when zooming out during continuous (non-layout) view mode
  • fixed a bug with Center Cursor code that would cause view to jump when zoom amount was high
  • fixed a bug that prevented the opening of UTF-16 text files with arbitrary extensions (like .strings files!)
  • fixed a bug with Autosave controls that could cause a UI loop glitch
  • fixed UI glitch with resizing document properties sheet
  • improved auto-resizing code for when images are inserted that are too tall to fit on a page
  • double autorelease of allAvailableEncodings fixed
Version 0.9.6 | Release Date: 2007-07-30 | Download

* a Preference for Default Save Format (frequently requested!)
* an Insert Picture menu item (that autoresizes large images to fit)
* double-click on a picture to show a Picture Resizing control
* Export to .RTF and .DOC with pictures intact
* Great new app icon by icon designer Laurent Baumann
* other improvements

Version 0.95a | Release Date: 2007-06-19 | Download

added Defaults tab in Preferences to adjust margins, first line indent, and line spacing for New Documents (user suggestion)
added Preference to turn off page shadow in layout mode, to improve display speed on older machines (user suggestion)
added Preference to show OS X ruler widgets (user suggestion)
added Preference to Show invisible characters (user suggestion)
added Preference to ‘Use fit width view’ mode or not (user suggestion)
added Format > Use Smart Quotes menu item, so Smart Quotes can be easily turned on or off (user suggestion)
Autosave is now per-document and not global. To access this feature, select View > Get Info... (user suggestion)
removed ‘Autosave Untitled document’ feature
added confirmation dialog to ‘Revert to Saved’
Bean now doesn’t allow Smart Quotes for the ‘Text (you provide extension)’ format, since these files are probably code or scripts
Autosave now saves only when changes exist since the last Autosave (instead of whenever unsaved changes exist). This avoids unnecessary Autosaves, such as Autosaving the same existing unsaved changes repeatedly, and captures saved changes as well, unlike the previous implementation.
locking a file from Get Info... now causes an explicatory message to appear (urging the user to reopen the file as a template, if that was the intention)
typing into a ‘Read Only’ document now causes a beep (instead of silently failing to insert text)
Bug Fixes
rewrote shouldChangeTextInRange: method to fix a number of bugs, including:
Smart Quotes now groups with other text for Undo/Redo
Redo now works in .txt and .html files
Paste now pastes with correct text attributes in .txt and .html files
text attributes do not return to Cocoa default following Paste into empty lines (plain text) or into documents after all text is deleted
alternate display colors now apply correctly for Edit > Insert > Date / Time menu items
‘Center when at end’ now responds to Return key
fixed a problem where ‘Center when at end’ could erroneously affect multiple documents
fixed a problem where Cocoa would leave a temporary file if it tried and failed to ‘safe save’ to a locked RTFD bundle--added an extra check for locked files/folders
Trying to open non-supported non-RTFD package files (like .pages format files) will now display an alert message
Inspector’s Line Spacing slider now has a bottom limit of 0.3; otherwise, it would seemingly unpredictably throw an exception for very low values that would crash Bean (below this setting is unusable anyway)
Link menu item is now not active for non-rich text format files
fixed some incorrect display attributes which could appear when rich text formats are saved as plain text formats
Inspector’s Font styles popup now effects all text for non-rich text formats
fixed a bug where text attributes would return to Cocoa defaults if layout view/continuous text view were alternated when there was no text
fixed a bug involving parsing long keywords (Bean stores some information such as cursorLocation in the keywords field)
added error checking for Format > Margins... input fields

Version 0.9.4a | Release Date: 2007-05-28 | Download

• new feature: text highlighting
• new icons, thanks to the hard work of Laurent Baumann
• new Services menu item: New Document Containing Selection
• fixed a problem where ‘Fit Page Width/Fit Page’ mode would be forgotten when switching back to layout view from continuous text view
• fixed some inefficient code that caused Bean to slow down when editing large .txt or .html files
• files without a filename extension or in a file format unknown to Bean are now always opened as plain text files (except Word 97 files without the .doc extension)
• Word 97 files missing the .doc extension are now opened as .doc format files, thanks to Uniform Type Identifier ‘sniffing’
• had to change some keyboard shortcuts dealing with View > Fit Page/Page Width and View > Zoom In/Out (because of a conflict that was causing a bug)
• fixed a problem where text pasted into a .txt or .html file wouldn’t inherit the paragraph attributes of the text around it
• increased upper limit of margins so margins can be more than 3 centimeters (margins checking needs to become code based, not interface based as it is now)
• ‘Save’ toolbar icons now works correctly
• moved sourcecode from disk image to URL on download page

Version 0.9.2g | Release Date: 2007-05-05 | Download
No changes specified