Version 3.4.6

Copyright 2007-2021 by James Hoover


Bean version 3.4.6 (December 22, 2021)


Fixed a problem where opening a document could fail because _NSViewClampSizeToLimits would cause an assertion failure at fabs(size.height) <= NSVIEW_GEOMETRY_LIMIT (20211220-1).

Changed the Find panel so that it no longer remembers the “Replace with:” text after [x] is selected or after app is relaunched (20211220-2).

Fixed a problem where a control could be missing from the Preferences window (20211221-1).


Bean version 3.4.5 (August 7, 2021)


Switched to asynchronous file saving using the saveToURL:::completionHandler method, and also restructured the code that collects extended attribute information for remembering the document UI state (20210711-1).

Edit > Speech > Start Speaking will now start speaking the text at the text cursor location rather than at the beginning of the document when no text is selected (20210712-1). Also, keyboard shortcuts have been added to Start Speaking and Stop Speaking.

Fixed a problem where creating a new document, with Preferences > View > Layout View and Preferences > General > Open Document in Grouped Window both deselected, would sometimes fail to produce a document window on the M1 mac because of an assertion failure in NSSize _NSViewClampSizeToLimits: Invalid parameter not satisfying: fabs(size.height) <= NSVIEW_GEOMETRY_LIMIT (20210805-1).


Bean version 3.4.4 (June 4, 2021)


Reverted from saveToURL:::completionHandler (asynchronous save method adopted in version 3.4.3) to saveToURL:::error (synchronous save method) because extended attributes that save the state of the Bean user interface for a document were not always getting written to the file in the completion handler for various reasons (20210604-2).

Fixed a problem where the “Margins” settings found on the Preferences… > New > New Document Template > Generic > Document Settings… sheet would not end editing after bounds correcting user input  (20210604-1).


Bean version 3.4.3 (June 1, 2021)


Fixed a problem in the Find panel where the regex/insert items popup menus were not functioning at all when localized.

Fixed a problem in the Inspector panel where the font style names in the “Style” popup button were not localized (20210527-1).

Switched to the saveToURL:::completionHandler save method (20210525-1). Also updated some other deprecated methods and eliminated some compile warnings (20210526).


Bean version 3.4.2 (January 20, 2021)


Fixed a problem where, when View > Split View was selected, an inactive continuous text view would try to center on edited text (20201227-1).

Fixed a problem where selected word/character counts in View > Info Panel were not updating when jumping between split views (20210112-1).

Fixed a crash that could occur when deleting text that would cause a page to be removed (20210113-1).


Added menu item Edit > Copy Special > HTML, which copies text as HTML directly to the Pasteboard. This is useful for pasting HTML into websites such as AO3 (20210118-1).

Added menu item Edit > Copy Special > Plain Text (UTF-8), which will copy plain text directly to the Pasteboard. This is useful for removing all styles, table and list attributes, etc. from rich text  (20210118-1).


Bean version 3.4.1 (December 21, 2020)


Fixed a problem seen in version 3.4.0 where some localizations were not getting copied into the app at compile time.

Fixed a problem where images sometimes were not resizable in layout view (20201221-1).


Bean version 3.4.0 (December 18, 2020)


Revised the app icon to match the Big Sur icon style (20201114-1).

The toolbar icons are now based on Apple’s SF Font symbols. If you wish to restore the old icons, quit Bean and use this terminal command (change YES to NO to reverse the setting):

defaults write com.bean-osx.Bean prefUseColorIcons -bool YES

Fixed various problems caused by new unified toolbar window style on Big Sur (20201205-1, 20201205-2, 20201207-1).

Changed the default view scale for layout and draft view to 150%.

Revised the file Bean_Help.rtfd (Bean’s “Help” file).


Bean version 3.3.4 (November 4, 2020)


Mouse/Trackpad scrolling of text in draft view now works even when the pointer is over the “buffer area” to the left and right of the text area (20201030-2).


Removing the ruler accessory view by returning nil or dummy view for rulerAccessoryView stopped working consistently in Big Sur. We now swap out a new ruler view when necessary. (20201030-1).

The “Highlight” and “Invisibles” toolbar icons now appear correctly in Dark Mode (20201031-1).

Fixed a problem where the Inspector was not updating the type of measurement units when Format > Units was changed in the menu bar, or when Preferences > Advanced > Use millimeters… was selected (20201101-2). Also, the Inspector is now inactive when the Preferences window is being used (20201101-3).

Fixed a problem where the document sidebar width was not always saved when quitting the app (20201102-1).

Fixed a problem where Preferences would fail to open on the first try on Big Sur (20201102-2).


Bean version 3.3.3 (September 27, 2020)


View > Split Window (“split view”) now displays a text ruler in the new split view only if a text ruler was visible in the old view (20200905-1).

Holding down the Option/Alt key while adjusting the Inspector’s “Kerning” slider will now force larger increments of kerning when less than zero (20200904-1). This is useful for hand-kerning individual letters of large-sized fonts.


