Commit Graph

5694 Commits

Author SHA1 Message Date
Allan Odgaard
dc60a74e59 Include ServiceManagement among precompiled headers
This is not required by any of the current sources, but it will be required, once we remove our use of AuthorizationExecuteWithPrivileges.
2021-03-25 08:28:22 +01:00
Allan Odgaard
3c611f00c9 Autohide scrollbar in file browser
By default, scrollbars are hidden on macOS when using a trackpad, but for mouse users, or people with scrollbars set to always visible, this is probably preferable (all other scrollviews in TextMate use autohiding scrollbars).
2021-03-25 08:25:44 +01:00
Allan Odgaard
7f9fe4cd90 Change NSCompositingOperationSourceOver to NSCompositingOperationCopy
This is when we know the destination is “empty”, so we might as well pick the simpler copy operation.
2021-03-25 08:20:35 +01:00
Allan Odgaard
2b7a30205d Remove OakBackgroundFillView’s support for NSImage
This was used for the gradient/color bar separators many OS versions ago.
2021-03-25 08:17:41 +01:00
Allan Odgaard
a24b0524ad OakTabBarViewController: No implicit animation when re-ordering tabs
This is only relevant when using the binding interface, instead of manual reload.

The tab bar cannot do an animated relayout when tabs are re-ordered. It probably should detect this itself, and skip the animation, though the animation group is setup in the controller, so this would still cause some side-effects.
2021-03-22 21:41:37 +01:00
Allan Odgaard
2624e59e2c Rave: Simplify code 2021-03-17 08:05:59 +01:00
Allan Odgaard
2b960ea97c Rave: Fix typo in variable name 2021-03-17 08:05:04 +01:00
Allan Odgaard
c723a9f5d2 Fix dependency: OakTextView needs to link with Find framework
This is because we use the Find singleton and FindMatch class.
2021-03-16 21:12:03 +01:00
Allan Odgaard
33f07d7fb4 Remove OakDebug.tmbundle
Majority of this is no longer used.
2021-03-16 21:07:34 +01:00
Allan Odgaard
9dad220cbd Include ‘attr.project.rave’ in scope when project has a ‘default.rave’ 2021-03-16 21:02:58 +01:00
Allan Odgaard
8adf0b3c92 Rave: Link rules are now dependent on files referenced in LN_FLAGS
For example if we link an executable with an embedded property list, then the linking step can be made dependent on the source property list by using a “${plist}” variable in LN_FLAGS set to “${dir}/info.plist” or similar.
2021-03-16 21:01:06 +01:00
Allan Odgaard
0259671836 Checkin release notes for v2.0.21 v2.0.21 2021-03-08 12:25:54 +01:00
Allan Odgaard
dfff5d27e3 The Open With submenu item is a shortcut for opening with default app
This is only when the default application is not TextMate.

Ideally the regular “Open” item would change to “Open With «application»” when the selected items are not text documents, and there is an application to handle them, but the code changes required for this are non-trivial because what the item does, is not decided until the user triggers it, and it may not treat all selected items the same.
2021-03-08 12:25:54 +01:00
Allan Odgaard
4324aaf341 Rework API for the Open With submenu
The API expose a few more implementation details and require the user retains the delegate for the duration of the menu’s lifecycle.

The upside is that we avoid the global singleton and it is now possible to examine and use the information gathered by the Open With menu delegate.
2021-03-08 12:25:54 +01:00
Allan Odgaard
f533019eaf Better property names for Open With application info 2021-03-08 12:25:54 +01:00
Allan Odgaard
34d2e44a20 Strip ‘##’-prefix from release title used with GitHub
The release text is “«title»\n\n«body»” where only the body should be markdown format.

Ideally we would only strip the prefix from the title (first line), but that is more complex, and currently we do not use headings in the body.
2021-03-08 12:25:54 +01:00
Allan Odgaard
3453bddac6 Ensure ⌘⌫ / [⌥]⌘V are not sent to file browser with focused text view
Due to the high priority menus have in the responder chain, we effectively cannot have context menus with key equivalents, if these menu items have explicit targets.

We need the explicit targets so that the context menu works when the application is not the active application.
2021-03-08 08:23: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 v2.0.20 2021-03-07 13:51:32 +01:00
Allan Odgaard
b2b4d12009 Add some left padding to icons in bundle editor 2021-03-07 13:44:43 +01:00
Allan Odgaard
20e3444d16 Clip NSBrowser border in bundle editor on macOS 10.15 and earlier 2021-03-07 13:44:43 +01:00
Allan Odgaard
eb2c26a88f Collapse the browser in the bundle editor when its height gets below 50 2021-03-07 12:14:34 +01:00
Allan Odgaard
8496e62f3a Use split view in bundle editor between properties and editor 2021-03-07 12:12:43 +01:00
Allan Odgaard
fed09bd6dc Add bundle editor views directly to the properties container view
There was no reason for the extra subview.
2021-03-07 11:47:58 +01:00
Allan Odgaard
ae34471c95 Set default split view position after restoring window frame size
We set the default position to a fraction of the split view height (rather than absolute value), so this is only if scaling is not done proportionally, and only when there is no saved split view size.
2021-03-07 11:42:26 +01:00
Allan Odgaard
f043952b4b Use “pane splitter divider” between bundle editor text view and browser 2021-03-07 11:39:57 +01:00
Allan Odgaard
9a416e5386 Ensure we do not mutate array while performing fast enumeration 2021-03-07 11:37:46 +01:00
Allan Odgaard
36e1d85c41 Rave: Fix issue with generated headers and universal builds
Generated Ragel and Cap’n Proto sources are required by both Intel and Arm targets, but as the output is the same, we cache and re-use the result from these transformations.

