You can use the `--socket-file` option to open a file in a specific instance of Geany. For example, if you execute these two commands:
``` geany --socket-file=/tmp/geany1 /tmp/foo geany --socket-file=/tmp/geany1 /tmp/bar ```
you get one instance of Geany with two open documents, `/tmp/foo` and `/tmp/bar`.
Here’s a script I use (on Linux) to have one instance of Geany per workspace: https://gist.github.com/vfaronov/6843c6bc817521bfab7e58fff139c525