Quick Look now works again for .bean files. Fixed by removing from UTTypeConformsTo in the export declaration of the UTI for bean documents. (A restart may be required to allow launch services to rebuild the database.)


Bean version 3.3.2 (August 11, 2020)


Fixed a bug (a regression introduced in version 3.2.16) that could cause Bean to crash when using Edit > Cut  (20200810-1).


Bean version 3.3.1 (August 10, 2020)


Fixed a problem where the View > Show Ruler setting could be inconsistent when toggling View > Show Layout while View > Full Screen is selected (20200723-1).

Added LSHandlerRank=Owner to Bean-Info.plist for bean UTI documents. This was originally omitted because on older OS X versions, it would cause Bean to unexpectedly ‘steal’ the rtf and rtfd file association. But that is no longer true on more recent macOS versions, and additionally not having the rank set to owner will cause .bean files to not automatically open in Bean (20200806-1).


Bean version 3.3.0 (June 20, 2020)


Added a workaround for the problem where setConstrainedFrameSize: is called with incorrect size or series of incorrect sizes. This problem would cause the insertion point to jump to the bottom of the view upon text input. We now use the GNUstep implementation of the setConstrainedFrameSize: method instead, with some modifications to accommodate the ruler view (20200507-1). GNUstep code, from NSTextView.m, used under the GNU GENERAL PUBLIC LICENSE, Version 3.

The side bar document list now behaves like the document list in the menu bar (under ‘Documents’) in that it adds a ‘diamond’ symbol before the names of documents that are full screen (instead of changing the cell background color, which looked weird in dark mode); the status bar pop-up document list now also behaves that way (20200528-1).

Fixed a problem where the zoom slider would not update correctly in some situations (20200528-3).

Fixed a problem where the text system delegate would stop auto-capitalizating, etc. when a page was deleted (20200616-3).

Fixed a problem where deleting/replacing the last part of text in the first page of layout view could cause a text artifact to show (20200618-1).


Bean version 3.2.16 (April 26, 2020)


Fixed a slowdown in the side-bar document list when creating “unsaved document” icons (20200413-1).

Fixed a problem (evident since macOS 10.13) where pasting/dropping an AV file (ex.: mp3, m4v) into a rich text document would cause views in Bean to go haywire (because the whole window is converted to AutoLayout). These AV file attachments are now represented by icons, which can be clicked and played in an external app once the document is saved (20200418-1). Note: even in TextEdit, the functionality of AVPlayerView is weird (an mp3 produces a gray rectangle; a video produces ‘Unable to simultaneously satisfy constraints’ messages).

Rewrote the code (again) that attempts to keep the portion of text that is currently being edited visible (20200418-2). Finally pinned down what I think is an AppKit bug that was causing insertion point to jump to bottom of view and filed a bug report with Apple (FB7670998).


Bean version 3.2.15 (April 3, 2020)


Rewrote all of the code that tries to keep visible the potion of the text currently being edited (whether the insertion point/text selection is visible or not) after toggling the view mode (View > Show Layout), and during/after changing the view scale via the zoom slider, and during/after changing the width of the editing view via the grabbers, and during/after resizing the window which can resize the editing view (20200327-20200329).

Fixed a problem where the text scroller knob color could be white on a white background, which was hard to see (20200330-1).

Fixed a problem where View > Show/Hide Ruler would not work when Bean is paginating (20200331-1).

The Format > Link… sheet now works better with URLs starting with ‘https://' (20200331-2).


Bean version 3.2.14 (March 11, 2020)


Fixed a bug that would sometimes cause a crash on 10.14 and 10.15 when a page was removed while View > Show Layout is active (20200226-3, 20200305-1,-2).

Fixed a problem where text lists would sometimes jump to a new scroll position when edited (20200227-1).

Fixed a problem where the edit view would forget its autosizing mask when moved to separate window or to full screen from the grouped window and so would not be visible or would be sized incorrectly (20200311-1).

Fixed a problem where the zoom slider and zoom label would not update when switching between, or resizing, split views (20200311-2, 20200211-3).

Updated some deprecated methods and constants.


Bean version 3.2.13 (May 03, 2019)


Fixed an annoying and mysterious bug that would cause text to jump so that the paragraph being edited ends up at the bottom of the view. This would only happen: 1) when in continuous text mode (page layout is not active), and 2) after scrollToPoint was called (for example, after resizing the text view width), and 3) when the blinking caret (insertion point) was NOT visible in its blink cycle. We now call setBoundsOrigin instead of scrollToPoint to do essentially the same thing: keep the text being edited in view while doing live resize, etc. (20190425-1).

When editing documents in continuous text mode with center cursor vertically selected, the top of the text could jump behind the text ruler and back out again on Mojave; using setBoundsOrigin instead of scrollToPoint fixed this (20190502-1).

Fixed a slowdown that occurred when the sidebar file list was showing (20190501-1).

