When using an integer it got “pretty printed” by NSTextField (to have a thousand separator). If the user would “commit” this version, the version with the thousand separator would be stored in user defaults, which would make TextMate fail t listen to the desired port.
Initially I wanted all keys in a single header file but to avoid circular dependencies then this header would need to be in a framework that doesn’t depend on anything else, and the main benefit was only to have a single place to look for which keys exist, but now that we consistently prefix settings keys with ‘kUserDefaults’ then it’s easy to extract all keys via search.
This change adds new option for showing tab bar only above document, so the
file browser header lines up with tab bar.
File browser header height reduced by 1 pixel to match tab bar height. It also
draws optional top divider when in same line as tab bar
Previously we placed the views with a one point gap between them and had the superview fill the background. This works fine, but has the somewhat theoretical disadvantage that the superview then needs to implement drawRect: and for performance reasons declare that it is “opaque” which means subviews can’t use the (true) window background, should they want to.
Also add a preferences key for “tabs above document” (issue issue #214), but not hooked up in this commit.
My memory is a little vague here, but I believe the point of handling the menu keys was to workaround a bug in NSMenu.
The bug was that NSMenu would look at (the target of) cached menu items, probably for UI validation, so potentially sending methods to unretained objects, which could lead to a crash. Several workarounds were attempted (like clearing the target property after the menu had been displayed) but the only effective one was overloading key handling.
I’m quite sure though that this bug is no longer relevant.
We now explicitly disable it for targets that hasn’t yet been upgraded to ARC. This way, it’s easier to get an overview of which targets hasn’t yet been upgraded and ensures new targets has ARC enabled.
It’s not feasible to maintain the old-style xib translations while we work on the UI. We’ll soon move fully to constraint-based layout which should allow translations to be purely string-based.
Older versions of TextMate stored the install path with the tilde so we always need to (potentially) expand that when fetching the install location.
The lack of doing this was likely the cause of issue #302.
This includes the previously hidden initial file browser location, whether or not to permanently show the tab bar, placement of file browser and command output.
This is to make the tmProperties file more transparent (should the user wish to manually inspect it).
As the variable part in the settings is treated as a format string, we can use ‘\r’ and ‘\n’ for CR and LF respectively.
Presently the new file type is not setup to use tmProperties as the way this is specified (in tmProperties) needs special-casing. Will likely change that.
The reason for this is that we might be able to overwrite mate even if we do not have write access to the parent directory. This will avoid us having to prompt the user for an admin password (when updating mate).
It should be mentioned though that incase mate is not a regular file, we do need to remove it first, because if e.g. it is a symbolic link, our install would write to where the link points to.
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.