890 Commits

Author SHA1 Message Date
Allan Odgaard
97caab644a Remove deployment target from all xib files
We pass --minimum-deployment-target to ibtool so having the deployment target in the xib is redundant.

Furthermore, it appears that when building on macOS 11, a directory will be created for xib files when they:

1. Are a custom view (as opposed to a window)
2. Contains a deployment target
3. Contains a table view

Therefore, to successfully build on macOS 11 we cannot set deployment target for xib files meeting the above 3 criteria, which is easier when we only set the target in one place, instead of every single xib.

Thanks to Kevin Sjöberg for helping track this down.
2021-05-26 09:45:39 +02:00
Allan Odgaard
2f09c4562b Move embedded executables from Resources to MacOS directory 2021-05-26 09:33:11 +02:00
Allan Odgaard
5d87b8ef9b Move HTML/CSS/JS shown in about window to subfolder 2021-05-26 09:33:11 +02:00
Allan Odgaard
1f68037ccf Move commit window shell command (helper) to the CommitWindow framework 2021-04-25 09:40:48 +02:00
Allan Odgaard
083297d0a2 Remove unnecessary include 2021-04-16 17:13:07 +02:00
Allan Odgaard
2b3427bb6c Checkin release notes for v2.0.22 2021-04-16 10:38:51 +02:00
Allan Odgaard
26a56c67e2 Update some links in About window to use https 2021-03-29 10:43:31 +02:00
Allan Odgaard
a55a0d150e Use segmented control in about window
NSToolbarDisplayModeLabelOnly renders incorrectly on macOS 11 (latest tested 11.2.3), so it appears this mode is now “deprecated with no replacement”.
2021-03-29 09:41:31 +02:00
Allan Odgaard
f3751f2127 Set com.apple.security.get-task-allow to true for debug builds 2021-03-28 11:00:45 +02:00
Allan Odgaard
9562e46893 Let the “update menu” selector of MBMenuDelegate be a parameter
This is instead of hardcoding both selectors and menu item titles in the class, to find out which should be used to update the menu.
2021-03-27 12:42:42 +01:00
Allan Odgaard
4ba567ff38 Rename AppKit/OakSubmenuController → MenuBuilder/MBMenuDelegate
This belongs more naturally in the MenuBuilder framework.
2021-03-27 12:21:04 +01:00
Allan Odgaard
0259671836 Checkin release notes for v2.0.21 2021-03-08 12:25:54 +01:00
Allan Odgaard
3a460d9085 Set about window’s toolbar style to “preference” (macOS 11.0) 2021-03-08 07:04:23 +01:00
Allan Odgaard
df8ae27128 Checkin release notes for v2.0.20 2021-03-07 13:51:32 +01:00
Allan Odgaard
dbe67682bf Checkin release notes for v2.0.19 2021-02-25 21:30:03 +01:00
Allan Odgaard
c47ea0cfe4 Increase maximum number of open files if the current limit is below 2048
The terminal has a default limit of 256, which can be too low for users with a lot of open files, as TextMate also keeps a file descriptor open for parent folders, in order to observe file system changes.

On my system though, launching TextMate via Finder has the maximum number of open files set to 8-12,000, also when launching via ‘mate’ (as that uses the Launch Services), but a user had problems with around 160 open files.
2021-02-15 16:01:50 +01:00
Allan Odgaard
b61252130f Show error dialog incase socket() fails 2021-02-15 16:01:50 +01:00
Allan Odgaard
956d98dab7 Abort after 5 seconds of ‘mate’ failing to connect to TextMate’s socket 2021-02-15 16:01:50 +01:00
Allan Odgaard
94d3b9b670 Remove old build files 2021-02-15 16:01:50 +01:00
Allan Odgaard
f7d765ba0e Add build files (for new build system) 2021-02-15 16:01:50 +01:00
Allan Odgaard
5f5e8e168c Checkin release notes for v2.0.18 2021-02-09 20:17:09 +01:00
Allan Odgaard
1477e0f5a8 Checkin release notes for 2.0.17 2021-02-05 08:02:03 +01:00
Allan Odgaard
b9abd14e3c Checkin release notes for 2.0.16 2021-02-04 22:33:04 +01:00
Allan Odgaard
5a9fc8d20c Only use atomic save for remote volumes (by default)
APFS does not support exchangedata(2) meaning that atomic save has to be done using a rename.

This means that the inode is not preserved and the date of the file’s directory is updated.

There are some disadvantages to this, and I have been running with atomic saving disabled shortly after switching to APFS, so I believe it is best to make this the default behavior.
2021-02-04 22:10:26 +01:00
Allan Odgaard
7e69f5bb2c Fix compiler warnings by initializing struct members in correct order 2021-02-04 09:35:27 +01:00
Allan Odgaard
4972c104d1 Use ${YEAR} variable in NewApplication template’s InfoPlist.strings 2021-02-04 09:35:27 +01:00
Allan Odgaard
fa2077b3c8 Remove non-matching tests/resources definitions from build files
The resources directory was removed when we introduced CP_InfoPlist. The tests were removed in fcee7b38ab.
2021-02-04 09:35:27 +01:00
Allan Odgaard
ba1c99f7bc build: Introduce CP_InfoPlist and move Info.plist files out of resources
Previously we would automatically pick up an Info.plist file copied using any of the CP_* keys, and both move it to the correct location (when belonging to target built) or ignore it, if we were copying it from an imported target.