Switching active documents using ctrl+alt+left and right arrow keys could trigger document scrubbing if the mouse cursor happened to be above another tab (document scrubbing: where alt + mouse cursor over a tab makes that document active). Fixed (20190501-2).

Fixed the appearance (via the xib file) of the text encodings preview for dark mode.

When “Preview Fonts” is selected in the Inspector, names longer than 30 characters are truncated to prevent overly large popup menus (20190428-1).

Adjusted the granularity of the Inspector’s kerning slider for less-than-zero settings (20181111-2).

Credits / Bean Help / Bug Report now show the English version if the preferred language version is not present, rather than failing to respond at all (20190429-1).  


Bean version 3.2.12 (Oct 28, 2018)


Updated Bean’s appearance (with macOS Mojave’s Dark Mode in mind).


Fixed a bug that could cause View > Hide Layout to fail (20181026-1).


Bean version 3.2.11 (Sept 26, 2018)


Maintenance release for macOS 10.13 High Sierra and macOS 10.14 Mojave.

Note: ‘Dark Mode’ is not functional yet.

Display of headers and footers in paged layout (View > Show Layout) is more efficient (20180624-1).

Fixed a problem with the display of the text ruler on macOS 10.14 (20180624-2).

Fixed a problem where the Inspector would not “snap” to the side of a document window in macOS 10.14 (20180726-1).

Fixed a problem where the Preview Fonts in Menu checkbox in the Inspector would not trigger the Font menu to refresh (20180728-1).

Set wantsLayer=true on split view to fix a problem where appkit had trouble ordering the display of regions, causing a crash on macOS 10.14 (20180801-1).

Fixed an edge-case assertion failure involving text tables larger than one page (20180809-1).

Fixed a couple of memory leaks (20180816-1).

Fixed a race condition where pages could be added before all pages being removed when switching between layout view and 2-up, which could cause a “missing” page (20180820-1).

Revised the entire Bean_Help.rtfd help file (21080908-1).


Bean version 3.2.10 (October 13, 2017)


Fixed a problem where document windows would not open because a xib file was not loading (20171008-1).

Fixed a problem where View > Show Invisibles did not update the display of text (20171010-1).

Fixed a problem where headers/footers/margins would disappear in View > Show Layout when scrolling (20171011-1).

Fixed other various crashing and non-crashing bugs.


Bean version 3.2.9 (November 14, 2016)


Fixed a problem where selecting View > Hide Layout could move the text cursor (caret) location to the beginning of the document.

Updated deprecated API methods with modern equivalents.

Fixed a problem where exiting Full Screen could place a window's title bar behind menu bar.

Fixed a problem where setting the Kerning slider control to zero in the Inspector would turn off fine kerning completely rather than set it to the default value.

Bean 3.2.9 explicitly opts out of macOS’s native window tabbing, which could crash Bean.


Added a keyboard shortcut for File > Prevent Editing (control+option+command+e).

Added a note in the Help file on how to change the document background color (see Font Menu > Fonts…).


Bean version 3.2.8 (October 14, 2016)


Fixed a problem where the page margins in View > Show Layout mode would not draw properly while scrolling (20161011-1).

Fixed a problem where using the image resizing slider control in a header or footer would cause errant behavior or a crash (20161012-1).


Active document tab draws lighter to match macOS Sierra’s light window color.

Vibrancy (translucent window decorations) is used when possible. Use the following hidden preference to restore the darker, opaque window decorations. Quit Bean, then use this terminal command (change YES to NO to reverse the setting):

defaults write com.bean-osx.Bean prefTexturedTitlebar -bool YES


Bean version 3.2.7 (October 7, 2016)


Fixed a problem with View > Show | Hide Layout and View > Split Window | Split Window Vertically that would cause text to disappear on macOS Sierra 10.12.

Fixed a problem where Documents > Tabs | Buttons | Sidebar could cause bad control resizing on recent versions of OS X/macOS.

Fixed a problem where the Find panel could report an incorrect number of found items.


Added Spanish localization by Francisco Ramón Román.


This release is intended to fix code problems that prevented Bean from functioning on macOS Sierra 10.12; otherwise it contains no new features or updates, and no UI modernization.

Minimum macOS version required: 10.12.

There is no version 3.2.6; we skipped that number.

To do

Replace deprecated methods.

Adopt modern macOS document tabs and full screen.


Bean version 3.2.5 (March 8 2013)


Fixed a problem with the way native rtf headers and footers were written out that could cause the document body text to appear in four columns in other apps (20130102-1).


File > New from Template... now allows viewing the contents of folders in the Templates folder, allowing for hierarchical organization (20130211-1).

Added a section in the Help file (under Tips and Tricks) on how to change the default paper/page size for new documents.

Fixed a few object over/under release problems revealed by static analysis. 


Bean version 3.2.4 (January 12 2013)


Fixed a bug that prevented attachments with non-ASCII characters in their filenames to save correctly in .rtfd and .bean format files (20130104-1).

Altered rtf image decoding code to accommodate image hex data preceded by a newline (20130103-1).