This however meant that our heuristic to find generated headers, and add these to the include path, would fail when we are receiving cached results (as we skip the intermediate, identical, steps).

We now return the intermediate steps from the cache, but mark them as duplicates, so that they can be stripped when generating the build file.

Not an ideal solution, but the real issue is really identifying generated headers, and getting these added to the include path.
2021-03-07 11:27:36 +01:00
Allan Odgaard
651db91d05 Update resizing mask for bundle editor nibs
They are now all set to have resizable width.
2021-03-07 10:01:47 +01:00
Allan Odgaard
b5c7170d9a Implement cancelOperation: for HTML output window (close via escape key) 2021-03-07 07:55:07 +01:00
Allan Odgaard
52d5239537 Change HTML output window back from NSPanel to NSWindow
The problem is that if another panel opens, that panel is not tied to our HTML output window, for example opening the Find dialog does not allow us to press return to search in the HTML output, and if we open a modal dialog, when that modal dialog is disposed, the *main window* will be brought to front (not the previously focused panel).

This effectively reverts commit 92953099e6.
2021-03-07 07:39:50 +01:00
Allan Odgaard
4d429c6390 Update dialog plug-in (ability to run modal dialogs via Dialog 2.x) 2021-03-06 14:51:40 +01:00
Allan Odgaard
337fd7c0f2 Update dialog plug-in (log all calls to Dialog 1.x) 2021-03-06 14:51:40 +01:00
Allan Odgaard
be513fc506 Rave: Support notarizing single executables
Executables can be notarized, although not stapled.

One can check the status of an executable using:

    spctl -a -vvv -t install /path/to/executable
2021-03-05 16:27:23 +01:00
Allan Odgaard
5784028ff3 Rave: Defines can now reference defines declared later in the file 2021-03-04 13:42:14 +01:00
Allan Odgaard
d769cee110 Rave: Make variable match regexp a global constant 2021-03-04 13:36:49 +01:00
Allan Odgaard
7e9426c57d Rave: Treat all values with a ‘${dir}/’ or ‘${HOME}/’ prefix as files
Previously we used a heuristic and if the value looked like a path, checked that it actually existed.

The new approach makes the rules simpler, avoids a file system check, and also ensures that non-existing files *will* become dependencies.

The latter is useful if they are generated by local.ninja, typos, or actually unmet dependencies.
2021-03-03 10:00:55 +01:00
Allan Odgaard
9075087fc7 Rave: Slightly more generalized handling of Cap’n Proto headers 2021-03-03 10:00:50 +01:00
Allan Odgaard
d71d049c35 Use extracted changes for GitHub release
These are also in the tag annotation, which GitHub uses by default, but in that case, GitHub will treat it as plain text rather than markdown.
2021-02-28 20:33:55 +01:00
Allan Odgaard
3d4c042822 Extract changes (for tag message) into file instead of using a pipe 2021-02-28 20:28:14 +01:00
Allan Odgaard
9876e56b92 Do not strip comments (markdown headers) from git tag message 2021-02-28 20:25:08 +01:00
Allan Odgaard
dbe67682bf Checkin release notes for v2.0.19 v2.0.19 2021-02-25 21:30:03 +01:00
Allan Odgaard
4d7eeeb383 Ensure ⌘Z / ⇧⌘Z are not sent to file browser when it does not have focus
Since the context menu is outside the normal view/responder hierarchy, it can receive key events even when file browser is not the active view.
2021-02-25 21:23:50 +01:00
Allan Odgaard
755e5ccad7 Prevent tar from adding padding to the release archive
See aonez/Keka#793
2021-02-18 13:18:11 +01:00
Allan Odgaard
3c2d59058a Update GitHub build action to use macOS-latest and checkout@v2 2021-02-16 11:01:06 +01:00
Allan Odgaard
2bdf90c606 Limit tab size settings (for Onigmo submodule) to C files 2021-02-15 17:05:24 +01:00
Allan Odgaard
70d267158e Let bin/gen_build call ./configure to switch to new build file generator 2021-02-15 16:55:45 +01:00
Allan Odgaard
2a3cfebc98 Add release/deploy build rules to version control but disable by default
To enable it, one can create a symbolic link from local.rave → local-orig.rave, though the file requires a few variables to be defined.
2021-02-15 16:42:59 +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