2. What is Bluefish?

2.1. History of Bluefish
2.2. Main Features of Bluefish
2.3. How Stable is Bluefish?
2.4. Contact Us

Bluefish is a powerful editor for experienced web designers and programmers based on the GTK2 GUI interface. Bluefish supports many programming and markup languages, but focuses on editing dynamic and interactive websites.

Bluefish is not a WYSIWYG[1] text editor. This is deliberate, allowing the programmer to stay in full control. To facilitate the editing process, a large number of features are at your disposal. For inserting markup and code, there are tool bars, dialogs, and predefined/user-customized menus. Syntax highlighting, advanced search/replace functionality, scalability and language function references make Bluefish a powerful tool for development.

2.1. History of Bluefish

Bluefish development started under a different name. A good and free text editor targeted towards web development was not available. Olivier Sessink started the project ProSite. Chris Mazuc also started an HTML editor. On a GTK development mailing list, Olivier Sessink and Chris Mazuc saw each others postings, and decided to team up. Olivier had a basic editor, Chris had many HTML dialogs ready. After merging the code this was for a while known as the Thtml editor.

After a while Neil Millar joined the project to add weblint integration and a color dialog. Because the project became larger and more mature, a logo was wanted. After many discussions about boring logos, Neil Millar came up with a cute blue fish. Because this logo was appreciated by all, the name changed into the final name Bluefish.

After this initial stage, many developers, translators, testers and users joined the project.

Several years have passed since the first Bluefish release. Since that time, the fish has gained a reputation as an excellent editor, with qualities like stability, usability and numerous features. Also, Bluefish is small, fast and efficient, making it usable even on slow machines.

2.2. Main Features of Bluefish

This list will give you an overview of the most important or outstanding features found in Bluefish:

  • A What You Write Is What You Get interface

  • Multiple document interface, will easily open 500+ documents (tested 3500 with documents simultaneously).

  • Customizable syntax highlighting based on Perl compatible regular expressions, with subpattern support. Default patterns are included for:

    • C

    • cfml

    • ChangeLog

    • CSS stylesheet

    • Gettext po

    • HTML

    • Java

    • JScript

    • JavaScript

    • Octave

    • Pascal

    • Perl

    • PHP

    • Python

    • R

    • Shell

    • SQL

    • Tcl

    • Ruby

    • XML

  • Anti-aliased text window

  • Multiple encodings support, can convert between different character sets, supports multibyte characters, Unicode, UTF8, etc.

  • Nice wizards for startup, tables, frames, and others

  • Dialogs for many HTML tags, with all their attributes

  • HTML tool bar and tear-off menus

  • User-customizable tool bar for quick access to often used functions

  • Open files based on filename patterns and/or content, from selection or URIs

  • Fully featured image insert dialog

  • Thumbnail creation and automatically linking of the thumbnail with the original image

  • Multi-thumbnail generation for easy creation of photo albums or screen shot pages

  • Line numbers along the document

  • Bookmarks for lines across multiple documents, with bookmark browser

  • A custom menu, specify your own tags or sets of code, and define your own dialogs

  • Custom search and replace pattern support for the Custom menu

  • Very powerful search and replace, allowing POSIX and Perl Compatible regular expressions and sub-pattern replacing

  • Excellent undo/redo functionality

  • Configurable recent documents and recent directories functionality

  • Spell checking

  • Translations in twenty languages

  • User customizable integration with many programs, including weblint, tidy, make, javac, etc.

  • XML based function reference. Currently, references are included for Apache, DHTML, DocBook, HTML, PHP, and SQL. A GTK reference is available, and support for Perl and Python will be added. You may also create your own function reference. The XML format is described later in the manual.

  • XML based reference library for CSS2, HTML, PHP, and Python.

  • Projects management.

As Bluefish is a part of a larger desktop environment, we have focused on making the GUI consistent with the Gnome HIG[2]. However, we prefer not following it in every detail, as some parts are intended for the end user, while Bluefish is for the programmer.

2.3. How Stable is Bluefish?

Quite stable! The Bluefish developers aim to produce code that neither crashes nor leaks memory. Of course, that is not always easy to do. Leaks and crashes are often fixed in CVS as soon as they are discovered and hunted down. In addition to Bluefish's large user base, the developers use Bluefish for their daily work. So, fixing bugs and preventing crashes is always a major priority. However, some nags still exist. One example being the issue of slightly sluggish copy/paste functions.

For an updated list of open bugs, please go to the http://bugzilla.gnome.org/browse.cgi?product=bluefish page on bugzilla gnome.

We appreciate any and all contributions! Please tell us if Bluefish crashes on you :-).

2.4. Contact Us

We, the Bluefish development team, welcome all comments, user requests, constructive criticisms, and contributions. Are you curious or seeking information regarding Bluefish? Would you like to contribute by translating Bluefish or its manual? Here are your options:

[1] What You See Is What You Get

[2] GNOME Human Interface Guidelines, accessible at http://developer.gnome.org/projects/gup/hig/