Fixed a bug where, when opening .rtf files, a paragraph starting with an image could lose its paragraph attributes. For example, if a cell in a text table contained only an image, the image would be removed from the table since text tables are really paragraph attributes. (20130105-1).


Bean version 3.2.3 (November 30 2012)


Reverted bugfix 120909-1 which was supposed to allow images having names containing non-ascii characters to save in .rtfd and .bean format (121129-1). The bugfix was incorrect and also caused a larger problem, preventing headers and footers to save in .rtfd and .bean documents.


Bean version 3.2.2 (November 12 2012)


Improved and sped-up image decoding routines for .rtf format files (120930-1). 

Bean now has improved support for embedded images in .rtf documents created by LibreOffice, Nisus Writer, Abiword, and Mariner Write. Since Bean does not support ‘floating’ images, these are loaded in Bean as in-line images in the nearest paragraph.

A previous version, Bean 2.x, could create pre-formatted document headers and footers on the fly, and this setting could be saved per-document. This setting was previously ignored in Bean 3, which allows free-form headers and footers. However, for increased compatibility, documents originally saved in Bean 2 will now open in Bean 3.2.2 with an approximation of the header/footer info that was created on the fly in Bean 2. But for any document that has already been subsequently re-saved in Bean 3, this old header/footer info is ignored and removed. (20121007-1).

Edit view can become editable more quickly after selecting View > Show / Hide Layout (20120728-1).

Changed the width of text in exported HTML to 600px if the browser width is greater than 600px. While this is a bit wider than the typical printed page (which is what the previous setting tried to approximate), the new setting looks better on most screens.


Fixed a bug where, in a text table cell, any paragraph following and having a different paragraph style from the first paragraph would disappear when selecting the Add Row Above|Below, Add Column Before|After, and Delete Row|Column menu commands (20121015-1).

Fixed a bug where text tables nested within a text table cell would disappear when selecting the Add Row Above|Below, Add Column Before|After, Delete Row|Column menu commands (20121015-2).

Fixed a problem where .rtfd and .bean format documents with images having names containing non-ascii characters could omit the image files upon save (120909-1).

Fixed a bug where Edit > Change > Sort could cause the final item to go missing (20120922-2).

Selecting a document in the Finder and pressing cmd-p will now successfully print the file (20120922-1).

On OS X 10.7+, when System Preferences > Show Scroll Bars > Always is selected, the scroller would not hide in full screen mode. Fixed (20121016-2).

Fixed a problem where the vertical ruler was not activating consistently.

Programming Notes

Bean is now built on the OS X 10.8 SDK.

Added -weak_library /usr/lib/libSystem.B.dylib to Other Linker Flags to prevent crash on 10.5 due to ‘Symbol not found: __NSConcreteGlobalBlock’ (20121108-1)

Renamed zh_CN.lproj to zh_Hans.lproj.


Bean version 3.2.1 (July 23 2012)


Fixed a bug where View > Zoom > Default did not center the edit view (20120712-1).

On Lion, when transitioning to full screen, the single document window is now closed more quickly to prevent problems (20120712-2).

On Lion, the grouped document window would momentarily bulge (via annoying animation) when another newly opened document was added. Fixed (20120711-1).

Initial View > Split Window ratio was not 1:1. Fixed (20120708-1).

Fixed a problem where the Show Info panel might not update its counts when shown after being hidden (20120712-3).

Fixed a problem where switching documents in the grouped document window could cause a visual jitter due to the toolbar separator toggling (20120707-1).

Fixed a problem where the Bean Help document could be exported to a location inside the app bundle. Bean now prompts the user for a location (20120707-2).

Fixed a problem where the grouped document window could shift position (attempting to cascade) when several grouped documents were opened at the same time on Lion (20120707-3).

Fixed a crash caused when the Open panel preview pane tries to show a document with an invisible table cell border (20120707-4).

Fixed a bug where hyperlink urls could be mangled (20120713-1).

Launching Bean with ‘Preferences > Advanced > Show Info Panel at launch’ could cause the Info Panel to relocate to the Inspector’s location on Lion. Fixed (20120712-3).

Fixed intermittent crash when opening rtf files with custom rtf data in them due to a RegExKitLite assertion failure; [NSString clearStringCache] solved the problem (20120721-1).

Undo registration is now disabled while loading documents (20120720-1).

I had thought Bean 3.2.0 was code-signed and therefore enabled to pass Gatekeeper. I was wrong. Hopefully, 3.2.1 will download and start on Mountain Lion without Gatekeeper causing problems.


Bean version 3.2.0 (June 30 2012)


Fixed some memory leaks revealed by XCode 4 analyzer (120627-1).


Added localization for Brazilian Portuguese (courtesy Paulo Neto), Dutch (courtesy Frans de Graaf) and improved German localization (thanks to M. Bunge for the improvements).

Added Developer ID, so Bean will download and run on OS X 10.8 Mountain Lion without the OS complaining.

