Now that Padre is running fast enough to well and truly keep up with my typing, I'm making another attempt to switch over and make Padre my primary editor.
As a result, I've been forced into implementing one of my shop-stopper features.
"Single Instance" support is a fairly common feature in major applications which keeps only one instance of the application running, and causes new invocations to communicate with the primary instance and open any files in the existing one, instead of spawning a new instance.
It seems simple, but implementing it involves implementing a Wx::Socket-based server inside of Padre (so that it can run in the main thread), writing a protocol for two Padre instances to talk to each other and communicate commands, and then writing a client for it into the startup sequence of Padre that talks to the server, all in a way that doesn't block for long periods of time.
To enable single-instance mode, set the flag main_singleinstance: 1 in your config.yml (by hand in the short term).
Once enabled, it should become much simpler to integrate Padre into other applications as an "external editor" so that double clicking in your version control gui or anything else that supports editor integration does the expected thing and just loads the specified file in the current Padre instance.
With single instance support out of the way, now I only need to get recursive find and replace working, and there should be no reasons left to go back to Ultraedit any more.
Single instance support should appear on the CPAN in Padre 0.35.