The main window has now moved fully to constraint based layout which makes it a lot easier to tweak the layout and fixes issue #145.
Presently the option to have HTML output on the right is not supported. It will likely be back with a few other options that have been requested.
The width of file browser and height of HTML output view is always read from defaults rather than restored from previous session. Effectively this results in the same behavior except when there are multiple windows with different sizing of these splits. Unsure if per-window sizes should be brought back.
This changes the way the include/exclude keys work: A path now *must* be matched by an include key to actually be shown.
The default value of the global include key has been changed to include “*” but if users have edited the value, they will see few or no files in the file browser.
For example Xcode projects now have their target (URL) set to xcodeproject://path/to/project/file which would cause Show Package Contents to not work, as it expected a file URL.
For uncommitted items we no longer show folders if items from these folders are already shown.
For untracked items we only show the top-level (untracked) directory and not the items it contains.
I feel that the better API would be to make the selectedURLs property r/w (instead of read-only), but that is more involved since there is the case of setting a selection while the file browser is still loading items.
This is implemented by invoking “go back” if already showing an SCM URL. If there is no history (unlikely) then we instead “go up (parent)” which should take us to the root of the repository.
The key is consistent with the default key for bringing up the context menu in the text view — that key is however taken from the key bindings dictionary, so ideally we’d do the same in the file browser. Need to factor out the key bindings parsing code first though, and in theory the key bindings dictionary allow for multi-stroke bindings.
This implements issue #18.