Mainly this is because when we run tests, we do not want global or default settings from TextMate, so now TextMate.app explicitly sets the path to the default and global settings (unlike when running tests).
Despite Menlo having been the new system font for fixed width text in the past several OS versions, NSFont’s userFixedPitchFontOfSize: still return Monaco, unless we build with the 10.8 SDK (and no, setting the deployment target to 10.7 does not produce something that actually runs on 10.7, at least not last I checked).
The disadvantage with Monaco as default font is that we lack bold and italic styles (since CoreText doesn’t synthesize these, unlike the legacy text rendering API TextMate 1.x used).
We moved it to TMPDIR so that multiple instances of TextMate could run (for different users) but have since gotten a lot of reports about problems with this location. The short version is that ‘ls’ shows the socket exists (in TMPDIR), but stat’ing it or similar will fail.
To still allow different users to use mate side-by-side we add the user ID to the socket name.
Hopefully this closes issue #183.
For example if you have all your projects under ~/Projects then you can do:
mkdir -p ~/Library/Application\ Support/TextMate/Favorites
cd ~/Library/Application\ Support/TextMate/Favorites
ln -s ~/Projects "[DIR] My Projects"
This will then have all the folders inside ~/Projects show when you choose Open Favorites… (⇧⌘O).
Long-term it might be useful to store actual property lists in the favorites folder, akin to smart folders (i.e. describe a query for what to show) and/or allow descending into the folders shown in the ⇧⌘O window.
We have TextMate create a named socket that ‘mate’ can use to contact the main application. Previously it was hardcoded to ‘/tmp/avian.sock’ which is bad on a multi-user system.
Placing it in the user’s temporary directory should ensure it doesn’t clash, yet still give us a predictable path (for mate to use).
Presently we maintain the old socket path as a link to the new location so that old versions of mate will still work.
Previously we installed this from the Bundle Support bundle’s support path.
While the Bundle Support bundle is a requirement to work with TextMate, including mate in the resources section should ensure we always get the latest build and address issue 53.