Commit Graph
297 Commits
Author SHA1 Message Date
semantic-release-bot 464bf0ecd7 chore(release): 3.0.0 [skip ci]
# [3.0.0](https://github.com/lwouis/alt-tab-macos/compare/v2.3.4...v3.0.0) (2020-03-10)

### Bug Fixes

* a title change often means the content has change ([b8d6bc9](https://github.com/lwouis/alt-tab-macos/commit/b8d6bc9))
* add rough downscaling when there are many windows (closes [#69](https://github.com/lwouis/alt-tab-macos/issues/69)) ([ced5ee6](https://github.com/lwouis/alt-tab-macos/commit/ced5ee6))
* added releases link and aligned layout left on tab 3 ([6bb73dc](https://github.com/lwouis/alt-tab-macos/commit/6bb73dc))
* also codesign debug builds ([a5f9911](https://github.com/lwouis/alt-tab-macos/commit/a5f9911))
* app launched while in fullscreen shows first window ([c5cbcdb](https://github.com/lwouis/alt-tab-macos/commit/c5cbcdb)), closes [/github.com/lwouis/alt-tab-macos/pull/114#issuecomment-576384795](https://github.com//github.com/lwouis/alt-tab-macos/pull/114/issues/issuecomment-576384795)
* auto-update preferences sync with os from launch ([b3fb222](https://github.com/lwouis/alt-tab-macos/commit/b3fb222))
* avoid rendering if app is not used ([fdddb0f](https://github.com/lwouis/alt-tab-macos/commit/fdddb0f))
* better float rounding = sharper cell contents ([9a96e49](https://github.com/lwouis/alt-tab-macos/commit/9a96e49))
* better focus/order for preferences (closes [#80](https://github.com/lwouis/alt-tab-macos/issues/80)) ([4a8bdeb](https://github.com/lwouis/alt-tab-macos/commit/4a8bdeb))
* better textareas ([efc9bd3](https://github.com/lwouis/alt-tab-macos/commit/efc9bd3))
* bring back the window delay that regressed with v2 ([bb95e55](https://github.com/lwouis/alt-tab-macos/commit/bb95e55))
* compare correctly since pid can go away when an app dies ([4ded030](https://github.com/lwouis/alt-tab-macos/commit/4ded030))
* compiler warnings ([1faa74c](https://github.com/lwouis/alt-tab-macos/commit/1faa74c))
* cpu and memory leaks (see discussion in [#117](https://github.com/lwouis/alt-tab-macos/issues/117)) ([52626aa](https://github.com/lwouis/alt-tab-macos/commit/52626aa))
* dock being shown was blocking alt-tab ([2826a1b](https://github.com/lwouis/alt-tab-macos/commit/2826a1b))
* don't show floating windows + efficiencies ([3f8e3ea](https://github.com/lwouis/alt-tab-macos/commit/3f8e3ea))
* don't show ui on fast trigger ([f8e1b00](https://github.com/lwouis/alt-tab-macos/commit/f8e1b00))
* don't trigger ui refreshes if the app is not active ([b9a0152](https://github.com/lwouis/alt-tab-macos/commit/b9a0152))
* don't upscale thumbnails of small windows ([0bc7472](https://github.com/lwouis/alt-tab-macos/commit/0bc7472))
* feedback token injected during ci ([effdc5f](https://github.com/lwouis/alt-tab-macos/commit/effdc5f))
* getting sparkle ready for release ([9f1f522](https://github.com/lwouis/alt-tab-macos/commit/9f1f522))
* handle on-all-spaces windows better ([4abe9f3](https://github.com/lwouis/alt-tab-macos/commit/4abe9f3))
* ignore build folder ([a2bb19f](https://github.com/lwouis/alt-tab-macos/commit/a2bb19f))
* ignore trigger shortcuts if mission control is active ([b03b0aa](https://github.com/lwouis/alt-tab-macos/commit/b03b0aa))
* initial discovery when single space was glitching the os ([3cd4b6d](https://github.com/lwouis/alt-tab-macos/commit/3cd4b6d))
* keyboard shortcuts didn't work without a menu ([cf92dc1](https://github.com/lwouis/alt-tab-macos/commit/cf92dc1))
* layout is now correct; also removed layout preferences for now ([a1b5266](https://github.com/lwouis/alt-tab-macos/commit/a1b5266))
* layout regression introduced by eed0353 ([bdc41be](https://github.com/lwouis/alt-tab-macos/commit/bdc41be))
* layout was incorrect resulting in thumbnails clipping ([fd906f4](https://github.com/lwouis/alt-tab-macos/commit/fd906f4))
* letsmove was not active on release builds ([6ac0658](https://github.com/lwouis/alt-tab-macos/commit/6ac0658))
* list temporary AXDialog windows like activity monitor ([51a8838](https://github.com/lwouis/alt-tab-macos/commit/51a8838))
* more robust screen-recording permission check ([ce574a2](https://github.com/lwouis/alt-tab-macos/commit/ce574a2))
* notarization issues ([d125dd3](https://github.com/lwouis/alt-tab-macos/commit/d125dd3))
* observer leak would throw and crash the app sometimes ([9ca28eb](https://github.com/lwouis/alt-tab-macos/commit/9ca28eb))
* only test permissions on the correct os versions ([4612e37](https://github.com/lwouis/alt-tab-macos/commit/4612e37))
* open alt-tab during space transitions (closes [#92](https://github.com/lwouis/alt-tab-macos/issues/92)) ([141562d](https://github.com/lwouis/alt-tab-macos/commit/141562d))
* prevent visual flickering (closes [#115](https://github.com/lwouis/alt-tab-macos/issues/115)) ([9a8c83e](https://github.com/lwouis/alt-tab-macos/commit/9a8c83e))
* quitting apps was not properly removing apps from the list ([10b2c71](https://github.com/lwouis/alt-tab-macos/commit/10b2c71))
* quitting multiple apps would refresh the ui multiple times ([bfc2700](https://github.com/lwouis/alt-tab-macos/commit/bfc2700))
* regression on collectionviewitem titles (not showing) ([8cb6d86](https://github.com/lwouis/alt-tab-macos/commit/8cb6d86))
* remove debug colors ([e588d55](https://github.com/lwouis/alt-tab-macos/commit/e588d55))
* remove unnecessary/wrong layout code ([9e719e6](https://github.com/lwouis/alt-tab-macos/commit/9e719e6))
* sharper images on non-retina displays ([1bb4d2a](https://github.com/lwouis/alt-tab-macos/commit/1bb4d2a))
* smaller payload for the icons ([bddb6fa](https://github.com/lwouis/alt-tab-macos/commit/bddb6fa))
* some apps have messy launch behavior ([7eb216d](https://github.com/lwouis/alt-tab-macos/commit/7eb216d)), closes [/github.com/lwouis/alt-tab-macos/issues/117#issuecomment-583868046](https://github.com//github.com/lwouis/alt-tab-macos/issues/117/issues/issuecomment-583868046)
* some apps should retry observing until it works ([0c731f4](https://github.com/lwouis/alt-tab-macos/commit/0c731f4))
* using floor() everywhere to avoid blurry rendering ([2a36196](https://github.com/lwouis/alt-tab-macos/commit/2a36196))

### Code Refactoring

* complete rework of the internals ([547311e](https://github.com/lwouis/alt-tab-macos/commit/547311e)), closes [#93](https://github.com/lwouis/alt-tab-macos/issues/93) [#24](https://github.com/lwouis/alt-tab-macos/issues/24) [#117](https://github.com/lwouis/alt-tab-macos/issues/117) [/github.com/lwouis/alt-tab-macos/issues/45#issuecomment-571898826](https://github.com//github.com/lwouis/alt-tab-macos/issues/45/issues/issuecomment-571898826)

### Features

* add an app icon and menubar icon (closes [#38](https://github.com/lwouis/alt-tab-macos/issues/38)) ([a345dae](https://github.com/lwouis/alt-tab-macos/commit/a345dae))
* add back the preferences for the new layout algo ([d52eb6d](https://github.com/lwouis/alt-tab-macos/commit/d52eb6d))
* add debug profile to feedback message ([a14f965](https://github.com/lwouis/alt-tab-macos/commit/a14f965))
* add feedback button on about window ([4046136](https://github.com/lwouis/alt-tab-macos/commit/4046136))
* add in-app feedback form (closes [#145](https://github.com/lwouis/alt-tab-macos/issues/145)) ([725a030](https://github.com/lwouis/alt-tab-macos/commit/725a030))
* add licence to about page ([cb66b79](https://github.com/lwouis/alt-tab-macos/commit/cb66b79))
* add preference to start at login (closes [#159](https://github.com/lwouis/alt-tab-macos/issues/159)) ([982fe6c](https://github.com/lwouis/alt-tab-macos/commit/982fe6c))
* adding cocoapods and letsmove/sparkle ([606bae7](https://github.com/lwouis/alt-tab-macos/commit/606bae7))
* better packing; tall thumbnails are 1/2 the width of wide ones ([e34e3b1](https://github.com/lwouis/alt-tab-macos/commit/e34e3b1))
* bump major version ([3c3b18c](https://github.com/lwouis/alt-tab-macos/commit/3c3b18c))
* cleaner layout and explanation text ([fd3e768](https://github.com/lwouis/alt-tab-macos/commit/fd3e768))
* debug build has code-signing to preserve permissions ([34a32f3](https://github.com/lwouis/alt-tab-macos/commit/34a32f3))
* divide preferences by topic (closes [#130](https://github.com/lwouis/alt-tab-macos/issues/130)) ([291f872](https://github.com/lwouis/alt-tab-macos/commit/291f872))
* drag-and-drop files on the ui (closes [#74](https://github.com/lwouis/alt-tab-macos/issues/74)) ([e1e3633](https://github.com/lwouis/alt-tab-macos/commit/e1e3633))
* german and spanish localization ([6c440a7](https://github.com/lwouis/alt-tab-macos/commit/6c440a7))
* improved translations ([debd3ae](https://github.com/lwouis/alt-tab-macos/commit/debd3ae))
* integrate sparkle for auto-updates (closes [#131](https://github.com/lwouis/alt-tab-macos/issues/131)) ([069382c](https://github.com/lwouis/alt-tab-macos/commit/069382c))
* localization (closes [#134](https://github.com/lwouis/alt-tab-macos/issues/134)) ([36e4bb0](https://github.com/lwouis/alt-tab-macos/commit/36e4bb0))
* make system calls more parallel (closes [#160](https://github.com/lwouis/alt-tab-macos/issues/160)) ([a29b39f](https://github.com/lwouis/alt-tab-macos/commit/a29b39f))
* migrate to standard os-backed preferences (closes [#161](https://github.com/lwouis/alt-tab-macos/issues/161)) ([e28c43f](https://github.com/lwouis/alt-tab-macos/commit/e28c43f))
* more appealing presentation + minor refac ([67f291d](https://github.com/lwouis/alt-tab-macos/commit/67f291d))
* nicer layout for about preferences ([03a5f77](https://github.com/lwouis/alt-tab-macos/commit/03a5f77))
* quit button is clearer with explicit mention of the name ([6b6d748](https://github.com/lwouis/alt-tab-macos/commit/6b6d748))
* replace default copyright with correct licence ([60b49ea](https://github.com/lwouis/alt-tab-macos/commit/60b49ea))
* separating the quit button as it is a special case ([9fa0c06](https://github.com/lwouis/alt-tab-macos/commit/9fa0c06))
* slightly increase contrast (mitigates [#82](https://github.com/lwouis/alt-tab-macos/issues/82)) ([291770e](https://github.com/lwouis/alt-tab-macos/commit/291770e))
* support macos "sudden termination" ([671fdab](https://github.com/lwouis/alt-tab-macos/commit/671fdab)), closes [/developer.apple.com/documentation/foundation/processinfo#1651129](https://github.com//developer.apple.com/documentation/foundation/processinfo/issues/1651129)

### BREAKING CHANGES

* bump major version
* Instead of asking the OS about the state of the whole system on trigger (what we do today; hard to do fast), or asking the state of the whole system on a timer (what HyperSwitch does today; inaccurate) - instead of one of 2 approaches, v3 observes the Accessibility events such as "an app was launched", "a window was closed". This means we build a cache as we receive these events in the background, and when the user trigger the app, we can show accurate state of the windows instantly.

Of course there is no free lunch, so this approach has its own issues. However from my work on it from the past week, I'm very optimistic! The thing I'm the most excited about actually is not the perf (because on my machine even v2 is instant; I have a recent macbook and no 4k displays), but the fact that we will finally have the thumbnails in order of recently-used to least-recently-used, instead of the order of their stack (z-index) on the desktop. It's a big difference! There are many more limitations that are no longer applying also with this approach.
2020-03-10 08:30:37 +00:00
Louis Pontoise c31252726c ci: fix cached cask-repair 2 2020-03-10 17:25:07 +09:00
semantic-release-bot bce17cb7d9 chore(release): 3.0.0 [skip ci]
# [3.0.0](https://github.com/lwouis/alt-tab-macos/compare/v2.3.4...v3.0.0) (2020-03-10)

### Bug Fixes

* a title change often means the content has change ([b8d6bc9](https://github.com/lwouis/alt-tab-macos/commit/b8d6bc9))
* add rough downscaling when there are many windows (closes [#69](https://github.com/lwouis/alt-tab-macos/issues/69)) ([ced5ee6](https://github.com/lwouis/alt-tab-macos/commit/ced5ee6))
* added releases link and aligned layout left on tab 3 ([6bb73dc](https://github.com/lwouis/alt-tab-macos/commit/6bb73dc))
* also codesign debug builds ([a5f9911](https://github.com/lwouis/alt-tab-macos/commit/a5f9911))
* app launched while in fullscreen shows first window ([c5cbcdb](https://github.com/lwouis/alt-tab-macos/commit/c5cbcdb)), closes [/github.com/lwouis/alt-tab-macos/pull/114#issuecomment-576384795](https://github.com//github.com/lwouis/alt-tab-macos/pull/114/issues/issuecomment-576384795)
* auto-update preferences sync with os from launch ([b3fb222](https://github.com/lwouis/alt-tab-macos/commit/b3fb222))
* avoid rendering if app is not used ([fdddb0f](https://github.com/lwouis/alt-tab-macos/commit/fdddb0f))
* better float rounding = sharper cell contents ([9a96e49](https://github.com/lwouis/alt-tab-macos/commit/9a96e49))
* better focus/order for preferences (closes [#80](https://github.com/lwouis/alt-tab-macos/issues/80)) ([4a8bdeb](https://github.com/lwouis/alt-tab-macos/commit/4a8bdeb))
* better textareas ([efc9bd3](https://github.com/lwouis/alt-tab-macos/commit/efc9bd3))
* bring back the window delay that regressed with v2 ([bb95e55](https://github.com/lwouis/alt-tab-macos/commit/bb95e55))
* compare correctly since pid can go away when an app dies ([4ded030](https://github.com/lwouis/alt-tab-macos/commit/4ded030))
* compiler warnings ([1faa74c](https://github.com/lwouis/alt-tab-macos/commit/1faa74c))
* cpu and memory leaks (see discussion in [#117](https://github.com/lwouis/alt-tab-macos/issues/117)) ([52626aa](https://github.com/lwouis/alt-tab-macos/commit/52626aa))
* dock being shown was blocking alt-tab ([2826a1b](https://github.com/lwouis/alt-tab-macos/commit/2826a1b))
* don't show floating windows + efficiencies ([3f8e3ea](https://github.com/lwouis/alt-tab-macos/commit/3f8e3ea))
* don't show ui on fast trigger ([f8e1b00](https://github.com/lwouis/alt-tab-macos/commit/f8e1b00))
* don't trigger ui refreshes if the app is not active ([b9a0152](https://github.com/lwouis/alt-tab-macos/commit/b9a0152))
* don't upscale thumbnails of small windows ([0bc7472](https://github.com/lwouis/alt-tab-macos/commit/0bc7472))
* feedback token injected during ci ([effdc5f](https://github.com/lwouis/alt-tab-macos/commit/effdc5f))
* getting sparkle ready for release ([9f1f522](https://github.com/lwouis/alt-tab-macos/commit/9f1f522))
* handle on-all-spaces windows better ([4abe9f3](https://github.com/lwouis/alt-tab-macos/commit/4abe9f3))
* ignore build folder ([a2bb19f](https://github.com/lwouis/alt-tab-macos/commit/a2bb19f))
* ignore trigger shortcuts if mission control is active ([b03b0aa](https://github.com/lwouis/alt-tab-macos/commit/b03b0aa))
* initial discovery when single space was glitching the os ([3cd4b6d](https://github.com/lwouis/alt-tab-macos/commit/3cd4b6d))
* keyboard shortcuts didn't work without a menu ([cf92dc1](https://github.com/lwouis/alt-tab-macos/commit/cf92dc1))
* layout is now correct; also removed layout preferences for now ([a1b5266](https://github.com/lwouis/alt-tab-macos/commit/a1b5266))
* layout regression introduced by eed0353 ([bdc41be](https://github.com/lwouis/alt-tab-macos/commit/bdc41be))
* layout was incorrect resulting in thumbnails clipping ([fd906f4](https://github.com/lwouis/alt-tab-macos/commit/fd906f4))
* letsmove was not active on release builds ([6ac0658](https://github.com/lwouis/alt-tab-macos/commit/6ac0658))
* list temporary AXDialog windows like activity monitor ([51a8838](https://github.com/lwouis/alt-tab-macos/commit/51a8838))
* more robust screen-recording permission check ([ce574a2](https://github.com/lwouis/alt-tab-macos/commit/ce574a2))
* notarization issues ([d125dd3](https://github.com/lwouis/alt-tab-macos/commit/d125dd3))
* observer leak would throw and crash the app sometimes ([9ca28eb](https://github.com/lwouis/alt-tab-macos/commit/9ca28eb))
* only test permissions on the correct os versions ([4612e37](https://github.com/lwouis/alt-tab-macos/commit/4612e37))
* open alt-tab during space transitions (closes [#92](https://github.com/lwouis/alt-tab-macos/issues/92)) ([141562d](https://github.com/lwouis/alt-tab-macos/commit/141562d))
* prevent visual flickering (closes [#115](https://github.com/lwouis/alt-tab-macos/issues/115)) ([9a8c83e](https://github.com/lwouis/alt-tab-macos/commit/9a8c83e))
* quitting apps was not properly removing apps from the list ([10b2c71](https://github.com/lwouis/alt-tab-macos/commit/10b2c71))
* quitting multiple apps would refresh the ui multiple times ([bfc2700](https://github.com/lwouis/alt-tab-macos/commit/bfc2700))
* regression on collectionviewitem titles (not showing) ([8cb6d86](https://github.com/lwouis/alt-tab-macos/commit/8cb6d86))
* remove debug colors ([e588d55](https://github.com/lwouis/alt-tab-macos/commit/e588d55))
* remove unnecessary/wrong layout code ([9e719e6](https://github.com/lwouis/alt-tab-macos/commit/9e719e6))
* sharper images on non-retina displays ([1bb4d2a](https://github.com/lwouis/alt-tab-macos/commit/1bb4d2a))
* smaller payload for the icons ([bddb6fa](https://github.com/lwouis/alt-tab-macos/commit/bddb6fa))
* some apps have messy launch behavior ([7eb216d](https://github.com/lwouis/alt-tab-macos/commit/7eb216d)), closes [/github.com/lwouis/alt-tab-macos/issues/117#issuecomment-583868046](https://github.com//github.com/lwouis/alt-tab-macos/issues/117/issues/issuecomment-583868046)
* some apps should retry observing until it works ([0c731f4](https://github.com/lwouis/alt-tab-macos/commit/0c731f4))
* using floor() everywhere to avoid blurry rendering ([2a36196](https://github.com/lwouis/alt-tab-macos/commit/2a36196))

### Code Refactoring

* complete rework of the internals ([547311e](https://github.com/lwouis/alt-tab-macos/commit/547311e)), closes [#93](https://github.com/lwouis/alt-tab-macos/issues/93) [#24](https://github.com/lwouis/alt-tab-macos/issues/24) [#117](https://github.com/lwouis/alt-tab-macos/issues/117) [/github.com/lwouis/alt-tab-macos/issues/45#issuecomment-571898826](https://github.com//github.com/lwouis/alt-tab-macos/issues/45/issues/issuecomment-571898826)

### Features

* add an app icon and menubar icon (closes [#38](https://github.com/lwouis/alt-tab-macos/issues/38)) ([a345dae](https://github.com/lwouis/alt-tab-macos/commit/a345dae))
* add back the preferences for the new layout algo ([d52eb6d](https://github.com/lwouis/alt-tab-macos/commit/d52eb6d))
* add debug profile to feedback message ([a14f965](https://github.com/lwouis/alt-tab-macos/commit/a14f965))
* add feedback button on about window ([4046136](https://github.com/lwouis/alt-tab-macos/commit/4046136))
* add in-app feedback form (closes [#145](https://github.com/lwouis/alt-tab-macos/issues/145)) ([725a030](https://github.com/lwouis/alt-tab-macos/commit/725a030))
* add licence to about page ([cb66b79](https://github.com/lwouis/alt-tab-macos/commit/cb66b79))
* add preference to start at login (closes [#159](https://github.com/lwouis/alt-tab-macos/issues/159)) ([982fe6c](https://github.com/lwouis/alt-tab-macos/commit/982fe6c))
* adding cocoapods and letsmove/sparkle ([606bae7](https://github.com/lwouis/alt-tab-macos/commit/606bae7))
* better packing; tall thumbnails are 1/2 the width of wide ones ([e34e3b1](https://github.com/lwouis/alt-tab-macos/commit/e34e3b1))
* bump major version ([3c3b18c](https://github.com/lwouis/alt-tab-macos/commit/3c3b18c))
* cleaner layout and explanation text ([fd3e768](https://github.com/lwouis/alt-tab-macos/commit/fd3e768))
* debug build has code-signing to preserve permissions ([34a32f3](https://github.com/lwouis/alt-tab-macos/commit/34a32f3))
* divide preferences by topic (closes [#130](https://github.com/lwouis/alt-tab-macos/issues/130)) ([291f872](https://github.com/lwouis/alt-tab-macos/commit/291f872))
* drag-and-drop files on the ui (closes [#74](https://github.com/lwouis/alt-tab-macos/issues/74)) ([e1e3633](https://github.com/lwouis/alt-tab-macos/commit/e1e3633))
* german and spanish localization ([6c440a7](https://github.com/lwouis/alt-tab-macos/commit/6c440a7))
* improved translations ([debd3ae](https://github.com/lwouis/alt-tab-macos/commit/debd3ae))
* integrate sparkle for auto-updates (closes [#131](https://github.com/lwouis/alt-tab-macos/issues/131)) ([069382c](https://github.com/lwouis/alt-tab-macos/commit/069382c))
* localization (closes [#134](https://github.com/lwouis/alt-tab-macos/issues/134)) ([36e4bb0](https://github.com/lwouis/alt-tab-macos/commit/36e4bb0))
* make system calls more parallel (closes [#160](https://github.com/lwouis/alt-tab-macos/issues/160)) ([a29b39f](https://github.com/lwouis/alt-tab-macos/commit/a29b39f))
* migrate to standard os-backed preferences (closes [#161](https://github.com/lwouis/alt-tab-macos/issues/161)) ([e28c43f](https://github.com/lwouis/alt-tab-macos/commit/e28c43f))
* more appealing presentation + minor refac ([67f291d](https://github.com/lwouis/alt-tab-macos/commit/67f291d))
* nicer layout for about preferences ([03a5f77](https://github.com/lwouis/alt-tab-macos/commit/03a5f77))
* quit button is clearer with explicit mention of the name ([6b6d748](https://github.com/lwouis/alt-tab-macos/commit/6b6d748))
* replace default copyright with correct licence ([60b49ea](https://github.com/lwouis/alt-tab-macos/commit/60b49ea))
* separating the quit button as it is a special case ([9fa0c06](https://github.com/lwouis/alt-tab-macos/commit/9fa0c06))
* slightly increase contrast (mitigates [#82](https://github.com/lwouis/alt-tab-macos/issues/82)) ([291770e](https://github.com/lwouis/alt-tab-macos/commit/291770e))
* support macos "sudden termination" ([671fdab](https://github.com/lwouis/alt-tab-macos/commit/671fdab)), closes [/developer.apple.com/documentation/foundation/processinfo#1651129](https://github.com//developer.apple.com/documentation/foundation/processinfo/issues/1651129)

### BREAKING CHANGES

* bump major version
* Instead of asking the OS about the state of the whole system on trigger (what we do today; hard to do fast), or asking the state of the whole system on a timer (what HyperSwitch does today; inaccurate) - instead of one of 2 approaches, v3 observes the Accessibility events such as "an app was launched", "a window was closed". This means we build a cache as we receive these events in the background, and when the user trigger the app, we can show accurate state of the windows instantly.

Of course there is no free lunch, so this approach has its own issues. However from my work on it from the past week, I'm very optimistic! The thing I'm the most excited about actually is not the perf (because on my machine even v2 is instant; I have a recent macbook and no 4k displays), but the fact that we will finally have the thumbnails in order of recently-used to least-recently-used, instead of the order of their stack (z-index) on the desktop. It's a big difference! There are many more limitations that are no longer applying also with this approach.
2020-03-10 08:21:31 +00:00
Louis Pontoise 9ee04f9b4b ci: fix cached cask-repair 2020-03-10 17:14:19 +09:00
semantic-release-bot 73e9d972bb chore(release): 3.0.0 [skip ci]
# [3.0.0](https://github.com/lwouis/alt-tab-macos/compare/v2.3.4...v3.0.0) (2020-03-10)

### Bug Fixes

* a title change often means the content has change ([b8d6bc9](https://github.com/lwouis/alt-tab-macos/commit/b8d6bc9))
* add rough downscaling when there are many windows (closes [#69](https://github.com/lwouis/alt-tab-macos/issues/69)) ([ced5ee6](https://github.com/lwouis/alt-tab-macos/commit/ced5ee6))
* added releases link and aligned layout left on tab 3 ([6bb73dc](https://github.com/lwouis/alt-tab-macos/commit/6bb73dc))
* also codesign debug builds ([a5f9911](https://github.com/lwouis/alt-tab-macos/commit/a5f9911))
* app launched while in fullscreen shows first window ([c5cbcdb](https://github.com/lwouis/alt-tab-macos/commit/c5cbcdb)), closes [/github.com/lwouis/alt-tab-macos/pull/114#issuecomment-576384795](https://github.com//github.com/lwouis/alt-tab-macos/pull/114/issues/issuecomment-576384795)
* auto-update preferences sync with os from launch ([b3fb222](https://github.com/lwouis/alt-tab-macos/commit/b3fb222))
* avoid rendering if app is not used ([fdddb0f](https://github.com/lwouis/alt-tab-macos/commit/fdddb0f))
* better float rounding = sharper cell contents ([9a96e49](https://github.com/lwouis/alt-tab-macos/commit/9a96e49))
* better focus/order for preferences (closes [#80](https://github.com/lwouis/alt-tab-macos/issues/80)) ([4a8bdeb](https://github.com/lwouis/alt-tab-macos/commit/4a8bdeb))
* better textareas ([efc9bd3](https://github.com/lwouis/alt-tab-macos/commit/efc9bd3))
* bring back the window delay that regressed with v2 ([bb95e55](https://github.com/lwouis/alt-tab-macos/commit/bb95e55))
* compare correctly since pid can go away when an app dies ([4ded030](https://github.com/lwouis/alt-tab-macos/commit/4ded030))
* compiler warnings ([1faa74c](https://github.com/lwouis/alt-tab-macos/commit/1faa74c))
* cpu and memory leaks (see discussion in [#117](https://github.com/lwouis/alt-tab-macos/issues/117)) ([52626aa](https://github.com/lwouis/alt-tab-macos/commit/52626aa))
* dock being shown was blocking alt-tab ([2826a1b](https://github.com/lwouis/alt-tab-macos/commit/2826a1b))
* don't show floating windows + efficiencies ([3f8e3ea](https://github.com/lwouis/alt-tab-macos/commit/3f8e3ea))
* don't show ui on fast trigger ([f8e1b00](https://github.com/lwouis/alt-tab-macos/commit/f8e1b00))
* don't trigger ui refreshes if the app is not active ([b9a0152](https://github.com/lwouis/alt-tab-macos/commit/b9a0152))
* don't upscale thumbnails of small windows ([0bc7472](https://github.com/lwouis/alt-tab-macos/commit/0bc7472))
* feedback token injected during ci ([effdc5f](https://github.com/lwouis/alt-tab-macos/commit/effdc5f))
* getting sparkle ready for release ([9f1f522](https://github.com/lwouis/alt-tab-macos/commit/9f1f522))
* handle on-all-spaces windows better ([4abe9f3](https://github.com/lwouis/alt-tab-macos/commit/4abe9f3))
* ignore build folder ([a2bb19f](https://github.com/lwouis/alt-tab-macos/commit/a2bb19f))
* ignore trigger shortcuts if mission control is active ([b03b0aa](https://github.com/lwouis/alt-tab-macos/commit/b03b0aa))
* initial discovery when single space was glitching the os ([3cd4b6d](https://github.com/lwouis/alt-tab-macos/commit/3cd4b6d))
* keyboard shortcuts didn't work without a menu ([cf92dc1](https://github.com/lwouis/alt-tab-macos/commit/cf92dc1))
* layout is now correct; also removed layout preferences for now ([a1b5266](https://github.com/lwouis/alt-tab-macos/commit/a1b5266))
* layout regression introduced by eed0353 ([bdc41be](https://github.com/lwouis/alt-tab-macos/commit/bdc41be))
* layout was incorrect resulting in thumbnails clipping ([fd906f4](https://github.com/lwouis/alt-tab-macos/commit/fd906f4))
* letsmove was not active on release builds ([6ac0658](https://github.com/lwouis/alt-tab-macos/commit/6ac0658))
* list temporary AXDialog windows like activity monitor ([51a8838](https://github.com/lwouis/alt-tab-macos/commit/51a8838))
* more robust screen-recording permission check ([ce574a2](https://github.com/lwouis/alt-tab-macos/commit/ce574a2))
* notarization issues ([d125dd3](https://github.com/lwouis/alt-tab-macos/commit/d125dd3))
* observer leak would throw and crash the app sometimes ([9ca28eb](https://github.com/lwouis/alt-tab-macos/commit/9ca28eb))
* only test permissions on the correct os versions ([4612e37](https://github.com/lwouis/alt-tab-macos/commit/4612e37))
* open alt-tab during space transitions (closes [#92](https://github.com/lwouis/alt-tab-macos/issues/92)) ([141562d](https://github.com/lwouis/alt-tab-macos/commit/141562d))
* prevent visual flickering (closes [#115](https://github.com/lwouis/alt-tab-macos/issues/115)) ([9a8c83e](https://github.com/lwouis/alt-tab-macos/commit/9a8c83e))
* quitting apps was not properly removing apps from the list ([10b2c71](https://github.com/lwouis/alt-tab-macos/commit/10b2c71))
* quitting multiple apps would refresh the ui multiple times ([bfc2700](https://github.com/lwouis/alt-tab-macos/commit/bfc2700))
* regression on collectionviewitem titles (not showing) ([8cb6d86](https://github.com/lwouis/alt-tab-macos/commit/8cb6d86))
* remove debug colors ([e588d55](https://github.com/lwouis/alt-tab-macos/commit/e588d55))
* remove unnecessary/wrong layout code ([9e719e6](https://github.com/lwouis/alt-tab-macos/commit/9e719e6))
* sharper images on non-retina displays ([1bb4d2a](https://github.com/lwouis/alt-tab-macos/commit/1bb4d2a))
* smaller payload for the icons ([bddb6fa](https://github.com/lwouis/alt-tab-macos/commit/bddb6fa))
* some apps have messy launch behavior ([7eb216d](https://github.com/lwouis/alt-tab-macos/commit/7eb216d)), closes [/github.com/lwouis/alt-tab-macos/issues/117#issuecomment-583868046](https://github.com//github.com/lwouis/alt-tab-macos/issues/117/issues/issuecomment-583868046)
* some apps should retry observing until it works ([0c731f4](https://github.com/lwouis/alt-tab-macos/commit/0c731f4))
* using floor() everywhere to avoid blurry rendering ([2a36196](https://github.com/lwouis/alt-tab-macos/commit/2a36196))

### Code Refactoring

* complete rework of the internals ([547311e](https://github.com/lwouis/alt-tab-macos/commit/547311e)), closes [#93](https://github.com/lwouis/alt-tab-macos/issues/93) [#24](https://github.com/lwouis/alt-tab-macos/issues/24) [#117](https://github.com/lwouis/alt-tab-macos/issues/117) [/github.com/lwouis/alt-tab-macos/issues/45#issuecomment-571898826](https://github.com//github.com/lwouis/alt-tab-macos/issues/45/issues/issuecomment-571898826)

### Features

* add an app icon and menubar icon (closes [#38](https://github.com/lwouis/alt-tab-macos/issues/38)) ([a345dae](https://github.com/lwouis/alt-tab-macos/commit/a345dae))
* add back the preferences for the new layout algo ([d52eb6d](https://github.com/lwouis/alt-tab-macos/commit/d52eb6d))
* add debug profile to feedback message ([a14f965](https://github.com/lwouis/alt-tab-macos/commit/a14f965))
* add feedback button on about window ([4046136](https://github.com/lwouis/alt-tab-macos/commit/4046136))
* add in-app feedback form (closes [#145](https://github.com/lwouis/alt-tab-macos/issues/145)) ([725a030](https://github.com/lwouis/alt-tab-macos/commit/725a030))
* add licence to about page ([cb66b79](https://github.com/lwouis/alt-tab-macos/commit/cb66b79))
* add preference to start at login (closes [#159](https://github.com/lwouis/alt-tab-macos/issues/159)) ([982fe6c](https://github.com/lwouis/alt-tab-macos/commit/982fe6c))
* adding cocoapods and letsmove/sparkle ([606bae7](https://github.com/lwouis/alt-tab-macos/commit/606bae7))
* better packing; tall thumbnails are 1/2 the width of wide ones ([e34e3b1](https://github.com/lwouis/alt-tab-macos/commit/e34e3b1))
* bump major version ([3c3b18c](https://github.com/lwouis/alt-tab-macos/commit/3c3b18c))
* cleaner layout and explanation text ([fd3e768](https://github.com/lwouis/alt-tab-macos/commit/fd3e768))
* debug build has code-signing to preserve permissions ([34a32f3](https://github.com/lwouis/alt-tab-macos/commit/34a32f3))
* divide preferences by topic (closes [#130](https://github.com/lwouis/alt-tab-macos/issues/130)) ([291f872](https://github.com/lwouis/alt-tab-macos/commit/291f872))
* drag-and-drop files on the ui (closes [#74](https://github.com/lwouis/alt-tab-macos/issues/74)) ([e1e3633](https://github.com/lwouis/alt-tab-macos/commit/e1e3633))
* german and spanish localization ([6c440a7](https://github.com/lwouis/alt-tab-macos/commit/6c440a7))
* improved translations ([debd3ae](https://github.com/lwouis/alt-tab-macos/commit/debd3ae))
* integrate sparkle for auto-updates (closes [#131](https://github.com/lwouis/alt-tab-macos/issues/131)) ([069382c](https://github.com/lwouis/alt-tab-macos/commit/069382c))
* localization (closes [#134](https://github.com/lwouis/alt-tab-macos/issues/134)) ([36e4bb0](https://github.com/lwouis/alt-tab-macos/commit/36e4bb0))
* make system calls more parallel (closes [#160](https://github.com/lwouis/alt-tab-macos/issues/160)) ([a29b39f](https://github.com/lwouis/alt-tab-macos/commit/a29b39f))
* migrate to standard os-backed preferences (closes [#161](https://github.com/lwouis/alt-tab-macos/issues/161)) ([e28c43f](https://github.com/lwouis/alt-tab-macos/commit/e28c43f))
* more appealing presentation + minor refac ([67f291d](https://github.com/lwouis/alt-tab-macos/commit/67f291d))
* nicer layout for about preferences ([03a5f77](https://github.com/lwouis/alt-tab-macos/commit/03a5f77))
* quit button is clearer with explicit mention of the name ([6b6d748](https://github.com/lwouis/alt-tab-macos/commit/6b6d748))
* replace default copyright with correct licence ([60b49ea](https://github.com/lwouis/alt-tab-macos/commit/60b49ea))
* separating the quit button as it is a special case ([9fa0c06](https://github.com/lwouis/alt-tab-macos/commit/9fa0c06))
* slightly increase contrast (mitigates [#82](https://github.com/lwouis/alt-tab-macos/issues/82)) ([291770e](https://github.com/lwouis/alt-tab-macos/commit/291770e))
* support macos "sudden termination" ([671fdab](https://github.com/lwouis/alt-tab-macos/commit/671fdab)), closes [/developer.apple.com/documentation/foundation/processinfo#1651129](https://github.com//developer.apple.com/documentation/foundation/processinfo/issues/1651129)

### BREAKING CHANGES

* bump major version
* Instead of asking the OS about the state of the whole system on trigger (what we do today; hard to do fast), or asking the state of the whole system on a timer (what HyperSwitch does today; inaccurate) - instead of one of 2 approaches, v3 observes the Accessibility events such as "an app was launched", "a window was closed". This means we build a cache as we receive these events in the background, and when the user trigger the app, we can show accurate state of the windows instantly.

Of course there is no free lunch, so this approach has its own issues. However from my work on it from the past week, I'm very optimistic! The thing I'm the most excited about actually is not the perf (because on my machine even v2 is instant; I have a recent macbook and no 4k displays), but the fact that we will finally have the thumbnails in order of recently-used to least-recently-used, instead of the order of their stack (z-index) on the desktop. It's a big difference! There are many more limitations that are no longer applying also with this approach.
2020-03-10 08:10:47 +00:00
Louis Pontoise 6883e86d19 ci: fix travis not deploying on github releases + caching 2020-03-10 17:04:37 +09:00
semantic-release-bot 79aa5bbe00 chore(release): 3.0.0 [skip ci]
# [3.0.0](https://github.com/lwouis/alt-tab-macos/compare/v2.3.4...v3.0.0) (2020-03-10)

### Bug Fixes

* a title change often means the content has change ([b8d6bc9](https://github.com/lwouis/alt-tab-macos/commit/b8d6bc9))
* add rough downscaling when there are many windows (closes [#69](https://github.com/lwouis/alt-tab-macos/issues/69)) ([ced5ee6](https://github.com/lwouis/alt-tab-macos/commit/ced5ee6))
* added releases link and aligned layout left on tab 3 ([6bb73dc](https://github.com/lwouis/alt-tab-macos/commit/6bb73dc))
* also codesign debug builds ([a5f9911](https://github.com/lwouis/alt-tab-macos/commit/a5f9911))
* app launched while in fullscreen shows first window ([c5cbcdb](https://github.com/lwouis/alt-tab-macos/commit/c5cbcdb)), closes [/github.com/lwouis/alt-tab-macos/pull/114#issuecomment-576384795](https://github.com//github.com/lwouis/alt-tab-macos/pull/114/issues/issuecomment-576384795)
* auto-update preferences sync with os from launch ([b3fb222](https://github.com/lwouis/alt-tab-macos/commit/b3fb222))
* avoid rendering if app is not used ([fdddb0f](https://github.com/lwouis/alt-tab-macos/commit/fdddb0f))
* better float rounding = sharper cell contents ([9a96e49](https://github.com/lwouis/alt-tab-macos/commit/9a96e49))
* better focus/order for preferences (closes [#80](https://github.com/lwouis/alt-tab-macos/issues/80)) ([4a8bdeb](https://github.com/lwouis/alt-tab-macos/commit/4a8bdeb))
* better textareas ([efc9bd3](https://github.com/lwouis/alt-tab-macos/commit/efc9bd3))
* bring back the window delay that regressed with v2 ([bb95e55](https://github.com/lwouis/alt-tab-macos/commit/bb95e55))
* compare correctly since pid can go away when an app dies ([4ded030](https://github.com/lwouis/alt-tab-macos/commit/4ded030))
* compiler warnings ([1faa74c](https://github.com/lwouis/alt-tab-macos/commit/1faa74c))
* cpu and memory leaks (see discussion in [#117](https://github.com/lwouis/alt-tab-macos/issues/117)) ([52626aa](https://github.com/lwouis/alt-tab-macos/commit/52626aa))
* dock being shown was blocking alt-tab ([2826a1b](https://github.com/lwouis/alt-tab-macos/commit/2826a1b))
* don't show floating windows + efficiencies ([3f8e3ea](https://github.com/lwouis/alt-tab-macos/commit/3f8e3ea))
* don't show ui on fast trigger ([f8e1b00](https://github.com/lwouis/alt-tab-macos/commit/f8e1b00))
* don't trigger ui refreshes if the app is not active ([b9a0152](https://github.com/lwouis/alt-tab-macos/commit/b9a0152))
* don't upscale thumbnails of small windows ([0bc7472](https://github.com/lwouis/alt-tab-macos/commit/0bc7472))
* feedback token injected during ci ([effdc5f](https://github.com/lwouis/alt-tab-macos/commit/effdc5f))
* getting sparkle ready for release ([9f1f522](https://github.com/lwouis/alt-tab-macos/commit/9f1f522))
* handle on-all-spaces windows better ([4abe9f3](https://github.com/lwouis/alt-tab-macos/commit/4abe9f3))
* ignore build folder ([a2bb19f](https://github.com/lwouis/alt-tab-macos/commit/a2bb19f))
* ignore trigger shortcuts if mission control is active ([b03b0aa](https://github.com/lwouis/alt-tab-macos/commit/b03b0aa))
* initial discovery when single space was glitching the os ([3cd4b6d](https://github.com/lwouis/alt-tab-macos/commit/3cd4b6d))
* keyboard shortcuts didn't work without a menu ([cf92dc1](https://github.com/lwouis/alt-tab-macos/commit/cf92dc1))
* layout is now correct; also removed layout preferences for now ([a1b5266](https://github.com/lwouis/alt-tab-macos/commit/a1b5266))
* layout regression introduced by eed0353 ([bdc41be](https://github.com/lwouis/alt-tab-macos/commit/bdc41be))
* layout was incorrect resulting in thumbnails clipping ([fd906f4](https://github.com/lwouis/alt-tab-macos/commit/fd906f4))
* letsmove was not active on release builds ([6ac0658](https://github.com/lwouis/alt-tab-macos/commit/6ac0658))
* list temporary AXDialog windows like activity monitor ([51a8838](https://github.com/lwouis/alt-tab-macos/commit/51a8838))
* more robust screen-recording permission check ([ce574a2](https://github.com/lwouis/alt-tab-macos/commit/ce574a2))
* notarization issues ([d125dd3](https://github.com/lwouis/alt-tab-macos/commit/d125dd3))
* observer leak would throw and crash the app sometimes ([9ca28eb](https://github.com/lwouis/alt-tab-macos/commit/9ca28eb))
* only test permissions on the correct os versions ([4612e37](https://github.com/lwouis/alt-tab-macos/commit/4612e37))
* open alt-tab during space transitions (closes [#92](https://github.com/lwouis/alt-tab-macos/issues/92)) ([141562d](https://github.com/lwouis/alt-tab-macos/commit/141562d))
* prevent visual flickering (closes [#115](https://github.com/lwouis/alt-tab-macos/issues/115)) ([9a8c83e](https://github.com/lwouis/alt-tab-macos/commit/9a8c83e))
* quitting apps was not properly removing apps from the list ([10b2c71](https://github.com/lwouis/alt-tab-macos/commit/10b2c71))
* quitting multiple apps would refresh the ui multiple times ([bfc2700](https://github.com/lwouis/alt-tab-macos/commit/bfc2700))
* regression on collectionviewitem titles (not showing) ([8cb6d86](https://github.com/lwouis/alt-tab-macos/commit/8cb6d86))
* remove debug colors ([e588d55](https://github.com/lwouis/alt-tab-macos/commit/e588d55))
* remove unnecessary/wrong layout code ([9e719e6](https://github.com/lwouis/alt-tab-macos/commit/9e719e6))
* sharper images on non-retina displays ([1bb4d2a](https://github.com/lwouis/alt-tab-macos/commit/1bb4d2a))
* smaller payload for the icons ([bddb6fa](https://github.com/lwouis/alt-tab-macos/commit/bddb6fa))
* some apps have messy launch behavior ([7eb216d](https://github.com/lwouis/alt-tab-macos/commit/7eb216d)), closes [/github.com/lwouis/alt-tab-macos/issues/117#issuecomment-583868046](https://github.com//github.com/lwouis/alt-tab-macos/issues/117/issues/issuecomment-583868046)
* some apps should retry observing until it works ([0c731f4](https://github.com/lwouis/alt-tab-macos/commit/0c731f4))
* using floor() everywhere to avoid blurry rendering ([2a36196](https://github.com/lwouis/alt-tab-macos/commit/2a36196))

### Code Refactoring

* complete rework of the internals ([547311e](https://github.com/lwouis/alt-tab-macos/commit/547311e)), closes [#93](https://github.com/lwouis/alt-tab-macos/issues/93) [#24](https://github.com/lwouis/alt-tab-macos/issues/24) [#117](https://github.com/lwouis/alt-tab-macos/issues/117) [/github.com/lwouis/alt-tab-macos/issues/45#issuecomment-571898826](https://github.com//github.com/lwouis/alt-tab-macos/issues/45/issues/issuecomment-571898826)

### Features

* add an app icon and menubar icon (closes [#38](https://github.com/lwouis/alt-tab-macos/issues/38)) ([a345dae](https://github.com/lwouis/alt-tab-macos/commit/a345dae))
* add back the preferences for the new layout algo ([d52eb6d](https://github.com/lwouis/alt-tab-macos/commit/d52eb6d))
* add debug profile to feedback message ([a14f965](https://github.com/lwouis/alt-tab-macos/commit/a14f965))
* add feedback button on about window ([4046136](https://github.com/lwouis/alt-tab-macos/commit/4046136))
* add in-app feedback form (closes [#145](https://github.com/lwouis/alt-tab-macos/issues/145)) ([725a030](https://github.com/lwouis/alt-tab-macos/commit/725a030))
* add licence to about page ([cb66b79](https://github.com/lwouis/alt-tab-macos/commit/cb66b79))
* add preference to start at login (closes [#159](https://github.com/lwouis/alt-tab-macos/issues/159)) ([982fe6c](https://github.com/lwouis/alt-tab-macos/commit/982fe6c))
* adding cocoapods and letsmove/sparkle ([606bae7](https://github.com/lwouis/alt-tab-macos/commit/606bae7))
* better packing; tall thumbnails are 1/2 the width of wide ones ([e34e3b1](https://github.com/lwouis/alt-tab-macos/commit/e34e3b1))
* bump major version ([3c3b18c](https://github.com/lwouis/alt-tab-macos/commit/3c3b18c))
* cleaner layout and explanation text ([fd3e768](https://github.com/lwouis/alt-tab-macos/commit/fd3e768))
* debug build has code-signing to preserve permissions ([34a32f3](https://github.com/lwouis/alt-tab-macos/commit/34a32f3))
* divide preferences by topic (closes [#130](https://github.com/lwouis/alt-tab-macos/issues/130)) ([291f872](https://github.com/lwouis/alt-tab-macos/commit/291f872))
* drag-and-drop files on the ui (closes [#74](https://github.com/lwouis/alt-tab-macos/issues/74)) ([e1e3633](https://github.com/lwouis/alt-tab-macos/commit/e1e3633))
* german and spanish localization ([6c440a7](https://github.com/lwouis/alt-tab-macos/commit/6c440a7))
* improved translations ([debd3ae](https://github.com/lwouis/alt-tab-macos/commit/debd3ae))
* integrate sparkle for auto-updates (closes [#131](https://github.com/lwouis/alt-tab-macos/issues/131)) ([069382c](https://github.com/lwouis/alt-tab-macos/commit/069382c))
* localization (closes [#134](https://github.com/lwouis/alt-tab-macos/issues/134)) ([36e4bb0](https://github.com/lwouis/alt-tab-macos/commit/36e4bb0))
* make system calls more parallel (closes [#160](https://github.com/lwouis/alt-tab-macos/issues/160)) ([a29b39f](https://github.com/lwouis/alt-tab-macos/commit/a29b39f))
* migrate to standard os-backed preferences (closes [#161](https://github.com/lwouis/alt-tab-macos/issues/161)) ([e28c43f](https://github.com/lwouis/alt-tab-macos/commit/e28c43f))
* more appealing presentation + minor refac ([67f291d](https://github.com/lwouis/alt-tab-macos/commit/67f291d))
* nicer layout for about preferences ([03a5f77](https://github.com/lwouis/alt-tab-macos/commit/03a5f77))
* quit button is clearer with explicit mention of the name ([6b6d748](https://github.com/lwouis/alt-tab-macos/commit/6b6d748))
* replace default copyright with correct licence ([60b49ea](https://github.com/lwouis/alt-tab-macos/commit/60b49ea))
* separating the quit button as it is a special case ([9fa0c06](https://github.com/lwouis/alt-tab-macos/commit/9fa0c06))
* slightly increase contrast (mitigates [#82](https://github.com/lwouis/alt-tab-macos/issues/82)) ([291770e](https://github.com/lwouis/alt-tab-macos/commit/291770e))
* support macos "sudden termination" ([671fdab](https://github.com/lwouis/alt-tab-macos/commit/671fdab)), closes [/developer.apple.com/documentation/foundation/processinfo#1651129](https://github.com//developer.apple.com/documentation/foundation/processinfo/issues/1651129)

### BREAKING CHANGES

* bump major version
* Instead of asking the OS about the state of the whole system on trigger (what we do today; hard to do fast), or asking the state of the whole system on a timer (what HyperSwitch does today; inaccurate) - instead of one of 2 approaches, v3 observes the Accessibility events such as "an app was launched", "a window was closed". This means we build a cache as we receive these events in the background, and when the user trigger the app, we can show accurate state of the windows instantly.

Of course there is no free lunch, so this approach has its own issues. However from my work on it from the past week, I'm very optimistic! The thing I'm the most excited about actually is not the perf (because on my machine even v2 is instant; I have a recent macbook and no 4k displays), but the fact that we will finally have the thumbnails in order of recently-used to least-recently-used, instead of the order of their stack (z-index) on the desktop. It's a big difference! There are many more limitations that are no longer applying also with this approach.
2020-03-10 07:53:10 +00:00
Louis Pontoise 308db52567 ci: cask-repair should happen after deploy 2020-03-10 16:43:47 +09:00
Louis Pontoise bfaff30536 ci: homebrew on travis needs update
see https://travis-ci.community/t/macos-build-fails-because-of-homebrew-bundle-unknown-command/7296/10
2020-03-10 16:25:19 +09:00
Louis Pontoise 203dbfc69b ci: codesign inside main .app, not in the pods folder 2020-03-10 16:13:47 +09:00
Louis Pontoise 55558e9336 ci: fix travis xcode build path 2 2020-03-10 15:34:30 +09:00
Louis Pontoise b249703291 ci: fix travis xcode build path 2020-03-10 15:27:05 +09:00
Louis Pontoise 33bb2ce98f ci: travis stop-on-error was broken
see https://github.com/travis-ci/travis-ci/issues/1066
2020-03-10 15:20:55 +09:00
Louis Pontoise 3c3b18c152 feat: bump major version
BREAKING CHANGE: bump major version
2020-03-10 15:08:01 +09:00
Louis Pontoise cb38ffac2f ci: force travis to stop on error 2020-03-10 14:59:07 +09:00
Louis Pontoise 6c6f3faaa9 ci: travis ignores IDEDerivedDataPathOverride; use derivedDataPath 2020-03-10 14:59:07 +09:00
Louis Pontoise 9ab1182b2e ci: install cask-repair dependency 2020-03-10 14:59:07 +09:00
semantic-release-bot 8331d75f94 chore(release): 2.4.0 [skip ci]
# [2.4.0](https://github.com/lwouis/alt-tab-macos/compare/v2.3.4...v2.4.0) (2020-03-10)

### Bug Fixes

* a title change often means the content has change ([b8d6bc9](https://github.com/lwouis/alt-tab-macos/commit/b8d6bc9))
* add rough downscaling when there are many windows (closes [#69](https://github.com/lwouis/alt-tab-macos/issues/69)) ([ced5ee6](https://github.com/lwouis/alt-tab-macos/commit/ced5ee6))
* added releases link and aligned layout left on tab 3 ([6bb73dc](https://github.com/lwouis/alt-tab-macos/commit/6bb73dc))
* also codesign debug builds ([a5f9911](https://github.com/lwouis/alt-tab-macos/commit/a5f9911))
* app launched while in fullscreen shows first window ([c5cbcdb](https://github.com/lwouis/alt-tab-macos/commit/c5cbcdb)), closes [/github.com/lwouis/alt-tab-macos/pull/114#issuecomment-576384795](https://github.com//github.com/lwouis/alt-tab-macos/pull/114/issues/issuecomment-576384795)
* auto-update preferences sync with os from launch ([b3fb222](https://github.com/lwouis/alt-tab-macos/commit/b3fb222))
* avoid rendering if app is not used ([fdddb0f](https://github.com/lwouis/alt-tab-macos/commit/fdddb0f))
* better float rounding = sharper cell contents ([9a96e49](https://github.com/lwouis/alt-tab-macos/commit/9a96e49))
* better focus/order for preferences (closes [#80](https://github.com/lwouis/alt-tab-macos/issues/80)) ([4a8bdeb](https://github.com/lwouis/alt-tab-macos/commit/4a8bdeb))
* better textareas ([efc9bd3](https://github.com/lwouis/alt-tab-macos/commit/efc9bd3))
* bring back the window delay that regressed with v2 ([bb95e55](https://github.com/lwouis/alt-tab-macos/commit/bb95e55))
* compare correctly since pid can go away when an app dies ([4ded030](https://github.com/lwouis/alt-tab-macos/commit/4ded030))
* compiler warnings ([1faa74c](https://github.com/lwouis/alt-tab-macos/commit/1faa74c))
* cpu and memory leaks (see discussion in [#117](https://github.com/lwouis/alt-tab-macos/issues/117)) ([52626aa](https://github.com/lwouis/alt-tab-macos/commit/52626aa))
* dock being shown was blocking alt-tab ([2826a1b](https://github.com/lwouis/alt-tab-macos/commit/2826a1b))
* don't show floating windows + efficiencies ([3f8e3ea](https://github.com/lwouis/alt-tab-macos/commit/3f8e3ea))
* don't show ui on fast trigger ([f8e1b00](https://github.com/lwouis/alt-tab-macos/commit/f8e1b00))
* don't trigger ui refreshes if the app is not active ([b9a0152](https://github.com/lwouis/alt-tab-macos/commit/b9a0152))
* don't upscale thumbnails of small windows ([0bc7472](https://github.com/lwouis/alt-tab-macos/commit/0bc7472))
* feedback token injected during ci ([effdc5f](https://github.com/lwouis/alt-tab-macos/commit/effdc5f))
* getting sparkle ready for release ([9f1f522](https://github.com/lwouis/alt-tab-macos/commit/9f1f522))
* handle on-all-spaces windows better ([4abe9f3](https://github.com/lwouis/alt-tab-macos/commit/4abe9f3))
* ignore build folder ([a2bb19f](https://github.com/lwouis/alt-tab-macos/commit/a2bb19f))
* ignore trigger shortcuts if mission control is active ([b03b0aa](https://github.com/lwouis/alt-tab-macos/commit/b03b0aa))
* initial discovery when single space was glitching the os ([3cd4b6d](https://github.com/lwouis/alt-tab-macos/commit/3cd4b6d))
* keyboard shortcuts didn't work without a menu ([cf92dc1](https://github.com/lwouis/alt-tab-macos/commit/cf92dc1))
* layout is now correct; also removed layout preferences for now ([a1b5266](https://github.com/lwouis/alt-tab-macos/commit/a1b5266))
* layout regression introduced by eed0353 ([bdc41be](https://github.com/lwouis/alt-tab-macos/commit/bdc41be))
* layout was incorrect resulting in thumbnails clipping ([fd906f4](https://github.com/lwouis/alt-tab-macos/commit/fd906f4))
* letsmove was not active on release builds ([6ac0658](https://github.com/lwouis/alt-tab-macos/commit/6ac0658))
* list temporary AXDialog windows like activity monitor ([51a8838](https://github.com/lwouis/alt-tab-macos/commit/51a8838))
* more robust screen-recording permission check ([ce574a2](https://github.com/lwouis/alt-tab-macos/commit/ce574a2))
* notarization issues ([d125dd3](https://github.com/lwouis/alt-tab-macos/commit/d125dd3))
* observer leak would throw and crash the app sometimes ([9ca28eb](https://github.com/lwouis/alt-tab-macos/commit/9ca28eb))
* only test permissions on the correct os versions ([4612e37](https://github.com/lwouis/alt-tab-macos/commit/4612e37))
* open alt-tab during space transitions (closes [#92](https://github.com/lwouis/alt-tab-macos/issues/92)) ([141562d](https://github.com/lwouis/alt-tab-macos/commit/141562d))
* prevent visual flickering (closes [#115](https://github.com/lwouis/alt-tab-macos/issues/115)) ([9a8c83e](https://github.com/lwouis/alt-tab-macos/commit/9a8c83e))
* quitting apps was not properly removing apps from the list ([10b2c71](https://github.com/lwouis/alt-tab-macos/commit/10b2c71))
* quitting multiple apps would refresh the ui multiple times ([bfc2700](https://github.com/lwouis/alt-tab-macos/commit/bfc2700))
* regression on collectionviewitem titles (not showing) ([8cb6d86](https://github.com/lwouis/alt-tab-macos/commit/8cb6d86))
* remove debug colors ([e588d55](https://github.com/lwouis/alt-tab-macos/commit/e588d55))
* remove unnecessary/wrong layout code ([9e719e6](https://github.com/lwouis/alt-tab-macos/commit/9e719e6))
* sharper images on non-retina displays ([1bb4d2a](https://github.com/lwouis/alt-tab-macos/commit/1bb4d2a))
* smaller payload for the icons ([bddb6fa](https://github.com/lwouis/alt-tab-macos/commit/bddb6fa))
* some apps have messy launch behavior ([7eb216d](https://github.com/lwouis/alt-tab-macos/commit/7eb216d)), closes [/github.com/lwouis/alt-tab-macos/issues/117#issuecomment-583868046](https://github.com//github.com/lwouis/alt-tab-macos/issues/117/issues/issuecomment-583868046)
* some apps should retry observing until it works ([0c731f4](https://github.com/lwouis/alt-tab-macos/commit/0c731f4))
* using floor() everywhere to avoid blurry rendering ([2a36196](https://github.com/lwouis/alt-tab-macos/commit/2a36196))

### Code Refactoring

* complete rework of the internals ([547311e](https://github.com/lwouis/alt-tab-macos/commit/547311e)), closes [#93](https://github.com/lwouis/alt-tab-macos/issues/93) [#24](https://github.com/lwouis/alt-tab-macos/issues/24) [#117](https://github.com/lwouis/alt-tab-macos/issues/117) [/github.com/lwouis/alt-tab-macos/issues/45#issuecomment-571898826](https://github.com//github.com/lwouis/alt-tab-macos/issues/45/issues/issuecomment-571898826)

### Features

* add an app icon and menubar icon (closes [#38](https://github.com/lwouis/alt-tab-macos/issues/38)) ([a345dae](https://github.com/lwouis/alt-tab-macos/commit/a345dae))
* add back the preferences for the new layout algo ([d52eb6d](https://github.com/lwouis/alt-tab-macos/commit/d52eb6d))
* add debug profile to feedback message ([a14f965](https://github.com/lwouis/alt-tab-macos/commit/a14f965))
* add feedback button on about window ([4046136](https://github.com/lwouis/alt-tab-macos/commit/4046136))
* add in-app feedback form (closes [#145](https://github.com/lwouis/alt-tab-macos/issues/145)) ([725a030](https://github.com/lwouis/alt-tab-macos/commit/725a030))
* add licence to about page ([cb66b79](https://github.com/lwouis/alt-tab-macos/commit/cb66b79))
* add preference to start at login (closes [#159](https://github.com/lwouis/alt-tab-macos/issues/159)) ([982fe6c](https://github.com/lwouis/alt-tab-macos/commit/982fe6c))
* adding cocoapods and letsmove/sparkle ([606bae7](https://github.com/lwouis/alt-tab-macos/commit/606bae7))
* better packing; tall thumbnails are 1/2 the width of wide ones ([e34e3b1](https://github.com/lwouis/alt-tab-macos/commit/e34e3b1))
* cleaner layout and explanation text ([fd3e768](https://github.com/lwouis/alt-tab-macos/commit/fd3e768))
* debug build has code-signing to preserve permissions ([34a32f3](https://github.com/lwouis/alt-tab-macos/commit/34a32f3))
* divide preferences by topic (closes [#130](https://github.com/lwouis/alt-tab-macos/issues/130)) ([291f872](https://github.com/lwouis/alt-tab-macos/commit/291f872))
* drag-and-drop files on the ui (closes [#74](https://github.com/lwouis/alt-tab-macos/issues/74)) ([e1e3633](https://github.com/lwouis/alt-tab-macos/commit/e1e3633))
* german and spanish localization ([6c440a7](https://github.com/lwouis/alt-tab-macos/commit/6c440a7))
* improved translations ([debd3ae](https://github.com/lwouis/alt-tab-macos/commit/debd3ae))
* integrate sparkle for auto-updates (closes [#131](https://github.com/lwouis/alt-tab-macos/issues/131)) ([069382c](https://github.com/lwouis/alt-tab-macos/commit/069382c))
* localization (closes [#134](https://github.com/lwouis/alt-tab-macos/issues/134)) ([36e4bb0](https://github.com/lwouis/alt-tab-macos/commit/36e4bb0))
* make system calls more parallel (closes [#160](https://github.com/lwouis/alt-tab-macos/issues/160)) ([a29b39f](https://github.com/lwouis/alt-tab-macos/commit/a29b39f))
* migrate to standard os-backed preferences (closes [#161](https://github.com/lwouis/alt-tab-macos/issues/161)) ([e28c43f](https://github.com/lwouis/alt-tab-macos/commit/e28c43f))
* more appealing presentation + minor refac ([67f291d](https://github.com/lwouis/alt-tab-macos/commit/67f291d))
* nicer layout for about preferences ([03a5f77](https://github.com/lwouis/alt-tab-macos/commit/03a5f77))
* quit button is clearer with explicit mention of the name ([6b6d748](https://github.com/lwouis/alt-tab-macos/commit/6b6d748))
* replace default copyright with correct licence ([60b49ea](https://github.com/lwouis/alt-tab-macos/commit/60b49ea))
* separating the quit button as it is a special case ([9fa0c06](https://github.com/lwouis/alt-tab-macos/commit/9fa0c06))
* slightly increase contrast (mitigates [#82](https://github.com/lwouis/alt-tab-macos/issues/82)) ([291770e](https://github.com/lwouis/alt-tab-macos/commit/291770e))
* support macos "sudden termination" ([671fdab](https://github.com/lwouis/alt-tab-macos/commit/671fdab)), closes [/developer.apple.com/documentation/foundation/processinfo#1651129](https://github.com//developer.apple.com/documentation/foundation/processinfo/issues/1651129)

### BREAKING CHANGES

* Instead of asking the OS about the state of the whole system on trigger (what we do today; hard to do fast), or asking the state of the whole system on a timer (what HyperSwitch does today; inaccurate) - instead of one of 2 approaches, v3 observes the Accessibility events such as "an app was launched", "a window was closed". This means we build a cache as we receive these events in the background, and when the user trigger the app, we can show accurate state of the windows instantly.

Of course there is no free lunch, so this approach has its own issues. However from my work on it from the past week, I'm very optimistic! The thing I'm the most excited about actually is not the perf (because on my machine even v2 is instant; I have a recent macbook and no 4k displays), but the fact that we will finally have the thumbnails in order of recently-used to least-recently-used, instead of the order of their stack (z-index) on the desktop. It's a big difference! There are many more limitations that are no longer applying also with this approach.
2020-03-10 05:03:56 +00:00
Louis Pontoise 9e719e6984 fix: remove unnecessary/wrong layout code 2020-03-10 14:00:37 +09:00
Louis Pontoise 1bb4d2a1c8 fix: sharper images on non-retina displays 2020-03-10 14:00:37 +09:00
Louis Pontoise a2bb19ffcb fix: ignore build folder 2020-03-10 14:00:37 +09:00
Louis Pontoise 982fe6cf3a feat: add preference to start at login (closes #159) 2020-03-10 14:00:37 +09:00
Louis Pontoise bddb6fa5bd fix: smaller payload for the icons 2020-03-10 14:00:37 +09:00
Louis Pontoise a345dae361 feat: add an app icon and menubar icon (closes #38) 2020-03-10 14:00:37 +09:00
Louis Pontoise 51a88382d1 fix: list temporary AXDialog windows like activity monitor 2020-03-10 14:00:37 +09:00
Louis Pontoise 946d81276f refactor: remove debug logs 2020-03-10 14:00:37 +09:00
Louis Pontoise 52626aa724 fix: cpu and memory leaks (see discussion in #117) 2020-03-10 14:00:37 +09:00
Louis Pontoise b3fb222d7f fix: auto-update preferences sync with os from launch 2020-03-10 14:00:37 +09:00
Louis Pontoise f950083061 refactor: correctly append to build settings from pods 2020-03-10 14:00:37 +09:00
Louis Pontoise 531a362790 refactor: remove unused protocol 2020-03-10 14:00:37 +09:00
louis.pontoise a526f5d447 docs: add a guide to navigate the project for newcomers 2020-03-10 14:00:37 +09:00
louis.pontoise 528c57fc28 refactor: move resources to top level 2020-03-10 14:00:37 +09:00
louis.pontoise effdc5f467 fix: feedback token injected during ci
Github expires token in source code so we have to hide it away in CI (for now)
2020-03-10 14:00:37 +09:00
louis.pontoise debd3aecb8 feat: improved translations 2020-03-10 14:00:37 +09:00
louis.pontoise 9f1f522306 fix: getting sparkle ready for release 2020-03-10 14:00:37 +09:00
louis.pontoise a5f9911e36 fix: also codesign debug builds 2020-03-10 14:00:37 +09:00
louis.pontoise dcff55aecf refactor: less unnecessary logs 2020-03-10 14:00:37 +09:00
louis.pontoise 45ea3c4a83 ci: added missing pod install 2020-03-10 14:00:37 +09:00
louis.pontoise bd7deb12dc ci: adding back missing codesign cert 2020-03-10 14:00:37 +09:00
louis.pontoise 700e09e2ff ci: only 1 build, not 1 for each env var 2020-03-10 14:00:37 +09:00
louis.pontoise 6ac0658b32 fix: letsmove was not active on release builds 2020-03-10 14:00:37 +09:00
louis.pontoise ec35884068 ci: schemes should be shared and versioned 2020-03-10 14:00:37 +09:00
louis.pontoise d125dd3ae9 fix: notarization issues 2020-03-10 14:00:37 +09:00
louis.pontoise 80f378b117 ci: big refac to finally rationalize the xcode mess
XCode project/workspace/configurations/target/pods have been in a mess for a while. Some changes done to address that:

* remove alt-tab-macos/ which was confusing
* ci/ becomes scripts/ as these can be used locally too
* added 3 xcconfig files to set aside important parameters so we stop passing flags around or modifying the huge pbxproj
2020-03-10 14:00:37 +09:00
louis.pontoise 9ec9aacf47 ci: more logs from altool to follow progress 2020-03-10 14:00:37 +09:00
louis.pontoise bdc41bea46 fix: layout regression introduced by eed0353 2020-03-10 14:00:37 +09:00
louis.pontoise 3fc899eeda refactor: remove non-resources 2020-03-10 14:00:37 +09:00
louis.pontoise a29b39fc87 feat: make system calls more parallel (closes #160) 2020-03-10 14:00:37 +09:00
louis.pontoise e28c43f227 feat: migrate to standard os-backed preferences (closes #161) 2020-03-10 14:00:37 +09:00
louis.pontoise 069382c119 feat: integrate sparkle for auto-updates (closes #131) 2020-03-10 14:00:37 +09:00