Starting with this version, Bean is no longer compatible with PowerPC (PPC) macs. In other words, it is no longer a universal binary. A PowerPC compatible version of Bean numbered 3.1.x will be available for download at the Bean website ( for those who need it. 


Bean version 3.1.1 (June 22 2012)


A new single document window could open to a small, unusable size. Fixed (20120614-1).

The ‘full format’ date item added in 3.1.0 inadvertently included time. Fixed (20120615-1).


The jewel buttons and the add document button in the tab bar are now resolution independent.

For those with PowerPC processor macs: this is the last PowerPC-compatible version of Bean. As such, Bean version 3.1.1 will remain available for download at the Bean website ( for those who need it. 


Bean version 3.1.0 (June 10 2012)


Bean Preferences > View > Zoom Control will display a zoom slider in the status bar, like Bean 2.x (20120520-1). Bean may hide this control due to lack of space.

Added a note to the Tips & Tricks section of the Help file about how file management (deleting files, moving files, copying files) is done using the Finder, not Bean.

Added a ‘Full Format’ menu item (which includes the weekday) to the Date/Time toolbar item popup menu (20120601-1).


NSAutomaticWindowAnimationsEnabled is now set to YES for Bean (so you will see window animation in Bean even if you have the global version of this preference set to NO). This avoids a very nasty bug that crashes any non-Lion-only app that uses the popup dictionary on Lion when Lion’s window animation is disabled.

Fixed inconsistant drawing of document tabs (20120605-1). 


Bean version 3.0.9 (April 5 2012)


Bean Preferences > New > Custom > Choose Template now defaults to the user’s Templates folder (since Lion 10.7 makes it almost impossible to navigate there) (20120401-1).

Added live updating of text ruler offset for layout views when a window is resized (20120311-1).

File > Revert to Saved no longer forgets the font used with plain text files (20120317-1).

File > Revert to Saved is now only active when the document has changed from the saved version (20120317-2).

File > Revert to Saved now restores the saved typing attributes of empty documents (20120317-4).

File > New Plain Text Document (cmd+option+n) could fail to show the Settings menu in the main menu. Fixed (20120317-3).

The side bar document list (Documents > Side bar) now resolves aliases dropped from Finder (20120317-5).

The side bar document list now has a minimum size slightly more than zero to prevent it from disappearing completely (20120320-2).


There is now a hidden preference to remove the gray hatched tiled pattern from the layout view background. Quit Bean, then use this terminal command (change YES to NO to reverse the setting):

defaults write com.bean-osx.Bean prefLayoutViewNoTexture -bool YES


Bean version 3.0.8 (March 8 2012)


The draft view now shows the resizer bars only when the view width is greater than the setting at ‘Preferences > Size > Limit Draft View Width to ... % of Screen’, or when the window width is almost equal to the screen width (20120306-1). To re-enable the previous behavior where the resizers are always visible in draft mode, use this terminal command (change YES to NO to reverse the setting):

defaults write com.bean-osx.Bean prefDoNotHideDraftWidthResizers -bool YES

The tab bar of the grouped document window now has a ‘+’ button to easily create new documents (20120229-1).

Bean now opens an untitled document (if no documents are open) after being activated by a click in the dock, as this is standard Cocoa behavior (20120226-1). To re-enable the previous behavior where no document is created, use this terminal command (change NO to YES to reverse the setting):

defaults write com.bean-osx.Bean prefOpenUntitledAtActivate -bool NO

Refined the appearance of document tabs in the tab bar (20120222-1).


File > Export > PDF could fail on PPC Macs due to uninitialized variable. Fixed (20120304-1).

The unused section of the document tab bar can now be used (like the title bar and tool bar) to drag/move the window (20120226-2).

Some graphic resources in Bean are now smaller thanks to Mike Detwiler (20120301-1).

Added/corrected/improved many VoiceOver labels (20120219-1).

The offset of the layout view text ruler now immediately updates when the window is resized (20120219-3).

Localized: Edit > Show Spelling and Grammar and Edit > Check Spelling While Typing

Insert > Line Break now uses the responder method insertLineBreak: and now also maintains the typing attributes (20120223-1).

In Bean 3.x, double-clicking the top or bottom margin of a page in layout view causes the header/footer sheet to show. In 3.0.8, the header text or footer text in the sheet is initially active based on which area of the layout view was clicked (20120219-5).

In Bean 3.x, a click in the top half of the right resizable draft margin results in a page up, while a click in the bottom half of the right resizable draft margin results in a page down. The code has been improved in 3.0.8 to reduce unintended actions (20120219-4).


Bean version 3.0.7 (February 16 2012)


Fixed a bug where cycling windows (command-~) would not hide full screen window when it was cycled out (20120203-2).

Saving a new document with the same name and path as an already open document in Bean is now rejected with an alert (20120204-1).

Style > Paste… items now more faithfully restore the text selections after acting (20120204-3).

Fixed a bug that could cause the text cursor to disappear due to a negative window number when moving a document from one window to another (20120209-1).

The scroller could incorrectly remain hidden when selecting ‘Move to Grouped Window’ or ‘Merge Document Windows’ from full screen. Fixed (20120210-2).

The Inspector, when snapped to a document window, no longer moves vertically when the Preference window is closed (20120212-1).

Fixed a bug where the Show Info window could appear when not wanted (20120212-2).


Added buttons for bold, italic, underline, and strikethrough to the Inspector (20120203-1).

Added alternate [press ‘option’ key to reveal it] menu item: Insert > Date (Long Format) and Time (20120204-2).

Bean ordinarily reveals newly exported documents in the Finder, but now you can disable this behavior with the following terminal command (change YES to NO to reverse the setting):

defaults write com.bean-osx.Bean prefDoNotRevealExportedFilesInFinder -bool YES

For the vision impaired, Edit > Speech > Document Counts reads aloud the word and character counts, while Edit > Speech > Document Attributes describes font and paragraph attributes at the text cursor as well as indicating whether a list or text table is present (20120204-4).

The image resizing control now shows image size in points (20120205-1).

When you add a tab stop to the ruler (for example, with a mouse click), you can now change the tab stop type by double-clicking (or alternatively by option-clicking in 10.5 and 10.6) on the tab symbol in the ruler. The tab stop will change from right tab, to left tab, to center tab, to decimal tab and cycle back. OS X 10.7 Lion will provide a tab-stop popup menu when you control-click (or right-click) on the text ruler.

Added a context (right-click) menu to the text ruler to show and hide the ruler controls (10.5 and 10.6 only).

Added a menu item to the context menu of the side bar document list: Move to Separate Window / Move to Grouped Window / Exit Full Screen.

Bean now supplies default tab stops at 1/2 inch (U.S.) or 1 cm (metric) intervals. If you wish for your new untitled documents to have no tab stops, use the following terminal command [change YES to NO to reverse the setting] (20120215-1):

defaults write com.bean-osx.Bean prefNoDefaultTabStops -bool YES

Added French Localization, courtesy Ange Lefrère.

Other localizations also updated.


Bean version 3.0.6 (February 2 2012)


The Inspector now updates more consistently (20120129-1).

Fixed a text field input validation bug that in rare cases could cause a crash (20120130-1).

Switching a document from full screen to a non-grouped window would not restore the document presentation settings. Fixed (20120130-3).

Fixed a regression in 3.0.5 where File > Prevent Editing setting was not maintained when switching documents between windows (20120130-2).

A status bar shown only to support Documents > Buttons now re-hides for other document navigation views (20120131-1).

Reimplemented cycle windows (command-~) since it wasn’t working correctly for some unknown reason (20120130-4).

Fixed the bug where a newly created text table had black borders, then added cells had gray borders (20120201-1).


You can now select a plain text document under Preferences > New > New Document Template > Custom > Choose Template (20120131-3).

Updated Slovak translation, courtesy Rudolf Gavlas.

Added Chinese (Simplified) translation, courtesy 昀轩 (He Yunxuan).


Bean version 3.0.5 (January 26 2012)


Added a work-around to avoid crashes on Leopard involving fontSetChanged message (20120112-1).

Lion’s dictionary popover can become stuck when a full screen window is closed or switched away from, causing a crash. Fixed (20120124-1).

Attached sheets (Save panel, etc.) can become ‘lost’ when a full screen window is closed or switched away from. Fixed (20120108-1, 20120122-1).

Replaced _blinkCaret override with yet another fix when moving text views between windows (20120112-2). This might also fix the mysterious ‘missing text cursor’ problem.

Paste Font Family & Ruler menu item now enables itself correctly (20120108-2).

Fixed a regression in Bean 3.0.4 where ‘Review Changes before Quitting > Discard Changes’ could momentarily show a ‘Do You Want to Save the Changes You Made in the Document?’ alert on one document (20120123-1).

Fixed a bug where the Show Info panel could reappear unexpectedly when switching document windows after its being closed with the close button (20120126-1).


‘Undo’ now restores paragraph attributes changed after a deleted paragraph break (20120119-1).

  1. The Inspector’s font popup menu now reloads when the available fonts change (20120122-2).
  2. The Inspector now shows the typing attributes at the text cursor (i.e., the text attributes to be applied if text is typed there) rather than the attributes of the character following the text cursor (20120125-1).
  3. Added Polish localization by Arek Wancerz.

Note on Services menu items available from Bean

On OS X 10.6+ (Snow Leopard, Lion), you must first activate these items under System Preferences > Keyboard > Keyboard Shortcuts > Services > Text. Also, if upgrading from Bean 2.4 to Bean 3.x, you will have to re-activate them. The following Services menu items are provided by Bean:

HTML Snippit from Selection

Generates HTML code, minus header, from the selected rich text.

HTML+CSS Snippit from Selection

Generates HTML code with inline CSS text styling from the selected rich text.

New Bean Document Containing Selection

Makes a new document in Bean and pastes the selected text from the current app.

Paste Selection into Current Bean Document

Pastes text selected in the current app into the frontmost Bean document.

Note on the Dictionary Popup Crash under Lion

An OS X bug causes the dictionary popover in Lion to become stuck when the user preference controlling the ‘zoom-open’ window animation is turned off, followed by an immediate crash (but only on apps not compiled for Lion only). The following terminal command fixes the problem, but also re-enables the animation (change YES to NO to disable it again): 

defaults write NSGlobalDomain NSAutomaticWindowAnimationsEnabled -bool YES


Bean version 3.0.4 (January 5 2012)


Fixed a problem where help files would not display for some users (20120102-1).

Fixed a problem where Styles > Paste Font & Ruler into a zero-length selection just ahead of paragraph break would lose typing attributes (20120103-1).

Localized the “Do you want to save the changes you made to the document?” alert panel and fixed a few other localization issues (20120102-4).


Opening Bean’s help files no longer causes the initial unchanged Untitled document to close (20120102-2).

Increased area that triggers visibility of scroller in full screen mode (OS X 10.5-10.6) (20120102-3).


Added ‘Styles > Paste Font Family & Ruler’ menu item (this retains italic, bold, etc. if possible) (20120103-2).


Bean version 3.0.3 (January 1 2012)


Replaced the toolbar icons with a more colorful set.

Added Slovak localization. Special thanks to Rudolf Gavlas for helping to debug the localization process for Bean 3.


Bean version 3.0.2 (December 27 2011)


Fixed a problem where text fields did not accept digits past ‘,’ used as decimal point (20111227-1)


Bean version 3.0.1 (December 24 2011)


Fixed a problem that prevented drag-resize of view width in draft (non-page layout) view.


Bean version 3.0.0 (December 24 2011)


The document background color (not View > Alternate Colors) now prints (20111029-2). You can set the background color using the button in the font panel that looks like this: 

The ‘About Bean’ and ‘Help’ documents now always open in separate windows. These can be made to ‘float’ above other window with Documents > Window > Float Window.

Rewrote toolbar code so that 1) the grouped document window now better maintains its toolbar visible state 2) Bean Preferences no longer incorrectly responds to View > Hide Toolbar 3) removing toolbar items from the grouped window toolbar no longer causes a crash on Leopard 4) resizing the grouped document window no longer causes icon position problems when subsequently switching between grouped documents on Leopard.

