## Shell Integration

There are many ways to open files in or start Boa. Also, when there is a Boa running in socket server mode filenames can be passed to it via command-line.

### Command-line

Any number of filenames can be pased to Boa (after the switches) on the command-line that will be opened in the Editor.

The filenames should be in url format and can even specify the line number.

    [<prot>://]<filepath>[::<lineno>]

prot defaults to file if not specified.

### Shortcuts

It's recommended that you add a shortcut for starting Boa to either your desktop, taskbar or whatever app launcher you use.
Remember that Boa does not need to start up in it's own root directory, change the current directory or the shortcut's "Start in" directory to your own development directory or whereever you want.

### Drag & Drop

Boa supports opening files dropped onto the Editor window from the OS file manager.
Also (because Boa accepts filenames on the command-line), you may drag & drop a Python file from the OS file manager onto a Shortcut for Boa and to open it.

### Shell integration

On Windows you may associate Boa as an editor for .py files. This adds Edit with Boa as a menu item in the context pop-up of the Windows Explorer.
If there is a Boa sunning socket server mode, the filename will be transfered instantaneously to it, otherwise a new instance starts up.

Notes for Win2000:
In the Windows Explorer choose Tools->Folder Options.
On the Dialog notebook, click File Types page.
Select PY extension in file types list.
Click the Advanced button at the bottom of the dialog.
Click the New... button to create a new action.
Action:
Edit with Boa
Application used to perform action:
absolute\path\to\python.exe absolute\path\to\Boa.py "%1"
Ok all the dialogs.

### Socket Server Mode

This mode is on by default and consists of two flags. The first can be toggled under:
Preferences->General->Miscellaneous->suSocketFileOpenServer This flag determines whether Boa runs a socket in a thread ready to receive filenames which will be opened in the Editor.

The second flag (also on by default) is near the top of Boa.py, named server_mode.
This flag determines whether filenames passed to Boa on the command-line should be transfered to another instance of Boa (the one running the socket server). Is this flag is off or if no other Boa is running the socket server, Boa continues starting up and displays the file.

Boa Constructor - Application Help - Shell Integration