WikidPad, despite its rich feature set has been sadly eluding my workflow. The personal wiki-editor is cross-platform, secure, and includes autocompletion, search and export. Unfortunately there are some issues keeping me from replacing Evernote on OS X Mavericks.
wxPython is required for WikidPad. The wxPython 3.0.0 pkg file is not signed, so you’ll have to install it from the command line in order for it to work on Mavericks.
sudo installer -pkg wxPython-3.0.0.pkg -target /
There’s a wxPython formula for brew. I’ve tried countless times to get the following to work:
brew install wxmac
This just does not work with my environment and the patches were a waste of time for me. I’ve removed brew, reset my env paths, and used the installer package. Sample wxPython programs now run fine, and WikidPad will launch, however not without issues.
Here’s what is shown in stderr:
2014-02-04 09:52:34.307 Python[8902:d07] CoreText performance note: Client called CTFontCreateWithName() using name ".Lucida Grande UI" and got font with PostScript name ".LucidaGrandeUI". For best performance, only use PostScript names when calling this API.
2014-02-04 09:52:34.308 Python[8902:d07] CoreText performance note: Set a breakpoint on CTFontLogSuboptimalRequest to debug.
09:52:35 AM: Debug: No accel key found, accel string ignored.
09:52:35 AM: Debug: Unrecognised keycode 0
09:52:35 AM: Debug: In file /BUILD/wxPython-src-220.127.116.11/src/osx/window_osx.cpp at line 2706: 'RegisterHotKey' failed with error 0x00000016 (Invalid argument).
And in the error log, there’s not a lot of hope:
3 Version: 'wikidPad 2.1_01' Session start: 2014-01-30 14:23:07
4 Traceback (most recent call last):
5 File "/usr/local/lib/wxPython-18.104.22.168/lib/python2.7/site-packages/wx-3.0-o sx_cocoa/wx/_core.py", line 16767, in <lambda>
6 lambda event: event.callable(*event.args, **event.kw) )
7 File "lib/pwiki/WikiHtmlView.py", line 418, in _scrollAndThaw
8 self.Scroll(self.deferredScrollPos, self.deferredScrollPos)
9 File "/usr/local/lib/wxPython-22.214.171.124/lib/python2.7/site-packages/wx-3.0-o sx_cocoa/wx/_core.py", line 16712, in __getattr__
10 raise PyDeadObjectError(self.attrStr % self._name)
11 PyDeadObjectError: The C++ part of the WikiHtmlView object has been deleted, attribute access no longer allowed.
- The main window will never refresh. Clicking the close button or creating a new Wiki are the only features that appear to work. The options menu will only open on 2.3b11, but no other version.
- Opening the options menu in 2.3b11 will trigger an error: ‘XRC error: unknown font family “normal”‘. Numerous font warnings will appear in stderr. Changing a font brings up the same errors and warnings.
- Any text you write into the Wiki editor will be captured and displayed the next time you launch it, however the main window will never refresh.
- Any current version past 2.1 of WikidPad will do this (even the RCs).
- Earlier versions do not run because of errors related to wx initialization.
Mitigating the Problems
Because of the font warnings, I assume that the error trapping for font warnings (shown above in stderr) are causing the python wrapper for wxWidgets to halt. I changed all the fonts in settings to “Tahoma” and tried again.
I can now type in the edit box and the interface responds, but now with an unacceptable amount of lag.
I’m hoping that someone searching for this will know more than I do about the wxPython stack. At the moment I can’t spend anymore time on diving into the issue (I’ve never used wx, either,) but perhaps sheds some light.
Addendum: And As Usual…
I’d like to add that this isn’t meant to insult any of the WikidPad developers. Platform issues are an enormous headache. If anyone has a fix I will submit a patch and attribute credit.