Fixed a problem where File > New from Template could show an Open panel that was not set to the Templates folder. Also fixed a problem where if you navigated to the Templates folder in an Open panel, the Open panel would show the Templates folder the next time File > Open was chosen, which is undesirable. We work around this by changing the value of NSNavLastRootDirectory before running the panel, then reinserting the previous value after running the panel (20111103-1).

Fixed a problem where, under Lion, Correct Spelling Automatically could leave orphaned spelling suggestions that were unable to be dismissed. Note: Correct Spelling Automatically may be entirely disabled in a future release, as it tries to second-guess the user far too often and far too late for the user to take notice (20111128-1).

Fixed a problem on Lion where Lion’s ‘Resume’ feature was trying to encode the Find panel, resulting in the error [TextFinder encodeWithCoder:]: unrecognized selector.

Fixed a problem where the layout view background could incorrectly draw the document background color instead of its own color (20111029-1).

Improved setting and maintaining document background colors vs. alternate colors (20111029-3).

Fixed a problem where empty template documents would open without their saved typing attributes (20111121-1).

Fixed a bug where the inspector’s position could change when other utility panels were moved around (20111125-2).

Removed override of private method _blinkCaret.

Added a small delay when unhiding the scroller in full screen to avoid it flickering to life then just as suddenly disappearing as the mouse cursor passed over it (Leopard and Snow Leopard). Under Lion, the scroller’s native auto-hiding behavior is used.

