A frequently commented upon weakness of the otherwise excellent Bluefish editor is that there is no print command. That is easily remedied, however.
Update: Printing has been added to Bluefish 2.2.3, hooray! The following is retained for reference.
In Edit – Preferences – External filters, press “Add”. A new entry labeled “Untitled” will appear. Select and then click it to edit its name. Rename it to something like “Print Current File” and press enter to apply it. Now click to the right of the new name, in the “Command” column, to enter a command. Enter an appropriate printing command such as:
lp -o media=letter -o prettyprint -o page-top=72 -o page-left=54 -o cpi=12 -o lpi=8 %f
Press enter to apply it. Now close the Preferences window by pressing “OK”.
To use, simply go to Tools – Filters – Print Current File, and your file will print.
In the above example, -o name=value are options of lp; see the lp manpage. The %f variable tells Bluefish to pass the filename to a command (here, to lp).
TODO: Find a better solution. This prints the last saved version of a file. If your file has unsaved changes, those changes will not be printed. Likewise, if you have not yet saved your work, nothing will print. One solution is to use the command above but without -o prettyprint and without %f; this will print the current contents of the editing window but without an identifying header (no file name, no date). A better solution would be a way to print the current contents of the editing window and with a header, identifying it as “Untitled” if you have not yet saved your work — but I don’t know how to do that.