To simplify the logic in the build system, it is however better to be explicit about this, also because we could actually want an Info.plist file among our copied files.
2021-01-24 10:38:54 +01:00
Allan Odgaard
978c5a32a2 build: Expand variables in InfoPlist.strings files
We previously did this for InfoPlist.vstrings files, but the changed extension was only a temporary workaround for not allowing multiple filters to run on a build input.
2021-01-17 14:06:36 +01:00
Allan Odgaard
4606fdefff Create default bundles archive in ninja file and store in build dir
Previously we would download and archive the default bundles as part of ./configure and place the result in our source directory, this however both pollutes the source directory with generated files, but also had the ./configure step actually do a partial build, since we need to build the ‘bl’ executable to download bundles.
2021-01-16 19:14:22 +01:00
Michael Sheets
c90a9bb329 Prevent UTTypeConformsTo self-reference
Prevent public.shell-script from conforming to itself creating a loop, should conform to public.script.

Reported by Thomas Tempelmann.
2021-01-16 09:49:53 -06:00
Allan Odgaard
8ed4b43b63 Remove “Add License” button from window chrome 2021-01-13 22:59:11 +01:00
Allan Odgaard
b24eea89a5 Introduce ${YEAR} variable in our InfoPlist.strings
This saves us from having to update the copyright each year.
2021-01-12 10:43:53 +01:00
Jordan Rose
ea09ac026b Add "Close Tabs to the Left" as alternate of "Close Tabs to the Right"
This is useful when working with one set of files in a project, then moving to another set without closing the original set first.

Alternate menu items are pretty subtle, but there are already a lot of ways to close tabs, and I didn't want to clutter the menu further.
2020-12-29 15:57:09 +01:00
Allan Odgaard
a25d240ad6 NewApplication template: Change perform{FindPanel → TextFinder}Action: 2020-09-18 09:27:18 +02:00
Allan Odgaard
fbc78d3b37 Remove initialization of libcurl
We no longer use libcurl anywhere in TextMate, so this line is no longer necessary.
2020-06-09 16:48:37 +07:00
Allan Odgaard
066acad708 Remove use of WATCH_LEAKS (C++) 2020-06-05 21:22:50 +07:00
Allan Odgaard
c93030b385 Remove all debug output from custom log macros
This provided value during early development, but has been unused for years, and it would generate too much noise if converted to os_log.

So better to just remove it all and add os_log statements as needed.
2020-06-05 21:22:50 +07:00
Allan Odgaard
5246f168a4 Call os_log_error if AESendMessage fails 2020-06-05 21:22:50 +07:00
Allan Odgaard
4ec10c0923 Don’t annotate types and classes with PUBLIC
This was required when we linked each framework as its own thing, which we do not do anymore, and if we do go back to this system, we can simply have symbols public by default.
2020-06-05 21:22:50 +07:00
Allan Odgaard
70988c684f Use a custom class for favorite items (instead of NSDictionary) 2020-06-03 21:25:36 +07:00
Allan Odgaard
3d721f908c Use ‘valueForKey:’ to get ‘path’ from items in didSelectFavorite:
This allows path to be either stored in a dictionary (as currently done) or be a getter method of a custom subclass.
2020-06-03 21:22:43 +07:00
Allan Odgaard
d500f6e53d Remove support for initial first responder in OakSetupKeyViewLoop 2020-05-25 12:47:47 +07:00
Allan Odgaard
58d1cce527 Do not rely on OakSetupKeyViewLoop to set initial first responder
We either set it explicitly or rely on automatic key view loop calculations.

As for the latter: When auto-layout was initially introduced, the automatic key view loop calculation broke, as it used the view frames before layout. It should have been fixed several OS versions ago though, so we can use it again, as long as we are not working with view-based table views.
2020-05-25 12:47:47 +07:00
Allan Odgaard
2c407be15b Obtain OS version via NSProcessInfo.processInfo.operatingSystemVersion
The oak::os_major, oak::os_minor, and oak::os_patch functions are wrapping deprecated API.
2020-05-22 21:48:09 +07:00
Allan Odgaard
3ea2cd2423 Use compile-time string concatenation instead of %s 2020-05-22 21:48:09 +07:00
Allan Odgaard
dce26956e7 Rename methods and constants to use software update in singular form
The program only checks for a single update.
2020-05-22 21:48:09 +07:00
Allan Odgaard
05cf51d42e Move software update signing key to Info.plist
This simplifies usage of the software update singleton and still allows to use it in other projects that have different signing key(s).
2020-05-22 21:48:09 +07:00
Allan Odgaard
733ab302e2 Change variable name: observerId → token
Several places already used ‘token’ as the name for the result from NSNotificationCenter’s addObserver:… so this change is to be consistent.

While ‘token’ is less meaningful than ‘observerId’, the variable is only used with NSNotificationCenter API where the context makes it clear.
2020-05-22 21:48:09 +07:00
Allan Odgaard
569dc9a198 Make token used in notification block weak as it retains the block
This is not made clear from the documentation, however, the documentation does state that the token will be strongly held by the notification center, until the notification is removed, therefore it is safe to only keep a weak reference to the token (even if the implementation should change).
2020-05-22 21:48:09 +07:00