The menu item View > Alternate Colors now validates correctly.

The Save panel now drops from below document tabs in the grouped document window (20111115-1).

Improved the appearance of Documents > Buttons navigation buttons.


Formerly, grabber buttons were provided above and below the vertical scroller for widening/narrowing the draft view edit area. Lion OS X 10.7 wants to hide the scroller when not in use, which it can’t do with grabber buttons added, so vertical grabber areas are now provided just to the left and right of the draft view edit area.

Reorganized the File menu. A reminder: the ‘option’ key can be used to reveal alternate menu functions.

The draft view (shown when layout view is hidden) now has some padding around text to allow for easier reading and text selection (20111119-1).

The default colors used for View > Alternate Colors are now the same as for version 2.4.5. (People liked them better.)

The Format > Margins and Columns… sheet has a new button in the middle that shrinks all margins to their smallest value (which is either the smallest printable margins, or zero if the option key is pressed when the button is clicked). This maximizes the space for text and is useful for example when making signs (20111120-1).

Added some textures to the user interface.

Plain Text Editing

By popular demand, plain text editing has been added to Bean. When editing a plain text document, the Font, Format, and Style menu bar items will be replaced by a Settings menu bar item. Menu items under Settings allow the user to change:

• the display font (which is then remembered as the user’s preferred plain text font)

• the line spacing (also remembered as a user preference)

• the writing direction to accommodate right-to-left languages

• the file encoding

To change the text size when editing a plain text document, use the View > Zoom controls. You can use View > Alternate Colors when editing a plain text document, but you cannot apply colors directly to the text using the color picker.

The text encoding being used is shown in the status bar label whenever a plain text document is front-most and the status bar is up. So, if you see ‘Encoding:’ in the status bar label, you can be certain the document is plain text.


Bean version 2.9.8 (28 October 2011)


Improved the code that prevents blank areas and ghost text when scrolling on OS X 10.6 Snow Leopard (testing reveals this is not a problem on OS X 10.5 or OS X 10.7), and removed the code added to fix this in beta 2.9.7 since it would cause OS X 10.7 Lion to crash.

Fixed a problem where Bean would crash upon save if the header or footer contained non-ASCII characters.

Bean version 2.9.7 (16 October 2011)


Fixed a problem where blank areas and ghost text could appear when scrolling

Fixed a bug where Bean Preferences > New > Generic > Document Settings… > Margins could not be set to zero. Note: Bean Preferences > Advanced > Limit Margins to Printable Area also affects how these fields behave.

Fixed a bug where the full screen alternate colors state was being saved and restored on re-opening the document

When Bean’s grouped document window had a sheet down and a document icon from the Finder was dropped on Bean’s app icon, the file would open with an unnamed tab, causing problems. Fixed.

Fixed a bad bug where the sizes of images in .rtf and .doc files were saved incorrectly in points instead of twips. Newly saved documents will now open in OpenOffice with correctly sized images (instead of way too small). Such files saved in previous versions of Bean will open in Bean 2.9.7 with correctly sized images, but will use twips when re-saved.

Fixed a problem where switching from 1-Up view to 2-Up would not restore the area of visible text

Fixed a bug where closing all documents would not clear the Info Panel’s counts

Fixed a problem where a blinking text cursor would appear to follow a text table, but typing text would immediately move the text back into the last cell of the table because the typing attributes included the table attribute

Fixed an annoyance where the toolbar in a grouped document window might momentarily change sizes when switching documents

Fixed a bug where the non-active view in a split view window might respond to typewriter scrolling

When exiting full screen draft mode to windowed draft mode, the text view would not resize correctly. Fixed.


Undo will now allow you to undo past a save

The keyboard shortcut for inserting a line break is now shift+command+return instead of shift+return. This is to avoid a bug where shift+return would insert a paragraph break instead of a line break on any page but the first one in some cases.

Edit > Find > Jump to Selection (⌘j) and Edit > Find > Jump to Last Edit (⌃⌘L) now trigger the saffron ‘found text’ indicator

Bean version 2.9.6 (12 April 2011)


Rewrote the header/footer token (or ‘automatic item’) code so that rich text attributes can be applied to the tokens (and therefore to the text that will replace the tokens); tokens now resemble template text

Improved text selection behavior with text that includes header/footer tokens and template text

Changed the Info Panel to only show word counts when the current document is not full screen, and to respect options selected under Bean Preferences > Full Screen > Show Info Panel etc. when in full screen

IMPORTANT NOTE: the old header/footer token code will go away in a future beta, so if you have template documents that use the old style tokens, remember to update them.

The old-style tokens look like this:


The new-style tokens look like this:

Bean version 2.9.5 (28 March 2011)


Switching tabbed documents no longer removes focus from text.

Fixed some problems affecting localization.

Bean version 2.9.4 (20 March 2011)


Fixed a problem where the Bug Report was mistakenly opened as ‘read only’.

Renamed the HUD to Info Panel (many people were confused by the term HUD).

The Info Panel (HUD) position is saved correctly now (new code).

Added: Preferences > Advanced > Show Info Panel at launch.

Bean version 2.9.3 (13 March 2011)


Fixed a problem where invisibles would print if Bean > Preferences > Invisible Characters was active.

Fixed a problem where Bean > About Bean... and Help > Bean Help documents could fail to load due to bad path.

Bean version 2.9.2 (12 March 2011)


Fixed a bug involving Show Invisibles that could cause a crash.

Bean version 2.9.1 (11 March 2011)


Fixed a possible crash when closing non-grouped window documents.

Bean version 2.9.0 (10 March 2011)

Release notes

The source code has been completely rewritten with the goal of improving Bean and adding features requested by users, while still keeping things simple. This is, however, a beta release created from entirely new code, so it will be buggy.

New Features


Please do not start a localization without contacting me first at for instructions, as Bean now uses a new localization system.

The Bean Word Processor Software License

Copyright © 2007-2021 James Hoover

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to run and use the Software, copy the Software, or distribute the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies of the Software.

All other rights are reserved by the author of the Software.

The software is provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. In no event shall the authors or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or the use or other dealings in the software. The entire risk as to the quality and performance of the program is with you. Should the program prove defective, you assume the cost of all necessary servicing, repair or correction.