Compare commits

..
1170 Commits
Author SHA1 Message Date
lwouis adf5595203 refactor: fix inkscape bin path 2024-02-08 16:46:18 +01:00
lwouis d512394d39 refactor: apply compiler hints 2024-02-08 16:46:18 +01:00
lwouis 3ab7c5cd9e docs: improve website performance, and lazy-load images 2024-02-08 16:46:18 +01:00
semantic-release-bot 25f1881f85 chore(release): 6.65.0 [skip ci]
# [6.65.0](https://github.com/lwouis/alt-tab-macos/compare/v6.64.0...v6.65.0) (2024-01-29)

### Features

* update da/de/es/sv localizations ([c88426e](https://github.com/lwouis/alt-tab-macos/commit/c88426e))
* users can check status of required system permissions ([70ee681](https://github.com/lwouis/alt-tab-macos/commit/70ee681))
2024-01-29 17:14:13 +00:00
lwouis d819d8e8a1 ci: make localization process deterministic 2024-01-29 17:58:27 +01:00
lwouis db022a0688 docs: add links to support project 2024-01-29 14:26:43 +01:00
lwouis c88426e0b2 feat: update da/de/es/sv localizations 2024-01-23 23:16:48 +01:00
lwouis 4818345ce2 docs: add patreon to github sponsors 2024-01-23 23:14:06 +01:00
lwouis 70ee681757 feat: users can check status of required system permissions 2023-12-20 22:17:55 +01:00
lwouis 9e03d5f665 docs: add github sponsorship 2023-11-16 00:44:37 +01:00
semantic-release-bot 1561f2631a chore(release): 6.64.0 [skip ci]
# [6.64.0](https://github.com/lwouis/alt-tab-macos/compare/v6.63.0...v6.64.0) (2023-10-24)

### Bug Fixes

* don't absorb key up events after summon (closes [#2914](https://github.com/lwouis/alt-tab-macos/issues/2914)) ([3b0194d](https://github.com/lwouis/alt-tab-macos/commit/3b0194d))
* stop vim keys preference disabling on launch (closes [#2919](https://github.com/lwouis/alt-tab-macos/issues/2919)) ([53692ff](https://github.com/lwouis/alt-tab-macos/commit/53692ff))

### Features

* improve fr,de localizations ([c4ae549](https://github.com/lwouis/alt-tab-macos/commit/c4ae549))
2023-10-24 21:47:54 +00:00
lwouis c4ae5496e2 feat: improve fr,de localizations 2023-10-24 23:33:25 +02:00
lwouis 53692ffc7c fix: stop vim keys preference disabling on launch (closes #2919) 2023-10-24 23:28:45 +02:00
lwouis 3b0194d886 fix: don't absorb key up events after summon (closes #2914) 2023-10-24 23:28:45 +02:00
semantic-release-bot e75a1ff4fe chore(release): 6.63.0 [skip ci]
# [6.63.0](https://github.com/lwouis/alt-tab-macos/compare/v6.62.0...v6.63.0) (2023-10-20)

### Bug Fixes

* never screenshot windows if thumbnails are hidden ([5e7f44b](https://github.com/lwouis/alt-tab-macos/commit/5e7f44b))

### Features

* improve ca/ko/ku localizations ([865570f](https://github.com/lwouis/alt-tab-macos/commit/865570f))
2023-10-20 20:09:53 +00:00
lwouis 042c8061f6 refactor: clearer color code 2023-10-20 10:27:36 +02:00
lwouis 865570fa94 feat: improve ca/ko/ku localizations 2023-10-20 10:27:36 +02:00
Sean Kelly 5e7f44b5ca fix: never screenshot windows if thumbnails are hidden 2023-10-20 10:07:24 +02:00
semantic-release-bot 821161363e chore(release): 6.62.0 [skip ci]
# [6.62.0](https://github.com/lwouis/alt-tab-macos/compare/v6.61.0...v6.62.0) (2023-10-10)

### Bug Fixes

* better crossover windows detection ([3f64463](https://github.com/lwouis/alt-tab-macos/commit/3f64463))

### Features

* add tamil and croatian localizations ([e542da8](https://github.com/lwouis/alt-tab-macos/commit/e542da8))
* add vim key window navigation (closes [#1229](https://github.com/lwouis/alt-tab-macos/issues/1229)) ([5cf7f99](https://github.com/lwouis/alt-tab-macos/commit/5cf7f99))
* improve bg,es,he,hi,ko,uk,cn localizations ([31fb795](https://github.com/lwouis/alt-tab-macos/commit/31fb795))
2023-10-10 20:47:48 +00:00
lwouis e542da8c74 feat: add tamil and croatian localizations 2023-10-10 22:33:04 +02:00
lwouis 31fb795fd8 feat: improve bg,es,he,hi,ko,uk,cn localizations 2023-10-10 21:53:17 +02:00
Sai Chand 5cf7f99517 feat: add vim key window navigation (closes #1229) 2023-10-10 21:53:16 +02:00
Zachary Wander 3f64463580 fix: better crossover windows detection 2023-09-19 18:36:06 +02:00
semantic-release-bot 1a9f16a25a chore(release): 6.61.0 [skip ci]
# [6.61.0](https://github.com/lwouis/alt-tab-macos/compare/v6.60.0...v6.61.0) (2023-07-12)

### Bug Fixes

* better identify tabs on macos versions older than 13 ([3147a69](https://github.com/lwouis/alt-tab-macos/commit/3147a69)), closes [#2017](https://github.com/lwouis/alt-tab-macos/issues/2017)
* don't show empty color-slurp windows ([01b3a42](https://github.com/lwouis/alt-tab-macos/commit/01b3a42))

### Features

* improve german localization ([1084d87](https://github.com/lwouis/alt-tab-macos/commit/1084d87))
* improve support for crossover windows ([f9f1c19](https://github.com/lwouis/alt-tab-macos/commit/f9f1c19))
* improve support for scrcpy always-on-top windows ([0673381](https://github.com/lwouis/alt-tab-macos/commit/0673381))
* show the ui by right-clicking the menubar icon (closes [#2647](https://github.com/lwouis/alt-tab-macos/issues/2647)) ([63502d5](https://github.com/lwouis/alt-tab-macos/commit/63502d5))
2023-07-12 19:44:40 +00:00
Louis Pontoise 1084d87399 feat: improve german localization 2023-07-12 21:28:40 +02:00
decodism 3147a6989c fix: better identify tabs on macos versions older than 13
closes #2017
2023-07-12 21:25:00 +02:00
Louis Pontoise 63502d5f30 feat: show the ui by right-clicking the menubar icon (closes #2647) 2023-07-12 21:13:12 +02:00
Zachary Wander 06733812e6 feat: improve support for scrcpy always-on-top windows 2023-07-02 20:50:43 +02:00
Zachary Wander f9f1c19b84 feat: improve support for crossover windows 2023-07-02 20:50:43 +02:00
Zachary Wander 01b3a428d9 fix: don't show empty color-slurp windows 2023-06-25 11:37:25 +02:00
Louis Pontoise fd2f14ae2e refactor: simpler conditionals and comparisons 2023-06-25 11:36:57 +02:00
semantic-release-bot bf6c9121f4 chore(release): 6.60.0 [skip ci]
# [6.60.0](https://github.com/lwouis/alt-tab-macos/compare/v6.59.0...v6.60.0) (2023-06-23)

### Bug Fixes

* prevent flickering when switching to a previewed window ([b69f5f4](https://github.com/lwouis/alt-tab-macos/commit/b69f5f4)), closes [#2432](https://github.com/lwouis/alt-tab-macos/issues/2432)

### Features

* improve support for color-slurp windows ([8605b23](https://github.com/lwouis/alt-tab-macos/commit/8605b23))
* user can change window order in preferences (closes [#515](https://github.com/lwouis/alt-tab-macos/issues/515)) ([a67d123](https://github.com/lwouis/alt-tab-macos/commit/a67d123))
2023-06-23 22:03:23 +00:00
Louis Pontoise a67d1231de feat: user can change window order in preferences (closes #515) 2023-06-23 23:30:56 +02:00
Louis Pontoise b69f5f4b5f fix: prevent flickering when switching to a previewed window
(closes #2432)
2023-06-23 23:30:56 +02:00
Louis Pontoise 8605b23135 feat: improve support for color-slurp windows 2023-06-23 23:30:55 +02:00
Louis Pontoise 7d823dd61d ci: replace altool with notarytool
Apple will break altool notarization on Nov 2023, so we are forced to update our ci
2023-06-23 23:30:55 +02:00
semantic-release-bot 8152c3cebf chore(release): 6.59.0 [skip ci]
# [6.59.0](https://github.com/lwouis/alt-tab-macos/compare/v6.58.0...v6.59.0) (2023-06-04)

### Features

* show app icon for app with no open window (closes [#2561](https://github.com/lwouis/alt-tab-macos/issues/2561)) ([44a5630](https://github.com/lwouis/alt-tab-macos/commit/44a5630))
* update vietnamese localization ([7229b8a](https://github.com/lwouis/alt-tab-macos/commit/7229b8a))
2023-06-04 16:07:27 +00:00
Louis Pontoise 7229b8a0a0 feat: update vietnamese localization 2023-06-04 17:52:01 +02:00
Louis Pontoise 44a5630634 feat: show app icon for app with no open window (closes #2561) 2023-06-04 17:41:42 +02:00
semantic-release-bot 19a65050e8 chore(release): 6.58.0 [skip ci]
# [6.58.0](https://github.com/lwouis/alt-tab-macos/compare/v6.57.0...v6.58.0) (2023-05-15)

### Bug Fixes

* editing the blacklist could sometimes bug (closes [#2528](https://github.com/lwouis/alt-tab-macos/issues/2528)) ([f7f4430](https://github.com/lwouis/alt-tab-macos/commit/f7f4430))

### Features

* update dutch localization ([04948a2](https://github.com/lwouis/alt-tab-macos/commit/04948a2))
2023-05-15 20:58:37 +00:00
Louis Pontoise 04948a21f0 feat: update dutch localization 2023-05-15 22:43:40 +02:00
Louis Pontoise f7f4430be9 fix: editing the blacklist could sometimes bug (closes #2528) 2023-05-15 22:41:13 +02:00
Louis Pontoise e77f3ed44a ci: travis is running deploy steps on fail build recently
i've opened a ticket. it's definitely a bug on their side, but this workaround should fix the issue in the here-and-now
2023-05-14 01:21:52 +02:00
semantic-release-bot 180ba935b1 chore(release): 6.57.0 [skip ci]
# [6.57.0](https://github.com/lwouis/alt-tab-macos/compare/v6.56.0...v6.57.0) (2023-05-09)

### Bug Fixes

* drag-and-drop from a folder on the dock (closes [#706](https://github.com/lwouis/alt-tab-macos/issues/706)) ([ee6785f](https://github.com/lwouis/alt-tab-macos/commit/ee6785f))
* preview window wouldn't update in some cases ([537ba26](https://github.com/lwouis/alt-tab-macos/commit/537ba26))

### Features

* add shortcut to toggle fullscreen selected window (closes [#2521](https://github.com/lwouis/alt-tab-macos/issues/2521)) ([7327917](https://github.com/lwouis/alt-tab-macos/commit/7327917))
* add uzbek localization ([0e106e2](https://github.com/lwouis/alt-tab-macos/commit/0e106e2))
2023-05-09 21:19:32 +00:00
Louis Pontoise 0e106e263b feat: add uzbek localization 2023-05-09 22:59:56 +02:00
Louis Pontoise 7327917a81 feat: add shortcut to toggle fullscreen selected window (closes #2521) 2023-05-09 18:28:35 +02:00
Louis Pontoise c08dcd9fb5 docs: update landing website material 2023-05-02 11:14:13 +02:00
Louis Pontoise ee6785f6ab fix: drag-and-drop from a folder on the dock (closes #706) 2023-03-22 21:39:53 +01:00
decodism 537ba26645 fix: preview window wouldn't update in some cases 2023-03-17 17:25:16 +01:00
semantic-release-bot e604ee2440 chore(release): 6.56.0 [skip ci]
# [6.56.0](https://github.com/lwouis/alt-tab-macos/compare/v6.55.0...v6.56.0) (2023-03-16)

### Bug Fixes

* correctly show when an app is no longer assigned to all desktops ([10bbaa9](https://github.com/lwouis/alt-tab-macos/commit/10bbaa9)), closes [#2372](https://github.com/lwouis/alt-tab-macos/issues/2372)

### Features

* add option to preview selected window (closes [#967](https://github.com/lwouis/alt-tab-macos/issues/967)) ([6534a2d](https://github.com/lwouis/alt-tab-macos/commit/6534a2d))
2023-03-16 10:27:22 +00:00
decodism 6534a2d62e feat: add option to preview selected window (closes #967) 2023-03-16 11:13:09 +01:00
Louis Pontoise b5c3bedd14 docs: optimize landing website images, fix typos, credit appcenter pod 2023-03-02 11:16:54 +01:00
Louis Pontoise 10bbaa9217 fix: correctly show when an app is no longer assigned to all desktops
closes #2372
2023-02-27 15:21:17 +01:00
semantic-release-bot 455e16a88f chore(release): 6.55.0 [skip ci]
# [6.55.0](https://github.com/lwouis/alt-tab-macos/compare/v6.54.0...v6.55.0) (2023-02-23)

### Bug Fixes

* use plain number formatter for initial slider label ([7cab722](https://github.com/lwouis/alt-tab-macos/commit/7cab722))

### Features

* allow batch removal from the blacklist ([f53c070](https://github.com/lwouis/alt-tab-macos/commit/f53c070))
* allow to switch shortcuts while the ui is already open ([b99c988](https://github.com/lwouis/alt-tab-macos/commit/b99c988))
* improved german localization ([5d27a19](https://github.com/lwouis/alt-tab-macos/commit/5d27a19))
* show dock badges when they don't show a number (closes [#2356](https://github.com/lwouis/alt-tab-macos/issues/2356)) ([84752e0](https://github.com/lwouis/alt-tab-macos/commit/84752e0))
2023-02-23 18:39:26 +00:00
Louis Pontoise 5d27a19b38 feat: improved german localization 2023-02-23 19:21:31 +01:00
decodism 7cab722df3 fix: use plain number formatter for initial slider label 2023-02-23 19:11:55 +01:00
decodism b99c988970 feat: allow to switch shortcuts while the ui is already open 2023-02-22 19:43:53 +01:00
decodism f53c070ca1 feat: allow batch removal from the blacklist 2023-02-22 19:43:53 +01:00
Louis Pontoise 84752e0fef feat: show dock badges when they don't show a number (closes #2356) 2023-02-22 19:19:48 +01:00
semantic-release-bot 0d4e0f1dab chore(release): 6.54.0 [skip ci]
# [6.54.0](https://github.com/lwouis/alt-tab-macos/compare/v6.53.1...v6.54.0) (2023-02-20)

### Features

* improve selection background/border color contrast ([cea0cff](https://github.com/lwouis/alt-tab-macos/commit/cea0cff)), closes [#2352](https://github.com/lwouis/alt-tab-macos/issues/2352)
2023-02-20 18:21:02 +00:00
Louis Pontoise cea0cff2a7 feat: improve selection background/border color contrast
closes #2352
2023-02-20 19:01:17 +01:00
semantic-release-bot a60f1e13db chore(release): 6.53.1 [skip ci]
## [6.53.1](https://github.com/lwouis/alt-tab-macos/compare/v6.53.0...v6.53.1) (2023-02-12)

### Bug Fixes

* bring back mouse hover selection (closes [#2317](https://github.com/lwouis/alt-tab-macos/issues/2317)) ([abe2e0b](https://github.com/lwouis/alt-tab-macos/commit/abe2e0b))
2023-02-12 18:26:05 +00:00
decodism abe2e0b73b fix: bring back mouse hover selection (closes #2317) 2023-02-12 19:07:45 +01:00
semantic-release-bot f9bb33c49b chore(release): 6.53.0 [skip ci]
# [6.53.0](https://github.com/lwouis/alt-tab-macos/compare/v6.52.1...v6.53.0) (2023-02-09)

### Bug Fixes

* don't focus window when dropping a file on it ([c386a0c](https://github.com/lwouis/alt-tab-macos/commit/c386a0c))

### Features

* allow status item removal by dragging ([216c5d8](https://github.com/lwouis/alt-tab-macos/commit/216c5d8))
* improve localizations ([7a30b18](https://github.com/lwouis/alt-tab-macos/commit/7a30b18))
* separate mouse hover from keyboard selection ([3fb9a19](https://github.com/lwouis/alt-tab-macos/commit/3fb9a19)), closes [#2078](https://github.com/lwouis/alt-tab-macos/issues/2078) [#1617](https://github.com/lwouis/alt-tab-macos/issues/1617)
2023-02-09 20:59:15 +00:00
Louis Pontoise 7a30b18c20 feat: improve localizations 2023-02-09 21:18:54 +01:00
Louis Pontoise 3fb9a195f8 feat: separate mouse hover from keyboard selection
closes #2078, closes #1617
2023-02-09 20:31:47 +01:00
Louis Pontoise c386a0c439 fix: don't focus window when dropping a file on it 2023-02-09 20:23:09 +01:00
decodism 216c5d8b8e feat: allow status item removal by dragging 2023-01-30 16:51:26 +01:00
semantic-release-bot b57a39d8e8 chore(release): 6.52.1 [skip ci]
## [6.52.1](https://github.com/lwouis/alt-tab-macos/compare/v6.52.0...v6.52.1) (2022-12-28)
2022-12-28 23:57:29 +00:00
Louis Pontoise 8ba828885b ci: replace revoked github token 2022-12-29 00:41:44 +01:00
semantic-release-bot d2c38963c9 chore(release): 6.52.0 [skip ci]
# [6.52.0](https://github.com/lwouis/alt-tab-macos/compare/v6.51.0...v6.52.0) (2022-12-28)

### Bug Fixes

* scale app red badge with app icon size (closes [#559](https://github.com/lwouis/alt-tab-macos/issues/559)) ([4b2f134](https://github.com/lwouis/alt-tab-macos/commit/4b2f134))
* some tooltips would remain on screen (closes [#2190](https://github.com/lwouis/alt-tab-macos/issues/2190)) ([6526caa](https://github.com/lwouis/alt-tab-macos/commit/6526caa))

### Features

* add kurdish localization and improve russian/romanian ([8217ad8](https://github.com/lwouis/alt-tab-macos/commit/8217ad8))
* help support broken fl studio app (closes [#2174](https://github.com/lwouis/alt-tab-macos/issues/2174)) ([4f26bc2](https://github.com/lwouis/alt-tab-macos/commit/4f26bc2))
2022-12-28 23:12:15 +00:00
Louis Pontoise 59d00c1765 ci: make sort use utf8 on every machine 2022-12-28 23:55:09 +01:00
Louis Pontoise 8217ad8fa5 feat: add kurdish localization and improve russian/romanian 2022-12-28 19:46:37 +01:00
Louis Pontoise 4b2f134f32 fix: scale app red badge with app icon size (closes #559) 2022-12-28 19:33:08 +01:00
Louis Pontoise 6526caae30 fix: some tooltips would remain on screen (closes #2190) 2022-12-10 19:26:52 +01:00
Louis Pontoise 4f26bc20a0 feat: help support broken fl studio app (closes #2174) 2022-12-10 19:26:52 +01:00
semantic-release-bot 8b9b0b4fcb chore(release): 6.51.0 [skip ci]
# [6.51.0](https://github.com/lwouis/alt-tab-macos/compare/v6.50.0...v6.51.0) (2022-11-16)

### Bug Fixes

* fullscreening windows stopped working (closes [#2129](https://github.com/lwouis/alt-tab-macos/issues/2129)) ([a09dbbf](https://github.com/lwouis/alt-tab-macos/commit/a09dbbf))
* windows assigned to all spaces were not shown (closes [#2123](https://github.com/lwouis/alt-tab-macos/issues/2123)) ([82cfb62](https://github.com/lwouis/alt-tab-macos/commit/82cfb62))

### Features

* improve localizations ([d2d5016](https://github.com/lwouis/alt-tab-macos/commit/d2d5016))
2022-11-16 21:35:02 +00:00
Louis Pontoise d2d5016780 feat: improve localizations 2022-11-16 22:19:25 +01:00
Louis Pontoise a09dbbfd27 fix: fullscreening windows stopped working (closes #2129) 2022-11-16 22:19:24 +01:00
Louis Pontoise 82cfb62804 fix: windows assigned to all spaces were not shown (closes #2123) 2022-11-16 22:19:24 +01:00
semantic-release-bot ebf445e3e1 chore(release): 6.50.0 [skip ci]
# [6.50.0](https://github.com/lwouis/alt-tab-macos/compare/v6.49.0...v6.50.0) (2022-11-14)

### Bug Fixes

* don't show firefox tooltips as windows (closes [#2110](https://github.com/lwouis/alt-tab-macos/issues/2110)) ([bf905b1](https://github.com/lwouis/alt-tab-macos/commit/bf905b1))
* tabs show as separate windows sometimes on monterey (closes [#2017](https://github.com/lwouis/alt-tab-macos/issues/2017)) ([0965a78](https://github.com/lwouis/alt-tab-macos/commit/0965a78))

### Features

* avoid accidental press of the "reset preferences" button ([#2093](https://github.com/lwouis/alt-tab-macos/issues/2093)) ([f6fcac5](https://github.com/lwouis/alt-tab-macos/commit/f6fcac5))
* avoid confusion with native app-switcher (closes [#2080](https://github.com/lwouis/alt-tab-macos/issues/2080)) ([f906c0e](https://github.com/lwouis/alt-tab-macos/commit/f906c0e))
* improve localizations ([2123af3](https://github.com/lwouis/alt-tab-macos/commit/2123af3))
* show alttab on display with active menubar when needed ([#2107](https://github.com/lwouis/alt-tab-macos/issues/2107)) ([917e661](https://github.com/lwouis/alt-tab-macos/commit/917e661))
2022-11-14 17:53:58 +00:00
Louis Pontoise 2123af39a7 feat: improve localizations 2022-11-14 18:37:32 +01:00
Louis Pontoise 917e661e88 feat: show alttab on display with active menubar when needed (#2107)
closes #2107
2022-11-14 18:32:18 +01:00
Louis Pontoise bf905b1562 fix: don't show firefox tooltips as windows (closes #2110) 2022-11-13 18:23:06 +01:00
Louis Pontoise f6fcac5856 feat: avoid accidental press of the "reset preferences" button (#2093)
closes #2093
2022-11-08 18:46:17 +01:00
Louis Pontoise d4f11542f9 docs: update compatibility info 2022-11-07 22:44:48 +01:00
Louis Pontoise f906c0ecab feat: avoid confusion with native app-switcher (closes #2080) 2022-11-04 22:20:52 +01:00
Louis Pontoise 99f8adeb7d docs: add env info to new issue template 2022-11-04 18:56:56 +01:00
decodism 0965a78d46 fix: tabs show as separate windows sometimes on monterey (closes #2017) 2022-11-03 11:16:51 +01:00
semantic-release-bot fe38b53ff7 chore(release): 6.49.0 [skip ci]
# [6.49.0](https://github.com/lwouis/alt-tab-macos/compare/v6.48.0...v6.49.0) (2022-11-02)

### Bug Fixes

* command+backtick not working if stage manager is on (closes [#2053](https://github.com/lwouis/alt-tab-macos/issues/2053)) ([848ae5f](https://github.com/lwouis/alt-tab-macos/commit/848ae5f))
* crash when setting some shortcut combinations (closes [#2061](https://github.com/lwouis/alt-tab-macos/issues/2061)) ([8b2d659](https://github.com/lwouis/alt-tab-macos/commit/8b2d659))
* hide minimize and fullscreen thumbnail buttons for tabs ([b62c422](https://github.com/lwouis/alt-tab-macos/commit/b62c422))
* improve key repeat-rate when held (closes [#2026](https://github.com/lwouis/alt-tab-macos/issues/2026)) ([1821dea](https://github.com/lwouis/alt-tab-macos/commit/1821dea))
* key-above-tab on international keyboards (closes [#1190](https://github.com/lwouis/alt-tab-macos/issues/1190)) ([4c31740](https://github.com/lwouis/alt-tab-macos/commit/4c31740))
* thumbnails would sometimes be the wrong size ([1065c0d](https://github.com/lwouis/alt-tab-macos/commit/1065c0d))
* wrong focus after active app becomes windowless (closes [#2065](https://github.com/lwouis/alt-tab-macos/issues/2065)) ([281b3ed](https://github.com/lwouis/alt-tab-macos/commit/281b3ed))

### Features

* improve some localizations ([292e6b0](https://github.com/lwouis/alt-tab-macos/commit/292e6b0))
* play alert sound for unavailable thumbnail shortcuts ([fd84a9a](https://github.com/lwouis/alt-tab-macos/commit/fd84a9a))
* support adobe after effects non-standard windows (closes [#1982](https://github.com/lwouis/alt-tab-macos/issues/1982)) ([7b54873](https://github.com/lwouis/alt-tab-macos/commit/7b54873))
2022-11-02 19:49:20 +00:00
decodism 1065c0d440 fix: thumbnails would sometimes be the wrong size 2022-11-02 19:14:34 +01:00
decodism fd84a9a5fc feat: play alert sound for unavailable thumbnail shortcuts 2022-11-02 18:54:42 +01:00
decodism b62c422959 fix: hide minimize and fullscreen thumbnail buttons for tabs 2022-11-02 18:19:22 +01:00
Louis Pontoise f2305429c4 refactor: document more plist attributes 2022-11-02 18:15:43 +01:00
Louis Pontoise 292e6b0339 feat: improve some localizations 2022-11-02 16:49:31 +01:00
Louis Pontoise 7b54873f08 feat: support adobe after effects non-standard windows (closes #1982) 2022-11-02 16:49:30 +01:00
Louis Pontoise 281b3ed45b fix: wrong focus after active app becomes windowless (closes #2065) 2022-11-02 16:49:30 +01:00
Louis Pontoise 8b2d659000 fix: crash when setting some shortcut combinations (closes #2061) 2022-11-02 16:49:30 +01:00
Louis Pontoise 4c31740f25 fix: key-above-tab on international keyboards (closes #1190) 2022-11-02 16:49:30 +01:00
Louis Pontoise 848ae5fc9d fix: command+backtick not working if stage manager is on (closes #2053) 2022-11-02 16:49:30 +01:00
Louis Pontoise b5da4e00ca refactor: pass correct param to private api 2022-11-02 16:49:30 +01:00
Louis Pontoise 4c3688de12 refactor: use triple-slash for method documentation 2022-11-02 16:49:30 +01:00
Louis Pontoise 805660d4d1 refactor: remove unused variables/calls 2022-11-02 16:49:30 +01:00
Louis Pontoise 1821deaa73 fix: improve key repeat-rate when held (closes #2026) 2022-11-02 16:49:29 +01:00
semantic-release-bot c9fd9a2a46 chore(release): 6.48.0 [skip ci]
# [6.48.0](https://github.com/lwouis/alt-tab-macos/compare/v6.47.0...v6.48.0) (2022-10-27)

### Bug Fixes

* app name in system settings in macos 13 (closes [#2044](https://github.com/lwouis/alt-tab-macos/issues/2044)) ([02451e8](https://github.com/lwouis/alt-tab-macos/commit/02451e8))

### Features

* add 3 more shortcut tabs in the preferences (closes [#1064](https://github.com/lwouis/alt-tab-macos/issues/1064)) ([31bd0a6](https://github.com/lwouis/alt-tab-macos/commit/31bd0a6))
2022-10-27 09:31:16 +00:00
decodism 31bd0a6d68 feat: add 3 more shortcut tabs in the preferences (closes #1064) 2022-10-27 11:16:24 +02:00
Louis Pontoise c3162bbb1f refactor: remove hardcoded reference to bundleid 2022-10-27 11:16:24 +02:00
decodism 02451e8ec8 fix: app name in system settings in macos 13 (closes #2044) 2022-10-27 11:16:24 +02:00
semantic-release-bot bd21332c25 chore(release): 6.47.0 [skip ci]
# [6.47.0](https://github.com/lwouis/alt-tab-macos/compare/v6.46.1...v6.47.0) (2022-10-14)

### Bug Fixes

* alt-tab would show on the wrong screen (closes [#2003](https://github.com/lwouis/alt-tab-macos/issues/2003)) ([b72c4db](https://github.com/lwouis/alt-tab-macos/commit/b72c4db))
* discover windows when switching spaces ([#1324](https://github.com/lwouis/alt-tab-macos/issues/1324)) ([9c26d54](https://github.com/lwouis/alt-tab-macos/commit/9c26d54))
* shortcut tabs right margin ([d207f86](https://github.com/lwouis/alt-tab-macos/commit/d207f86))
* show finder file copy windows (closes [#1466](https://github.com/lwouis/alt-tab-macos/issues/1466)) ([c78481b](https://github.com/lwouis/alt-tab-macos/commit/c78481b))
* wrap thumbnail buttons when needed ([ea05c03](https://github.com/lwouis/alt-tab-macos/commit/ea05c03))

### Features

* improve many localizations and add romanian ([71f1609](https://github.com/lwouis/alt-tab-macos/commit/71f1609))
2022-10-14 21:46:04 +00:00
Louis Pontoise 71f1609467 feat: improve many localizations and add romanian 2022-10-14 23:33:07 +02:00
Louis Pontoise 5331bc630a ci: migrate to xcode 13.4 to align with local machine 2022-10-14 21:38:31 +02:00
decodism ea05c0327b fix: wrap thumbnail buttons when needed 2022-10-14 21:27:32 +02:00
decodism d207f86daa fix: shortcut tabs right margin 2022-10-14 21:24:03 +02:00
Louis Pontoise 9c26d54eda fix: discover windows when switching spaces (#1324) 2022-10-14 21:21:18 +02:00
Louis Pontoise b72c4db334 fix: alt-tab would show on the wrong screen (closes #2003) 2022-10-14 21:21:17 +02:00
Louis Pontoise 5830958478 ci: remove detailed logs 2022-10-06 23:43:03 +02:00
Louis Pontoise c78481b5b1 fix: show finder file copy windows (closes #1466)
also improve dealing with steam windows
2022-06-28 02:06:16 +09:00
ryenus 0af9e0f42e refactor: fix compilation error on xcode 13+ 2022-06-26 17:25:57 +09:00
semantic-release-bot 48b0b25974 chore(release): 6.46.1 [skip ci]
## [6.46.1](https://github.com/lwouis/alt-tab-macos/compare/v6.46.0...v6.46.1) (2022-06-24)

### Bug Fixes

* mouse-hover controls remained after closing a window (closes [#1730](https://github.com/lwouis/alt-tab-macos/issues/1730)) ([6bd303d](https://github.com/lwouis/alt-tab-macos/commit/6bd303d))
2022-06-24 10:17:25 +00:00
Louis Pontoise 6bd303d2e8 fix: mouse-hover controls remained after closing a window (closes #1730) 2022-06-24 18:58:52 +09:00
semantic-release-bot dbddcc1c10 chore(release): 6.46.0 [skip ci]
# [6.46.0](https://github.com/lwouis/alt-tab-macos/compare/v6.45.0...v6.46.0) (2022-06-23)

### Features

* add quit-app icon on mouse hover (closes [#1260](https://github.com/lwouis/alt-tab-macos/issues/1260)) ([5c3b503](https://github.com/lwouis/alt-tab-macos/commit/5c3b503))
* improved turkish localization ([bb4a2b9](https://github.com/lwouis/alt-tab-macos/commit/bb4a2b9))
2022-06-23 09:45:23 +00:00
Louis Pontoise bb4a2b9b97 feat: improved turkish localization 2022-06-23 18:31:20 +09:00
Louis Pontoise 5c3b5031d8 feat: add quit-app icon on mouse hover (closes #1260) 2022-06-23 18:31:20 +09:00
semantic-release-bot b460443e77 chore(release): 6.45.0 [skip ci]
# [6.45.0](https://github.com/lwouis/alt-tab-macos/compare/v6.44.0...v6.45.0) (2022-06-21)

### Bug Fixes

* better guess at focus order on launch (closes [#1694](https://github.com/lwouis/alt-tab-macos/issues/1694)) ([be8631e](https://github.com/lwouis/alt-tab-macos/commit/be8631e))
* may avoid rare crashes ([e32beea](https://github.com/lwouis/alt-tab-macos/commit/e32beea))

### Features

* add bengali localization ([2d32823](https://github.com/lwouis/alt-tab-macos/commit/2d32823))
* improve chinese and german localizations ([69bfb41](https://github.com/lwouis/alt-tab-macos/commit/69bfb41))
* improve tooltips on mouse hover (closes [#1661](https://github.com/lwouis/alt-tab-macos/issues/1661)) ([38262f1](https://github.com/lwouis/alt-tab-macos/commit/38262f1))
* quitting an app twice force-quits it (closes [#1529](https://github.com/lwouis/alt-tab-macos/issues/1529)) ([bfcbaac](https://github.com/lwouis/alt-tab-macos/commit/bfcbaac))
2022-06-21 17:24:58 +00:00
Louis Pontoise 69bfb4180c feat: improve chinese and german localizations 2022-06-22 01:32:44 +09:00
Louis Pontoise 2d32823db8 feat: add bengali localization 2022-06-22 01:31:43 +09:00
Louis Pontoise 38262f11b2 feat: improve tooltips on mouse hover (closes #1661) 2022-06-22 01:10:08 +09:00
Louis Pontoise e32beea00a fix: may avoid rare crashes 2022-06-22 01:04:36 +09:00
Louis Pontoise bfcbaacec7 feat: quitting an app twice force-quits it (closes #1529) 2022-06-20 22:04:08 +09:00
Louis Pontoise be8631e90c fix: better guess at focus order on launch (closes #1694) 2022-06-20 20:37:47 +09:00
semantic-release-bot 4198881815 chore(release): 6.44.0 [skip ci]
# [6.44.0](https://github.com/lwouis/alt-tab-macos/compare/v6.43.0...v6.44.0) (2022-06-19)

### Bug Fixes

* blacklist table colors were wrong in dark mode ([#1702](https://github.com/lwouis/alt-tab-macos/issues/1702)) ([95cc29f](https://github.com/lwouis/alt-tab-macos/commit/95cc29f))
* don't show space icon for apps ([#1700](https://github.com/lwouis/alt-tab-macos/issues/1700)) ([f7d070b](https://github.com/lwouis/alt-tab-macos/commit/f7d070b))
* round corners would be aliased after changing theme ([#1698](https://github.com/lwouis/alt-tab-macos/issues/1698)) ([9ae76a9](https://github.com/lwouis/alt-tab-macos/commit/9ae76a9))

### Features

* update german and turkish localizations ([b91696b](https://github.com/lwouis/alt-tab-macos/commit/b91696b))
2022-06-19 15:53:12 +00:00
Louis Pontoise b91696bc89 feat: update german and turkish localizations 2022-06-20 00:38:02 +09:00
Louis Pontoise f7d070b38c fix: don't show space icon for apps (#1700) 2022-06-20 00:38:02 +09:00
Louis Pontoise 95cc29fd9c fix: blacklist table colors were wrong in dark mode (#1702) 2022-06-20 00:38:02 +09:00
Louis Pontoise 9ae76a90fc fix: round corners would be aliased after changing theme (#1698) 2022-06-20 00:38:02 +09:00
semantic-release-bot 24b8617c54 chore(release): 6.43.0 [skip ci]
# [6.43.0](https://github.com/lwouis/alt-tab-macos/compare/v6.42.0...v6.43.0) (2022-06-14)

### Features

* improve blacklist ux (closes [#539](https://github.com/lwouis/alt-tab-macos/issues/539)) ([892a168](https://github.com/lwouis/alt-tab-macos/commit/892a168))
* improve german and chinese (tw) localizations ([5133641](https://github.com/lwouis/alt-tab-macos/commit/5133641))
2022-06-14 07:18:05 +00:00
Louis Pontoise 892a168ee7 feat: improve blacklist ux (closes #539) 2022-06-14 15:59:21 +09:00
Louis Pontoise 51336412c5 feat: improve german and chinese (tw) localizations 2022-06-14 15:59:20 +09:00
Louis Pontoise f38913b75c refactor: maybe fix crash on nil cgwindowid + fix warnings 2022-06-14 15:59:20 +09:00
semantic-release-bot ae35474130 chore(release): 6.42.0 [skip ci]
# [6.42.0](https://github.com/lwouis/alt-tab-macos/compare/v6.41.1...v6.42.0) (2022-06-07)

### Bug Fixes

* some windows would not show ([#1655](https://github.com/lwouis/alt-tab-macos/issues/1655)) ([6a6c80d](https://github.com/lwouis/alt-tab-macos/commit/6a6c80d))

### Features

* show tooltips on mouse hover on main window ([#1661](https://github.com/lwouis/alt-tab-macos/issues/1661)) ([bb5cc23](https://github.com/lwouis/alt-tab-macos/commit/bb5cc23))
2022-06-07 11:55:43 +00:00
Louis Pontoise bb5cc236a7 feat: show tooltips on mouse hover on main window (#1661) 2022-06-07 18:42:14 +09:00
Louis Pontoise 6a6c80d9a4 fix: some windows would not show (#1655) 2022-06-07 18:10:59 +09:00
s4na ae8f7964fa docs: update homebrew instructions for v2.7 2022-06-07 18:10:58 +09:00
semantic-release-bot 3630b17cde chore(release): 6.41.1 [skip ci]
## [6.41.1](https://github.com/lwouis/alt-tab-macos/compare/v6.41.0...v6.41.1) (2022-06-05)

### Bug Fixes

* tab detection got broken in v6.41.0 ([#1656](https://github.com/lwouis/alt-tab-macos/issues/1656)) ([95f97d3](https://github.com/lwouis/alt-tab-macos/commit/95f97d3))
2022-06-05 03:19:48 +00:00
Louis Pontoise 95f97d33af fix: tab detection got broken in v6.41.0 (#1656) 2022-06-05 12:00:14 +09:00
semantic-release-bot 1243de8010 chore(release): 6.41.0 [skip ci]
# [6.41.0](https://github.com/lwouis/alt-tab-macos/compare/v6.40.0...v6.41.0) (2022-06-01)

### Bug Fixes

* fade-out animation was broken from macos 11 ([#760](https://github.com/lwouis/alt-tab-macos/issues/760)) ([d701bc7](https://github.com/lwouis/alt-tab-macos/commit/d701bc7))
* menubar icons in preferences handle dark mode ([1653c16](https://github.com/lwouis/alt-tab-macos/commit/1653c16))

### Features

* add a button to reset the preferences ([#1275](https://github.com/lwouis/alt-tab-macos/issues/1275)) ([82e9ca9](https://github.com/lwouis/alt-tab-macos/commit/82e9ca9))
* add galician localization ([965b179](https://github.com/lwouis/alt-tab-macos/commit/965b179))
* improve windows detection ([de0497a](https://github.com/lwouis/alt-tab-macos/commit/de0497a))
* smoother rounded corners for the main window ([5d0fff2](https://github.com/lwouis/alt-tab-macos/commit/5d0fff2))
* update czech localization ([d7b6b7c](https://github.com/lwouis/alt-tab-macos/commit/d7b6b7c))
2022-06-01 10:31:20 +00:00
Louis Pontoise 965b179d56 feat: add galician localization 2022-06-01 19:10:53 +09:00
Louis Pontoise 5d0fff2276 feat: smoother rounded corners for the main window 2022-06-01 18:56:02 +09:00
Louis Pontoise d7b6b7c0ae feat: update czech localization 2022-06-01 01:22:16 +09:00
Louis Pontoise de0497a2dc feat: improve windows detection 2022-06-01 01:22:16 +09:00
Louis Pontoise 1653c16c65 fix: menubar icons in preferences handle dark mode 2022-06-01 01:22:16 +09:00
Louis Pontoise 88783b3f5f docs: typo on the website homepage 2022-06-01 01:22:16 +09:00
Zachary Wander d701bc7347 fix: fade-out animation was broken from macos 11 (#760) 2022-06-01 01:22:15 +09:00
Louis Pontoise 82e9ca93b6 feat: add a button to reset the preferences (#1275) 2022-05-28 19:13:42 +09:00
Louis Pontoise 5f99e7280a refactor: find method to dry code 2022-05-28 12:37:10 +09:00
semantic-release-bot f56bf3d41b chore(release): 6.40.0 [skip ci]
# [6.40.0](https://github.com/lwouis/alt-tab-macos/compare/v6.39.1...v6.40.0) (2022-05-27)

### Bug Fixes

* focusing alt-tab own windows could fail ([#759](https://github.com/lwouis/alt-tab-macos/issues/759)) ([08720d8](https://github.com/lwouis/alt-tab-macos/commit/08720d8))

### Features

* update spanish localization ([1ac0494](https://github.com/lwouis/alt-tab-macos/commit/1ac0494))
2022-05-27 17:53:39 +00:00
Louis Pontoise 1ac0494f96 feat: update spanish localization 2022-05-28 02:33:41 +09:00
Louis Pontoise 08720d8eeb fix: focusing alt-tab own windows could fail (#759) 2022-05-28 02:29:54 +09:00
semantic-release-bot c44057f47d chore(release): 6.39.1 [skip ci]
## [6.39.1](https://github.com/lwouis/alt-tab-macos/compare/v6.39.0...v6.39.1) (2022-05-26)

### Bug Fixes

* better tabs detection + fix issues with some apps (closes [#1540](https://github.com/lwouis/alt-tab-macos/issues/1540)) ([abd54b3](https://github.com/lwouis/alt-tab-macos/commit/abd54b3)), closes [#647](https://github.com/lwouis/alt-tab-macos/issues/647) [#718](https://github.com/lwouis/alt-tab-macos/issues/718)
2022-05-26 15:54:16 +00:00
Louis Pontoise abd54b3939 fix: better tabs detection + fix issues with some apps (closes #1540)
Maybe fixed #647 #718
2022-05-27 00:33:55 +09:00
semantic-release-bot 1a9fc593d1 chore(release): 6.39.0 [skip ci]
# [6.39.0](https://github.com/lwouis/alt-tab-macos/compare/v6.38.0...v6.39.0) (2022-05-26)

### Bug Fixes

* handle being quit through activity-monitor (closes [#1622](https://github.com/lwouis/alt-tab-macos/issues/1622)) ([69a5ffd](https://github.com/lwouis/alt-tab-macos/commit/69a5ffd))

### Features

* middle-click a thumbnail to close that window (closes [#1621](https://github.com/lwouis/alt-tab-macos/issues/1621)) ([bc4c0cc](https://github.com/lwouis/alt-tab-macos/commit/bc4c0cc))
* update contributors ([b1bf867](https://github.com/lwouis/alt-tab-macos/commit/b1bf867))
2022-05-26 13:58:07 +00:00
Louis Pontoise b1bf86724d feat: update contributors 2022-05-26 22:39:24 +09:00
Louis Pontoise bc4c0cc505 feat: middle-click a thumbnail to close that window (closes #1621) 2022-05-26 21:36:40 +09:00
Louis Pontoise 69a5ffd8b2 fix: handle being quit through activity-monitor (closes #1622) 2022-05-26 21:36:40 +09:00
semantic-release-bot e22f2f2e90 chore(release): 6.38.0 [skip ci]
# [6.38.0](https://github.com/lwouis/alt-tab-macos/compare/v6.37.1...v6.38.0) (2022-05-24)

### Bug Fixes

* better mouse hover behavior ([#1557](https://github.com/lwouis/alt-tab-macos/issues/1557)) ([d3cabc1](https://github.com/lwouis/alt-tab-macos/commit/d3cabc1))

### Features

* improve ukrainian, polish, albanian localization ([b02972b](https://github.com/lwouis/alt-tab-macos/commit/b02972b))
2022-05-24 15:12:35 +00:00
Louis Pontoise b02972b7ea feat: improve ukrainian, polish, albanian localization 2022-05-24 23:53:19 +09:00
Louis Pontoise d3cabc1c05 fix: better mouse hover behavior (#1557) 2022-05-24 23:48:45 +09:00
semantic-release-bot 634cf79916 chore(release): 6.37.1 [skip ci]
## [6.37.1](https://github.com/lwouis/alt-tab-macos/compare/v6.37.0...v6.37.1) (2022-05-12)

### Bug Fixes

* hovering thumbnails would make alttab laggy ([#1567](https://github.com/lwouis/alt-tab-macos/issues/1567)) ([7e66009](https://github.com/lwouis/alt-tab-macos/commit/7e66009))
2022-05-12 13:56:26 +00:00
Louis Pontoise 7e660091e0 fix: hovering thumbnails would make alttab laggy (#1567) 2022-05-12 22:33:23 +09:00
Louis Pontoise 296ced8e9b docs: improve website readability 2022-05-12 21:58:54 +09:00
semantic-release-bot 1226caca03 chore(release): 6.37.0 [skip ci]
# [6.37.0](https://github.com/lwouis/alt-tab-macos/compare/v6.36.2...v6.37.0) (2022-05-12)

### Bug Fixes

* prevent matlab freezing ([#890](https://github.com/lwouis/alt-tab-macos/issues/890)) ([0792838](https://github.com/lwouis/alt-tab-macos/commit/0792838))

### Features

* add albanian localization ([c22b364](https://github.com/lwouis/alt-tab-macos/commit/c22b364))
* improve chinese/taiwanese localizations ([f1c0244](https://github.com/lwouis/alt-tab-macos/commit/f1c0244))
2022-05-12 12:44:59 +00:00
Louis Pontoise f1c02442bc feat: improve chinese/taiwanese localizations 2022-05-12 21:25:22 +09:00
Louis Pontoise 52f8f513da docs: update website with more helpful info 2022-05-12 21:25:22 +09:00
Louis Pontoise c22b364ebe feat: add albanian localization 2022-05-12 21:04:41 +09:00
Louis Pontoise 0792838b16 fix: prevent matlab freezing (#890) 2022-05-12 19:25:37 +09:00
semantic-release-bot f16f6ea4d7 chore(release): 6.36.2 [skip ci]
## [6.36.2](https://github.com/lwouis/alt-tab-macos/compare/v6.36.1...v6.36.2) (2022-05-11)

### Bug Fixes

* hide window controls when another window is selected (closes [#1557](https://github.com/lwouis/alt-tab-macos/issues/1557)) ([2e9cc3b](https://github.com/lwouis/alt-tab-macos/commit/2e9cc3b))
2022-05-11 14:55:28 +00:00
Louis Pontoise 2e9cc3b581 fix: hide window controls when another window is selected (closes #1557) 2022-05-11 23:35:14 +09:00
Louis Pontoise 71543dc615 docs: link to nice launchd plist docs 2022-05-07 19:03:51 +09:00
semantic-release-bot f4f327e7d4 chore(release): 6.36.1 [skip ci]
## [6.36.1](https://github.com/lwouis/alt-tab-macos/compare/v6.36.0...v6.36.1) (2022-05-07)

### Bug Fixes

* better anti-aliasing on traffic-light icons ([022806b](https://github.com/lwouis/alt-tab-macos/commit/022806b))
* libre-office would freeze with 2 open windows (closes [#1508](https://github.com/lwouis/alt-tab-macos/issues/1508)) ([1bb9fd0](https://github.com/lwouis/alt-tab-macos/commit/1bb9fd0))
* switcher could select the wrong thumbnail (closes [#1198](https://github.com/lwouis/alt-tab-macos/issues/1198)) ([4c67778](https://github.com/lwouis/alt-tab-macos/commit/4c67778))
2022-05-07 09:34:14 +00:00
Louis Pontoise 4c6777862e fix: switcher could select the wrong thumbnail (closes #1198) 2022-05-07 18:15:07 +09:00
Louis Pontoise 7acee37607 refactor: update private apis 2022-05-07 18:06:09 +09:00
Louis Pontoise 1bb9fd04d8 fix: libre-office would freeze with 2 open windows (closes #1508) 2022-05-07 18:06:09 +09:00
Louis Pontoise 022806bea2 fix: better anti-aliasing on traffic-light icons 2022-05-07 18:06:09 +09:00
Louis Pontoise 55bbfe59e6 docs: document more use-cases 2022-05-07 18:06:08 +09:00
semantic-release-bot 52d7d21019 chore(release): 6.36.0 [skip ci]
# [6.36.0](https://github.com/lwouis/alt-tab-macos/compare/v6.35.0...v6.36.0) (2022-05-06)

### Features

* improve traffic-light icons (closes [#1542](https://github.com/lwouis/alt-tab-macos/issues/1542)) ([6974de0](https://github.com/lwouis/alt-tab-macos/commit/6974de0))
2022-05-06 17:53:13 +00:00
Louis Pontoise 6974de02ac feat: improve traffic-light icons (closes #1542) 2022-05-07 02:34:35 +09:00
semantic-release-bot d46bd8d10c chore(release): 6.35.0 [skip ci]
# [6.35.0](https://github.com/lwouis/alt-tab-macos/compare/v6.34.1...v6.35.0) (2022-05-05)

### Bug Fixes

* sometimes moved cursor on focus wrong (closes [#1087](https://github.com/lwouis/alt-tab-macos/issues/1087)) ([ed10201](https://github.com/lwouis/alt-tab-macos/commit/ed10201))

### Features

* update turkish localization ([9129ff6](https://github.com/lwouis/alt-tab-macos/commit/9129ff6))
2022-05-05 15:46:39 +00:00
Louis Pontoise 9129ff6e75 feat: update turkish localization 2022-05-06 00:26:21 +09:00
Louis Pontoise ed102015ad fix: sometimes moved cursor on focus wrong (closes #1087) 2022-05-05 00:59:38 +09:00
semantic-release-bot 26e2375bfb chore(release): 6.34.1 [skip ci]
## [6.34.1](https://github.com/lwouis/alt-tab-macos/compare/v6.34.0...v6.34.1) (2022-04-30)

### Bug Fixes

* custom shortcuts can use arrow keys (closes [#1376](https://github.com/lwouis/alt-tab-macos/issues/1376)) ([bb1de75](https://github.com/lwouis/alt-tab-macos/commit/bb1de75))
2022-04-30 15:50:29 +00:00
Louis Pontoise bb1de75128 fix: custom shortcuts can use arrow keys (closes #1376) 2022-05-01 00:31:13 +09:00
semantic-release-bot 254f238f82 chore(release): 6.34.0 [skip ci]
# [6.34.0](https://github.com/lwouis/alt-tab-macos/compare/v6.33.0...v6.34.0) (2022-04-28)

### Bug Fixes

* alt-tab could be relaunched in a loop (closes [#1367](https://github.com/lwouis/alt-tab-macos/issues/1367)) ([cdb461a](https://github.com/lwouis/alt-tab-macos/commit/cdb461a))
* reduce alt-tab cpu usage in some scenarios (closes [#1481](https://github.com/lwouis/alt-tab-macos/issues/1481)) ([0569ed0](https://github.com/lwouis/alt-tab-macos/commit/0569ed0))

### Features

* update indian and russian localizations ([85210e2](https://github.com/lwouis/alt-tab-macos/commit/85210e2))
2022-04-28 14:33:41 +00:00
Louis Pontoise 85210e2935 feat: update indian and russian localizations 2022-04-28 23:12:23 +09:00
Louis Pontoise cdb461ab68 fix: alt-tab could be relaunched in a loop (closes #1367) 2022-04-28 23:12:23 +09:00
Louis Pontoise 0569ed0f86 fix: reduce alt-tab cpu usage in some scenarios (closes #1481) 2022-04-28 23:12:23 +09:00
semantic-release-bot 64d1e8677e chore(release): 6.33.0 [skip ci]
# [6.33.0](https://github.com/lwouis/alt-tab-macos/compare/v6.32.0...v6.33.0) (2022-04-08)

### Features

* allow quitting finder for power users (closes [#1328](https://github.com/lwouis/alt-tab-macos/issues/1328)) ([9e46bd8](https://github.com/lwouis/alt-tab-macos/commit/9e46bd8))
2022-04-08 10:23:04 +00:00
Louis Pontoise 790f6440f3 docs: update contributor list 2022-04-08 18:01:21 +09:00
Louis Pontoise 9e46bd8e2c feat: allow quitting finder for power users (closes #1328) 2022-04-08 18:01:21 +09:00
semantic-release-bot 02590579df chore(release): 6.32.0 [skip ci]
# [6.32.0](https://github.com/lwouis/alt-tab-macos/compare/v6.31.0...v6.32.0) (2022-04-07)

### Bug Fixes

* issue with some apps launched before alt-tab ([f97cd74](https://github.com/lwouis/alt-tab-macos/commit/f97cd74))
* show window of some apps like jetbrains apps ([#1249](https://github.com/lwouis/alt-tab-macos/issues/1249) [#1079](https://github.com/lwouis/alt-tab-macos/issues/1079) [#1392](https://github.com/lwouis/alt-tab-macos/issues/1392)) ([0b85b09](https://github.com/lwouis/alt-tab-macos/commit/0b85b09))
* show windows of some defective apps like bear.app ([9b5cd42](https://github.com/lwouis/alt-tab-macos/commit/9b5cd42))

### Features

* add greek and estonian, and update other localizations ([fccae77](https://github.com/lwouis/alt-tab-macos/commit/fccae77))
2022-04-07 13:16:51 +00:00
Louis Pontoise fccae7734d feat: add greek and estonian, and update other localizations 2022-04-07 21:56:30 +09:00
metacodes f97cd74bd3 fix: issue with some apps launched before alt-tab 2022-04-07 21:05:19 +09:00
metacodes 9b5cd427e6 fix: show windows of some defective apps like bear.app 2022-04-07 21:05:19 +09:00
metacodes 0b85b09f62 fix: show window of some apps like jetbrains apps (#1249 #1079 #1392)
I am able to reproduce the issue by reinstall JetBrains AppCode. The first time I open AppCode after reinstall it, AltTab never show AppCode window. I debug the code on my Mac, I find that AltTab can get the event of app launched but never get the event of finishedLaunching. So I just remove the code runningApplication.isFinishedLaunching. After that, AltTab work well and the issue is fixed.
2022-04-07 21:05:18 +09:00
semantic-release-bot 6887291151 chore(release): 6.31.0 [skip ci]
# [6.31.0](https://github.com/lwouis/alt-tab-macos/compare/v6.30.0...v6.31.0) (2022-02-10)

### Features

* add hebrew localization ([26b72e3](https://github.com/lwouis/alt-tab-macos/commit/26b72e3))
2022-02-10 03:03:20 +00:00
Louis Pontoise 26b72e3792 feat: add hebrew localization 2022-02-10 11:44:39 +09:00
semantic-release-bot 2d042f2c44 chore(release): 6.30.0 [skip ci]
# [6.30.0](https://github.com/lwouis/alt-tab-macos/compare/v6.29.0...v6.30.0) (2022-02-05)

### Features

* add localization in danish, catalan, persian, serbian ([058a0f8](https://github.com/lwouis/alt-tab-macos/commit/058a0f8))
* allow cursor follow focus behavior ([be50758](https://github.com/lwouis/alt-tab-macos/commit/be50758))
* update some localizations ([17fbcc5](https://github.com/lwouis/alt-tab-macos/commit/17fbcc5))
2022-02-05 03:15:15 +00:00
Louis Pontoise 52c9e644b8 ci: dav protocol is no longer supported by apple 2022-02-05 11:55:24 +09:00
Louis Pontoise 058a0f82d3 feat: add localization in danish, catalan, persian, serbian 2022-02-05 01:56:27 +09:00
Louis Pontoise 17fbcc5f09 feat: update some localizations 2022-02-04 22:54:01 +09:00
Grzegorz Kazana be50758451 feat: allow cursor follow focus behavior 2022-02-04 22:54:01 +09:00
semantic-release-bot f5fc5ba813 chore(release): 6.29.0 [skip ci]
# [6.29.0](https://github.com/lwouis/alt-tab-macos/compare/v6.28.0...v6.29.0) (2021-12-01)

### Bug Fixes

* only make network calls to appcenter when necessary (closes [#1265](https://github.com/lwouis/alt-tab-macos/issues/1265)) ([79c2906](https://github.com/lwouis/alt-tab-macos/commit/79c2906))
* prevent setting min width to 0% in preferences (see [#1248](https://github.com/lwouis/alt-tab-macos/issues/1248)) ([467736c](https://github.com/lwouis/alt-tab-macos/commit/467736c))

### Features

* add apple screen sharing to default blacklist ([#1258](https://github.com/lwouis/alt-tab-macos/issues/1258)) ([d4780f6](https://github.com/lwouis/alt-tab-macos/commit/d4780f6))
* add vmware fusion to default blacklist (closes [#1258](https://github.com/lwouis/alt-tab-macos/issues/1258)) ([17f98b5](https://github.com/lwouis/alt-tab-macos/commit/17f98b5))
2021-12-01 16:02:14 +00:00
Louis Pontoise 64d4a78570 docs: update contributors 2021-12-02 00:41:04 +09:00
Zhenfu Shi d4780f61bc feat: add apple screen sharing to default blacklist (#1258) 2021-12-02 00:17:35 +09:00
Andre Borie 79c290603d fix: only make network calls to appcenter when necessary (closes #1265) 2021-12-02 00:12:47 +09:00
Louis Pontoise a6ea7a3950 ci: only build master/develop (pr builds were disabled on travis) 2021-12-02 00:12:47 +09:00
Zhenfu Shi 17f98b5c6b feat: add vmware fusion to default blacklist (closes #1258) 2021-12-02 00:12:47 +09:00
Louis Pontoise 467736ca2f fix: prevent setting min width to 0% in preferences (see #1248) 2021-12-02 00:12:47 +09:00
semantic-release-bot 74386d0c42 chore(release): 6.28.0 [skip ci]
# [6.28.0](https://github.com/lwouis/alt-tab-macos/compare/v6.27.1...v6.28.0) (2021-11-19)

### Bug Fixes

* would sometimes crash when opening preferences > appearance ([c66e106](https://github.com/lwouis/alt-tab-macos/commit/c66e106))

### Features

* native support for apple silicon (e.g. m1 mac) ([6f93130](https://github.com/lwouis/alt-tab-macos/commit/6f93130))
* support login-at-start on macos 11, 12, and m1 macs ([664c5b9](https://github.com/lwouis/alt-tab-macos/commit/664c5b9))
2021-11-19 14:41:15 +00:00
Louis Pontoise b51a790997 docs: update contributors 2021-11-19 23:22:38 +09:00
Louis Pontoise 6329cd35f9 ci: make release build on pull-requests as well 2021-11-19 23:06:31 +09:00
Martin Wilhelmi c66e106613 fix: would sometimes crash when opening preferences > appearance 2021-11-19 23:06:31 +09:00
Martin Wilhelmi 4368015435 ci: show architectures inside binary after build 2021-11-19 23:06:31 +09:00
Louis Pontoise 762b072c5e docs: fix error in qa scenario 2021-11-19 23:06:31 +09:00
Louis Pontoise 664c5b9628 feat: support login-at-start on macos 11, 12, and m1 macs 2021-11-19 23:06:31 +09:00
6f931305cc feat: native support for apple silicon (e.g. m1 mac)
Co-authored-by: Martin Wilhelmi <mnin@mnin.de>
Co-authored-by: Louis Pontoise <lwouis@gmail.com>
2021-11-19 23:06:31 +09:00
semantic-release-bot 92afb11668 chore(release): 6.27.1 [skip ci]
## [6.27.1](https://github.com/lwouis/alt-tab-macos/compare/v6.27.0...v6.27.1) (2021-11-13)

### Bug Fixes

* ghost windows in android studio (#closes 1224) ([b668928](https://github.com/lwouis/alt-tab-macos/commit/b668928))
2021-11-13 11:48:44 +00:00
Louis Pontoise b668928c89 fix: ghost windows in android studio (#closes 1224) 2021-11-13 20:28:12 +09:00
semantic-release-bot 3ad8619920 chore(release): 6.27.0 [skip ci]
# [6.27.0](https://github.com/lwouis/alt-tab-macos/compare/v6.26.0...v6.27.0) (2021-11-12)

### Bug Fixes

* display all windows from android studio ([e2d26f2](https://github.com/lwouis/alt-tab-macos/commit/e2d26f2))
* parallels windows wouldn't switch sometimes (closes [#1213](https://github.com/lwouis/alt-tab-macos/issues/1213)) ([21133ce](https://github.com/lwouis/alt-tab-macos/commit/21133ce))
* the app would sometimes freeze or lag (closes [#563](https://github.com/lwouis/alt-tab-macos/issues/563)) ([4a264ab](https://github.com/lwouis/alt-tab-macos/commit/4a264ab))

### Features

* improved spanish localization ([3709b62](https://github.com/lwouis/alt-tab-macos/commit/3709b62))
2021-11-12 17:54:14 +00:00
Louis Pontoise 3709b62084 feat: improved spanish localization 2021-11-13 02:35:18 +09:00
Louis Pontoise 1db15e041b refactor: split code to help pinpoint the issue in appcenter reports 2021-11-13 01:39:28 +09:00
Louis Pontoise f4eb6ff49d refactor: fix non-impactful compiler warnings 2021-11-13 01:39:28 +09:00
Zachary Wander 4a264abadd fix: the app would sometimes freeze or lag (closes #563) 2021-11-13 01:39:28 +09:00
Zachary Wander 21133ce118 fix: parallels windows wouldn't switch sometimes (closes #1213) 2021-11-13 01:39:28 +09:00
Zachary Wander e2d26f2abc fix: display all windows from android studio 2021-11-13 01:39:28 +09:00
semantic-release-bot 98c144efe8 chore(release): 6.26.0 [skip ci]
# [6.26.0](https://github.com/lwouis/alt-tab-macos/compare/v6.25.0...v6.26.0) (2021-10-13)

### Bug Fixes

* feedback form messages got broken by github ([1539727](https://github.com/lwouis/alt-tab-macos/commit/1539727))

### Features

* add bulgarian and improve arabic localizations ([f1be3cf](https://github.com/lwouis/alt-tab-macos/commit/f1be3cf))
2021-10-13 12:43:28 +00:00
Louis Pontoise f1be3cf3e3 feat: add bulgarian and improve arabic localizations 2021-10-13 21:24:45 +09:00
Louis Pontoise 1539727da1 fix: feedback form messages got broken by github 2021-10-13 21:24:45 +09:00
Louis Pontoise b55c9f1f6c docs: fix languages supported list on landing page 2021-10-13 21:24:45 +09:00
semantic-release-bot 9d2899d5b7 chore(release): 6.25.0 [skip ci]
# [6.25.0](https://github.com/lwouis/alt-tab-macos/compare/v6.24.0...v6.25.0) (2021-09-18)

### Bug Fixes

* "show on active screen" could show the wrong screen (closes [#1129](https://github.com/lwouis/alt-tab-macos/issues/1129)) ([23bbd64](https://github.com/lwouis/alt-tab-macos/commit/23bbd64))
* windows from the iina app would not show sometimes (closes [#1037](https://github.com/lwouis/alt-tab-macos/issues/1037)) ([47d283e](https://github.com/lwouis/alt-tab-macos/commit/47d283e))

### Features

* improve localization in hindi, arabic, vietnamese ([2905f7d](https://github.com/lwouis/alt-tab-macos/commit/2905f7d))
* improve voiceover and speech accessibility ([194e726](https://github.com/lwouis/alt-tab-macos/commit/194e726))
2021-09-18 14:24:26 +00:00
Louis Pontoise 2905f7d1aa feat: improve localization in hindi, arabic, vietnamese 2021-09-18 23:06:37 +09:00
Louis Pontoise 23bbd6498f fix: "show on active screen" could show the wrong screen (closes #1129) 2021-09-18 23:06:37 +09:00
Louis Pontoise 1ca7eb48db refactor: pre-emptively use pid instead of object references
no issue was reported, but pid should always be safer, so switching to it
2021-09-18 23:06:37 +09:00
Louis Pontoise 47d283eb61 fix: windows from the iina app would not show sometimes (closes #1037) 2021-09-18 23:06:37 +09:00
Louis Pontoise 194e7266bd feat: improve voiceover and speech accessibility 2021-09-18 23:06:37 +09:00
semantic-release-bot 2869603573 chore(release): 6.24.0 [skip ci]
# [6.24.0](https://github.com/lwouis/alt-tab-macos/compare/v6.23.0...v6.24.0) (2021-09-04)

### Bug Fixes

* main window would sometimes appear after a delay (closes [#1096](https://github.com/lwouis/alt-tab-macos/issues/1096)) ([8ab0e61](https://github.com/lwouis/alt-tab-macos/commit/8ab0e61))

### Features

* update dutch localization ([91821f7](https://github.com/lwouis/alt-tab-macos/commit/91821f7))
* update italian and turkish localizations ([5cd7b44](https://github.com/lwouis/alt-tab-macos/commit/5cd7b44))
2021-09-04 14:43:32 +00:00
Louis Pontoise 5cd7b44580 feat: update italian and turkish localizations 2021-09-04 23:27:55 +09:00
Louis Pontoise 8ab0e615c8 fix: main window would sometimes appear after a delay (closes #1096) 2021-09-04 23:27:55 +09:00
Louis Pontoise 9d2fd763e2 refactor: improve perf by getting pid once at init 2021-09-04 23:27:55 +09:00
Louis Pontoise 91821f7431 feat: update dutch localization 2021-09-04 23:27:55 +09:00
semantic-release-bot 3918c227c7 chore(release): 6.23.0 [skip ci]
# [6.23.0](https://github.com/lwouis/alt-tab-macos/compare/v6.22.1...v6.23.0) (2021-08-30)

### Bug Fixes

* fix situations from some crash reports ([c18aa4d](https://github.com/lwouis/alt-tab-macos/commit/c18aa4d))
* ghost popup windows in android studio (closes [#1056](https://github.com/lwouis/alt-tab-macos/issues/1056)) ([6f33e3a](https://github.com/lwouis/alt-tab-macos/commit/6f33e3a))
* hide window controls after a window is closed (closes [#925](https://github.com/lwouis/alt-tab-macos/issues/925)) ([0dad739](https://github.com/lwouis/alt-tab-macos/commit/0dad739))
* highlight right thumbnail when no window is focused (closes [#1044](https://github.com/lwouis/alt-tab-macos/issues/1044)) ([f4d3db7](https://github.com/lwouis/alt-tab-macos/commit/f4d3db7))
* showing windows of other screens when it shouldn't (closes [#1052](https://github.com/lwouis/alt-tab-macos/issues/1052)) ([b5b3c38](https://github.com/lwouis/alt-tab-macos/commit/b5b3c38))

### Features

* add vietnamese and luxembourgish localizations ([749db12](https://github.com/lwouis/alt-tab-macos/commit/749db12))
* improve french, portuguese and chinese localizations ([a7026a4](https://github.com/lwouis/alt-tab-macos/commit/a7026a4))
* remove "active space" from filter list ([4623e5b](https://github.com/lwouis/alt-tab-macos/commit/4623e5b))
* support voiceover + "speak items under the cursor" (closes [#1070](https://github.com/lwouis/alt-tab-macos/issues/1070)) ([c7911f3](https://github.com/lwouis/alt-tab-macos/commit/c7911f3))
2021-08-30 17:12:14 +00:00
Louis Pontoise f4d3db790e fix: highlight right thumbnail when no window is focused (closes #1044) 2021-08-31 01:36:15 +09:00
Louis Pontoise 4623e5b7c4 feat: remove "active space" from filter list 2021-08-31 01:36:15 +09:00
Louis Pontoise b5b3c38fec fix: showing windows of other screens when it shouldn't (closes #1052) 2021-08-31 01:36:15 +09:00
Louis Pontoise 749db12bbd feat: add vietnamese and luxembourgish localizations 2021-08-31 01:36:15 +09:00
Louis Pontoise a7026a4f24 feat: improve french, portuguese and chinese localizations 2021-08-30 23:19:43 +09:00
Louis Pontoise c7911f3f5c feat: support voiceover + "speak items under the cursor" (closes #1070) 2021-08-30 23:19:43 +09:00
Louis Pontoise c18aa4d91c fix: fix situations from some crash reports 2021-08-30 23:19:43 +09:00
Afzal Najam 6f33e3ae9f fix: ghost popup windows in android studio (closes #1056) 2021-08-30 23:19:41 +09:00
Allen Guan 46566a4fb5 docs: fix typo in Introduction 2021-07-29 12:33:06 +09:00
Louis Pontoise 0dad739b15 fix: hide window controls after a window is closed (closes #925) 2021-05-26 23:44:34 +09:00
Louis Pontoise c59368c601 docs: clarify compatibility on the landing website (#211) 2021-05-26 23:44:33 +09:00
semantic-release-bot 44ac1e1012 chore(release): 6.22.1 [skip ci]
## [6.22.1](https://github.com/lwouis/alt-tab-macos/compare/v6.22.0...v6.22.1) (2021-05-12)

### Bug Fixes

* certain jetbrain apps windows were not shown (closes [#948](https://github.com/lwouis/alt-tab-macos/issues/948)) ([5958107](https://github.com/lwouis/alt-tab-macos/commit/5958107))
2021-05-12 11:04:39 +00:00
Louis Pontoise 5958107cd9 fix: certain jetbrain apps windows were not shown (closes #948) 2021-05-12 17:28:49 +09:00
semantic-release-bot 25d36c8c2e chore(release): 6.22.0 [skip ci]
# [6.22.0](https://github.com/lwouis/alt-tab-macos/compare/v6.21.2...v6.22.0) (2021-05-10)

### Bug Fixes

* remove jetbrain app non-windows (closes [#885](https://github.com/lwouis/alt-tab-macos/issues/885)) ([a368af3](https://github.com/lwouis/alt-tab-macos/commit/a368af3))

### Features

* add citrix viewer in the default blacklist (see [#381](https://github.com/lwouis/alt-tab-macos/issues/381)) ([e630acf](https://github.com/lwouis/alt-tab-macos/commit/e630acf))
2021-05-10 18:44:47 +00:00
Louis Pontoise a368af3f01 fix: remove jetbrain app non-windows (closes #885) 2021-05-10 16:43:25 +09:00
Louis Pontoise e630acffe0 feat: add citrix viewer in the default blacklist (see #381) 2021-05-10 16:43:25 +09:00
semantic-release-bot dbd252a95c chore(release): 6.21.2 [skip ci]
## [6.21.2](https://github.com/lwouis/alt-tab-macos/compare/v6.21.1...v6.21.2) (2021-04-20)

### Bug Fixes

* selected thumbnail was sometimes wrong (closes [#926](https://github.com/lwouis/alt-tab-macos/issues/926)) ([1da3f32](https://github.com/lwouis/alt-tab-macos/commit/1da3f32))
2021-04-20 12:13:41 +00:00
Louis Pontoise 1da3f3219c fix: selected thumbnail was sometimes wrong (closes #926) 2021-04-20 20:54:29 +09:00
semantic-release-bot a880b3d830 chore(release): 6.21.1 [skip ci]
## [6.21.1](https://github.com/lwouis/alt-tab-macos/compare/v6.21.0...v6.21.1) (2021-04-19)

### Bug Fixes

* crash on launch on a new install (closes [#928](https://github.com/lwouis/alt-tab-macos/issues/928)) ([bed3351](https://github.com/lwouis/alt-tab-macos/commit/bed3351))
2021-04-19 14:17:16 +00:00
Louis Pontoise bed335132b fix: crash on launch on a new install (closes #928) 2021-04-19 22:33:48 +09:00
semantic-release-bot 6734379500 chore(release): 6.21.0 [skip ci]
# [6.21.0](https://github.com/lwouis/alt-tab-macos/compare/v6.20.0...v6.21.0) (2021-04-17)

### Bug Fixes

* apps could steal key focus from alt-tab main window ([#719](https://github.com/lwouis/alt-tab-macos/issues/719) [#916](https://github.com/lwouis/alt-tab-macos/issues/916)) ([6be72f3](https://github.com/lwouis/alt-tab-macos/commit/6be72f3))

### Features

* update korean location ([c1fc40d](https://github.com/lwouis/alt-tab-macos/commit/c1fc40d))
2021-04-17 11:27:38 +00:00
Louis Pontoise c1fc40d523 feat: update korean location 2021-04-17 20:07:30 +09:00
Louis Pontoise 6be72f36d7 fix: apps could steal key focus from alt-tab main window (#719 #916)
(closes #719, closes #916)
2021-04-17 20:07:30 +09:00
semantic-release-bot 682cd1ea8b chore(release): 6.20.0 [skip ci]
# [6.20.0](https://github.com/lwouis/alt-tab-macos/compare/v6.19.0...v6.20.0) (2021-04-15)

### Bug Fixes

* broken preferences window toolbar on macos 11 (closes [#914](https://github.com/lwouis/alt-tab-macos/issues/914)) ([1539030](https://github.com/lwouis/alt-tab-macos/commit/1539030))

### Features

* update contributors ([9847038](https://github.com/lwouis/alt-tab-macos/commit/9847038))
2021-04-15 10:44:16 +00:00
Louis Pontoise 9847038f26 feat: update contributors 2021-04-15 19:25:05 +09:00
Louis Pontoise 1539030469 fix: broken preferences window toolbar on macos 11 (closes #914) 2021-04-15 19:25:05 +09:00
semantic-release-bot 4e57c13a7e chore(release): 6.19.0 [skip ci]
# [6.19.0](https://github.com/lwouis/alt-tab-macos/compare/v6.18.1...v6.19.0) (2021-04-14)

### Bug Fixes

* correct Wikipedia link ([5a41561](https://github.com/lwouis/alt-tab-macos/commit/5a41561))
* intellij fullscreen windows sometimes not showing ([#824](https://github.com/lwouis/alt-tab-macos/issues/824)) ([4dcb6bb](https://github.com/lwouis/alt-tab-macos/commit/4dcb6bb))
* rare crash when the ui was kept open during space transition ([e869900](https://github.com/lwouis/alt-tab-macos/commit/e869900))

### Features

* added NICE DCV to the don't show list ([3a98628](https://github.com/lwouis/alt-tab-macos/commit/3a98628))
* update german, russian, swedish localization ([6f1a27a](https://github.com/lwouis/alt-tab-macos/commit/6f1a27a))
* update korean, polish, and brazilian localizations ([5bc8f82](https://github.com/lwouis/alt-tab-macos/commit/5bc8f82))
2021-04-14 07:50:00 +00:00
Louis Pontoise 5bc8f82015 feat: update korean, polish, and brazilian localizations 2021-04-14 16:33:40 +09:00
Hugh Lilly 5a41561261 fix: correct Wikipedia link 2021-04-14 16:33:40 +09:00
Marco Mastropaolo 3a9862899a feat: added NICE DCV to the don't show list 2021-04-14 16:33:40 +09:00
Louis Pontoise 6e4eb295dc docs: fix discord link 2021-04-14 16:33:40 +09:00
Louis Pontoise 96904ee917 ci: bump macos/xcode to match local dev env better 2021-04-02 18:12:51 +09:00
Ali Karbassi 01683af8ef docs: update homebrew instructions for newer versions 2021-04-02 18:10:01 +09:00
Louis Pontoise 6f1a27a84d feat: update german, russian, swedish localization 2021-04-02 02:06:49 +09:00
Louis Pontoise 4dcb6bbbc0 fix: intellij fullscreen windows sometimes not showing (#824) 2021-04-02 02:06:49 +09:00
Louis Pontoise e86990065d fix: rare crash when the ui was kept open during space transition 2021-04-01 01:06:41 +09:00
semantic-release-bot 4ee7d22dc0 chore(release): 6.18.1 [skip ci]
## [6.18.1](https://github.com/lwouis/alt-tab-macos/compare/v6.18.0...v6.18.1) (2021-03-13)

### Bug Fixes

* force new release ([1a098af](https://github.com/lwouis/alt-tab-macos/commit/1a098af))
2021-03-13 15:44:27 +00:00
Louis Pontoise 1a098afc9f fix: force new release 2021-03-14 00:28:19 +09:00
semantic-release-bot a7f353c8d6 chore(release): 6.18.0 [skip ci]
# [6.18.0](https://github.com/lwouis/alt-tab-macos/compare/v6.17.0...v6.18.0) (2021-03-13)

### Bug Fixes

* more robust handling of custom shortcuts ([339aeaa](https://github.com/lwouis/alt-tab-macos/commit/339aeaa))
* windows launched already fullscreen sometimes didn't show ([#824](https://github.com/lwouis/alt-tab-macos/issues/824)) ([62b43f2](https://github.com/lwouis/alt-tab-macos/commit/62b43f2))

### Features

* avoid disabling native command-tab (closes [#834](https://github.com/lwouis/alt-tab-macos/issues/834)) ([fb51c5d](https://github.com/lwouis/alt-tab-macos/commit/fb51c5d))
* update contributors list ([5c7aa38](https://github.com/lwouis/alt-tab-macos/commit/5c7aa38))
2021-03-13 15:08:03 +00:00
Louis Pontoise 5c7aa38312 feat: update contributors list 2021-03-13 23:52:42 +09:00
Louis Pontoise 339aeaabe6 fix: more robust handling of custom shortcuts
* user was able to set a nextWindowShortcut which contained modifiers from holdShortcut
* detection of conflicts was incorrect in some cases, mostly because holdShortcut and nextWindowShortcut should be treated as 1 shortcut
* after the user forces a shortcut to apply, resetting the existing one with the same keys, it wouldn't save to UserDefaults
* forcing the holdShortcut to replace another holdShortcut would reset it, even though holdShortcut should always be set with some value
2021-03-13 23:52:42 +09:00
Louis Pontoise 62b43f21d6 fix: windows launched already fullscreen sometimes didn't show (#824)
closes #824
2021-03-13 23:52:42 +09:00
Louis Pontoise 5971642aa4 refactor: make method static 2021-03-13 23:52:42 +09:00
Louis Pontoise fb51c5d14b feat: avoid disabling native command-tab (closes #834) 2021-03-13 23:52:42 +09:00
semantic-release-bot 5390e411cc chore(release): 6.17.0 [skip ci]
# [6.17.0](https://github.com/lwouis/alt-tab-macos/compare/v6.16.0...v6.17.0) (2021-02-26)

### Features

* space number start at 1 instead of 0 ([#838](https://github.com/lwouis/alt-tab-macos/issues/838)) ([200dafa](https://github.com/lwouis/alt-tab-macos/commit/200dafa))
2021-02-26 03:03:47 +00:00
Louis Pontoise 200dafa24a feat: space number start at 1 instead of 0 (#838) 2021-02-26 11:47:58 +09:00
Louis Pontoise 2a36f89345 refactor: add more details in feedback report 2021-02-26 11:47:58 +09:00
semantic-release-bot f866f42d81 chore(release): 6.16.0 [skip ci]
# [6.16.0](https://github.com/lwouis/alt-tab-macos/compare/v6.15.3...v6.16.0) (2021-02-24)

### Features

* remove unused localized text ([e7ef15b](https://github.com/lwouis/alt-tab-macos/commit/e7ef15b))
* tell users about conflicting shortcuts (close [#832](https://github.com/lwouis/alt-tab-macos/issues/832)) ([b345648](https://github.com/lwouis/alt-tab-macos/commit/b345648))
2021-02-24 17:24:08 +00:00
Louis Pontoise e7ef15bc64 feat: remove unused localized text 2021-02-25 02:05:10 +09:00
Louis Pontoise b3456481ae feat: tell users about conflicting shortcuts (close #832) 2021-02-25 02:05:10 +09:00
semantic-release-bot 914f55af9f chore(release): 6.15.3 [skip ci]
## [6.15.3](https://github.com/lwouis/alt-tab-macos/compare/v6.15.2...v6.15.3) (2021-02-23)

### Bug Fixes

* better permission revocation detection ([f6d75fb](https://github.com/lwouis/alt-tab-macos/commit/f6d75fb))
2021-02-23 16:33:54 +00:00
Louis Pontoise f6d75fb8ff fix: better permission revocation detection 2021-02-24 01:14:51 +09:00
semantic-release-bot 599852d5a1 chore(release): 6.15.2 [skip ci]
## [6.15.2](https://github.com/lwouis/alt-tab-macos/compare/v6.15.1...v6.15.2) (2021-02-23)

### Bug Fixes

* avoid restarting alt-tab in some rare scenarios ([#825](https://github.com/lwouis/alt-tab-macos/issues/825)) ([4003df4](https://github.com/lwouis/alt-tab-macos/commit/4003df4))
* show windows of apps launched hidden ([#390](https://github.com/lwouis/alt-tab-macos/issues/390)) ([eb5d019](https://github.com/lwouis/alt-tab-macos/commit/eb5d019))
2021-02-23 14:57:54 +00:00
Louis Pontoise eb5d0196ba fix: show windows of apps launched hidden (#390) 2021-02-23 23:41:59 +09:00
Louis Pontoise 4003df41e1 fix: avoid restarting alt-tab in some rare scenarios (#825) 2021-02-23 23:41:59 +09:00
semantic-release-bot 58025aff52 chore(release): 6.15.1 [skip ci]
## [6.15.1](https://github.com/lwouis/alt-tab-macos/compare/v6.15.0...v6.15.1) (2021-02-16)

### Bug Fixes

* didn't show skim app windows (closes [#772](https://github.com/lwouis/alt-tab-macos/issues/772)) ([fed2eb6](https://github.com/lwouis/alt-tab-macos/commit/fed2eb6))
* issues with the app mediathekview (closes [#822](https://github.com/lwouis/alt-tab-macos/issues/822)) ([0181547](https://github.com/lwouis/alt-tab-macos/commit/0181547))
* live2d cubism editor stuck on startup (closes [#813](https://github.com/lwouis/alt-tab-macos/issues/813)) ([ee5c44f](https://github.com/lwouis/alt-tab-macos/commit/ee5c44f))
2021-02-16 06:25:00 +00:00
Louis Pontoise d535de6cd1 ci: only build master branch 2021-02-16 15:08:27 +09:00
Louis Pontoise 0181547ae8 fix: issues with the app mediathekview (closes #822) 2021-02-16 15:08:27 +09:00
Louis Pontoise ee5c44fd96 fix: live2d cubism editor stuck on startup (closes #813) 2021-02-16 15:08:27 +09:00
Louis Pontoise fed2eb63e0 fix: didn't show skim app windows (closes #772) 2021-02-16 15:08:27 +09:00
Louis Pontoise c3af30a721 refactor: remove unnecessary entitlement 2021-02-16 15:08:27 +09:00
semantic-release-bot 21f1a9c02e chore(release): 6.15.0 [skip ci]
# [6.15.0](https://github.com/lwouis/alt-tab-macos/compare/v6.14.0...v6.15.0) (2021-02-02)

### Bug Fixes

* show vlc fullscreen video (closes [#792](https://github.com/lwouis/alt-tab-macos/issues/792)) ([e675fab](https://github.com/lwouis/alt-tab-macos/commit/e675fab))

### Features

* update russian localization ([909c123](https://github.com/lwouis/alt-tab-macos/commit/909c123))
2021-02-02 07:27:15 +00:00
Louis Pontoise 909c123122 feat: update russian localization 2021-02-02 16:08:39 +09:00
Louis Pontoise e675fab31c fix: show vlc fullscreen video (closes #792) 2021-02-02 16:08:39 +09:00
semantic-release-bot 8d3063adfd chore(release): 6.14.0 [skip ci]
# [6.14.0](https://github.com/lwouis/alt-tab-macos/compare/v6.13.0...v6.14.0) (2021-02-01)

### Bug Fixes

* crash in very rare data-race ([e9e61af](https://github.com/lwouis/alt-tab-macos/commit/e9e61af)), closes [#1](https://github.com/lwouis/alt-tab-macos/issues/1)
* didn't show windows on same screen (closes [#794](https://github.com/lwouis/alt-tab-macos/issues/794)) ([b02e8be](https://github.com/lwouis/alt-tab-macos/commit/b02e8be))

### Features

* update korean, portuguese, swedish localizations ([81a33b8](https://github.com/lwouis/alt-tab-macos/commit/81a33b8))
2021-02-01 17:11:44 +00:00
Louis Pontoise 81a33b85d7 feat: update korean, portuguese, swedish localizations
also update contributors
2021-02-02 01:55:26 +09:00
Louis Pontoise e9e61afc6a fix: crash in very rare data-race
Most common crash in AppCenter for v6.12.0:
closure #1 () -> () in static AltTab.Windows.refreshThumbnailsAsync(__C.NSScreen, Swift.Int) -> ()
2021-02-02 01:55:26 +09:00
Louis Pontoise b02e8be802 fix: didn't show windows on same screen (closes #794) 2021-02-02 01:55:26 +09:00
semantic-release-bot 0e4987da94 chore(release): 6.13.0 [skip ci]
# [6.13.0](https://github.com/lwouis/alt-tab-macos/compare/v6.12.0...v6.13.0) (2021-01-25)

### Bug Fixes

* app would sometimes quit while in the background (closes [#704](https://github.com/lwouis/alt-tab-macos/issues/704)) ([d621ce5](https://github.com/lwouis/alt-tab-macos/commit/d621ce5))
* disable standard tab detection for all JetBrains apps ([25343ea](https://github.com/lwouis/alt-tab-macos/commit/25343ea)), closes [#716](https://github.com/lwouis/alt-tab-macos/issues/716)
* prevent macos 11 from terminating alt-tab randomly ([2447140](https://github.com/lwouis/alt-tab-macos/commit/2447140))
* restarting the app would sometimes fail to start again ([56d47fc](https://github.com/lwouis/alt-tab-macos/commit/56d47fc))
* show window controls, even when mouse hover option is disabled ([c256933](https://github.com/lwouis/alt-tab-macos/commit/c256933))

### Features

* add app category meta-data ([96572a8](https://github.com/lwouis/alt-tab-macos/commit/96572a8))
* add swedish and czech localizations ([00e95d6](https://github.com/lwouis/alt-tab-macos/commit/00e95d6))
* add ukrainian localization ([e576ca1](https://github.com/lwouis/alt-tab-macos/commit/e576ca1))
* display windows partially on screen correctly (closes [#727](https://github.com/lwouis/alt-tab-macos/issues/727)) ([2f92936](https://github.com/lwouis/alt-tab-macos/commit/2f92936))
* show window partially on-screen (closes [#727](https://github.com/lwouis/alt-tab-macos/issues/727)) ([b121162](https://github.com/lwouis/alt-tab-macos/commit/b121162))
* update japanese, turkish, chinese localizations ([7226c25](https://github.com/lwouis/alt-tab-macos/commit/7226c25))
2021-01-25 15:18:20 +00:00
Louis Pontoise d621ce5c50 fix: app would sometimes quit while in the background (closes #704) 2021-01-26 00:01:55 +09:00
Louis Pontoise 56d47fc61c fix: restarting the app would sometimes fail to start again 2021-01-26 00:01:55 +09:00
Louis Pontoise 96572a8008 feat: add app category meta-data 2021-01-26 00:01:55 +09:00
Louis Pontoise 9eda3ee9b1 chore: remove debug logs 2021-01-26 00:01:55 +09:00
Louis Pontoise 00e95d6825 feat: add swedish and czech localizations 2021-01-26 00:01:55 +09:00
Aarni Koskela f67406ff05 chore(ci): ensure l10n projects exist 2021-01-26 00:01:55 +09:00
Aarni Koskela 25343ea177 fix: disable standard tab detection for all JetBrains apps
Not just EAPs; those EAPs have been promoted into standard apps.

Should fix #716
2021-01-26 00:01:55 +09:00
Louis Pontoise e576ca1298 feat: add ukrainian localization 2021-01-26 00:01:55 +09:00
Louis Pontoise 2f92936848 feat: display windows partially on screen correctly (closes #727) 2021-01-26 00:01:55 +09:00
Louis Pontoise 2447140146 fix: prevent macos 11 from terminating alt-tab randomly 2021-01-26 00:01:55 +09:00
Sam Denty c2569336ca fix: show window controls, even when mouse hover option is disabled 2021-01-26 00:01:55 +09:00
Louis Pontoise 7226c25ed7 feat: update japanese, turkish, chinese localizations 2021-01-26 00:01:55 +09:00
Louis Pontoise b121162134 feat: show window partially on-screen (closes #727) 2021-01-26 00:01:55 +09:00
semantic-release-bot b8ad95cdf4 chore(release): 6.12.0 [skip ci]
# [6.12.0](https://github.com/lwouis/alt-tab-macos/compare/v6.11.0...v6.12.0) (2020-11-17)

### Bug Fixes

* window was not shown after closing tab (closes [#696](https://github.com/lwouis/alt-tab-macos/issues/696)) ([a7e96f2](https://github.com/lwouis/alt-tab-macos/commit/a7e96f2))

### Features

* add slovak localization ([06027dc](https://github.com/lwouis/alt-tab-macos/commit/06027dc))
2020-11-17 16:51:42 +00:00
Louis Pontoise 06027dc193 feat: add slovak localization 2020-11-18 01:29:44 +09:00
Louis Pontoise a7e96f2621 fix: window was not shown after closing tab (closes #696) 2020-11-18 01:29:44 +09:00
semantic-release-bot 4676758d7f chore(release): 6.11.0 [skip ci]
# [6.11.0](https://github.com/lwouis/alt-tab-macos/compare/v6.10.0...v6.11.0) (2020-11-11)

### Bug Fixes

* some windows would not be shown in fullscreen app (closes [#688](https://github.com/lwouis/alt-tab-macos/issues/688)) ([5f9caed](https://github.com/lwouis/alt-tab-macos/commit/5f9caed))

### Features

* add preference to show visible spaces (closes [#583](https://github.com/lwouis/alt-tab-macos/issues/583)) ([545437e](https://github.com/lwouis/alt-tab-macos/commit/545437e))
* added slovenian localization ([8b22d41](https://github.com/lwouis/alt-tab-macos/commit/8b22d41))
2020-11-11 15:48:44 +00:00
Louis Pontoise 5f9caed280 fix: some windows would not be shown in fullscreen app (closes #688) 2020-11-12 00:30:27 +09:00
Louis Pontoise 8b22d4128e feat: added slovenian localization 2020-11-12 00:30:27 +09:00
Louis Pontoise 545437e43e feat: add preference to show visible spaces (closes #583) 2020-11-12 00:30:27 +09:00
semantic-release-bot d021be1336 chore(release): 6.10.0 [skip ci]
# [6.10.0](https://github.com/lwouis/alt-tab-macos/compare/v6.9.0...v6.10.0) (2020-11-09)

### Bug Fixes

* some apps were not showing (closes [#677](https://github.com/lwouis/alt-tab-macos/issues/677), closes [#679](https://github.com/lwouis/alt-tab-macos/issues/679)) ([e0fa680](https://github.com/lwouis/alt-tab-macos/commit/e0fa680))

### Features

* improve french, hungarian and polish localizations ([bf21a4e](https://github.com/lwouis/alt-tab-macos/commit/bf21a4e))
2020-11-09 17:36:59 +00:00
Louis Pontoise bf21a4edce feat: improve french, hungarian and polish localizations 2020-11-10 02:19:20 +09:00
Louis Pontoise e0fa68036e fix: some apps were not showing (closes #677, closes #679) 2020-11-10 02:19:20 +09:00
semantic-release-bot cde1adc664 chore(release): 6.9.0 [skip ci]
# [6.9.0](https://github.com/lwouis/alt-tab-macos/compare/v6.8.0...v6.9.0) (2020-10-27)

### Features

* don't show glitchy windows from non-native apps (closes [#562](https://github.com/lwouis/alt-tab-macos/issues/562)) ([84dbaa0](https://github.com/lwouis/alt-tab-macos/commit/84dbaa0)), closes [#456](https://github.com/lwouis/alt-tab-macos/issues/456)
* update chinese localization ([9240040](https://github.com/lwouis/alt-tab-macos/commit/9240040))
* update french localization ([e9a6f54](https://github.com/lwouis/alt-tab-macos/commit/e9a6f54))
2020-10-27 14:00:15 +00:00
Louis Pontoise 84dbaa06aa feat: don't show glitchy windows from non-native apps (closes #562)
See #456
2020-10-27 22:42:49 +09:00
Louis Pontoise 9240040ae6 feat: update chinese localization 2020-10-27 22:42:49 +09:00
Louis Pontoise e9a6f54355 feat: update french localization 2020-10-27 14:17:45 +09:00
semantic-release-bot e4f2c4b140 chore(release): 6.8.0 [skip ci]
# [6.8.0](https://github.com/lwouis/alt-tab-macos/compare/v6.7.4...v6.8.0) (2020-10-26)

### Bug Fixes

* rare crash at launch during permissions grant ([6120418](https://github.com/lwouis/alt-tab-macos/commit/6120418))

### Features

* update dutch localization ([8cf9954](https://github.com/lwouis/alt-tab-macos/commit/8cf9954))
2020-10-26 17:11:23 +00:00
Louis Pontoise 8cf9954a57 feat: update dutch localization 2020-10-27 01:44:59 +09:00
Louis Pontoise 8771fffe8d ci: trigger builds on all branches 2020-10-27 01:44:59 +09:00
Louis Pontoise 6120418d70 fix: rare crash at launch during permissions grant 2020-10-27 01:44:59 +09:00
semantic-release-bot 72b6250b36 chore(release): 6.7.4 [skip ci]
## [6.7.4](https://github.com/lwouis/alt-tab-macos/compare/v6.7.3...v6.7.4) (2020-10-15)

### Bug Fixes

* shortcuts temporarily stuck in intellij eap (closes [#652](https://github.com/lwouis/alt-tab-macos/issues/652)) ([7c171c2](https://github.com/lwouis/alt-tab-macos/commit/7c171c2))
* show the android emulator (closes [#653](https://github.com/lwouis/alt-tab-macos/issues/653)) ([16c7a93](https://github.com/lwouis/alt-tab-macos/commit/16c7a93))
2020-10-15 14:56:59 +00:00
Louis Pontoise 7c171c26cb fix: shortcuts temporarily stuck in intellij eap (closes #652) 2020-10-15 23:39:13 +09:00
Louis Pontoise 16c7a9319a fix: show the android emulator (closes #653) 2020-10-15 23:39:13 +09:00
semantic-release-bot d825efa1f1 chore(release): 6.7.3 [skip ci]
## [6.7.3](https://github.com/lwouis/alt-tab-macos/compare/v6.7.2...v6.7.3) (2020-10-10)

### Bug Fixes

* apparition delay preference would sometimes not be respected ([3019dd5](https://github.com/lwouis/alt-tab-macos/commit/3019dd5))
* ui would sometimes stay open (closes [#588](https://github.com/lwouis/alt-tab-macos/issues/588)) ([8912c70](https://github.com/lwouis/alt-tab-macos/commit/8912c70))
2020-10-10 04:55:37 +00:00
Louis Pontoise 8912c70bcd fix: ui would sometimes stay open (closes #588) 2020-10-10 13:39:17 +09:00
Louis Pontoise 3019dd58d7 fix: apparition delay preference would sometimes not be respected 2020-10-10 13:39:17 +09:00
semantic-release-bot c1a0b052af chore(release): 6.7.2 [skip ci]
## [6.7.2](https://github.com/lwouis/alt-tab-macos/compare/v6.7.1...v6.7.2) (2020-10-06)

### Bug Fixes

* crash in rare unknown scenario scenario ([08581f5](https://github.com/lwouis/alt-tab-macos/commit/08581f5))
* crash on blacklisted app with main shortcut cleared ([c3f0686](https://github.com/lwouis/alt-tab-macos/commit/c3f0686))
* ignore more non-user-facing apps (xpc processes) ([8417564](https://github.com/lwouis/alt-tab-macos/commit/8417564))
* key repeat rate was too fast on high fps monitors (closes [#633](https://github.com/lwouis/alt-tab-macos/issues/633)) ([b408f14](https://github.com/lwouis/alt-tab-macos/commit/b408f14))
* keynote was not showing while in slideshow mode (closes [#636](https://github.com/lwouis/alt-tab-macos/issues/636)) ([ec7b69f](https://github.com/lwouis/alt-tab-macos/commit/ec7b69f))
* space transition sometimes absorbed the shortcut (closes [#588](https://github.com/lwouis/alt-tab-macos/issues/588)) ([5e6a0c2](https://github.com/lwouis/alt-tab-macos/commit/5e6a0c2))
2020-10-06 17:29:26 +00:00
Louis Pontoise 08581f50c3 fix: crash in rare unknown scenario scenario 2020-10-07 02:10:30 +09:00
Louis Pontoise c3f0686fd1 fix: crash on blacklisted app with main shortcut cleared 2020-10-07 02:10:30 +09:00
Louis Pontoise 5d9bc8e6b7 docs: add new contributor 2020-10-07 02:10:30 +09:00
Louis Pontoise 5e6a0c2bb6 fix: space transition sometimes absorbed the shortcut (closes #588) 2020-10-07 02:10:30 +09:00
Louis Pontoise ec7b69f4fc fix: keynote was not showing while in slideshow mode (closes #636) 2020-10-07 02:10:30 +09:00
Louis Pontoise b408f14956 fix: key repeat rate was too fast on high fps monitors (closes #633) 2020-10-07 02:10:30 +09:00
Louis Pontoise 84175640f7 fix: ignore more non-user-facing apps (xpc processes) 2020-10-07 02:10:30 +09:00
Louis Pontoise cd0d53d6bc refactor: clean up comments from incorrect copy-pastes 2020-10-07 02:10:30 +09:00
semantic-release-bot 1e030c391b chore(release): 6.7.1 [skip ci]
## [6.7.1](https://github.com/lwouis/alt-tab-macos/compare/v6.7.0...v6.7.1) (2020-09-27)

### Bug Fixes

* crashes when some shortcuts was set to nothing ([9b3e4b1](https://github.com/lwouis/alt-tab-macos/commit/9b3e4b1))
2020-09-27 17:08:24 +00:00
Louis Pontoise 9b3e4b180d fix: crashes when some shortcuts was set to nothing 2020-09-28 01:50:58 +09:00
semantic-release-bot 484411040d chore(release): 6.7.0 [skip ci]
# [6.7.0](https://github.com/lwouis/alt-tab-macos/compare/v6.6.0...v6.7.0) (2020-09-25)

### Bug Fixes

* cpu usage higher than normal for 2min after quitting an app ([2f4c56c](https://github.com/lwouis/alt-tab-macos/commit/2f4c56c))
* crash on launch in some rare scenarios (closes [#615](https://github.com/lwouis/alt-tab-macos/issues/615)) ([5d4b2b0](https://github.com/lwouis/alt-tab-macos/commit/5d4b2b0))

### Features

* make shortcuts repeat when held down (closes [#556](https://github.com/lwouis/alt-tab-macos/issues/556)) ([6803b02](https://github.com/lwouis/alt-tab-macos/commit/6803b02))
* show openboard window ([#621](https://github.com/lwouis/alt-tab-macos/issues/621)) ([5b35601](https://github.com/lwouis/alt-tab-macos/commit/5b35601))
* update japanese and portuguese (brazil) localizations ([85638df](https://github.com/lwouis/alt-tab-macos/commit/85638df))
* update russian localization ([40ef009](https://github.com/lwouis/alt-tab-macos/commit/40ef009))
2020-09-25 10:30:52 +00:00
Louis Pontoise 85638dfcc5 feat: update japanese and portuguese (brazil) localizations 2020-09-25 19:15:15 +09:00
Louis Pontoise 5b3560121a feat: show openboard window (#621) 2020-09-25 19:15:15 +09:00
Louis Pontoise 2f4c56c9dd fix: cpu usage higher than normal for 2min after quitting an app 2020-09-25 19:15:15 +09:00
Louis Pontoise 40ef0091b7 feat: update russian localization 2020-09-25 19:15:15 +09:00
Louis Pontoise 5d4b2b0a40 fix: crash on launch in some rare scenarios (closes #615) 2020-09-25 19:15:15 +09:00
Louis Pontoise 6803b0232e feat: make shortcuts repeat when held down (closes #556) 2020-09-25 19:15:15 +09:00
semantic-release-bot fca2d1282b chore(release): 6.6.0 [skip ci]
# [6.6.0](https://github.com/lwouis/alt-tab-macos/compare/v6.5.0...v6.6.0) (2020-09-14)

### Bug Fixes

* app would sometimes crash at launch (closes [#607](https://github.com/lwouis/alt-tab-macos/issues/607)) ([7288013](https://github.com/lwouis/alt-tab-macos/commit/7288013))

### Features

* update japanese localization ([473e08f](https://github.com/lwouis/alt-tab-macos/commit/473e08f))
2020-09-14 13:29:06 +00:00
Louis Pontoise 7288013691 fix: app would sometimes crash at launch (closes #607) 2020-09-14 22:11:20 +09:00
Louis Pontoise 473e08fd01 feat: update japanese localization 2020-09-14 22:11:20 +09:00
semantic-release-bot b9aa35a9af chore(release): 6.5.0 [skip ci]
# [6.5.0](https://github.com/lwouis/alt-tab-macos/compare/v6.4.0...v6.5.0) (2020-09-09)

### Bug Fixes

* ui would take time to display sometimes (see [#563](https://github.com/lwouis/alt-tab-macos/issues/563)) ([7efc806](https://github.com/lwouis/alt-tab-macos/commit/7efc806))

### Features

* update russian and dutch localizations ([eaa0cc9](https://github.com/lwouis/alt-tab-macos/commit/eaa0cc9))
2020-09-09 15:05:15 +00:00
Louis Pontoise eaa0cc9688 feat: update russian and dutch localizations 2020-09-09 23:44:16 +09:00
Louis Pontoise 7efc806a89 fix: ui would take time to display sometimes (see #563) 2020-09-09 23:44:16 +09:00
semantic-release-bot d61739996f chore(release): 6.4.0 [skip ci]
# [6.4.0](https://github.com/lwouis/alt-tab-macos/compare/v6.3.0...v6.4.0) (2020-09-08)

### Features

* update chinese, korean, and german localizations ([1514eca](https://github.com/lwouis/alt-tab-macos/commit/1514eca))

### Performance Improvements

* guaranty app nap is not interfering ([4895ee7](https://github.com/lwouis/alt-tab-macos/commit/4895ee7))
* prevent random freezes of the ui ([#563](https://github.com/lwouis/alt-tab-macos/issues/563)) ([e208da9](https://github.com/lwouis/alt-tab-macos/commit/e208da9))
2020-09-08 16:06:17 +00:00
Louis Pontoise 1514eca893 feat: update chinese, korean, and german localizations 2020-09-09 00:42:47 +09:00
Louis Pontoise 4895ee797f perf: guaranty app nap is not interfering 2020-09-08 23:29:32 +09:00
Louis Pontoise e208da91da perf: prevent random freezes of the ui (#563)
timers were on the main thread, creating indeterministic freezes
2020-09-08 23:29:32 +09:00
semantic-release-bot 7b304903ee chore(release): 6.3.0 [skip ci]
# [6.3.0](https://github.com/lwouis/alt-tab-macos/compare/v6.2.0...v6.3.0) (2020-09-08)

### Bug Fixes

* adobe audition windows were not showing up (closes [#581](https://github.com/lwouis/alt-tab-macos/issues/581)) ([6edced0](https://github.com/lwouis/alt-tab-macos/commit/6edced0))
* crash from appcenter in rare scenario ([c49a2bc](https://github.com/lwouis/alt-tab-macos/commit/c49a2bc)), closes [#1](https://github.com/lwouis/alt-tab-macos/issues/1)
* load app badges asynchronously to avoid system lag (closes [#563](https://github.com/lwouis/alt-tab-macos/issues/563)) ([29eff03](https://github.com/lwouis/alt-tab-macos/commit/29eff03))
* prevent rare crash seen in app center ([6ca58b1](https://github.com/lwouis/alt-tab-macos/commit/6ca58b1))

### Features

* show minimized/hidden windows last in the list (closes [#289](https://github.com/lwouis/alt-tab-macos/issues/289)) ([4fea943](https://github.com/lwouis/alt-tab-macos/commit/4fea943))
* split max screen size preference into width/height (closes [#579](https://github.com/lwouis/alt-tab-macos/issues/579)) ([6e2e5b4](https://github.com/lwouis/alt-tab-macos/commit/6e2e5b4))
* update es, ja, ko, nl, pt, pt-br localizations ([af5ed9b](https://github.com/lwouis/alt-tab-macos/commit/af5ed9b))
2020-09-08 11:02:03 +00:00
Louis Pontoise c49a2bcd4b fix: crash from appcenter in rare scenario
Stack trace:

closure #1 () -> () in AltTab.(windowDestroyed in _3E1A2D100A6A10BAACF80B17AC9C41B5)(__C.AXUIElementRef) throws -> () Windows.swift:43
reabstraction thunk helper from @escaping @callee_guaranteed () -> () to @escaping @callee_unowned @convention(block) () -> () <compiler-generated>:0
2020-09-08 19:44:35 +09:00
Louis Pontoise 6edced005a fix: adobe audition windows were not showing up (closes #581) 2020-09-08 19:44:35 +09:00
Louis Pontoise 29eff03e70 fix: load app badges asynchronously to avoid system lag (closes #563) 2020-09-08 19:44:35 +09:00
Louis Pontoise 4fea9431cd feat: show minimized/hidden windows last in the list (closes #289) 2020-09-08 19:44:35 +09:00
Louis Pontoise 79989a1dad refactor: increase perf warning value to reduce noise 2020-09-08 19:44:35 +09:00
Louis Pontoise 6e2e5b47fc feat: split max screen size preference into width/height (closes #579) 2020-09-08 19:44:35 +09:00
Louis Pontoise af5ed9b213 feat: update es, ja, ko, nl, pt, pt-br localizations 2020-09-08 19:44:35 +09:00
Louis Pontoise 6ca58b1ddb fix: prevent rare crash seen in app center
Stacktrace:

function signature specialization <Arg[1] = Dead> of generic specialization <[__C.AXUIElementRef]> of (extension in AltTab):__C.AXUIElementRef.attribute<A>(Swift.String, A.Type) throws -> A? AXUIElement.swift:36
2020-09-08 19:44:35 +09:00
semantic-release-bot 6ed97c4542 chore(release): 6.2.0 [skip ci]
# [6.2.0](https://github.com/lwouis/alt-tab-macos/compare/v6.1.0...v6.2.0) (2020-09-04)

### Bug Fixes

* apps would not quit properly sometimes (regression from 10b2c71) ([41384d9](https://github.com/lwouis/alt-tab-macos/commit/41384d9))
* avoid random delay after releasing shortcut (closes [#563](https://github.com/lwouis/alt-tab-macos/issues/563)) ([cbc4c39](https://github.com/lwouis/alt-tab-macos/commit/cbc4c39))
* crash on launch if the user didn't have sf symbols font ([58e9026](https://github.com/lwouis/alt-tab-macos/commit/58e9026))
* focused wrong window in rare scenario ([66820a1](https://github.com/lwouis/alt-tab-macos/commit/66820a1))
* issue when selecting windowless app from fullscreen window ([657c9e5](https://github.com/lwouis/alt-tab-macos/commit/657c9e5))
* smoother behavior when summoned during a space transition ([e6ded6c](https://github.com/lwouis/alt-tab-macos/commit/e6ded6c))
* thumbnail sizes could be wrong when switching between screens ([e13a263](https://github.com/lwouis/alt-tab-macos/commit/e13a263))
* triggering alt-tab during space transition failed (closes [#566](https://github.com/lwouis/alt-tab-macos/issues/566)) ([d66d788](https://github.com/lwouis/alt-tab-macos/commit/d66d788))
* windowless apps would rarely show despite the blacklist ([355225b](https://github.com/lwouis/alt-tab-macos/commit/355225b))
* workaround a quick in photoshop (closes [#571](https://github.com/lwouis/alt-tab-macos/issues/571)) ([7218418](https://github.com/lwouis/alt-tab-macos/commit/7218418))

### Features

* allow per-shortcut release action preference (closes [#573](https://github.com/lwouis/alt-tab-macos/issues/573)) ([2a9c33b](https://github.com/lwouis/alt-tab-macos/commit/2a9c33b))
* first blacklist can now match prefixes instead of full ids ([10693d0](https://github.com/lwouis/alt-tab-macos/commit/10693d0))
* new preference to hide thumbnails (closes [#384](https://github.com/lwouis/alt-tab-macos/issues/384)) ([877c93c](https://github.com/lwouis/alt-tab-macos/commit/877c93c))
* show about item in menubar menu (closes [#574](https://github.com/lwouis/alt-tab-macos/issues/574)) ([78d1d8f](https://github.com/lwouis/alt-tab-macos/commit/78d1d8f))
* show apps with no open window (closes [#397](https://github.com/lwouis/alt-tab-macos/issues/397)) ([f0fa02c](https://github.com/lwouis/alt-tab-macos/commit/f0fa02c))
* update fi, hu, nl, pl, ru, zn-tw localizations ([df3010a](https://github.com/lwouis/alt-tab-macos/commit/df3010a))
* update japanese and korean localizations ([2a2368d](https://github.com/lwouis/alt-tab-macos/commit/2a2368d))

### Performance Improvements

* add preferences cache to reduce app latency by a few ms ([17863b5](https://github.com/lwouis/alt-tab-macos/commit/17863b5))
* menubar takes a few frame less to compute ([3b7350f](https://github.com/lwouis/alt-tab-macos/commit/3b7350f))
* reduce image assets size even further using optimage ([63d8545](https://github.com/lwouis/alt-tab-macos/commit/63d8545))
2020-09-04 19:19:00 +00:00
Louis Pontoise 355225badb fix: windowless apps would rarely show despite the blacklist 2020-09-05 04:01:32 +09:00
Louis Pontoise 2a9c33b078 feat: allow per-shortcut release action preference (closes #573) 2020-09-05 04:01:32 +09:00
Louis Pontoise 7218418f6d fix: workaround a quick in photoshop (closes #571) 2020-09-05 04:01:32 +09:00
Louis Pontoise 0c0c2d7f31 docs: update website screenshots 2020-09-05 04:01:32 +09:00
Louis Pontoise 3b7350f853 perf: menubar takes a few frame less to compute 2020-09-05 04:01:32 +09:00
Louis Pontoise cbc4c39aa5 fix: avoid random delay after releasing shortcut (closes #563) 2020-09-05 04:01:32 +09:00
Louis Pontoise 78d1d8f6fd feat: show about item in menubar menu (closes #574) 2020-09-05 04:01:32 +09:00
Louis Pontoise 2a2368d67b feat: update japanese and korean localizations 2020-09-05 04:01:32 +09:00
Louis Pontoise 17863b53a2 perf: add preferences cache to reduce app latency by a few ms 2020-09-05 04:01:32 +09:00
Louis Pontoise 10693d0346 feat: first blacklist can now match prefixes instead of full ids 2020-09-05 04:01:32 +09:00
Louis Pontoise e6ded6c79b fix: smoother behavior when summoned during a space transition 2020-09-05 04:01:32 +09:00
Louis Pontoise 66820a1e63 fix: focused wrong window in rare scenario 2020-09-05 04:01:32 +09:00
Louis Pontoise 63d85453b0 perf: reduce image assets size even further using optimage 2020-09-05 04:01:32 +09:00
Louis Pontoise d66d7887f5 fix: triggering alt-tab during space transition failed (closes #566) 2020-09-05 04:01:32 +09:00
Louis Pontoise 41384d9066 fix: apps would not quit properly sometimes (regression from 10b2c71) 2020-09-05 04:01:32 +09:00
Louis Pontoise 657c9e5e8b fix: issue when selecting windowless app from fullscreen window 2020-09-05 04:01:32 +09:00
Louis Pontoise 58e902600a fix: crash on launch if the user didn't have sf symbols font 2020-09-05 04:01:32 +09:00
Louis Pontoise 877c93c8a2 feat: new preference to hide thumbnails (closes #384) 2020-09-05 04:01:32 +09:00
Louis Pontoise df3010a3c8 feat: update fi, hu, nl, pl, ru, zn-tw localizations 2020-09-05 04:01:32 +09:00
Louis Pontoise f0fa02c4a2 feat: show apps with no open window (closes #397) 2020-09-05 04:01:32 +09:00
Louis Pontoise dc8b363e57 refactor: remove minor warnings 2020-09-05 04:01:32 +09:00
Louis Pontoise e13a263b08 fix: thumbnail sizes could be wrong when switching between screens 2020-09-05 04:01:32 +09:00
semantic-release-bot 6db893c4e7 chore(release): 6.1.0 [skip ci]
# [6.1.0](https://github.com/lwouis/alt-tab-macos/compare/v6.0.0...v6.1.0) (2020-08-31)

### Bug Fixes

* crash when user click a specific spot of shortcut ui (closes [#495](https://github.com/lwouis/alt-tab-macos/issues/495)) ([959a8ae](https://github.com/lwouis/alt-tab-macos/commit/959a8ae))
* focusing alt-tab own windows with alt-tab had jank (closes [#501](https://github.com/lwouis/alt-tab-macos/issues/501)) ([c927920](https://github.com/lwouis/alt-tab-macos/commit/c927920))
* some users have corrupted preferences, crashing on launch ([3062566](https://github.com/lwouis/alt-tab-macos/commit/3062566))

### Features

* add polish localization ([9fd25df](https://github.com/lwouis/alt-tab-macos/commit/9fd25df))
* update indonesian localization ([4ee875b](https://github.com/lwouis/alt-tab-macos/commit/4ee875b))

### Performance Improvements

* compress the 3 colored circle icons ([20e474b](https://github.com/lwouis/alt-tab-macos/commit/20e474b))
2020-08-31 06:09:59 +00:00
Louis Pontoise 4ee875bcd7 feat: update indonesian localization 2020-08-31 14:53:57 +09:00
Louis Pontoise 9fd25dfc0b feat: add polish localization 2020-08-31 14:41:16 +09:00
Louis Pontoise 959a8aea55 fix: crash when user click a specific spot of shortcut ui (closes #495) 2020-08-31 14:41:16 +09:00
Louis Pontoise c927920070 fix: focusing alt-tab own windows with alt-tab had jank (closes #501) 2020-08-31 14:41:16 +09:00
Louis Pontoise 30625662a2 fix: some users have corrupted preferences, crashing on launch 2020-08-31 14:41:16 +09:00
Louis Pontoise 20e474b6f5 perf: compress the 3 colored circle icons 2020-08-31 14:41:16 +09:00
semantic-release-bot aaa69c2d22 chore(release): 6.0.0 [skip ci]
# [6.0.0](https://github.com/lwouis/alt-tab-macos/compare/v5.3.0...v6.0.0) (2020-08-27)

### Bug Fixes

* alt-tab own windows were not shown in alt-tab (closes [#555](https://github.com/lwouis/alt-tab-macos/issues/555)) ([8bcbc04](https://github.com/lwouis/alt-tab-macos/commit/8bcbc04))
* clicking the main window would steal focus ([de02e5b](https://github.com/lwouis/alt-tab-macos/commit/de02e5b))
* display firefox develop edition fullscreen windows (closes [#558](https://github.com/lwouis/alt-tab-macos/issues/558)) ([3250d37](https://github.com/lwouis/alt-tab-macos/commit/3250d37))
* guarantee alt-tab window is always up-to-date on display ([be4c5f1](https://github.com/lwouis/alt-tab-macos/commit/be4c5f1))
* ignore zombie processes ([50c8c82](https://github.com/lwouis/alt-tab-macos/commit/50c8c82))
* moving some of the preferences sliders was very laggy ([a552c4c](https://github.com/lwouis/alt-tab-macos/commit/a552c4c))
* shortcuts stop working if active app is quit (closes [#557](https://github.com/lwouis/alt-tab-macos/issues/557)) ([023561d](https://github.com/lwouis/alt-tab-macos/commit/023561d))

### Features

* display quickly even with many open windows (closes [#171](https://github.com/lwouis/alt-tab-macos/issues/171)) ([da16a0b](https://github.com/lwouis/alt-tab-macos/commit/da16a0b))
* improve the 3 colored buttons when hovering (closes [#516](https://github.com/lwouis/alt-tab-macos/issues/516)) ([3ddedff](https://github.com/lwouis/alt-tab-macos/commit/3ddedff))
* update chinese localization ([e150a9a](https://github.com/lwouis/alt-tab-macos/commit/e150a9a))

### Performance Improvements

* alt-tab appears quicker when summoned ([c2bb896](https://github.com/lwouis/alt-tab-macos/commit/c2bb896))
* main window appears (a few frames) faster on trigger ([2bc09e6](https://github.com/lwouis/alt-tab-macos/commit/2bc09e6))

### BREAKING CHANGES

* the window thumbnails are now updated *after* the UI is shown. AltTab will first display its window, with the first 3 thumbnails up-to-date, then asynchronously update the rest of the thumbnails one-by-one. This improves the experience of users with lots of windows open.
2020-08-27 15:07:29 +00:00
Louis Pontoise af48951d09 docs: add new contributor 2020-08-27 23:49:54 +09:00
Louis Pontoise 3250d37557 fix: display firefox develop edition fullscreen windows (closes #558) 2020-08-27 22:44:40 +09:00
Louis Pontoise 20e9d1579d refactor: don't observe new windows before their app is ready 2020-08-27 22:44:40 +09:00
Louis Pontoise e150a9a4ed feat: update chinese localization 2020-08-27 22:44:40 +09:00
Louis Pontoise 50c8c82767 fix: ignore zombie processes 2020-08-27 22:44:40 +09:00
Louis Pontoise 023561d3aa fix: shortcuts stop working if active app is quit (closes #557) 2020-08-27 22:44:40 +09:00
Louis Pontoise a552c4c43a fix: moving some of the preferences sliders was very laggy 2020-08-27 22:44:40 +09:00
Louis Pontoise 8bcbc04164 fix: alt-tab own windows were not shown in alt-tab (closes #555) 2020-08-27 22:44:40 +09:00
Louis Pontoise be4c5f1903 fix: guarantee alt-tab window is always up-to-date on display 2020-08-27 22:44:40 +09:00
Louis Pontoise c2bb89625e perf: alt-tab appears quicker when summoned 2020-08-27 22:44:40 +09:00
Louis Pontoise de02e5b83f fix: clicking the main window would steal focus 2020-08-27 22:44:40 +09:00
Louis Pontoise 3ddedff978 feat: improve the 3 colored buttons when hovering (closes #516) 2020-08-27 22:44:40 +09:00
Louis Pontoise 790e8d9b05 refactor: bring colors closer to actual 2020-08-27 22:44:40 +09:00
Louis Pontoise bf34132618 refactor: re-organize icon resources 2020-08-27 22:44:40 +09:00
mindfulsource 29ad962bcc refactor: add window control icons
see https://github.com/lwouis/macos-traffic-light-buttons-as-SVG
2020-08-27 22:44:40 +09:00
Louis Pontoise da16a0b8f9 feat: display quickly even with many open windows (closes #171)
BREAKING CHANGE: the window thumbnails are now updated *after* the UI is shown. AltTab will first display its window, with the first 3 thumbnails up-to-date, then asynchronously update the rest of the thumbnails one-by-one. This improves the experience of users with lots of windows open.
2020-08-27 22:44:40 +09:00
Louis Pontoise 2bc09e64b2 perf: main window appears (a few frames) faster on trigger 2020-08-27 22:44:40 +09:00
semantic-release-bot bc16ca56f9 chore(release): 5.3.0 [skip ci]
# [5.3.0](https://github.com/lwouis/alt-tab-macos/compare/v5.2.0...v5.3.0) (2020-08-25)

### Bug Fixes

* app badges would sometimes not be up-to-date ([8ad03a5](https://github.com/lwouis/alt-tab-macos/commit/8ad03a5))
* rare crash when alt-tab is triggered when the dock isn't running ([9c02ceb](https://github.com/lwouis/alt-tab-macos/commit/9c02ceb))
* second blacklist was too tall on some systems ([522633b](https://github.com/lwouis/alt-tab-macos/commit/522633b))
* the ui would not hide if capslock was active (closes [#551](https://github.com/lwouis/alt-tab-macos/issues/551)) ([b4b82b2](https://github.com/lwouis/alt-tab-macos/commit/b4b82b2))

### Features

* add norwegian localization ([c344da7](https://github.com/lwouis/alt-tab-macos/commit/c344da7))
* blacklist mcafee safari host by default (closes [#386](https://github.com/lwouis/alt-tab-macos/issues/386)) ([a7ef4c7](https://github.com/lwouis/alt-tab-macos/commit/a7ef4c7))
2020-08-25 18:06:22 +00:00
Louis Pontoise 522633b2eb fix: second blacklist was too tall on some systems 2020-08-26 02:45:04 +09:00
Louis Pontoise c344da700b feat: add norwegian localization 2020-08-26 02:45:04 +09:00
Louis Pontoise b4b82b24c6 fix: the ui would not hide if capslock was active (closes #551) 2020-08-26 02:45:04 +09:00
Louis Pontoise 8ad03a5976 fix: app badges would sometimes not be up-to-date 2020-08-26 02:45:04 +09:00
Louis Pontoise a7ef4c7554 feat: blacklist mcafee safari host by default (closes #386) 2020-08-26 02:45:04 +09:00
Louis Pontoise 9c02cebdfc fix: rare crash when alt-tab is triggered when the dock isn't running 2020-08-26 02:45:04 +09:00
semantic-release-bot 1452602c44 chore(release): 5.2.0 [skip ci]
# [5.2.0](https://github.com/lwouis/alt-tab-macos/compare/v5.1.0...v5.2.0) (2020-08-24)

### Bug Fixes

* books.app windows were not always showing (closes [#481](https://github.com/lwouis/alt-tab-macos/issues/481)) ([9e92dfa](https://github.com/lwouis/alt-tab-macos/commit/9e92dfa))

### Features

* blacklisting apps can use start of the bundle id (closes [#549](https://github.com/lwouis/alt-tab-macos/issues/549)) ([de9cf46](https://github.com/lwouis/alt-tab-macos/commit/de9cf46))
* update french and portuguese localizations ([7a02ea5](https://github.com/lwouis/alt-tab-macos/commit/7a02ea5))

### Performance Improvements

* remove no-longer-used localization strings ([ce7836a](https://github.com/lwouis/alt-tab-macos/commit/ce7836a))
2020-08-24 17:16:17 +00:00
Louis Pontoise 9e92dfaefd fix: books.app windows were not always showing (closes #481) 2020-08-25 01:58:35 +09:00
Louis Pontoise ce7836a6f0 perf: remove no-longer-used localization strings 2020-08-25 01:58:35 +09:00
Louis Pontoise 7a02ea5be7 feat: update french and portuguese localizations 2020-08-25 01:58:35 +09:00
Louis Pontoise de9cf46746 feat: blacklisting apps can use start of the bundle id (closes #549)
Also handle Parallels better
2020-08-25 01:58:35 +09:00
semantic-release-bot 8399f845d6 chore(release): 5.1.0 [skip ci]
# [5.1.0](https://github.com/lwouis/alt-tab-macos/compare/v5.0.0...v5.1.0) (2020-08-20)

### Bug Fixes

* sometimes crashed when opening the preferences window (closes [#543](https://github.com/lwouis/alt-tab-macos/issues/543)) ([0f3c91a](https://github.com/lwouis/alt-tab-macos/commit/0f3c91a))

### Features

* update korean and portuguese localizations ([32ff753](https://github.com/lwouis/alt-tab-macos/commit/32ff753))

### Performance Improvements

* fix very small memory leaks ([8b7da21](https://github.com/lwouis/alt-tab-macos/commit/8b7da21))
2020-08-20 11:11:44 +00:00
Louis Pontoise 32ff753cbd feat: update korean and portuguese localizations 2020-08-20 19:55:56 +09:00
Louis Pontoise 0f3c91a182 fix: sometimes crashed when opening the preferences window (closes #543) 2020-08-20 19:55:56 +09:00
Louis Pontoise 8b7da216fb perf: fix very small memory leaks 2020-08-20 19:55:56 +09:00
Louis Pontoise c531e52650 docs: remove mention of preferences library 2020-08-20 19:55:56 +09:00
semantic-release-bot 034d490eed chore(release): 5.0.0 [skip ci]
# [5.0.0](https://github.com/lwouis/alt-tab-macos/compare/v4.19.0...v5.0.0) (2020-08-18)

### Bug Fixes

* app icon was not showing on macos 10.12 (see [#522](https://github.com/lwouis/alt-tab-macos/issues/522)) ([2a45dec](https://github.com/lwouis/alt-tab-macos/commit/2a45dec))
* battle.net installer and wow were not showing in alt-tab ([793b10b](https://github.com/lwouis/alt-tab-macos/commit/793b10b)), closes [#536](https://github.com/lwouis/alt-tab-macos/issues/536)
* portuguese from portugal was shown to brazil users ([e54c2de](https://github.com/lwouis/alt-tab-macos/commit/e54c2de))
* rare crash when the os was not providing the current space id ([cf05044](https://github.com/lwouis/alt-tab-macos/commit/cf05044))
* rewrote the preference window to fix crashes and jank (closes [#502](https://github.com/lwouis/alt-tab-macos/issues/502)) ([f9f5b8a](https://github.com/lwouis/alt-tab-macos/commit/f9f5b8a))

### Features

* change default key to select window from `return` to `space` ([eec694e](https://github.com/lwouis/alt-tab-macos/commit/eec694e))
* complete rewrite of the keyboard support (closes [#157](https://github.com/lwouis/alt-tab-macos/issues/157)) ([d3253ba](https://github.com/lwouis/alt-tab-macos/commit/d3253ba))
* show notification badges on top of app icons (closes [#523](https://github.com/lwouis/alt-tab-macos/issues/523)) ([fb62834](https://github.com/lwouis/alt-tab-macos/commit/fb62834))
* update portuguese (brazil) localization ([726acd3](https://github.com/lwouis/alt-tab-macos/commit/726acd3))
* updated japanese localization ([36c7b0a](https://github.com/lwouis/alt-tab-macos/commit/36c7b0a))

### BREAKING CHANGES

* the previous keyboard support implementation was not working if any app on the system activated Secure Input and didn't turn it off. This is a major hurdle for most global shortcut apps. This update introduces a new implementation which is unaffected by Secure Input. AltTab shortcuts should now work reliably
2020-08-18 14:53:04 +00:00
Louis Pontoise 36c7b0a1b9 feat: updated japanese localization 2020-08-18 23:35:13 +09:00
Louis Pontoise e54c2de7d8 fix: portuguese from portugal was shown to brazil users 2020-08-18 23:35:13 +09:00
Louis Pontoise 793b10b862 fix: battle.net installer and wow were not showing in alt-tab
(closes #536)
2020-08-18 23:35:13 +09:00
Louis Pontoise eec694eae2 feat: change default key to select window from return to space 2020-08-18 23:35:13 +09:00
Louis Pontoise f9f5b8ae7e fix: rewrote the preference window to fix crashes and jank (closes #502) 2020-08-18 23:35:13 +09:00
Louis Pontoise cf0504437b fix: rare crash when the os was not providing the current space id 2020-08-18 23:35:13 +09:00
Louis Pontoise 726acd35a4 feat: update portuguese (brazil) localization 2020-08-18 23:35:13 +09:00
Louis Pontoise fb628341d1 feat: show notification badges on top of app icons (closes #523) 2020-08-18 23:35:13 +09:00
Louis Pontoise d3253ba4e1 feat: complete rewrite of the keyboard support (closes #157)
BREAKING CHANGE: the previous keyboard support implementation was not working if any app on the system activated Secure Input and didn't turn it off. This is a major hurdle for most global shortcut apps. This update introduces a new implementation which is unaffected by Secure Input. AltTab shortcuts should now work reliably
2020-08-18 23:35:13 +09:00
Louis Pontoise 2a45dec92a fix: app icon was not showing on macos 10.12 (see #522) 2020-08-18 23:35:13 +09:00
semantic-release-bot ef83aa44f3 chore(release): 4.19.0 [skip ci]
# [4.19.0](https://github.com/lwouis/alt-tab-macos/compare/v4.18.0...v4.19.0) (2020-08-11)

### Bug Fixes

* checkboxes not showing properly on macos 10.13 (see [#507](https://github.com/lwouis/alt-tab-macos/issues/507)) ([43a9cb1](https://github.com/lwouis/alt-tab-macos/commit/43a9cb1))
* menubar icon not showing on macos 10.13 (closes [#507](https://github.com/lwouis/alt-tab-macos/issues/507)) ([2fa0b8a](https://github.com/lwouis/alt-tab-macos/commit/2fa0b8a))

### Features

* update portuguese (brazil) and chinese (simplified) localizations ([2b1b5fa](https://github.com/lwouis/alt-tab-macos/commit/2b1b5fa))
2020-08-11 16:41:23 +00:00
Louis Pontoise 2b1b5fac9a feat: update portuguese (brazil) and chinese (simplified) localizations 2020-08-12 01:18:52 +09:00
Louis Pontoise 43a9cb1644 fix: checkboxes not showing properly on macos 10.13 (see #507) 2020-08-12 01:18:52 +09:00
Louis Pontoise 2fa0b8ac52 fix: menubar icon not showing on macos 10.13 (closes #507) 2020-08-12 01:18:52 +09:00
Louis Pontoise 76dbdf03fe refactor: support portuguese 2020-08-12 01:18:52 +09:00
semantic-release-bot 49cca525bf chore(release): 4.18.0 [skip ci]
# [4.18.0](https://github.com/lwouis/alt-tab-macos/compare/v4.17.2...v4.18.0) (2020-08-11)

### Bug Fixes

* "no menubar icon" preference has correct height ([025053d](https://github.com/lwouis/alt-tab-macos/commit/025053d))

### Features

* add portuguese localization ([fd705b4](https://github.com/lwouis/alt-tab-macos/commit/fd705b4))
* update portuguese (brazil) and russian localizations ([2cebaaa](https://github.com/lwouis/alt-tab-macos/commit/2cebaaa))
2020-08-11 04:17:49 +00:00
Louis Pontoise 2cebaaa211 feat: update portuguese (brazil) and russian localizations 2020-08-11 13:01:09 +09:00
Louis Pontoise fd705b4763 feat: add portuguese localization 2020-08-11 13:01:09 +09:00
Louis Pontoise 025053dd21 fix: "no menubar icon" preference has correct height 2020-08-11 13:01:09 +09:00
Louis Pontoise ba7edf7515 docs: fix broken link and remove obsolete explanation 2020-08-11 13:01:09 +09:00
semantic-release-bot bc84d8c868 chore(release): 4.17.2 [skip ci]
## [4.17.2](https://github.com/lwouis/alt-tab-macos/compare/v4.17.1...v4.17.2) (2020-08-07)

### Bug Fixes

* shortcut 2 was showing shortcut 1 value after restart (closes [#500](https://github.com/lwouis/alt-tab-macos/issues/500)) ([74ed25d](https://github.com/lwouis/alt-tab-macos/commit/74ed25d))
2020-08-07 09:03:21 +00:00
Louis Pontoise 74ed25de17 fix: shortcut 2 was showing shortcut 1 value after restart (closes #500) 2020-08-07 17:48:42 +09:00
semantic-release-bot 63ec94f435 chore(release): 4.17.1 [skip ci]
## [4.17.1](https://github.com/lwouis/alt-tab-macos/compare/v4.17.0...v4.17.1) (2020-08-07)

### Bug Fixes

* in dark mode, the colored menubar icon was too bright ([845ae5c](https://github.com/lwouis/alt-tab-macos/commit/845ae5c))
* preference window tab icons adapt to dark mode (closes [#498](https://github.com/lwouis/alt-tab-macos/issues/498)) ([0c44c50](https://github.com/lwouis/alt-tab-macos/commit/0c44c50))
2020-08-07 08:33:52 +00:00
Louis Pontoise 845ae5c64b fix: in dark mode, the colored menubar icon was too bright 2020-08-07 17:17:42 +09:00
Louis Pontoise 0c44c5035c fix: preference window tab icons adapt to dark mode (closes #498) 2020-08-07 17:17:42 +09:00
semantic-release-bot 4b624d2fc5 chore(release): 4.17.0 [skip ci]
# [4.17.0](https://github.com/lwouis/alt-tab-macos/compare/v4.16.0...v4.17.0) (2020-08-07)

### Bug Fixes

* rare crash when started at login ([80945c8](https://github.com/lwouis/alt-tab-macos/commit/80945c8))

### Features

* update korean localization ([640bad8](https://github.com/lwouis/alt-tab-macos/commit/640bad8))
2020-08-07 05:16:51 +00:00
Louis Pontoise 640bad87c9 feat: update korean localization 2020-08-07 14:01:40 +09:00
Louis Pontoise 80945c8af3 fix: rare crash when started at login 2020-08-07 13:14:26 +09:00
semantic-release-bot 7eab1f8962 chore(release): 4.16.0 [skip ci]
# [4.16.0](https://github.com/lwouis/alt-tab-macos/compare/v4.15.0...v4.16.0) (2020-08-06)

### Bug Fixes

* removing shortcut 2 was not working properly (see [#493](https://github.com/lwouis/alt-tab-macos/issues/493)) ([fcdf40a](https://github.com/lwouis/alt-tab-macos/commit/fcdf40a))
* shortcut would not register if capslock was on (closes [#493](https://github.com/lwouis/alt-tab-macos/issues/493)) ([9db0fe4](https://github.com/lwouis/alt-tab-macos/commit/9db0fe4))

### Features

* let users minimize the preferences window ([2a0adf0](https://github.com/lwouis/alt-tab-macos/commit/2a0adf0))
2020-08-06 21:27:08 +00:00
Louis Pontoise 9db0fe40a0 fix: shortcut would not register if capslock was on (closes #493) 2020-08-07 06:11:45 +09:00
Louis Pontoise 2a0adf0ea0 feat: let users minimize the preferences window 2020-08-07 06:11:45 +09:00
Louis Pontoise fcdf40a03c fix: removing shortcut 2 was not working properly (see #493) 2020-08-07 06:11:45 +09:00
semantic-release-bot 92a8abf991 chore(release): 4.15.0 [skip ci]
# [4.15.0](https://github.com/lwouis/alt-tab-macos/compare/v4.14.0...v4.15.0) (2020-08-06)

### Features

* add new colorful menubar icon ([8f5c2a0](https://github.com/lwouis/alt-tab-macos/commit/8f5c2a0))

### Performance Improvements

* reduce size of app icon (closes [#169](https://github.com/lwouis/alt-tab-macos/issues/169)) ([bb49302](https://github.com/lwouis/alt-tab-macos/commit/bb49302))
2020-08-06 16:50:17 +00:00
Louis Pontoise 8f5c2a08bb feat: add new colorful menubar icon 2020-08-07 01:34:21 +09:00
Louis Pontoise bb493028f7 perf: reduce size of app icon (closes #169) 2020-08-07 01:34:21 +09:00
semantic-release-bot 8a95186794 chore(release): 4.14.0 [skip ci]
# [4.14.0](https://github.com/lwouis/alt-tab-macos/compare/v4.13.1...v4.14.0) (2020-08-06)

### Bug Fixes

* rare crash at launch ([461840e](https://github.com/lwouis/alt-tab-macos/commit/461840e))

### Features

* can now pick between multiple menubar icons (closes [#191](https://github.com/lwouis/alt-tab-macos/issues/191)) ([30f0322](https://github.com/lwouis/alt-tab-macos/commit/30f0322))
2020-08-06 14:34:36 +00:00
Louis Pontoise 30f03228a1 feat: can now pick between multiple menubar icons (closes #191) 2020-08-06 23:17:38 +09:00
Louis Pontoise 461840ef3d fix: rare crash at launch 2020-08-06 23:17:38 +09:00
semantic-release-bot a7247da478 chore(release): 4.13.1 [skip ci]
## [4.13.1](https://github.com/lwouis/alt-tab-macos/compare/v4.13.0...v4.13.1) (2020-08-05)

### Bug Fixes

* increase app icon size in about tab ([94a0cd8](https://github.com/lwouis/alt-tab-macos/commit/94a0cd8))
* preference window now always appears centered ([e770f18](https://github.com/lwouis/alt-tab-macos/commit/e770f18))
2020-08-05 20:35:10 +00:00
Louis Pontoise e770f186c6 fix: preference window now always appears centered 2020-08-06 05:19:20 +09:00
Louis Pontoise 94a0cd8a1e fix: increase app icon size in about tab 2020-08-06 05:19:20 +09:00
Louis Pontoise b323e464ba docs: add more qa scenarios 2020-08-06 05:19:20 +09:00
semantic-release-bot 5dd1be542d chore(release): 4.13.0 [skip ci]
# [4.13.0](https://github.com/lwouis/alt-tab-macos/compare/v4.12.2...v4.13.0) (2020-08-05)

### Features

* even more flexible controls (closes [#458](https://github.com/lwouis/alt-tab-macos/issues/458), closes [#463](https://github.com/lwouis/alt-tab-macos/issues/463)) ([a990bbe](https://github.com/lwouis/alt-tab-macos/commit/a990bbe))
* new icons for the preferences window tabs ([b20c71c](https://github.com/lwouis/alt-tab-macos/commit/b20c71c))

### Performance Improvements

* reduced size of app ([2df0c22](https://github.com/lwouis/alt-tab-macos/commit/2df0c22))
2020-08-05 19:34:29 +00:00
Louis Pontoise 2df0c221c2 perf: reduced size of app 2020-08-06 04:18:53 +09:00
Louis Pontoise b20c71c896 feat: new icons for the preferences window tabs 2020-08-06 04:18:53 +09:00
Louis Pontoise a990bbef9c feat: even more flexible controls (closes #458, closes #463) 2020-08-06 04:18:53 +09:00
semantic-release-bot 79ae6cab4c chore(release): 4.12.2 [skip ci]
## [4.12.2](https://github.com/lwouis/alt-tab-macos/compare/v4.12.1...v4.12.2) (2020-08-04)

### Bug Fixes

* rare crash at launch if the app previously crashed ([6444732](https://github.com/lwouis/alt-tab-macos/commit/6444732))
* rare crash when being started twice quickly at login ([a6365fb](https://github.com/lwouis/alt-tab-macos/commit/a6365fb))
2020-08-04 15:00:37 +00:00
Louis Pontoise a6365fb9a0 fix: rare crash when being started twice quickly at login 2020-08-04 23:42:28 +09:00
Louis Pontoise 6444732bc5 fix: rare crash at launch if the app previously crashed 2020-08-04 23:42:28 +09:00
semantic-release-bot 6505ca5a39 chore(release): 4.12.1 [skip ci]
## [4.12.1](https://github.com/lwouis/alt-tab-macos/compare/v4.12.0...v4.12.1) (2020-08-03)

### Bug Fixes

* occasional wrong window order after focusing a window (closes [#484](https://github.com/lwouis/alt-tab-macos/issues/484)) ([d6b1fb4](https://github.com/lwouis/alt-tab-macos/commit/d6b1fb4))
2020-08-03 18:25:39 +00:00
Louis Pontoise d6b1fb480d fix: occasional wrong window order after focusing a window (closes #484) 2020-08-04 03:08:46 +09:00
semantic-release-bot 34c1754b65 chore(release): 4.12.0 [skip ci]
# [4.12.0](https://github.com/lwouis/alt-tab-macos/compare/v4.11.1...v4.12.0) (2020-08-03)

### Features

* better default shortcuts on non-us keyboards (closes [#480](https://github.com/lwouis/alt-tab-macos/issues/480)) ([ea52111](https://github.com/lwouis/alt-tab-macos/commit/ea52111))
* update german, korean, chinese localizations ([fcbc89e](https://github.com/lwouis/alt-tab-macos/commit/fcbc89e))

### Performance Improvements

* slightly less latency for keyboard/mouse/os events ([28fb5f4](https://github.com/lwouis/alt-tab-macos/commit/28fb5f4))
* slightly reduce energy usage ([26e840c](https://github.com/lwouis/alt-tab-macos/commit/26e840c))
2020-08-03 16:02:49 +00:00
Louis Pontoise fcbc89ef65 feat: update german, korean, chinese localizations 2020-08-04 00:47:01 +09:00
Louis Pontoise ea52111c1a feat: better default shortcuts on non-us keyboards (closes #480) 2020-08-04 00:47:01 +09:00
Louis Pontoise 28fb5f4afa perf: slightly less latency for keyboard/mouse/os events 2020-08-04 00:47:01 +09:00
Louis Pontoise 26e840c1e7 perf: slightly reduce energy usage 2020-08-04 00:47:01 +09:00
semantic-release-bot 9d8781f69b chore(release): 4.11.1 [skip ci]
## [4.11.1](https://github.com/lwouis/alt-tab-macos/compare/v4.11.0...v4.11.1) (2020-07-30)

### Bug Fixes

* rare crash at launch if the app previously crashed ([12c27f1](https://github.com/lwouis/alt-tab-macos/commit/12c27f1))
* rare crash when user cycles while all windows get closed ([e901ca3](https://github.com/lwouis/alt-tab-macos/commit/e901ca3))
2020-07-30 11:21:22 +00:00
Louis Pontoise 4fe6002fc3 refactor: disable swizzling in favor of manual forwarding
see https://github.com/microsoft/appcenter-sdk-apple/issues/2137
2020-07-30 20:03:38 +09:00
Louis Pontoise e901ca3c7d fix: rare crash when user cycles while all windows get closed 2020-07-30 20:03:38 +09:00
Louis Pontoise 12c27f137f fix: rare crash at launch if the app previously crashed 2020-07-30 20:03:38 +09:00
semantic-release-bot 8c1ba9fe23 chore(release): 4.11.0 [skip ci]
# [4.11.0](https://github.com/lwouis/alt-tab-macos/compare/v4.10.0...v4.11.0) (2020-07-29)

### Bug Fixes

* crash if accessibility permission is granted then removed quickly ([0bca1e0](https://github.com/lwouis/alt-tab-macos/commit/0bca1e0))
* prevent macos restoring the app (conflict with login items) ([62037a0](https://github.com/lwouis/alt-tab-macos/commit/62037a0))
* rare crash at launch if the app previously crashed ([69168f9](https://github.com/lwouis/alt-tab-macos/commit/69168f9))
* rare crash when the os doesn't return the main screen uuid ([2232f81](https://github.com/lwouis/alt-tab-macos/commit/2232f81))

### Features

* update korean localization ([d31e369](https://github.com/lwouis/alt-tab-macos/commit/d31e369))
2020-07-29 19:00:34 +00:00
Louis Pontoise d31e369ef2 feat: update korean localization 2020-07-30 03:44:38 +09:00
Louis Pontoise 150fef68a5 refactor: cleaner layout for update policies 2020-07-30 03:44:38 +09:00
Louis Pontoise 0bca1e0869 fix: crash if accessibility permission is granted then removed quickly 2020-07-30 03:44:38 +09:00
Louis Pontoise de81b27fc3 refactor: potentially fixes a crash
function signature specialization <Arg[0] = Dead, Arg[3] = Dead> of AltTab.(keyboardHandler in _49D6ED7A14CE97405B1E63D2519515EC)(proxy: Swift.OpaquePointer, type: __C.CGEventType, cgEvent: __C.CGEventRef, userInfo: Swift.UnsafeMutableRawPointer?) -> Swift.Unmanaged<__C.CGEventRef>?
2020-07-30 03:44:38 +09:00
Louis Pontoise 2232f81bed fix: rare crash when the os doesn't return the main screen uuid 2020-07-30 03:44:38 +09:00
Louis Pontoise 69168f92cd fix: rare crash at launch if the app previously crashed 2020-07-30 03:44:38 +09:00
Louis Pontoise 62037a0102 fix: prevent macos restoring the app (conflict with login items) 2020-07-30 03:44:38 +09:00
semantic-release-bot 644ccf544c chore(release): 4.10.0 [skip ci]
# [4.10.0](https://github.com/lwouis/alt-tab-macos/compare/v4.9.1...v4.10.0) (2020-07-28)

### Features

* preference to hide colored circles on mouse hover (closes [#460](https://github.com/lwouis/alt-tab-macos/issues/460)) ([02776f0](https://github.com/lwouis/alt-tab-macos/commit/02776f0))
* preference to hide windows status icons (closes [#467](https://github.com/lwouis/alt-tab-macos/issues/467)) ([d305eb8](https://github.com/lwouis/alt-tab-macos/commit/d305eb8))
* update korean, chinese, russian localizations ([685bd10](https://github.com/lwouis/alt-tab-macos/commit/685bd10))
2020-07-28 15:37:36 +00:00
Louis Pontoise 31f6c3e1ce refactor: update localizations with new terms 2020-07-29 00:20:16 +09:00
Louis Pontoise 02780073ff docs: update contributors list 2020-07-29 00:20:16 +09:00
Louis Pontoise 685bd10639 feat: update korean, chinese, russian localizations 2020-07-29 00:20:16 +09:00
Louis Pontoise d305eb8e8f feat: preference to hide windows status icons (closes #467) 2020-07-29 00:20:16 +09:00
Louis Pontoise 02776f044c feat: preference to hide colored circles on mouse hover (closes #460) 2020-07-29 00:20:16 +09:00
semantic-release-bot ee02f25264 chore(release): 4.9.1 [skip ci]
## [4.9.1](https://github.com/lwouis/alt-tab-macos/compare/v4.9.0...v4.9.1) (2020-07-22)

### Bug Fixes

* occasional crash when updating some preferences ([3d36cb7](https://github.com/lwouis/alt-tab-macos/commit/3d36cb7))
2020-07-22 16:04:50 +00:00
Louis Pontoise 3d36cb7d6f fix: occasional crash when updating some preferences 2020-07-23 00:48:52 +09:00
semantic-release-bot c5ab19c677 chore(release): 4.9.0 [skip ci]
# [4.9.0](https://github.com/lwouis/alt-tab-macos/compare/v4.8.1...v4.9.0) (2020-07-22)

### Bug Fixes

* dr.betotte app wasn't listed in alt-tab (closes [#455](https://github.com/lwouis/alt-tab-macos/issues/455)) ([85b5ee7](https://github.com/lwouis/alt-tab-macos/commit/85b5ee7))
* occasional crash when focusing a window (closes [#459](https://github.com/lwouis/alt-tab-macos/issues/459)) ([19be9a1](https://github.com/lwouis/alt-tab-macos/commit/19be9a1))
* occasional crash when no there are no open window (closes [#459](https://github.com/lwouis/alt-tab-macos/issues/459)) ([6df92da](https://github.com/lwouis/alt-tab-macos/commit/6df92da))

### Features

* after a crash, suggest to send a crash report (closes [#132](https://github.com/lwouis/alt-tab-macos/issues/132)) ([a8970dd](https://github.com/lwouis/alt-tab-macos/commit/a8970dd))
2020-07-22 14:42:20 +00:00
Louis Pontoise 1de39a0049 refactor: fix inconsequential warnings 2020-07-22 23:19:45 +09:00
Louis Pontoise 19be9a174a fix: occasional crash when focusing a window (closes #459) 2020-07-22 23:19:45 +09:00
Louis Pontoise 6df92da76f fix: occasional crash when no there are no open window (closes #459) 2020-07-22 23:19:45 +09:00
Louis Pontoise a8970ddf71 feat: after a crash, suggest to send a crash report (closes #132)
also updated many localications
2020-07-22 23:19:45 +09:00
Louis Pontoise 85b5ee7653 fix: dr.betotte app wasn't listed in alt-tab (closes #455) 2020-07-22 23:19:45 +09:00
semantic-release-bot 19f058df97 chore(release): 4.8.1 [skip ci]
## [4.8.1](https://github.com/lwouis/alt-tab-macos/compare/v4.8.0...v4.8.1) (2020-07-21)

### Bug Fixes

* rare crash when clicking while alt-tab is open ([#439](https://github.com/lwouis/alt-tab-macos/issues/439)) ([b3c6031](https://github.com/lwouis/alt-tab-macos/commit/b3c6031))
2020-07-21 18:24:57 +00:00
Louis Pontoise b3c6031b3f fix: rare crash when clicking while alt-tab is open (#439) 2020-07-22 03:08:16 +09:00
semantic-release-bot be0cb8c92f chore(release): 4.8.0 [skip ci]
# [4.8.0](https://github.com/lwouis/alt-tab-macos/compare/v4.7.2...v4.8.0) (2020-07-21)

### Features

* hovering thumbnails reveals icons to close/min/max windows ([#9](https://github.com/lwouis/alt-tab-macos/issues/9)) ([11e0d2a](https://github.com/lwouis/alt-tab-macos/commit/11e0d2a))
2020-07-21 16:39:03 +00:00
Louis Pontoise 11e0d2aac3 feat: hovering thumbnails reveals icons to close/min/max windows (#9) 2020-07-22 01:23:25 +09:00
semantic-release-bot 586bb6e5e6 chore(release): 4.7.2 [skip ci]
## [4.7.2](https://github.com/lwouis/alt-tab-macos/compare/v4.7.1...v4.7.2) (2020-07-21)

### Bug Fixes

* dvdfab app wasn't listed in alt-tab (closes [#450](https://github.com/lwouis/alt-tab-macos/issues/450)) ([13e41ab](https://github.com/lwouis/alt-tab-macos/commit/13e41ab))
2020-07-21 09:40:48 +00:00
Louis Pontoise 13e41abb65 fix: dvdfab app wasn't listed in alt-tab (closes #450) 2020-07-21 18:26:54 +09:00
semantic-release-bot a2c5012654 chore(release): 4.7.1 [skip ci]
## [4.7.1](https://github.com/lwouis/alt-tab-macos/compare/v4.7.0...v4.7.1) (2020-07-21)

### Bug Fixes

* sanguosha game wasn't listed in alt-tab (closes [#441](https://github.com/lwouis/alt-tab-macos/issues/441)) ([e67b075](https://github.com/lwouis/alt-tab-macos/commit/e67b075))
2020-07-21 08:18:02 +00:00
Louis Pontoise e67b07572d fix: sanguosha game wasn't listed in alt-tab (closes #441) 2020-07-21 16:51:45 +09:00
semantic-release-bot 1b956b3862 chore(release): 4.7.0 [skip ci]
# [4.7.0](https://github.com/lwouis/alt-tab-macos/compare/v4.6.0...v4.7.0) (2020-07-20)

### Bug Fixes

* android emulator not showing because of blacklist (closes [#444](https://github.com/lwouis/alt-tab-macos/issues/444)) ([60bf384](https://github.com/lwouis/alt-tab-macos/commit/60bf384))

### Features

* add second shortcut to active the app (closes [#237](https://github.com/lwouis/alt-tab-macos/issues/237)) ([a6285ba](https://github.com/lwouis/alt-tab-macos/commit/a6285ba))
* default layout based on screen aspect ratio (closes [#436](https://github.com/lwouis/alt-tab-macos/issues/436)) ([11fb95d](https://github.com/lwouis/alt-tab-macos/commit/11fb95d))
* easier back-cycling shortcut ([#420](https://github.com/lwouis/alt-tab-macos/issues/420)) ([a31544d](https://github.com/lwouis/alt-tab-macos/commit/a31544d))
* updated german and hungarian localizations ([7a23046](https://github.com/lwouis/alt-tab-macos/commit/7a23046))
2020-07-20 22:25:06 +00:00
Louis Pontoise 60bf384e43 fix: android emulator not showing because of blacklist (closes #444) 2020-07-21 07:10:54 +09:00
Louis Pontoise bf7db193c9 ci: update xcode to match local version 2020-07-21 07:10:54 +09:00
Louis Pontoise d7208a684d refactor: fix warmings 2020-07-21 07:10:54 +09:00
Louis Pontoise a6285ba27c feat: add second shortcut to active the app (closes #237) 2020-07-21 07:10:54 +09:00
Louis Pontoise cf7b07625a refactor: add indonesian in xcode conf 2020-07-21 07:10:54 +09:00
Louis Pontoise a31544d092 feat: easier back-cycling shortcut (#420)
fix: correct layout for right-to-left languages
2020-07-21 07:10:54 +09:00
Louis Pontoise 7a23046015 feat: updated german and hungarian localizations 2020-07-21 07:10:54 +09:00
Louis Pontoise 11fb95d1d0 feat: default layout based on screen aspect ratio (closes #436) 2020-07-21 07:10:54 +09:00
semantic-release-bot dc0371aa1a chore(release): 4.6.0 [skip ci]
# [4.6.0](https://github.com/lwouis/alt-tab-macos/compare/v4.5.0...v4.6.0) (2020-07-20)

### Features

* add indonesian and luxembourgish localizations ([d3432a9](https://github.com/lwouis/alt-tab-macos/commit/d3432a9))
* updating german, french, korean localizations ([53a2f5f](https://github.com/lwouis/alt-tab-macos/commit/53a2f5f))
2020-07-20 02:06:21 +00:00
Louis Pontoise 53a2f5f2b6 feat: updating german, french, korean localizations 2020-07-20 10:54:32 +09:00
Louis Pontoise d3432a99fe feat: add indonesian and luxembourgish localizations 2020-07-20 10:54:32 +09:00
Louis Pontoise 9474c35cdd docs: small mistakes on the website (closes #442) 2020-07-20 10:54:32 +09:00
semantic-release-bot c21170d574 chore(release): 4.5.0 [skip ci]
# [4.5.0](https://github.com/lwouis/alt-tab-macos/compare/v4.4.0...v4.5.0) (2020-07-17)

### Bug Fixes

* alt-tab preferences panel was sometimes not listed ([e25716b](https://github.com/lwouis/alt-tab-macos/commit/e25716b))
* launch crash on macOS versions < 10.15 ([d817545](https://github.com/lwouis/alt-tab-macos/commit/d817545))

### Features

* allow backlisting apps, with 2 different types of blacklist ([d32951f](https://github.com/lwouis/alt-tab-macos/commit/d32951f)), closes [#239](https://github.com/lwouis/alt-tab-macos/issues/239)
2020-07-17 18:47:55 +00:00
Louis Pontoise d32951f06f feat: allow backlisting apps, with 2 different types of blacklist
closes #239
2020-07-18 03:33:49 +09:00
Louis Pontoise d8175450a7 fix: launch crash on macOS versions < 10.15 2020-07-18 03:33:49 +09:00
Louis Pontoise e25716b38d fix: alt-tab preferences panel was sometimes not listed 2020-07-18 03:33:49 +09:00
Louis Pontoise ce1be11995 refactor: add link to good docs 2020-07-18 03:33:49 +09:00
Louis Pontoise 7437f0df51 refactor: fixes random segfaults while compiling locally 2020-07-18 03:33:49 +09:00
semantic-release-bot eee5d178e2 chore(release): 4.4.0 [skip ci]
# [4.4.0](https://github.com/lwouis/alt-tab-macos/compare/v4.3.0...v4.4.0) (2020-07-15)

### Bug Fixes

* update chinese localization ([95d75d3](https://github.com/lwouis/alt-tab-macos/commit/95d75d3))

### Features

* add preference for title truncation style ([3bddd7e](https://github.com/lwouis/alt-tab-macos/commit/3bddd7e))
* click outside alt-tab main window to cancel (closes [#341](https://github.com/lwouis/alt-tab-macos/issues/341)) ([1fc620d](https://github.com/lwouis/alt-tab-macos/commit/1fc620d))
2020-07-15 17:43:39 +00:00
Louis Pontoise 3bddd7ea17 feat: add preference for title truncation style
some users may prefer the window titles to be truncated in the middle, or at the start
2020-07-16 02:17:27 +09:00
Louis Pontoise 1fc620d405 feat: click outside alt-tab main window to cancel (closes #341)
* also fix issue where clicking a thumbnail would give alt-tab focus, removing it from the app currently focused
* also use click on a thumbnail to focus it instead of only mouse-down
2020-07-16 02:17:27 +09:00
Louis Pontoise 95d75d3c85 fix: update chinese localization 2020-07-16 02:17:27 +09:00
semantic-release-bot 0c753005f3 chore(release): 4.3.0 [skip ci]
# [4.3.0](https://github.com/lwouis/alt-tab-macos/compare/v4.2.0...v4.3.0) (2020-07-14)

### Features

* better system permissions onboarding (closes [#127](https://github.com/lwouis/alt-tab-macos/issues/127)) ([6ef0a6f](https://github.com/lwouis/alt-tab-macos/commit/6ef0a6f))
2020-07-14 13:23:48 +00:00
Louis Pontoise 6ef0a6f9e8 feat: better system permissions onboarding (closes #127) 2020-07-14 22:11:11 +09:00
Louis Pontoise 6d16b57f63 docs: update contributors list 2020-07-14 22:11:11 +09:00
semantic-release-bot 4c25d01aa2 chore(release): 4.2.0 [skip ci]
# [4.2.0](https://github.com/lwouis/alt-tab-macos/compare/v4.1.7...v4.2.0) (2020-07-11)

### Bug Fixes

* further chinese and french localizations ([99668ae](https://github.com/lwouis/alt-tab-macos/commit/99668ae))
* further chinese/korean/french localizations ([d638eb0](https://github.com/lwouis/alt-tab-macos/commit/d638eb0))

### Features

* add preference to hide menubar icon (closes [#103](https://github.com/lwouis/alt-tab-macos/issues/103)) ([6635117](https://github.com/lwouis/alt-tab-macos/commit/6635117))
2020-07-11 19:17:29 +00:00
Louis Pontoise 398524fa33 docs: add another alternative app to landing page 2020-07-12 03:41:20 +09:00
Louis Pontoise d638eb08c6 fix: further chinese/korean/french localizations 2020-07-12 03:41:20 +09:00
Louis Pontoise 99668ae93a fix: further chinese and french localizations 2020-07-12 03:41:20 +09:00
Louis Pontoise c76796014a docs: add new contributor 2020-07-12 03:41:20 +09:00
Licardo ae3c911968 refactor: made buttons code more uniform 2020-07-12 03:41:20 +09:00
Licardo 663511754b feat: add preference to hide menubar icon (closes #103) 2020-07-12 03:41:20 +09:00
Licardo b1477fc670 refactor: ignore local self-signed certificate files 2020-07-12 03:41:20 +09:00
semantic-release-bot 6f9b814bed chore(release): 4.1.7 [skip ci]
## [4.1.7](https://github.com/lwouis/alt-tab-macos/compare/v4.1.6...v4.1.7) (2020-07-10)

### Bug Fixes

* on some machines, deadlocks happened at launch ([e2181c8](https://github.com/lwouis/alt-tab-macos/commit/e2181c8))
* reduce cpu utilization at launch ([5306a4b](https://github.com/lwouis/alt-tab-macos/commit/5306a4b))
* typo in chinese localization ([363ed3d](https://github.com/lwouis/alt-tab-macos/commit/363ed3d))
2020-07-10 18:46:29 +00:00
Louis Pontoise 363ed3d3d8 fix: typo in chinese localization 2020-07-11 03:31:50 +09:00
Louis Pontoise 3da02b36d0 ci: disable pod install as it is undeterministic 2020-07-11 03:31:50 +09:00
Louis Pontoise e2181c8756 fix: on some machines, deadlocks happened at launch 2020-07-11 03:31:50 +09:00
Louis Pontoise 126eca5c35 docs: add contributors to the app (closes #296)
Also better present the third-party libraries, with links and less noise from the licenses text
2020-07-11 03:31:50 +09:00
Louis Pontoise d08e7f7b67 docs: adding more related apps to the website 2020-07-11 03:31:50 +09:00
Louis Pontoise 5306a4b95c fix: reduce cpu utilization at launch 2020-07-11 03:31:50 +09:00
semantic-release-bot 5b2edfb84b chore(release): 4.1.6 [skip ci]
## [4.1.6](https://github.com/lwouis/alt-tab-macos/compare/v4.1.5...v4.1.6) (2020-07-08)

### Bug Fixes

* potential crash in very rare data-race scenario ([4ff5d89](https://github.com/lwouis/alt-tab-macos/commit/4ff5d89))
* tabs would sometimes show as separate windows (closes [#383](https://github.com/lwouis/alt-tab-macos/issues/383)) ([c03d48f](https://github.com/lwouis/alt-tab-macos/commit/c03d48f))
* update korean localization ([ecdeed8](https://github.com/lwouis/alt-tab-macos/commit/ecdeed8))
2020-07-08 11:44:20 +00:00
Louis Pontoise 2a6b33dcff docs: updating contribution guide 2020-07-08 20:30:46 +09:00
Louis Pontoise ecdeed80b8 fix: update korean localization 2020-07-08 20:30:46 +09:00
Louis Pontoise 6de5d69f06 docs: document a new private api which listens to system events 2020-07-08 20:30:46 +09:00
Louis Pontoise c03d48f239 fix: tabs would sometimes show as separate windows (closes #383) 2020-07-08 20:30:46 +09:00
Louis Pontoise 4ff5d89429 fix: potential crash in very rare data-race scenario 2020-07-08 20:30:46 +09:00
Louis Pontoise b9fef455b6 docs: added more related/alternative apps on the homepage 2020-07-08 20:30:46 +09:00
semantic-release-bot 0fbe038ab1 chore(release): 4.1.5 [skip ci]
## [4.1.5](https://github.com/lwouis/alt-tab-macos/compare/v4.1.4...v4.1.5) (2020-07-03)

### Bug Fixes

* improve perf by only refreshing shown thumbnails (closes [#393](https://github.com/lwouis/alt-tab-macos/issues/393)) ([3c453f9](https://github.com/lwouis/alt-tab-macos/commit/3c453f9))
* update dutch and russian localizations ([ff96bc3](https://github.com/lwouis/alt-tab-macos/commit/ff96bc3))
2020-07-03 05:15:48 +00:00
Louis Pontoise ff96bc3170 fix: update dutch and russian localizations 2020-07-03 14:04:59 +09:00
Louis Pontoise b2cced8bb1 docs: document .icns creation process from .iconset 2020-07-03 14:04:59 +09:00
Louis Pontoise 3c453f91ed fix: improve perf by only refreshing shown thumbnails (closes #393) 2020-07-03 14:04:59 +09:00
semantic-release-bot 1097aa22c9 chore(release): 4.1.4 [skip ci]
## [4.1.4](https://github.com/lwouis/alt-tab-macos/compare/v4.1.3...v4.1.4) (2020-06-23)
2020-06-23 16:57:47 +00:00
Louis Pontoise 610ae8e404 docs: update github contributor list 2020-06-24 01:46:13 +09:00
Louis Pontoise 76458a7f08 docs: clarify that feedback will be made public (closed #260) 2020-06-24 01:46:13 +09:00
semantic-release-bot 64cfc0b9c6 chore(release): 4.1.3 [skip ci]
## [4.1.3](https://github.com/lwouis/alt-tab-macos/compare/v4.1.2...v4.1.3) (2020-06-16)

### Bug Fixes

* rare crash if shortcut is pressed early during launch ([265c7a6](https://github.com/lwouis/alt-tab-macos/commit/265c7a6))
* show android emulator window (closes [#376](https://github.com/lwouis/alt-tab-macos/issues/376)) ([bb8a5ce](https://github.com/lwouis/alt-tab-macos/commit/bb8a5ce))
* show windows of apps without a bundle (e.g. not .app) ([fd0623a](https://github.com/lwouis/alt-tab-macos/commit/fd0623a))
2020-06-16 04:40:05 +00:00
Louis Pontoise 265c7a6c34 fix: rare crash if shortcut is pressed early during launch 2020-06-16 13:30:10 +09:00
Louis Pontoise bb8a5ceaa9 fix: show android emulator window (closes #376) 2020-06-16 13:30:10 +09:00
Louis Pontoise fd0623a706 fix: show windows of apps without a bundle (e.g. not .app) 2020-06-16 13:30:10 +09:00
semantic-release-bot b9d5784716 chore(release): 4.1.2 [skip ci]
## [4.1.2](https://github.com/lwouis/alt-tab-macos/compare/v4.1.1...v4.1.2) (2020-06-09)

### Bug Fixes

* releasing the shortcut works even with other modifiers pressed ([23b17c1](https://github.com/lwouis/alt-tab-macos/commit/23b17c1)), closes [#230](https://github.com/lwouis/alt-tab-macos/issues/230)
2020-06-09 09:44:59 +00:00
Louis Pontoise 25d7a9beaa docs: update contributors list 2020-06-09 18:34:32 +09:00
Louis Pontoise 23b17c1e2a fix: releasing the shortcut works even with other modifiers pressed
closes #230
2020-06-09 18:34:32 +09:00
Louis Pontoise 0e283649e6 refactor: remove unnecessary try-s and warnings 2020-06-09 18:34:32 +09:00
semantic-release-bot 0843d7f53c chore(release): 4.1.1 [skip ci]
## [4.1.1](https://github.com/lwouis/alt-tab-macos/compare/v4.1.0...v4.1.1) (2020-06-07)

### Bug Fixes

* mouse hover during scroll bounce produced visual jank (closes [#259](https://github.com/lwouis/alt-tab-macos/issues/259)) ([c7e5daa](https://github.com/lwouis/alt-tab-macos/commit/c7e5daa))
* sometimes switching apps wouldn't be noticed ([96a6ae6](https://github.com/lwouis/alt-tab-macos/commit/96a6ae6))
* update korean localizations ([cec2756](https://github.com/lwouis/alt-tab-macos/commit/cec2756))
2020-06-07 14:53:09 +00:00
Louis Pontoise cec2756255 fix: update korean localizations 2020-06-07 23:43:40 +09:00
Louis Pontoise 2773551438 docs: update contributors list 2020-06-07 23:43:40 +09:00
Louis Pontoise 96a6ae6e07 fix: sometimes switching apps wouldn't be noticed
NSRunningApplication.init(processIdentifier: pid) sometimes returns nil for Chrome, even though I see that the pid exist in Activity Monitor and is actually Chrome. I think the constructor is thread-unsafe, and should be called from the main thread only, thus I refactored to make that possible
2020-06-07 23:43:40 +09:00
Louis Pontoise c7e5daa357 fix: mouse hover during scroll bounce produced visual jank (closes #259) 2020-06-07 23:43:40 +09:00
semantic-release-bot da574975ac chore(release): 4.1.0 [skip ci]
# [4.1.0](https://github.com/lwouis/alt-tab-macos/compare/v4.0.1...v4.1.0) (2020-05-28)

### Features

* prevent users from quitting finder (closes [#362](https://github.com/lwouis/alt-tab-macos/issues/362)) ([a1338c0](https://github.com/lwouis/alt-tab-macos/commit/a1338c0))
2020-05-28 17:10:51 +00:00
Louis Pontoise a1338c0051 feat: prevent users from quitting finder (closes #362) 2020-05-29 02:00:29 +09:00
semantic-release-bot c6c421ed56 chore(release): 4.0.1 [skip ci]
## [4.0.1](https://github.com/lwouis/alt-tab-macos/compare/v4.0.0...v4.0.1) (2020-05-28)

### Bug Fixes

* firefox fullscreen videos are not listed (closes [#360](https://github.com/lwouis/alt-tab-macos/issues/360)) ([ce63367](https://github.com/lwouis/alt-tab-macos/commit/ce63367))
* updated chinese/french/russian localizations ([797ed42](https://github.com/lwouis/alt-tab-macos/commit/797ed42))
2020-05-28 16:47:07 +00:00
Louis Pontoise ce63367b82 fix: firefox fullscreen videos are not listed (closes #360) 2020-05-29 01:29:19 +09:00
Louis Pontoise 797ed42220 fix: updated chinese/french/russian localizations 2020-05-29 01:29:19 +09:00
semantic-release-bot 3e4bcde993 chore(release): 4.0.0 [skip ci]
# [4.0.0](https://github.com/lwouis/alt-tab-macos/compare/v3.24.1...v4.0.0) (2020-05-25)

### Bug Fixes

* center-aligned layout was sometimes broken (closes [#352](https://github.com/lwouis/alt-tab-macos/issues/352)) ([e25dcd2](https://github.com/lwouis/alt-tab-macos/commit/e25dcd2))
* crash in some rare scenarios with lots of windows ([a859347](https://github.com/lwouis/alt-tab-macos/commit/a859347))
* potentially fix shortcuts not working sometimes ([8d833f5](https://github.com/lwouis/alt-tab-macos/commit/8d833f5))
* rework all multi-threading to handle complex scenarios ([d144476](https://github.com/lwouis/alt-tab-macos/commit/d144476)), closes [#348](https://github.com/lwouis/alt-tab-macos/issues/348) [#157](https://github.com/lwouis/alt-tab-macos/issues/157) [#342](https://github.com/lwouis/alt-tab-macos/issues/342) [#93](https://github.com/lwouis/alt-tab-macos/issues/93)
* sometimes windows titles use the wrong font ([fa1095e](https://github.com/lwouis/alt-tab-macos/commit/fa1095e))
* update japanese localization ([acef0b2](https://github.com/lwouis/alt-tab-macos/commit/acef0b2))

### BREAKING CHANGES

* this rework should fix all sorts of issues when OS events happen in parallel: new windows, new apps, user shortcuts, etc. Here are example of use-cases that should work great now, without, and very quickly:

* AltTab is open and an app/window is launched/quit
* A window is minimized/deminimized, and while the animation is playing, the user invokes AltTab
* An app starts and takes a long time to boot (e.g. Gimp)
* An app becomes unresponsive, yet AltTab is unaffected and remains interactive while still processing the state of the window while its parent app finally stops being frozen
2020-05-25 17:38:23 +00:00
Louis Pontoise acef0b264a fix: update japanese localization 2020-05-26 02:29:25 +09:00
Louis Pontoise e25dcd2146 fix: center-aligned layout was sometimes broken (closes #352) 2020-05-26 02:29:25 +09:00
Louis Pontoise a8593477ea fix: crash in some rare scenarios with lots of windows 2020-05-26 02:29:25 +09:00
Louis Pontoise d144476691 fix: rework all multi-threading to handle complex scenarios
BREAKING CHANGE: this rework should fix all sorts of issues when OS events happen in parallel: new windows, new apps, user shortcuts, etc. Here are example of use-cases that should work great now, without, and very quickly:

* AltTab is open and an app/window is launched/quit
* A window is minimized/deminimized, and while the animation is playing, the user invokes AltTab
* An app starts and takes a long time to boot (e.g. Gimp)
* An app becomes unresponsive, yet AltTab is unaffected and remains interactive while still processing the state of the window while its parent app finally stops being frozen

closes #348, closes #157, closes #342, closes #93
2020-05-26 02:29:25 +09:00
Louis Pontoise 8d833f5163 fix: potentially fix shortcuts not working sometimes
Also potentially fixed crashes as some shortcuts would execute code that should run on the main thread, from other threads
2020-05-26 02:29:25 +09:00
Louis Pontoise fa1095e83c fix: sometimes windows titles use the wrong font 2020-05-26 02:29:25 +09:00
Louis Pontoise 3ffe23079f docs: fix layout overflow on website on mobile 2020-05-26 02:29:25 +09:00
semantic-release-bot 694a42d9b7 chore(release): 3.24.1 [skip ci]
## [3.24.1](https://github.com/lwouis/alt-tab-macos/compare/v3.24.0...v3.24.1) (2020-05-22)

### Bug Fixes

* localized release notes were not working ([125da44](https://github.com/lwouis/alt-tab-macos/commit/125da44))
2020-05-22 11:37:39 +00:00
Louis Pontoise 125da4422b fix: localized release notes were not working
updated sparkle to handle google translate iframes correctly
2020-05-22 20:27:45 +09:00
semantic-release-bot 7cc506a53e chore(release): 3.24.0 [skip ci]
# [3.24.0](https://github.com/lwouis/alt-tab-macos/compare/v3.23.2...v3.24.0) (2020-05-21)

### Bug Fixes

* don't freeze when invoked while unity is recompiling (closes [#342](https://github.com/lwouis/alt-tab-macos/issues/342)) ([41cb701](https://github.com/lwouis/alt-tab-macos/commit/41cb701)), closes [#292](https://github.com/lwouis/alt-tab-macos/issues/292) [#200](https://github.com/lwouis/alt-tab-macos/issues/200)
* don't freeze when sending a command to an frozen window ([408b800](https://github.com/lwouis/alt-tab-macos/commit/408b800))
* show windows which are opened in fullscreen (closes [#335](https://github.com/lwouis/alt-tab-macos/issues/335)) ([2674c8f](https://github.com/lwouis/alt-tab-macos/commit/2674c8f))

### Features

* show indicator for fullscreen windows ([0138cd1](https://github.com/lwouis/alt-tab-macos/commit/0138cd1))
2020-05-21 12:11:31 +00:00
Louis Pontoise 0138cd17b1 feat: show indicator for fullscreen windows
Also:

* preference to show or not fullscreen windows
* new indicator for hidden windows
2020-05-21 21:02:19 +09:00
Louis Pontoise 2674c8f8db fix: show windows which are opened in fullscreen (closes #335) 2020-05-21 21:02:19 +09:00
Louis Pontoise 408b800a23 fix: don't freeze when sending a command to an frozen window 2020-05-21 21:02:19 +09:00
Louis Pontoise 41cb701979 fix: don't freeze when invoked while unity is recompiling (closes #342)
Revert "fix: don't display invalid windows (may fix #292 #200)"

This reverts commit 1bca012f
2020-05-21 21:02:19 +09:00
semantic-release-bot bc26fa066a chore(release): 3.23.2 [skip ci]
## [3.23.2](https://github.com/lwouis/alt-tab-macos/compare/v3.23.1...v3.23.2) (2020-05-21)

### Bug Fixes

* better handle apps that start as background processes ([49816ab](https://github.com/lwouis/alt-tab-macos/commit/49816ab))
* update contributors ([b303d2f](https://github.com/lwouis/alt-tab-macos/commit/b303d2f))
* update german localization ([b047443](https://github.com/lwouis/alt-tab-macos/commit/b047443))
2020-05-21 03:35:54 +00:00
Louis Pontoise b303d2fbe0 fix: update contributors 2020-05-21 12:24:42 +09:00
Louis Pontoise b047443f6c fix: update german localization 2020-05-21 12:24:42 +09:00
Louis Pontoise 02702152f1 ci: ignore 0% completion localizations on poeditor 2020-05-21 12:24:41 +09:00
Louis Pontoise 49816ab320 fix: better handle apps that start as background processes
some apps start with .activationPolicy == .prohibited and then transition to != .prohibited later on. We now observe that attribute evolution, instead of hardcoding exceptions for some apps. For the initial filtering of processes, we now takes every process that is not an XPC process, as all others could spawn windows down the line
2020-05-21 12:24:37 +09:00
semantic-release-bot 86aad6d68b chore(release): 3.23.1 [skip ci]
## [3.23.1](https://github.com/lwouis/alt-tab-macos/compare/v3.23.0...v3.23.1) (2020-05-13)

### Bug Fixes

* duplicate windows shown after login (closes [#292](https://github.com/lwouis/alt-tab-macos/issues/292)) ([804b7e2](https://github.com/lwouis/alt-tab-macos/commit/804b7e2))
* update russian, chinese, chinese (tw) localizations ([bf97f53](https://github.com/lwouis/alt-tab-macos/commit/bf97f53))
2020-05-13 04:28:44 +00:00
Louis Pontoise bf97f537ec fix: update russian, chinese, chinese (tw) localizations 2020-05-13 13:19:32 +09:00
Louis Pontoise 804b7e2aa4 fix: duplicate windows shown after login (closes #292) 2020-05-13 13:19:32 +09:00
semantic-release-bot ab7632068c chore(release): 3.23.0 [skip ci]
# [3.23.0](https://github.com/lwouis/alt-tab-macos/compare/v3.22.6...v3.23.0) (2020-05-11)

### Bug Fixes

* update korean localization ([34e6877](https://github.com/lwouis/alt-tab-macos/commit/34e6877))

### Features

* localize release notes using google translate ([1927f2c](https://github.com/lwouis/alt-tab-macos/commit/1927f2c))
2020-05-11 14:56:19 +00:00
Louis Pontoise 34e6877c09 fix: update korean localization 2020-05-11 23:45:51 +09:00
Louis Pontoise 1927f2cbf0 feat: localize release notes using google translate 2020-05-11 23:45:51 +09:00
semantic-release-bot 9f5328b7c8 chore(release): 3.22.6 [skip ci]
## [3.22.6](https://github.com/lwouis/alt-tab-macos/compare/v3.22.5...v3.22.6) (2020-05-10)

### Bug Fixes

* exotic scenario where the os reports no main screen (closes [#330](https://github.com/lwouis/alt-tab-macos/issues/330)) ([f83ef40](https://github.com/lwouis/alt-tab-macos/commit/f83ef40))
2020-05-10 19:58:54 +00:00
Louis Pontoise f83ef40c42 fix: exotic scenario where the os reports no main screen (closes #330) 2020-05-11 04:50:26 +09:00
semantic-release-bot d843781d7a chore(release): 3.22.5 [skip ci]
## [3.22.5](https://github.com/lwouis/alt-tab-macos/compare/v3.22.4...v3.22.5) (2020-05-10)

### Bug Fixes

* implement a 2min timeout for unresponsive apps (closes [#274](https://github.com/lwouis/alt-tab-macos/issues/274)) ([7ab7c82](https://github.com/lwouis/alt-tab-macos/commit/7ab7c82))
2020-05-10 18:46:33 +00:00
Louis Pontoise 7ab7c82acf fix: implement a 2min timeout for unresponsive apps (closes #274) 2020-05-11 03:37:22 +09:00
semantic-release-bot b0ff902672 chore(release): 3.22.4 [skip ci]
## [3.22.4](https://github.com/lwouis/alt-tab-macos/compare/v3.22.3...v3.22.4) (2020-05-10)

### Bug Fixes

* update korean localization ([0b61bce](https://github.com/lwouis/alt-tab-macos/commit/0b61bce))
* workaround some odd bug that's breaking protege.app (closes [#314](https://github.com/lwouis/alt-tab-macos/issues/314)) ([8f4efdf](https://github.com/lwouis/alt-tab-macos/commit/8f4efdf))
2020-05-10 14:45:20 +00:00
Louis Pontoise 0b61bce3a6 fix: update korean localization 2020-05-10 23:36:20 +09:00
Louis Pontoise 8f4efdfa97 fix: workaround some odd bug that's breaking protege.app (closes #314) 2020-05-10 23:36:20 +09:00
semantic-release-bot 2729426aec chore(release): 3.22.3 [skip ci]
## [3.22.3](https://github.com/lwouis/alt-tab-macos/compare/v3.22.2...v3.22.3) (2020-05-10)
2020-05-10 03:43:06 +00:00
Louis Pontoise 6b4007a045 ci: call a webhook to redeploy the website
the issue with netlify building on master changes is that semantic-release creates a second commit with the updated changelog. Netlify only triggers on the first commit, with an obsolete changelog. The second commit doesn't trigger Netlify, so we must manually trigger it using their webhook. This way the changelog built is *after* semantic-release, with the latest releases
2020-05-10 12:34:22 +09:00
semantic-release-bot cb7a740288 chore(release): 3.22.2 [skip ci]
## [3.22.2](https://github.com/lwouis/alt-tab-macos/compare/v3.22.1...v3.22.2) (2020-05-10)

### Bug Fixes

* auto-update was pointing to the wrong release notes url ([b5f1499](https://github.com/lwouis/alt-tab-macos/commit/b5f1499))
* crash on launch trying to open a file that was renamed ([52b8666](https://github.com/lwouis/alt-tab-macos/commit/52b8666))
2020-05-10 03:14:29 +00:00
Louis Pontoise b5f14994f2 fix: auto-update was pointing to the wrong release notes url 2020-05-10 12:05:33 +09:00
Louis Pontoise 52b8666d0b fix: crash on launch trying to open a file that was renamed 2020-05-10 12:05:33 +09:00
semantic-release-bot bceb849409 chore(release): 3.22.1 [skip ci]
## [3.22.1](https://github.com/lwouis/alt-tab-macos/compare/v3.22.0...v3.22.1) (2020-05-10)
2020-05-10 02:46:36 +00:00
Louis Pontoise 8f798b4ddc docs: faster website by adding turbolinks and inlining css 2020-05-10 11:36:53 +09:00
Louis Pontoise 33473d61a2 docs: fix release notes page title 2020-05-10 11:36:53 +09:00
Louis Pontoise 04275432f0 docs: better layout for website on small mobile screens 2020-05-10 11:36:53 +09:00
semantic-release-bot 9a676983ff chore(release): 3.22.0 [skip ci]
# [3.22.0](https://github.com/lwouis/alt-tab-macos/compare/v3.21.2...v3.22.0) (2020-05-10)

### Features

* add preference: fade out animation for the main ui (closes [#234](https://github.com/lwouis/alt-tab-macos/issues/234)) ([ee30725](https://github.com/lwouis/alt-tab-macos/commit/ee30725))
2020-05-10 01:27:50 +00:00
Louis Pontoise dd173115b3 docs: fix broken screenshot on the readme 2020-05-10 10:18:12 +09:00
Louis Pontoise c9dc597381 ci: add missing empty localizations 2020-05-10 10:18:10 +09:00
lwouis 83cda5034b ci: add issue templates 2020-05-10 10:06:10 +09:00
Louis Pontoise 717d7a9ec8 ci: replace pr greeter with pr template (closes #282) 2020-05-10 10:06:10 +09:00
Louis Pontoise c27e6d3757 docs: add a new website to showcase the app 2020-05-10 10:06:10 +09:00
Louis Pontoise ee307259c4 feat: add preference: fade out animation for the main ui (closes #234) 2020-05-10 10:06:10 +09:00
semantic-release-bot 257b8a369c chore(release): 3.21.2 [skip ci]
## [3.21.2](https://github.com/lwouis/alt-tab-macos/compare/v3.21.1...v3.21.2) (2020-05-08)

### Bug Fixes

* improved chinese localization ([3269a26](https://github.com/lwouis/alt-tab-macos/commit/3269a26))
* update cocoapod for letsmove ([0068dd2](https://github.com/lwouis/alt-tab-macos/commit/0068dd2))
2020-05-08 17:09:51 +00:00
Louis Pontoise 194fe157b3 ci: ensure generated files are up-to-dates during ci 2020-05-09 02:00:42 +09:00
Louis Pontoise 1a28cfa552 refactor: updating to cocoapods 1.9.1 to match ci 2020-05-09 02:00:42 +09:00
Louis Pontoise c56e1a614b ci: only build on master and pull-requests 2020-05-09 02:00:42 +09:00
Louis Pontoise 0068dd25d5 fix: update cocoapod for letsmove 2020-05-09 02:00:42 +09:00
Louis Pontoise d544ff3b7a refactor: make l10n script fork->join properly 2020-05-09 02:00:42 +09:00
Louis Pontoise 2df72af809 docs: move changelog to docs folder 2020-05-09 02:00:42 +09:00
Louis Pontoise 9a04c275cb docs: add a list of contributors 2020-05-09 02:00:42 +09:00
Louis Pontoise 3269a26ad9 fix: improved chinese localization 2020-05-09 02:00:42 +09:00
Louis Pontoise 906a308c54 refactor: remove warnings and simplify code 2020-05-09 02:00:42 +09:00
semantic-release-bot 86ca245c10 chore(release): 3.21.1 [skip ci]
## [3.21.1](https://github.com/lwouis/alt-tab-macos/compare/v3.21.0...v3.21.1) (2020-05-08)

### Bug Fixes

* arrow keys shortcuts for right-to-left languages ([33b7094](https://github.com/lwouis/alt-tab-macos/commit/33b7094))
* thumbnails layout issues (especially in right-to-left languages) ([f3cb544](https://github.com/lwouis/alt-tab-macos/commit/f3cb544))
2020-05-08 11:23:12 +00:00
Louis Pontoise f3cb544fb5 fix: thumbnails layout issues (especially in right-to-left languages) 2020-05-08 19:40:22 +09:00
Louis Pontoise 6f04c96afb refactor: more descriptive function name 2020-05-08 19:40:22 +09:00
Louis Pontoise 33b7094d8f fix: arrow keys shortcuts for right-to-left languages 2020-05-08 19:40:22 +09:00
semantic-release-bot 7e35d7c0e3 chore(release): 3.21.0 [skip ci]
# [3.21.0](https://github.com/lwouis/alt-tab-macos/compare/v3.20.0...v3.21.0) (2020-05-07)

### Features

* localize the main ui for right-to-left languages ([c9e72ee](https://github.com/lwouis/alt-tab-macos/commit/c9e72ee))
2020-05-07 20:23:07 +00:00
Louis Pontoise c9e72ee8d5 feat: localize the main ui for right-to-left languages 2020-05-08 05:14:17 +09:00
Louis Pontoise b9092312c7 refactor: minor cleanup 2020-05-08 05:14:17 +09:00
Louis Pontoise 10abb7ae78 docs: update supported languages on the readme 2020-05-08 05:14:17 +09:00
semantic-release-bot 2e9808d673 chore(release): 3.20.0 [skip ci]
# [3.20.0](https://github.com/lwouis/alt-tab-macos/compare/v3.19.2...v3.20.0) (2020-05-07)

### Bug Fixes

* thumbnails have a minimum width to help with tall windows ([a60750c](https://github.com/lwouis/alt-tab-macos/commit/a60750c))

### Features

* smarter padding around thumbnails (closes [#126](https://github.com/lwouis/alt-tab-macos/issues/126)) ([a94582f](https://github.com/lwouis/alt-tab-macos/commit/a94582f))
2020-05-07 18:39:55 +00:00
Louis Pontoise a94582f7f6 feat: smarter padding around thumbnails (closes #126) 2020-05-08 03:29:38 +09:00
Louis Pontoise a60750c415 fix: thumbnails have a minimum width to help with tall windows
this was a regression introduced around the rewrite from NSCollectionView to custom NSView where i missed the minimum width bit
2020-05-08 03:29:38 +09:00
Louis Pontoise 29d384552b docs: add more details to inline comment 2020-05-08 03:29:38 +09:00
Louis Pontoise fe010b0d88 docs: extract new localization for poeditor 2020-05-08 03:29:38 +09:00
Louis Pontoise 7f6943cd0f docs: more use-cases for qa 2020-05-08 03:29:38 +09:00
semantic-release-bot 175f962a28 chore(release): 3.19.2 [skip ci]
## [3.19.2](https://github.com/lwouis/alt-tab-macos/compare/v3.19.1...v3.19.2) (2020-05-07)

### Bug Fixes

* would not correctly show windows/tabs from other spaces ([873f985](https://github.com/lwouis/alt-tab-macos/commit/873f985))
2020-05-07 05:19:31 +00:00
Louis Pontoise 873f98525e fix: would not correctly show windows/tabs from other spaces 2020-05-07 14:11:22 +09:00
semantic-release-bot 6681a85111 chore(release): 3.19.1 [skip ci]
## [3.19.1](https://github.com/lwouis/alt-tab-macos/compare/v3.19.0...v3.19.1) (2020-05-06)

### Bug Fixes

* fast shortcut press would fail to switch windows ([2ee5eb5](https://github.com/lwouis/alt-tab-macos/commit/2ee5eb5))
2020-05-06 17:44:08 +00:00
Louis Pontoise 2ee5eb5a96 fix: fast shortcut press would fail to switch windows
With many windows open, and a blazing fast shortcut press, AltTab would fail to switch as it would queue the focus task before the cycling task
2020-05-07 02:35:45 +09:00
semantic-release-bot 2399698748 chore(release): 3.19.0 [skip ci]
# [3.19.0](https://github.com/lwouis/alt-tab-macos/compare/v3.18.0...v3.19.0) (2020-05-06)

### Bug Fixes

* don't display invalid windows (may fix [#292](https://github.com/lwouis/alt-tab-macos/issues/292) [#200](https://github.com/lwouis/alt-tab-macos/issues/200)) ([1bca012](https://github.com/lwouis/alt-tab-macos/commit/1bca012))
* don't display tabbed windows (closes [#258](https://github.com/lwouis/alt-tab-macos/issues/258)) ([8419ad9](https://github.com/lwouis/alt-tab-macos/commit/8419ad9))
* update french localization ([445980a](https://github.com/lwouis/alt-tab-macos/commit/445980a))

### Features

* add dutch localization ([b8eb0b4](https://github.com/lwouis/alt-tab-macos/commit/b8eb0b4))
* add preference: show standard tabs as windows ([3a11cc6](https://github.com/lwouis/alt-tab-macos/commit/3a11cc6))
2020-05-06 17:11:04 +00:00
Louis Pontoise 1bca012faa fix: don't display invalid windows (may fix #292 #200) 2020-05-07 02:00:45 +09:00
Louis Pontoise 3a11cc6dbd feat: add preference: show standard tabs as windows 2020-05-07 02:00:45 +09:00
Louis Pontoise 8419ad9fce fix: don't display tabbed windows (closes #258) 2020-05-07 02:00:45 +09:00
Louis Pontoise b8eb0b4f32 feat: add dutch localization 2020-05-07 02:00:45 +09:00
Louis Pontoise 445980ac7d fix: update french localization 2020-05-07 02:00:45 +09:00
semantic-release-bot 6ac0c252d5 chore(release): 3.18.0 [skip ci]
# [3.18.0](https://github.com/lwouis/alt-tab-macos/compare/v3.17.2...v3.18.0) (2020-05-05)

### Bug Fixes

* activate shortcuts without updating their userdefaults ([6aad3e7](https://github.com/lwouis/alt-tab-macos/commit/6aad3e7))
* can close feedback window with escape key ([05fb4a2](https://github.com/lwouis/alt-tab-macos/commit/05fb4a2))
* correctly display right-to-left languages ([89f2df4](https://github.com/lwouis/alt-tab-macos/commit/89f2df4))
* more robust preference migrations (closes [#220](https://github.com/lwouis/alt-tab-macos/issues/220)) ([bf857e8](https://github.com/lwouis/alt-tab-macos/commit/bf857e8))

### Features

* add arabic localization ([0a1bb6e](https://github.com/lwouis/alt-tab-macos/commit/0a1bb6e))
* check for updates weekly instead of daily ([02920a7](https://github.com/lwouis/alt-tab-macos/commit/02920a7)), closes [#295](https://github.com/lwouis/alt-tab-macos/issues/295)
* update german localization ([1925777](https://github.com/lwouis/alt-tab-macos/commit/1925777))
2020-05-05 19:43:48 +00:00
Louis Pontoise 0a1bb6edef feat: add arabic localization 2020-05-06 04:34:58 +09:00
Louis Pontoise 89f2df4fe5 fix: correctly display right-to-left languages 2020-05-06 04:34:58 +09:00
Louis Pontoise 37d8c98503 docs: list more tricky scenarios for qa 2020-05-06 04:34:58 +09:00
Louis Pontoise 05fb4a2dff fix: can close feedback window with escape key 2020-05-06 04:34:58 +09:00
Louis Pontoise 19257773ec feat: update german localization 2020-05-06 04:34:58 +09:00
Louis Pontoise 02920a77df feat: check for updates weekly instead of daily
closes #295
2020-05-06 04:34:58 +09:00
Louis Pontoise bf857e8f25 fix: more robust preference migrations (closes #220) 2020-05-06 04:34:58 +09:00
Louis Pontoise 6aad3e7724 fix: activate shortcuts without updating their userdefaults 2020-05-06 04:34:58 +09:00
semantic-release-bot b3ba94fe0f chore(release): 3.17.2 [skip ci]
## [3.17.2](https://github.com/lwouis/alt-tab-macos/compare/v3.17.1...v3.17.2) (2020-05-05)

### Bug Fixes

* fit preferences tabs on small screens ([6096ce5](https://github.com/lwouis/alt-tab-macos/commit/6096ce5))
2020-05-05 09:48:20 +00:00
Louis Pontoise 0f24d6f88e refactor: add subscription loops to debug profile 2020-05-05 18:38:41 +09:00
Louis Pontoise 6096ce50d4 fix: fit preferences tabs on small screens 2020-05-05 18:38:41 +09:00
semantic-release-bot ea2b3fa8d0 chore(release): 3.17.1 [skip ci]
## [3.17.1](https://github.com/lwouis/alt-tab-macos/compare/v3.17.0...v3.17.1) (2020-04-29)

### Bug Fixes

* plug some minor memory leaks ([0de7a55](https://github.com/lwouis/alt-tab-macos/commit/0de7a55))
* use windows nominal resolution for better performance ([a7cc3be](https://github.com/lwouis/alt-tab-macos/commit/a7cc3be))
2020-04-29 18:09:21 +00:00
Louis Pontoise a7cc3bed0c fix: use windows nominal resolution for better performance 2020-04-30 01:36:38 +09:00
Louis Pontoise ad8d870364 fixup! fix: plug some minor memory leaks 2020-04-30 01:36:38 +09:00
Louis Pontoise 0de7a5515c fix: plug some minor memory leaks 2020-04-30 01:36:38 +09:00
semantic-release-bot 5a4f206bb4 chore(release): 3.17.0 [skip ci]
# [3.17.0](https://github.com/lwouis/alt-tab-macos/compare/v3.16.3...v3.17.0) (2020-04-27)

### Bug Fixes

* shift key + scroll should scroll the ui ([d64a6a5](https://github.com/lwouis/alt-tab-macos/commit/d64a6a5))
* update russian localization ([942c4d7](https://github.com/lwouis/alt-tab-macos/commit/942c4d7))

### Features

* navigate with up/down arrow keys (closes [#270](https://github.com/lwouis/alt-tab-macos/issues/270)) ([cc61ed4](https://github.com/lwouis/alt-tab-macos/commit/cc61ed4))
2020-04-27 10:10:34 +00:00
Louis Pontoise 942c4d7df3 fix: update russian localization 2020-04-27 19:01:51 +09:00
Louis Pontoise cc61ed4607 feat: navigate with up/down arrow keys (closes #270) 2020-04-27 19:01:51 +09:00
Louis Pontoise d64a6a520a fix: shift key + scroll should scroll the ui 2020-04-27 19:01:51 +09:00
Louis Pontoise 3420a60332 refactor: remove unused code 2020-04-27 19:01:51 +09:00
Louis Pontoise d8506ed192 refactor: migrate to swift 5 2020-04-27 19:01:51 +09:00
semantic-release-bot 9370b2dcee chore(release): 3.16.3 [skip ci]
## [3.16.3](https://github.com/lwouis/alt-tab-macos/compare/v3.16.2...v3.16.3) (2020-04-25)

### Bug Fixes

* suggest moving the app to the global applications folder ([91e31da](https://github.com/lwouis/alt-tab-macos/commit/91e31da)), closes [#267](https://github.com/lwouis/alt-tab-macos/issues/267)
2020-04-25 16:46:16 +00:00
Louis Pontoise 91e31da876 fix: suggest moving the app to the global applications folder
closes #267
2020-04-26 01:37:23 +09:00
Louis Pontoise 9540a9eb84 refactor: add cpu/mem utilization to debug report 2020-04-26 01:37:23 +09:00
semantic-release-bot b75ee9ba20 chore(release): 3.16.2 [skip ci]
## [3.16.2](https://github.com/lwouis/alt-tab-macos/compare/v3.16.1...v3.16.2) (2020-04-25)

### Bug Fixes

* removing accessibility permission breaks keyboard inputs ([0da3d33](https://github.com/lwouis/alt-tab-macos/commit/0da3d33)), closes [#269](https://github.com/lwouis/alt-tab-macos/issues/269)
2020-04-25 03:01:32 +00:00
Louis Pontoise 7ca8c52629 refactor: add todo and fix indentation 2020-04-25 11:53:04 +09:00
Louis Pontoise 0da3d33340 fix: removing accessibility permission breaks keyboard inputs
closes #269
2020-04-25 11:53:04 +09:00
semantic-release-bot ef6ee72286 chore(release): 3.16.1 [skip ci]
## [3.16.1](https://github.com/lwouis/alt-tab-macos/compare/v3.16.0...v3.16.1) (2020-04-24)

### Bug Fixes

* app could sometimes crash on closing the ui ([61db5b4](https://github.com/lwouis/alt-tab-macos/commit/61db5b4))
2020-04-24 23:01:28 +00:00
Louis Pontoise 30c656ee03 refactor: missing russian l10n files in xcodeproj 2020-04-25 07:52:13 +09:00
Louis Pontoise 61db5b4fb6 fix: app could sometimes crash on closing the ui 2020-04-25 07:52:13 +09:00
semantic-release-bot 5f828f61b3 chore(release): 3.16.0 [skip ci]
# [3.16.0](https://github.com/lwouis/alt-tab-macos/compare/v3.15.0...v3.16.0) (2020-04-24)

### Features

* added russian localization ([f0971c2](https://github.com/lwouis/alt-tab-macos/commit/f0971c2))
2020-04-24 01:49:22 +00:00
Louis Pontoise f0971c21e7 feat: added russian localization 2020-04-24 10:34:21 +09:00
semantic-release-bot 61f341c741 chore(release): 3.15.0 [skip ci]
# [3.15.0](https://github.com/lwouis/alt-tab-macos/compare/v3.14.0...v3.15.0) (2020-04-23)

### Bug Fixes

* debug profile spaces count was incorrect ([e98d401](https://github.com/lwouis/alt-tab-macos/commit/e98d401))
* handle windows assigned to all spaces (closes [#266](https://github.com/lwouis/alt-tab-macos/issues/266)) ([e35fe6b](https://github.com/lwouis/alt-tab-macos/commit/e35fe6b))

### Features

* add warning for email-less feedback ([1acd918](https://github.com/lwouis/alt-tab-macos/commit/1acd918))
2020-04-23 18:33:15 +00:00
Louis Pontoise 66a3469264 refactor: add windows count to debug profile 2020-04-24 02:44:12 +09:00
Louis Pontoise e98d401dc5 fix: debug profile spaces count was incorrect 2020-04-24 02:44:12 +09:00
Louis Pontoise e35fe6b6c8 fix: handle windows assigned to all spaces (closes #266) 2020-04-24 02:44:12 +09:00
Louis Pontoise 1acd918511 feat: add warning for email-less feedback 2020-04-24 02:44:12 +09:00
semantic-release-bot 0bdf56bf63 chore(release): 3.14.0 [skip ci]
# [3.14.0](https://github.com/lwouis/alt-tab-macos/compare/v3.13.0...v3.14.0) (2020-04-22)

### Features

* add portuguese and finish japanese localizations ([d1ab72f](https://github.com/lwouis/alt-tab-macos/commit/d1ab72f))
* update all localizations ([a2dd46d](https://github.com/lwouis/alt-tab-macos/commit/a2dd46d))
2020-04-22 18:13:41 +00:00
Louis Pontoise a2dd46db55 feat: update all localizations
complete italian, turkish, korean using automated translation
fix punctuation issues and make punctuation language-specific instead of hardcoded to English style
2020-04-23 03:04:26 +09:00
Louis Pontoise b90ad066ce docs: improve readme a bit 2020-04-23 03:04:26 +09:00
Louis Pontoise d1ab72fa94 feat: add portuguese and finish japanese localizations
also fix the codes for Chinese locales
2020-04-23 03:04:26 +09:00
semantic-release-bot 31adc14c71 chore(release): 3.13.0 [skip ci]
# [3.13.0](https://github.com/lwouis/alt-tab-macos/compare/v3.12.0...v3.13.0) (2020-04-21)

### Bug Fixes

* showed rows with 1 too-few windows sometimes (see [#256](https://github.com/lwouis/alt-tab-macos/issues/256)) ([0eac086](https://github.com/lwouis/alt-tab-macos/commit/0eac086))

### Features

* add hungarian localization ([ba7b5d3](https://github.com/lwouis/alt-tab-macos/commit/ba7b5d3))
2020-04-21 11:48:40 +00:00
Louis Pontoise ba7b5d3f1d feat: add hungarian localization 2020-04-21 20:40:05 +09:00
Louis Pontoise 13c1cb0d00 refactor: clean and reorder l10n alphabetically 2020-04-21 20:40:05 +09:00
Louis Pontoise be71137a39 refactor: separate global event handling code 2020-04-21 20:40:05 +09:00
Louis Pontoise 0eac0867c0 fix: showed rows with 1 too-few windows sometimes (see #256) 2020-04-21 20:40:05 +09:00
Louis Pontoise c3749a871a refactor: simplify concurrency and shortcuts code 2020-04-21 20:40:05 +09:00
semantic-release-bot 13b2844196 chore(release): 3.12.0 [skip ci]
# [3.12.0](https://github.com/lwouis/alt-tab-macos/compare/v3.11.0...v3.12.0) (2020-04-20)

### Bug Fixes

* updated localizations ([eec6912](https://github.com/lwouis/alt-tab-macos/commit/eec6912))

### Features

* collapsible debug profile in feedback report ([d6960d5](https://github.com/lwouis/alt-tab-macos/commit/d6960d5))
2020-04-20 13:14:38 +00:00
Louis Pontoise eec691293a fix: updated localizations
* Added new translations for: german, chinese (simplified), chinese (taiwan)
* Fixed punctuation in English, French, Italian
2020-04-20 22:05:57 +09:00
Louis Pontoise d6960d5eb5 feat: collapsible debug profile in feedback report 2020-04-20 22:05:57 +09:00
Louis Pontoise 941a101320 refactor: update localizations (also imported in poeditor.com) 2020-04-20 22:05:57 +09:00
semantic-release-bot 7a7a88c901 chore(release): 3.11.0 [skip ci]
# [3.11.0](https://github.com/lwouis/alt-tab-macos/compare/v3.10.0...v3.11.0) (2020-04-19)

### Features

* add app quit shortcut ([7a94e4a](https://github.com/lwouis/alt-tab-macos/commit/7a94e4a))
* add close window shortcut ([8da8af8](https://github.com/lwouis/alt-tab-macos/commit/8da8af8))
* add hide/show app shortcut ([6be1c2c](https://github.com/lwouis/alt-tab-macos/commit/6be1c2c))
* add min/demin window shortcut ([2b752ef](https://github.com/lwouis/alt-tab-macos/commit/2b752ef))
* add preference: display the ui on screen including menu bar ([156957c](https://github.com/lwouis/alt-tab-macos/commit/156957c))
* faster initial display of some windows ([3286570](https://github.com/lwouis/alt-tab-macos/commit/3286570))
2020-04-19 16:58:00 +00:00
Daniel Montesinos 156957c376 feat: add preference: display the ui on screen including menu bar 2020-04-20 01:49:25 +09:00
Louis Pontoise 6be1c2ccca feat: add hide/show app shortcut 2020-04-20 01:49:25 +09:00
Louis Pontoise 2b752efb72 feat: add min/demin window shortcut 2020-04-20 01:49:25 +09:00
Louis Pontoise 7a94e4a124 feat: add app quit shortcut 2020-04-20 01:49:25 +09:00
Louis Pontoise b140243b19 refactor: change order of preferences tabs 2020-04-20 01:49:25 +09:00
Louis Pontoise 32865706a6 feat: faster initial display of some windows 2020-04-20 01:49:25 +09:00
Louis Pontoise 8da8af8fc3 feat: add close window shortcut 2020-04-20 01:49:25 +09:00
Louis Pontoise 9d531dd487 refactor: remove Pods files from .pbxproj 2020-04-20 01:49:25 +09:00
semantic-release-bot 740f5fb271 chore(release): 3.10.0 [skip ci]
# [3.10.0](https://github.com/lwouis/alt-tab-macos/compare/v3.9.1...v3.10.0) (2020-04-19)

### Bug Fixes

* issues with preferences window on mojave (closes [#233](https://github.com/lwouis/alt-tab-macos/issues/233)) ([8d7f121](https://github.com/lwouis/alt-tab-macos/commit/8d7f121))

### Features

* trim fonticon to reduce app size (closes [#168](https://github.com/lwouis/alt-tab-macos/issues/168)) ([0d27cf7](https://github.com/lwouis/alt-tab-macos/commit/0d27cf7))
2020-04-19 09:01:00 +00:00
Louis Pontoise 8d7f121f3d fix: issues with preferences window on mojave (closes #233) 2020-04-19 17:53:15 +09:00
Louis Pontoise 0d27cf77a4 feat: trim fonticon to reduce app size (closes #168) 2020-04-19 17:53:15 +09:00
semantic-release-bot 81afaff9bb chore(release): 3.9.1 [skip ci]
## [3.9.1](https://github.com/lwouis/alt-tab-macos/compare/v3.9.0...v3.9.1) (2020-04-18)

### Bug Fixes

* show windows from steam app (closes [#236](https://github.com/lwouis/alt-tab-macos/issues/236)) ([d17c9d5](https://github.com/lwouis/alt-tab-macos/commit/d17c9d5))
* thumbnails layout was wrong sometimes ([06c6f48](https://github.com/lwouis/alt-tab-macos/commit/06c6f48))
2020-04-18 18:39:40 +00:00
Louis Pontoise 06c6f480bc fix: thumbnails layout was wrong sometimes
this is a regression introduced by 4eb9db0
2020-04-19 03:32:24 +09:00
Louis Pontoise d17c9d5493 fix: show windows from steam app (closes #236) 2020-04-19 03:32:24 +09:00
semantic-release-bot 935d556b1e chore(release): 3.9.0 [skip ci]
# [3.9.0](https://github.com/lwouis/alt-tab-macos/compare/v3.8.0...v3.9.0) (2020-04-18)

### Features

* allow shortcuts to be modifiers-only (closes [#243](https://github.com/lwouis/alt-tab-macos/issues/243)) ([d4be095](https://github.com/lwouis/alt-tab-macos/commit/d4be095))
2020-04-18 16:37:33 +00:00
Louis Pontoise d4be0954d7 feat: allow shortcuts to be modifiers-only (closes #243) 2020-04-19 01:29:54 +09:00
Louis Pontoise 2e0c096612 refactor: commit dependencies to secure access to them 2020-04-19 01:29:54 +09:00
semantic-release-bot e89ae7226e chore(release): 3.8.0 [skip ci]
# [3.8.0](https://github.com/lwouis/alt-tab-macos/compare/v3.7.3...v3.8.0) (2020-04-18)

### Bug Fixes

* clearer debug profile (i.e. no "optional") ([e2b94f7](https://github.com/lwouis/alt-tab-macos/commit/e2b94f7))

### Features

* add acknowledgments for third-party software (closes [#177](https://github.com/lwouis/alt-tab-macos/issues/177)) ([9398cff](https://github.com/lwouis/alt-tab-macos/commit/9398cff))
* remove runtime checker for better perf ([e9ce575](https://github.com/lwouis/alt-tab-macos/commit/e9ce575))
2020-04-18 15:45:13 +00:00
Louis Pontoise 9398cff1e9 feat: add acknowledgments for third-party software (closes #177) 2020-04-19 00:37:21 +09:00
Louis Pontoise 4faf31bd71 refactor: fix compiler warnings 2020-04-19 00:37:21 +09:00
Louis Pontoise e9ce575048 feat: remove runtime checker for better perf 2020-04-19 00:37:21 +09:00
Louis Pontoise ad05783753 refactor: faster swift compilation 2020-04-19 00:37:21 +09:00
Louis Pontoise dd20639ee1 refactor: add acknowledgments file to docs folder 2020-04-19 00:37:21 +09:00
Louis Pontoise 41e9b98ea9 refactor: add missing project files 2020-04-19 00:37:21 +09:00
Louis Pontoise e2b94f79e8 fix: clearer debug profile (i.e. no "optional") 2020-04-19 00:37:21 +09:00
semantic-release-bot 2023ea62cb chore(release): 3.7.3 [skip ci]
## [3.7.3](https://github.com/lwouis/alt-tab-macos/compare/v3.7.2...v3.7.3) (2020-04-09)

### Bug Fixes

* typos in korean and chinese labels (closes [#228](https://github.com/lwouis/alt-tab-macos/issues/228)) ([c655675](https://github.com/lwouis/alt-tab-macos/commit/c655675))
2020-04-09 07:51:35 +00:00
Louis Pontoise c655675508 fix: typos in korean and chinese labels (closes #228) 2020-04-09 16:41:36 +09:00
semantic-release-bot 4bfebf0562 chore(release): 3.7.2 [skip ci]
## [3.7.2](https://github.com/lwouis/alt-tab-macos/compare/v3.7.1...v3.7.2) (2020-04-09)

### Bug Fixes

* scrollbar works with all system preferences options (closes [#196](https://github.com/lwouis/alt-tab-macos/issues/196)) ([3289d3a](https://github.com/lwouis/alt-tab-macos/commit/3289d3a))
* some preferences were inactive but appeared active ([51ad28d](https://github.com/lwouis/alt-tab-macos/commit/51ad28d))
2020-04-09 06:03:30 +00:00
Louis Pontoise 3289d3ad99 fix: scrollbar works with all system preferences options (closes #196) 2020-04-09 14:56:14 +09:00
Louis Pontoise 51ad28dc09 fix: some preferences were inactive but appeared active 2020-04-09 14:56:14 +09:00
semantic-release-bot d2fbafa36e chore(release): 3.7.1 [skip ci]
## [3.7.1](https://github.com/lwouis/alt-tab-macos/compare/v3.7.0...v3.7.1) (2020-04-08)

### Bug Fixes

* better handling of preference migration (up/down) ([078c359](https://github.com/lwouis/alt-tab-macos/commit/078c359))
* hiding window should be on main thread ([767f900](https://github.com/lwouis/alt-tab-macos/commit/767f900))
* scrollbar only shows on scroll (closes [#196](https://github.com/lwouis/alt-tab-macos/issues/196)) ([c2abff0](https://github.com/lwouis/alt-tab-macos/commit/c2abff0))
* updated localizations, especially Spanish ([bd92828](https://github.com/lwouis/alt-tab-macos/commit/bd92828))
2020-04-08 18:33:15 +00:00
Louis Pontoise c2abff0617 fix: scrollbar only shows on scroll (closes #196) 2020-04-09 03:23:55 +09:00
Louis Pontoise 767f90029e fix: hiding window should be on main thread 2020-04-09 03:23:55 +09:00
Louis Pontoise bd92828d42 fix: updated localizations, especially Spanish 2020-04-09 03:23:55 +09:00
Louis Pontoise 078c359d3d fix: better handling of preference migration (up/down) 2020-04-09 03:23:55 +09:00
semantic-release-bot 178d1bcb5c chore(release): 3.7.0 [skip ci]
# [3.7.0](https://github.com/lwouis/alt-tab-macos/compare/v3.6.2...v3.7.0) (2020-04-08)

### Bug Fixes

* avoid crash when upgrading due to old preferences (closes [#222](https://github.com/lwouis/alt-tab-macos/issues/222)) ([66a2bd8](https://github.com/lwouis/alt-tab-macos/commit/66a2bd8))

### Features

* add dark-mode in the debug profile on reports ([a54eb77](https://github.com/lwouis/alt-tab-macos/commit/a54eb77))
2020-04-08 15:14:12 +00:00
Louis Pontoise 66a2bd8797 fix: avoid crash when upgrading due to old preferences (closes #222) 2020-04-09 00:04:18 +09:00
Louis Pontoise a54eb77b18 feat: add dark-mode in the debug profile on reports 2020-04-09 00:04:18 +09:00
semantic-release-bot b99b40fc02 chore(release): 3.6.2 [skip ci]
## [3.6.2](https://github.com/lwouis/alt-tab-macos/compare/v3.6.1...v3.6.2) (2020-04-08)

### Bug Fixes

* avoid text flickering on main ui (closes [#197](https://github.com/lwouis/alt-tab-macos/issues/197)) ([4eb9db0](https://github.com/lwouis/alt-tab-macos/commit/4eb9db0))
* dropdown preferences crashed in non-english (closes [#217](https://github.com/lwouis/alt-tab-macos/issues/217)) ([5447d5f](https://github.com/lwouis/alt-tab-macos/commit/5447d5f))
2020-04-08 10:37:16 +00:00
Louis Pontoise 5447d5fc21 fix: dropdown preferences crashed in non-english (closes #217) 2020-04-08 19:28:53 +09:00
Louis Pontoise 4eb9db049b fix: avoid text flickering on main ui (closes #197) 2020-04-08 19:28:53 +09:00
semantic-release-bot 584b3cd397 chore(release): 3.6.1 [skip ci]
## [3.6.1](https://github.com/lwouis/alt-tab-macos/compare/v3.6.0...v3.6.1) (2020-04-08)

### Bug Fixes

* prevent hold/release shortcut from being empty ([1158a32](https://github.com/lwouis/alt-tab-macos/commit/1158a32))
2020-04-08 07:25:47 +00:00
Louis Pontoise 1158a32126 fix: prevent hold/release shortcut from being empty 2020-04-08 16:18:00 +09:00
semantic-release-bot 5019349104 chore(release): 3.6.0 [skip ci]
# [3.6.0](https://github.com/lwouis/alt-tab-macos/compare/v3.5.0...v3.6.0) (2020-04-07)

### Bug Fixes

* focus correct window after app quits (see [#213](https://github.com/lwouis/alt-tab-macos/issues/213)) ([7f27cb9](https://github.com/lwouis/alt-tab-macos/commit/7f27cb9))
* workaround the bug in parsec (closes [#206](https://github.com/lwouis/alt-tab-macos/issues/206)) ([59c6afc](https://github.com/lwouis/alt-tab-macos/commit/59c6afc))

### Features

* let users disable shortcuts ([5b03415](https://github.com/lwouis/alt-tab-macos/commit/5b03415))
* updated localization for 7 languages ([bc2a38b](https://github.com/lwouis/alt-tab-macos/commit/bc2a38b))
2020-04-07 09:14:27 +00:00
Louis Pontoise 59c6afcf61 fix: workaround the bug in parsec (closes #206) 2020-04-07 18:06:26 +09:00
Louis Pontoise 5b0341539c feat: let users disable shortcuts 2020-04-07 18:06:26 +09:00
Louis Pontoise 7f27cb950b fix: focus correct window after app quits (see #213) 2020-04-07 18:06:26 +09:00
Louis Pontoise bc2a38b616 feat: updated localization for 7 languages 2020-04-07 18:06:26 +09:00
semantic-release-bot cf9b959044 chore(release): 3.5.0 [skip ci]
# [3.5.0](https://github.com/lwouis/alt-tab-macos/compare/v3.4.1...v3.5.0) (2020-04-05)

### Bug Fixes

* **readme:** sort language list and add Finnish ([42dbd30](https://github.com/lwouis/alt-tab-macos/commit/42dbd30))

### Features

* **i18n:** add Finnish localization ([770d472](https://github.com/lwouis/alt-tab-macos/commit/770d472))
2020-04-05 13:35:24 +00:00
Aarni Koskela 42dbd30323 fix(readme): sort language list and add Finnish
All language names are non-capitalized in Finnish, but
I assume this list is in title case, so it's not the correct "suomi".
2020-04-05 22:28:21 +09:00
Aarni Koskela 770d472759 feat(i18n): add Finnish localization 2020-04-05 22:28:21 +09:00
semantic-release-bot 4a7a472adb chore(release): 3.4.1 [skip ci]
## [3.4.1](https://github.com/lwouis/alt-tab-macos/compare/v3.4.0...v3.4.1) (2020-04-05)
2020-04-05 13:20:14 +00:00
Louis Pontoise 27a4c37250 ci: fix build on pr from forks 2020-04-05 21:58:24 +09:00
semantic-release-bot b5c81388d3 chore(release): 3.4.0 [skip ci]
# [3.4.0](https://github.com/lwouis/alt-tab-macos/compare/v3.3.3...v3.4.0) (2020-04-03)

### Features

* updated some localizations ([b38d688](https://github.com/lwouis/alt-tab-macos/commit/b38d688))
2020-04-03 06:51:15 +00:00
Louis Pontoise b38d688a14 feat: updated some localizations 2020-04-03 15:43:46 +09:00
Louis Pontoise 7ce3a6f576 refactor: removed unused variable 2020-04-03 15:43:46 +09:00
semantic-release-bot a9586bc185 chore(release): 3.3.3 [skip ci]
## [3.3.3](https://github.com/lwouis/alt-tab-macos/compare/v3.3.2...v3.3.3) (2020-04-03)

### Bug Fixes

* "show all screens" pref was not respected (closes [#204](https://github.com/lwouis/alt-tab-macos/issues/204)) ([d4c13c4](https://github.com/lwouis/alt-tab-macos/commit/d4c13c4))
2020-04-03 04:18:29 +00:00
Louis Pontoise d4c13c458b fix: "show all screens" pref was not respected (closes #204) 2020-04-03 13:11:14 +09:00
semantic-release-bot 6d3faa9619 chore(release): 3.3.2 [skip ci]
## [3.3.2](https://github.com/lwouis/alt-tab-macos/compare/v3.3.1...v3.3.2) (2020-04-02)

### Bug Fixes

* crashed if an invalid login item existed (closes [#202](https://github.com/lwouis/alt-tab-macos/issues/202)) ([48d5d63](https://github.com/lwouis/alt-tab-macos/commit/48d5d63))
2020-04-02 16:23:17 +00:00
Louis Pontoise 48d5d6305e fix: crashed if an invalid login item existed (closes #202) 2020-04-03 01:15:44 +09:00
semantic-release-bot 19b742a073 chore(release): 3.3.1 [skip ci]
## [3.3.1](https://github.com/lwouis/alt-tab-macos/compare/v3.3.0...v3.3.1) (2020-04-02)

### Bug Fixes

* blind fix trying to guess root cause of [#202](https://github.com/lwouis/alt-tab-macos/issues/202) ([fb4fe11](https://github.com/lwouis/alt-tab-macos/commit/fb4fe11))
* checkboxes preferences were unchecked initially ([b091282](https://github.com/lwouis/alt-tab-macos/commit/b091282))
2020-04-02 12:33:51 +00:00
Louis Pontoise fb4fe11327 fix: blind fix trying to guess root cause of #202 2020-04-02 21:26:59 +09:00
Louis Pontoise b091282b54 fix: checkboxes preferences were unchecked initially 2020-04-02 21:26:59 +09:00
semantic-release-bot 4915b5703f chore(release): 3.3.0 [skip ci]
# [3.3.0](https://github.com/lwouis/alt-tab-macos/compare/v3.2.1...v3.3.0) (2020-04-02)

### Bug Fixes

* .strings encoding should be utf-8 ([7109b08](https://github.com/lwouis/alt-tab-macos/commit/7109b08))
* avoid having multiple login items ([65816a2](https://github.com/lwouis/alt-tab-macos/commit/65816a2))
* preferences would not be live (closes [#188](https://github.com/lwouis/alt-tab-macos/issues/188)) ([d5b74a1](https://github.com/lwouis/alt-tab-macos/commit/d5b74a1)), closes [#194](https://github.com/lwouis/alt-tab-macos/issues/194)
* simpler/better window focus ([574a640](https://github.com/lwouis/alt-tab-macos/commit/574a640))

### Features

* localized in 5 new languages ([48bb3df](https://github.com/lwouis/alt-tab-macos/commit/48bb3df))
* more flexible shortcuts (closes [#72](https://github.com/lwouis/alt-tab-macos/issues/72)) ([5eade75](https://github.com/lwouis/alt-tab-macos/commit/5eade75)), closes [#50](https://github.com/lwouis/alt-tab-macos/issues/50) [#125](https://github.com/lwouis/alt-tab-macos/issues/125) [#133](https://github.com/lwouis/alt-tab-macos/issues/133)
2020-04-02 10:46:57 +00:00
Louis Pontoise 5c51decf69 refactor: commit reference l10n file and script 2020-04-02 19:39:39 +09:00
Louis Pontoise 5eade75983 feat: more flexible shortcuts (closes #72)
closes #50, closes #125, closes #133
2020-04-02 19:39:39 +09:00
Louis Pontoise 48bb3df240 feat: localized in 5 new languages
Italiano, Türkçe, 汉语, 臺語, 한국어
2020-04-02 19:39:39 +09:00
Louis Pontoise 7109b08881 fix: .strings encoding should be utf-8 2020-04-02 19:39:39 +09:00
Louis Pontoise b0f7ce6050 docs: add l10n extraction command 2020-04-02 19:39:39 +09:00
Louis Pontoise 442c1ee2f3 docs: add contributors list 2020-04-02 19:39:39 +09:00
Louis Pontoise ef35a120f9 refactor: remove redundant autoreleasepool 2020-04-02 19:39:39 +09:00
Louis Pontoise c7f03daea9 refactor: add global app object to avoid casting 2020-04-02 19:39:39 +09:00
Louis Pontoise df8818dd30 docs: local dev should use debug build (closes #192) 2020-04-02 19:39:39 +09:00
Louis Pontoise d5b74a1afe fix: preferences would not be live (closes #188)
closes #194
2020-04-02 19:39:39 +09:00
Louis Pontoise 574a6401b9 fix: simpler/better window focus 2020-04-02 19:39:39 +09:00
Louis Pontoise 65816a270f fix: avoid having multiple login items 2020-04-02 19:39:39 +09:00
semantic-release-bot bc3f612f7a chore(release): 3.2.1 [skip ci]
## [3.2.1](https://github.com/lwouis/alt-tab-macos/compare/v3.2.0...v3.2.1) (2020-03-25)

### Bug Fixes

* chrome shortcuts apps don't show up (closes [#185](https://github.com/lwouis/alt-tab-macos/issues/185)) ([0b35ebf](https://github.com/lwouis/alt-tab-macos/commit/0b35ebf))
* don't hang waiting for faulty apps to reply (closes [#182](https://github.com/lwouis/alt-tab-macos/issues/182)) ([246cf69](https://github.com/lwouis/alt-tab-macos/commit/246cf69))
* hidden apps windows don't show hidden icon ([6e190bf](https://github.com/lwouis/alt-tab-macos/commit/6e190bf))
2020-03-25 05:50:35 +00:00
Louis Pontoise 0b35ebf0ff fix: chrome shortcuts apps don't show up (closes #185) 2020-03-25 14:41:18 +09:00
Louis Pontoise 6e190bf941 fix: hidden apps windows don't show hidden icon 2020-03-25 14:41:18 +09:00
Louis Pontoise 246cf69310 fix: don't hang waiting for faulty apps to reply (closes #182) 2020-03-25 14:41:18 +09:00
semantic-release-bot 9110f6947f chore(release): 3.2.0 [skip ci]
# [3.2.0](https://github.com/lwouis/alt-tab-macos/compare/v3.1.3...v3.2.0) (2020-03-24)

### Bug Fixes

* refresh both thumbnails on focus switch in bg ([4fee590](https://github.com/lwouis/alt-tab-macos/commit/4fee590))
* things in background properly reflect in ui ([fdf1524](https://github.com/lwouis/alt-tab-macos/commit/fdf1524))

### Features

* faster ui (closes [#171](https://github.com/lwouis/alt-tab-macos/issues/171), closes [#128](https://github.com/lwouis/alt-tab-macos/issues/128), closes [#89](https://github.com/lwouis/alt-tab-macos/issues/89)) ([311beef](https://github.com/lwouis/alt-tab-macos/commit/311beef))
2020-03-24 11:09:22 +00:00
Louis Pontoise 0223b55fc1 refactor: performance optimizations and clarity 2020-03-24 19:37:45 +09:00
Louis Pontoise 4fee5902b0 fix: refresh both thumbnails on focus switch in bg 2020-03-24 19:37:45 +09:00
Louis Pontoise 357c616930 refactor: small corrections 2020-03-24 19:37:45 +09:00
Louis Pontoise fdf1524137 fix: things in background properly reflect in ui 2020-03-24 19:37:45 +09:00
Louis Pontoise 311beef3cf feat: faster ui (closes #171, closes #128, closes #89)
* Replaced the NSCollectionView with a custom NSView. Benefit includes simpler code, and control over recycling logic.
* In cases where the user has many open windows, replaced the downscaling strategy with a scrollable view
* Added a preference: align thumbnails to the left or center
2020-03-24 19:37:45 +09:00
semantic-release-bot 2008025302 chore(release): 3.1.3 [skip ci]
## [3.1.3](https://github.com/lwouis/alt-tab-macos/compare/v3.1.2...v3.1.3) (2020-03-12)
2020-03-12 08:32:30 +00:00
Louis Pontoise f653337c83 docs: clarify how to contribute and add qa docs 2020-03-12 17:23:58 +09:00
semantic-release-bot 906129dfd6 chore(release): 3.1.2 [skip ci]
## [3.1.2](https://github.com/lwouis/alt-tab-macos/compare/v3.1.1...v3.1.2) (2020-03-12)

### Bug Fixes

* send feedback crashed the app on submit (closes [#172](https://github.com/lwouis/alt-tab-macos/issues/172)) ([c34b8a5](https://github.com/lwouis/alt-tab-macos/commit/c34b8a5))
2020-03-12 03:15:59 +00:00
Louis Pontoise c34b8a51b8 fix: send feedback crashed the app on submit (closes #172) 2020-03-12 12:07:09 +09:00
semantic-release-bot 2e500b5797 chore(release): 3.1.1 [skip ci]
## [3.1.1](https://github.com/lwouis/alt-tab-macos/compare/v3.1.0...v3.1.1) (2020-03-11)

### Bug Fixes

* don't observe daemons to avoid infinite loops (closes [#170](https://github.com/lwouis/alt-tab-macos/issues/170)) ([e40f859](https://github.com/lwouis/alt-tab-macos/commit/e40f859))
* show alt-tab own windows in the thumbnail panel ([6018a53](https://github.com/lwouis/alt-tab-macos/commit/6018a53))
2020-03-11 16:03:55 +00:00
Louis Pontoise e40f859c3a fix: don't observe daemons to avoid infinite loops (closes #170)
There is a risk of not showing some windows, like CopyQ, but the reward is less risk of trying to observe some buggy daemon process that will never succeed
2020-03-12 00:20:05 +09:00
Louis Pontoise 6018a531e8 fix: show alt-tab own windows in the thumbnail panel 2020-03-12 00:18:55 +09:00
semantic-release-bot 8962489989 chore(release): 3.1.0 [skip ci]
# [3.1.0](https://github.com/lwouis/alt-tab-macos/compare/v3.0.5...v3.1.0) (2020-03-10)

### Bug Fixes

* better subscription retry logic ([3a80cab](https://github.com/lwouis/alt-tab-macos/commit/3a80cab))

### Features

* output plist file as binary for better perf ([29a9f59](https://github.com/lwouis/alt-tab-macos/commit/29a9f59))
2020-03-10 17:21:33 +00:00
Louis Pontoise 3da3b9f662 docs: document homebrew install 2020-03-11 02:04:43 +09:00
Louis Pontoise 3a80caba99 fix: better subscription retry logic 2020-03-11 02:04:43 +09:00
Louis Pontoise e03cac426b refactor: better xcode conf 2020-03-11 02:04:42 +09:00
Louis Pontoise 29a9f59340 feat: output plist file as binary for better perf 2020-03-11 02:04:42 +09:00
semantic-release-bot 23a059d4d9 chore(release): 3.0.5 [skip ci]
## [3.0.5](https://github.com/lwouis/alt-tab-macos/compare/v3.0.4...v3.0.5) (2020-03-10)

### Bug Fixes

* remove script from bundle ([4a8301e](https://github.com/lwouis/alt-tab-macos/commit/4a8301e))
2020-03-10 14:03:53 +00:00
Louis Pontoise 4a8301e922 fix: remove script from bundle 2020-03-10 22:53:15 +09:00
Louis Pontoise 456a8409b1 docs: updated readme 2020-03-10 22:53:14 +09:00
semantic-release-bot 485a4a63a0 chore(release): 3.0.4 [skip ci]
## [3.0.4](https://github.com/lwouis/alt-tab-macos/compare/v3.0.3...v3.0.4) (2020-03-10)
2020-03-10 12:48:40 +00:00
Louis Pontoise 502e297e07 ci: fix cask-repair ssh access issue 3 2020-03-10 20:48:12 +09:00
semantic-release-bot 3584338e48 chore(release): 3.0.3 [skip ci]
## [3.0.3](https://github.com/lwouis/alt-tab-macos/compare/v3.0.2...v3.0.3) (2020-03-10)
2020-03-10 11:10:42 +00:00
Louis Pontoise 6daf2b3282 ci: fix cask-repair ssh access issue 2 2020-03-10 20:00:13 +09:00
semantic-release-bot 9e3d240f50 chore(release): 3.0.2 [skip ci]
## [3.0.2](https://github.com/lwouis/alt-tab-macos/compare/v3.0.1...v3.0.2) (2020-03-10)
2020-03-10 10:19:11 +00:00
Louis Pontoise a1de01dcab ci: fix cask-repair ssh access issue 2020-03-10 19:09:42 +09:00
semantic-release-bot 7a3aef742e chore(release): 3.0.1 [skip ci]
## [3.0.1](https://github.com/lwouis/alt-tab-macos/compare/v3.0.0...v3.0.1) (2020-03-10)
2020-03-10 09:34:52 +00:00
Louis Pontoise 70917e2de0 ci: better caching and allow ssh to github.com for cask-repair 2020-03-10 18:24:59 +09:00
semantic-release-bot 50dad4aa3a 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 09:03:53 +00:00
Louis Pontoise ea6c5f28b6 ci: remove interactive prompt from cask-repair 2020-03-10 17:57:39 +09:00
Louis Pontoise c4823357c7 refactor: simpler code 2020-03-10 17:56:55 +09:00
Louis Pontoise c853604647 ci: store cask-repair locally for faster builds 2020-03-10 17:56:54 +09:00
semantic-release-bot fe46faaf90 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:50:50 +00:00
Louis Pontoise 73dc300ed3 ci: fix cached cask-repair 3 2020-03-10 17:38:27 +09:00
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
louis.pontoise 606bae7e71 feat: adding cocoapods and letsmove/sparkle 2020-03-10 14:00:37 +09:00
louis.pontoise e1e3633148 feat: drag-and-drop files on the ui (closes #74) 2020-03-10 14:00:37 +09:00
louis.pontoise 7eb216d43c fix: some apps have messy launch behavior
See discussion: https://github.com/lwouis/alt-tab-macos/issues/117#issuecomment-583868046
2020-03-10 14:00:37 +09:00
louis.pontoise 6c440a7926 feat: german and spanish localization 2020-03-10 14:00:37 +09:00
louis.pontoise 36e4bb06de feat: localization (closes #134) 2020-03-10 14:00:37 +09:00
louis.pontoise cb66b79582 feat: add licence to about page
Also use data from Info.plist to make it more DRY
2020-03-10 14:00:37 +09:00
louis.pontoise efc9bd3d3e fix: better textareas 2020-03-10 14:00:37 +09:00
louis.pontoise cf92dc1e71 fix: keyboard shortcuts didn't work without a menu 2020-03-10 14:00:37 +09:00
louis.pontoise 60b49ead4e feat: replace default copyright with correct licence 2020-03-10 14:00:37 +09:00
louis.pontoise fd3e7680f4 feat: cleaner layout and explanation text 2020-03-10 14:00:37 +09:00
louis.pontoise a14f96550b feat: add debug profile to feedback message 2020-03-10 14:00:37 +09:00
louis.pontoise 671fdabe79 feat: support macos "sudden termination"
More info: https://developer.apple.com/documentation/foundation/processinfo#1651129
2020-03-10 14:00:37 +09:00
louis.pontoise 404613607c feat: add feedback button on about window 2020-03-10 14:00:37 +09:00
louis.pontoise 67f291d1fe feat: more appealing presentation + minor refac 2020-03-10 14:00:37 +09:00
louis.pontoise 9fa0c06a9f feat: separating the quit button as it is a special case 2020-03-10 14:00:37 +09:00
louis.pontoise 6b6d7481ac feat: quit button is clearer with explicit mention of the name 2020-03-10 14:00:37 +09:00
louis.pontoise 8cb6d86d4c fix: regression on collectionviewitem titles (not showing) 2020-03-10 14:00:37 +09:00
louis.pontoise 725a030abe feat: add in-app feedback form (closes #145) 2020-03-10 14:00:37 +09:00
louis.pontoise b687613f91 refactor: remove unnecessary protocol 2020-03-10 14:00:37 +09:00
louis.pontoise dab2ce5fd7 refactor: organize the ui code hierarchically 2020-03-10 14:00:37 +09:00
louis.pontoise 03a5f77b99 feat: nicer layout for about preferences 2020-03-10 14:00:37 +09:00
louis.pontoise 6bb73dce92 fix: added releases link and aligned layout left on tab 3 2020-03-10 14:00:37 +09:00
louis.pontoise 0762e28eda refactor: factorize code in extension 2020-03-10 14:00:37 +09:00
louis.pontoise 291f872d3d feat: divide preferences by topic (closes #130) 2020-03-10 14:00:37 +09:00
louis.pontoise d52eb6d074 feat: add back the preferences for the new layout algo 2020-03-10 14:00:37 +09:00
louis.pontoise 89977d78ee ci: more packed layout by default 2020-03-10 14:00:37 +09:00
louis.pontoise e34e3b171f feat: better packing; tall thumbnails are 1/2 the width of wide ones 2020-03-10 14:00:37 +09:00
louis.pontoise 0bc7472d17 fix: don't upscale thumbnails of small windows 2020-03-10 14:00:37 +09:00
louis.pontoise 01e33b0950 ci: sign releases with apple dev certificate (closes #13) 2020-03-10 14:00:37 +09:00
louis.pontoise 00c630d1ed ci: remove travis warning by updating keys 2020-03-10 14:00:37 +09:00
louis.pontoise d59061398e ci: display env vars at the beginning of a build 2020-03-10 14:00:37 +09:00
louis.pontoise ce574a2678 fix: more robust screen-recording permission check 2020-03-10 14:00:37 +09:00
louis.pontoise 34a32f329d feat: debug build has code-signing to preserve permissions 2020-03-10 14:00:37 +09:00
louis.pontoise 4612e37721 fix: only test permissions on the correct os versions 2020-03-10 14:00:37 +09:00
louis.pontoise 9a96e4988a fix: better float rounding = sharper cell contents 2020-03-10 14:00:37 +09:00
louis.pontoise 1faa74c7c5 fix: compiler warnings 2020-03-10 14:00:37 +09:00
louis.pontoise c5cbcdbe97 fix: app launched while in fullscreen shows first window
see https://github.com/lwouis/alt-tab-macos/pull/114#issuecomment-576384795
2020-03-10 14:00:37 +09:00
louis.pontoise 0c731f4889 fix: some apps should retry observing until it works 2020-03-10 14:00:37 +09:00
louis.pontoise 8b97bf89b5 ci: update homebrew cask for new releases (closes #75) 2020-03-10 14:00:37 +09:00
louis.pontoise 291770e363 feat: slightly increase contrast (mitigates #82) 2020-03-10 14:00:37 +09:00
louis.pontoise fd906f46fb fix: layout was incorrect resulting in thumbnails clipping 2020-03-10 14:00:37 +09:00
louis.pontoise 2a36196661 fix: using floor() everywhere to avoid blurry rendering 2020-03-10 14:00:37 +09:00
louis.pontoise e588d55ecd fix: remove debug colors 2020-03-10 14:00:37 +09:00
louis.pontoise ced5ee60c1 fix: add rough downscaling when there are many windows (closes #69) 2020-03-10 14:00:37 +09:00
louis.pontoise 314801ce99 refactor: minor syntax change 2020-03-10 14:00:37 +09:00
louis.pontoise a1b5266937 fix: layout is now correct; also removed layout preferences for now 2020-03-10 14:00:37 +09:00
louis.pontoise bb95e55e02 fix: bring back the window delay that regressed with v2 2020-03-10 14:00:37 +09:00
louis.pontoise fdddb0f8ed fix: avoid rendering if app is not used 2020-03-10 14:00:37 +09:00
louis.pontoise 3f8e3eab9b fix: don't show floating windows + efficiencies 2020-03-10 14:00:37 +09:00
louis.pontoise 141562de04 fix: open alt-tab during space transitions (closes #92) 2020-03-10 14:00:37 +09:00
louis.pontoise f8e1b00985 fix: don't show ui on fast trigger 2020-03-10 14:00:37 +09:00
louis.pontoise b8d6bc999f fix: a title change often means the content has change 2020-03-10 14:00:37 +09:00
louis.pontoise 3cd4b6d068 fix: initial discovery when single space was glitching the os 2020-03-10 14:00:37 +09:00
louis.pontoise a3c0fe820f refactor: factorize and document 2020-03-10 14:00:37 +09:00
louis.pontoise 4abe9f31ec fix: handle on-all-spaces windows better 2020-03-10 14:00:37 +09:00
louis.pontoise 4a8bdebacc fix: better focus/order for preferences (closes #80) 2020-03-10 14:00:37 +09:00
louis.pontoise 2826a1b872 fix: dock being shown was blocking alt-tab 2020-03-10 14:00:37 +09:00
louis.pontoise 4ded030a35 fix: compare correctly since pid can go away when an app dies 2020-03-10 14:00:37 +09:00
louis.pontoise 5877f34fe4 refactor: cleaner code 2020-03-10 14:00:37 +09:00
louis.pontoise 10b2c714ca fix: quitting apps was not properly removing apps from the list
Instead of using the PSN, we now use .equals() to compare 2 NSRunningApplication as recommended by Apple docs
2020-03-10 14:00:37 +09:00
louis.pontoise bfc27008cc fix: quitting multiple apps would refresh the ui multiple times 2020-03-10 14:00:37 +09:00
louis.pontoise 9ca28eb2d8 fix: observer leak would throw and crash the app sometimes 2020-03-10 14:00:37 +09:00
louis.pontoise 9a8c83e39d fix: prevent visual flickering (closes #115) 2020-03-10 14:00:37 +09:00
louis.pontoise b9a0152f85 fix: don't trigger ui refreshes if the app is not active 2020-03-10 14:00:37 +09:00
louis.pontoise b03b0aa22e fix: ignore trigger shortcuts if mission control is active 2020-03-10 14:00:37 +09:00
louis.pontoise 547311ea5d refactor: complete rework of the internals
closes #93 closes #24 closes #117

BREAKING CHANGE: 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.

More context: https://github.com/lwouis/alt-tab-macos/issues/45#issuecomment-571898826
2020-03-10 14:00:37 +09:00
semantic-release-bot 22354da5ea chore(release): 2.3.4 [skip ci]
## [2.3.4](https://github.com/lwouis/alt-tab-macos/compare/v2.3.3...v2.3.4) (2020-01-22)

### Bug Fixes

* escape key was absorbed by the inactive app (closes [#123](https://github.com/lwouis/alt-tab-macos/issues/123)) ([5260619](https://github.com/lwouis/alt-tab-macos/commit/5260619))
2020-01-22 10:55:32 +00:00
louis.pontoise 5260619fe1 fix: escape key was absorbed by the inactive app (closes #123) 2020-01-22 19:51:48 +09:00
semantic-release-bot 97798c3443 chore(release): 2.3.3 [skip ci]
## [2.3.3](https://github.com/lwouis/alt-tab-macos/compare/v2.3.2...v2.3.3) (2020-01-21)

### Bug Fixes

* touch bar's escape key works on mbp 15 2019 (closes [#119](https://github.com/lwouis/alt-tab-macos/issues/119)) ([eda6b7e](https://github.com/lwouis/alt-tab-macos/commit/eda6b7e))
2020-01-21 00:30:22 +00:00
Phung Tuan Hoang eda6b7e9d9 fix: touch bar's escape key works on mbp 15 2019 (closes #119) 2020-01-21 09:27:47 +09:00
semantic-release-bot 5b8a9110db chore(release): 2.3.2 [skip ci]
## [2.3.2](https://github.com/lwouis/alt-tab-macos/compare/v2.3.1...v2.3.2) (2020-01-05)

### Bug Fixes

* app crashes when no windows are open ([cecc53a](https://github.com/lwouis/alt-tab-macos/commit/cecc53a))
2020-01-05 04:32:51 +00:00
Robinhuett cecc53a0e0 fix: app crashes when no windows are open 2020-01-05 13:30:21 +09:00
semantic-release-bot 4317bedd9f chore(release): 2.3.1 [skip ci]
## [2.3.1](https://github.com/lwouis/alt-tab-macos/compare/v2.3.0...v2.3.1) (2020-01-04)

### Bug Fixes

* selecting windows theme shows an error (closes [#109](https://github.com/lwouis/alt-tab-macos/issues/109)) ([01163c6](https://github.com/lwouis/alt-tab-macos/commit/01163c6))
2020-01-04 15:34:51 +00:00
louis.pontoise 01163c69fc fix: selecting windows theme shows an error (closes #109) 2020-01-05 00:32:13 +09:00
louis.pontoise 9f46e6561a docs: document private apis better for offscreen windows 2020-01-05 00:32:13 +09:00
semantic-release-bot efc27e915d chore(release): 2.3.0 [skip ci]
# [2.3.0](https://github.com/lwouis/alt-tab-macos/compare/v2.2.0...v2.3.0) (2020-01-04)

### Features

* handle hidden app windows (closes [#108](https://github.com/lwouis/alt-tab-macos/issues/108)) ([6fcf092](https://github.com/lwouis/alt-tab-macos/commit/6fcf092))
2020-01-04 13:59:39 +00:00
louis.pontoise 6fcf092690 feat: handle hidden app windows (closes #108) 2020-01-04 22:57:06 +09:00
semantic-release-bot fdb132779c chore(release): 2.2.0 [skip ci]
# [2.2.0](https://github.com/lwouis/alt-tab-macos/compare/v2.1.0...v2.2.0) (2020-01-03)

### Bug Fixes

* follow-up on pr-104; minimized windows are not on another space ([998c763](https://github.com/lwouis/alt-tab-macos/commit/998c763))

### Features

* **ux:** add option to hide the space number label ([51a193c](https://github.com/lwouis/alt-tab-macos/commit/51a193c))
2020-01-03 12:42:45 +00:00
louis.pontoise 998c76334e fix: follow-up on pr-104; minimized windows are not on another space 2020-01-03 21:40:06 +09:00
Aarni Koskela 51a193c1d4 feat(ux): add option to hide the space number label 2020-01-03 21:40:06 +09:00
semantic-release-bot 2adefd0830 chore(release): 2.1.0 [skip ci]
# [2.1.0](https://github.com/lwouis/alt-tab-macos/compare/v2.0.3...v2.1.0) (2020-01-03)

### Bug Fixes

* **ux:** simplify tool menu ([de7f428](https://github.com/lwouis/alt-tab-macos/commit/de7f428))
* issue in pr-104 where app would not show properly ([4d19015](https://github.com/lwouis/alt-tab-macos/commit/4d19015))
* small ux change on pr-104 ([6d2741a](https://github.com/lwouis/alt-tab-macos/commit/6d2741a))

### Features

* add menu option to pop up the selector window ([78428dc](https://github.com/lwouis/alt-tab-macos/commit/78428dc))
2020-01-03 11:21:24 +00:00
louis.pontoise 6d2741a766 fix: small ux change on pr-104 2020-01-03 20:18:31 +09:00
louis.pontoise 4d190150ac fix: issue in pr-104 where app would not show properly 2020-01-03 20:18:31 +09:00
Aarni Koskela 78428dc309 feat: add menu option to pop up the selector window 2020-01-03 20:18:31 +09:00
Aarni Koskela de7f428ba1 fix(ux): simplify tool menu 2020-01-03 20:18:31 +09:00
semantic-release-bot 15eb37b40e chore(release): 2.0.3 [skip ci]
## [2.0.3](https://github.com/lwouis/alt-tab-macos/compare/v2.0.2...v2.0.3) (2020-01-03)

### Bug Fixes

* better filtering of "actual" windows (closes 102) ([fcdce9c](https://github.com/lwouis/alt-tab-macos/commit/fcdce9c))
2020-01-03 10:47:07 +00:00
louis.pontoise fcdce9cbac fix: better filtering of "actual" windows (closes 102) 2020-01-03 19:44:26 +09:00
semantic-release-bot c69123b3d4 chore(release): 2.0.2 [skip ci]
## [2.0.2](https://github.com/lwouis/alt-tab-macos/compare/v2.0.1...v2.0.2) (2019-12-30)

### Bug Fixes

* space numbers are correctly removed if single space ([45ad43f](https://github.com/lwouis/alt-tab-macos/commit/45ad43f))
2019-12-30 09:39:53 +00:00
louis.pontoise 45ad43f347 fix: space numbers are correctly removed if single space 2019-12-30 18:37:22 +09:00
semantic-release-bot 1e210c382a chore(release): 2.0.1 [skip ci]
## [2.0.1](https://github.com/lwouis/alt-tab-macos/compare/v2.0.0...v2.0.1) (2019-12-30)

### Bug Fixes

* app crashes when invoked when there is 0 window (closes [#95](https://github.com/lwouis/alt-tab-macos/issues/95)) ([921590a](https://github.com/lwouis/alt-tab-macos/commit/921590a))
2019-12-30 00:52:30 +00:00
louis.pontoise 921590aec5 fix: app crashes when invoked when there is 0 window (closes #95) 2019-12-30 09:49:56 +09:00
semantic-release-bot 9c218f0cf7 chore(release): 2.0.0 [skip ci]
# [2.0.0](https://github.com/lwouis/alt-tab-macos/compare/v1.14.4...v2.0.0) (2019-12-27)

### Features

* display other spaces/minimized windows (closes [#14](https://github.com/lwouis/alt-tab-macos/issues/14)) ([3f5ea25](https://github.com/lwouis/alt-tab-macos/commit/3f5ea25)), closes [#11](https://github.com/lwouis/alt-tab-macos/issues/11) [#45](https://github.com/lwouis/alt-tab-macos/issues/45) [#62](https://github.com/lwouis/alt-tab-macos/issues/62)

### BREAKING CHANGES

* this brings huge changes to core parts of the codebase. It introduces the use of private APIs that hopefully are should be compatible from macOS 10.12+, but I couldn't test them. I reviewed the whole codebase to clean and improve on performance and readability
2019-12-27 05:50:21 +00:00
louis.pontoise 3f5ea25154 feat: display other spaces/minimized windows (closes #14)
Also closes #11 closes #45 closes #62

BREAKING CHANGE: this brings huge changes to core parts of the codebase. It introduces the use of private APIs that hopefully are should be compatible from macOS 10.12+, but I couldn't test them. I reviewed the whole codebase to clean and improve on performance and readability
2019-12-27 14:47:51 +09:00
semantic-release-bot b50fa5bd92 chore(release): 1.14.4 [skip ci]
## [1.14.4](https://github.com/lwouis/alt-tab-macos/compare/v1.14.3...v1.14.4) (2019-12-24)
2019-12-24 05:57:50 +00:00
louis.pontoise 74edb28108 docs: clarify which macos versions are supported 2019-12-24 14:55:11 +09:00
semantic-release-bot 87647b9507 chore(release): 1.14.3 [skip ci]
## [1.14.3](https://github.com/lwouis/alt-tab-macos/compare/v1.14.2...v1.14.3) (2019-11-12)

### Bug Fixes

* code compile compatibility with old macos ([10552a0](https://github.com/lwouis/alt-tab-macos/commit/10552a0))
2019-11-12 04:09:35 +00:00
Mariusz Bieniek 10552a017a fix: code compile compatibility with old macos
- .zero in Int/Int32/UInt32 is missing here
2019-11-12 13:07:03 +09:00
semantic-release-bot bdb51b604e chore(release): 1.14.2 [skip ci]
## [1.14.2](https://github.com/lwouis/alt-tab-macos/compare/v1.14.1...v1.14.2) (2019-11-11)
2019-11-11 06:22:17 +00:00
Louis Pontoise b363ba636d refactor: wrap cg and ax apis into classes to clarify codebase 2019-11-11 15:18:54 +09:00
semantic-release-bot 08549b4df4 chore(release): 1.14.1 [skip ci]
## [1.14.1](https://github.com/lwouis/alt-tab-macos/compare/v1.14.0...v1.14.1) (2019-11-11)

### Bug Fixes

* handle preference files with deprecated keys ([eabc327](https://github.com/lwouis/alt-tab-macos/commit/eabc327))
2019-11-11 06:15:42 +00:00
Louis Pontoise eabc327edc fix: handle preference files with deprecated keys 2019-11-11 15:12:54 +09:00
semantic-release-bot 95d882101d chore(release): 1.14.0 [skip ci]
# [1.14.0](https://github.com/lwouis/alt-tab-macos/compare/v1.13.0...v1.14.0) (2019-11-11)

### Features

* merge previous preferences onto new defaults (closes [#73](https://github.com/lwouis/alt-tab-macos/issues/73)) ([7ec3a50](https://github.com/lwouis/alt-tab-macos/commit/7ec3a50))
* reading preferences on disk will reset file if error (closes [#73](https://github.com/lwouis/alt-tab-macos/issues/73)) ([39677fe](https://github.com/lwouis/alt-tab-macos/commit/39677fe))
2019-11-11 06:05:08 +00:00
Louis Pontoise 7ec3a50f22 feat: merge previous preferences onto new defaults (closes #73) 2019-11-11 15:02:19 +09:00
Louis Pontoise 39677fe542 feat: reading preferences on disk will reset file if error (closes #73) 2019-11-11 14:39:40 +09:00
semantic-release-bot d275fc03ff chore(release): 1.13.0 [skip ci]
# [1.13.0](https://github.com/lwouis/alt-tab-macos/compare/v1.12.3...v1.13.0) (2019-11-11)

### Features

* improved PreferencesPanel UX, partially implements [#49](https://github.com/lwouis/alt-tab-macos/issues/49) ([59fc712](https://github.com/lwouis/alt-tab-macos/commit/59fc712))
* improved PreferencesPanel UX, partially implements [#49](https://github.com/lwouis/alt-tab-macos/issues/49) ([fa4d150](https://github.com/lwouis/alt-tab-macos/commit/fa4d150))
* improves PreferencesPanel UX, partially implements [#49](https://github.com/lwouis/alt-tab-macos/issues/49) ([21a4587](https://github.com/lwouis/alt-tab-macos/commit/21a4587))
* improves PreferencesPanel UX, partially implements [#49](https://github.com/lwouis/alt-tab-macos/issues/49) ([65327c2](https://github.com/lwouis/alt-tab-macos/commit/65327c2))
2019-11-11 00:12:07 +00:00
Mariusz Bieniek 21a4587e77 feat: improves PreferencesPanel UX, partially implements #49
implements requested changes from Code-Review and contains also refactoring, additions & improvements
- PreferencesPanel: does not handle NSApp.activate & .deactivate anymore
- PreferencesPanel: maxThumbnailsPerRow & windowDisplayDelay are now sliders
- PreferencesPanel: Sliders do not use tickmarks anymore (to allow finer settings)
- PreferencesPanel: tweaked Sliders min/max values
- PreferencesPanel: adds Hyperlink to KeyCodes Reference as suffix for Tab key control (with additional required sub-class of NSTextField)
- PreferencesPanel: adds makeSuffix() method for code clarity
2019-11-11 09:09:36 +09:00
Mariusz Bieniek 65327c2b89 feat: improves PreferencesPanel UX, partially implements #49
implements requested changes from Code-Review and contains also refactoring and more features and improvements
- Application Wide: changes all exceptions to NSError (required for error handling via sheet in panel)
- PreferencesPanel: adds display of current value of Sliders
- PreferencesPanel: adds validation with visualisation for TextFields (whitelist for KeyCode and ranges for maxScreenUsage & windowDisplayDelay) during editing, window open and close
- PreferencesPanel: adds error sheet (in-window modal) at all known possible errors to display error information and ask the user how to proceed
- PreferencesPanel: removes Restart button (and relaunch code in Application)
- PreferencesPanel: adds Preferences being now live
- PreferencesPanel: removes invisibleText workaround
- PreferencesPanel: adds TextField value save on each keyDown event (if valid and changed)
- PreferencesPanel: adds window activation/deactivation
- PreferencesPanel: changes label texts of some Preferences
- ...
2019-11-11 09:09:36 +09:00
Mariusz Bieniek 59fc712086 feat: improved PreferencesPanel UX, partially implements #49
- ux/code: adds sliders (maxScreenUsage, iconSize, fontHeight)
- ux: defined sensible min/max/step values for sliders
- code: fixes panelWidth (panel and its content did not grow correctly)
- code: removes inputsMap (NSControl.identifier is now used for that)
- code: adds makeLabelWithProvidedControl() as a helper to create labeled controls with a optional suffix
- code: removes dropdownDidChange() & textDidEndEditing() -> combined in controlDidEndEditing()
- code: adds controlDidEndEditing() as an universal .action for NSControl elements
  - adds a restore of values in UI and Preferences if there is an issue while saving a Preference
- code: adds another little code clarity improvements
2019-11-11 09:09:36 +09:00
Mariusz Bieniek fa4d1506b9 feat: improved PreferencesPanel UX, partially implements #49
- ux: first pass on UI
- ux: groups available preferences by keys-, visual-, behaviour-preferences (vertical separation without labels)
- ux: adds Restart action
- code: removes unused variables
- code: PreferencesPanel is no longer a Delegate of an view child
2019-11-11 09:09:36 +09:00
semantic-release-bot 177d2cf049 chore(release): 1.12.3 [skip ci]
## [1.12.3](https://github.com/lwouis/alt-tab-macos/compare/v1.12.2...v1.12.3) (2019-11-10)
2019-11-10 09:24:02 +00:00
Louis Pontoise 42ef511329 docs: add discord server for community discussions (closes #79) 2019-11-10 18:21:19 +09:00
semantic-release-bot 91029f791f chore(release): 1.12.2 [skip ci]
## [1.12.2](https://github.com/lwouis/alt-tab-macos/compare/v1.12.1...v1.12.2) (2019-11-06)
2019-11-06 01:27:54 +00:00
Louis Pontoise a429b41465 refactor: add .github to xcode project so it's visible in the ide 2019-11-06 10:24:53 +09:00
semantic-release-bot 9089efc147 chore(release): 1.12.1 [skip ci]
## [1.12.1](https://github.com/lwouis/alt-tab-macos/compare/v1.12.0...v1.12.1) (2019-11-06)
2019-11-06 01:15:26 +00:00
Louis Pontoise ee1d7f864b ci: pr greeter doesn't handle multilines properly so using 1 line 2019-11-06 10:12:53 +09:00
semantic-release-bot e7d444f842 chore(release): 1.12.0 [skip ci]
# [1.12.0](https://github.com/lwouis/alt-tab-macos/compare/v1.11.3...v1.12.0) (2019-11-01)

### Features

* windows on mouse screen, implements [#28](https://github.com/lwouis/alt-tab-macos/issues/28) ([b841ec7](https://github.com/lwouis/alt-tab-macos/commit/b841ec7))
* windows on mouse screen, implements [#28](https://github.com/lwouis/alt-tab-macos/issues/28) ([6c93047](https://github.com/lwouis/alt-tab-macos/commit/6c93047)), closes [#66](https://github.com/lwouis/alt-tab-macos/issues/66) [#59](https://github.com/lwouis/alt-tab-macos/issues/59) [#66](https://github.com/lwouis/alt-tab-macos/issues/66) [#66](https://github.com/lwouis/alt-tab-macos/issues/66)
2019-11-01 14:23:29 +00:00
Louis Pontoise b841ec7a57 feat: windows on mouse screen, implements #28
squash of pull-request corrections and improvements

refactor: better mimic apple centering

Also use enum instead of bool to self-document the interface

docs: clarify the show-on-screen preference wording

Discussion on this SO (https://stackoverflow.com/a/864432/2249756) seem to indicate that .main is not the screen with the menubar, however in my tests, it is always that window. I think macOS changed the behavior of .main without updating the documentation

refactor: shorter method names as swift promotes + removed debug code

fix: all methods in screen should use visibleFrame not frame

refactor: (hopefully) made code intent clearer

fix: panel and collection layout now use dynamic screen variable

fix: fix vertical origin from 4c44100f196
2019-11-01 23:20:53 +09:00
Mariusz Bieniek 6c9304735a feat: windows on mouse screen, implements #28
squash of implementation for pull-request #66 and review
- adds a new Preference to use the main screen (keyboard focus) or mouse location screen
- honors that preference for thumbnail generation and display of all panels
- increases the Preferences version
- widens PreferencesPanel width and input sizing to allow 3 characters, issue #59 minimal adjustment

feat: windows on mouse screen: changes from pull request #66 code review

- corrections, improvements & refactoring

feat: windows on mouse screen: additional changes for pull request #66

- Screen.preferredScreenOverride: removed
- instead currentScreen gets provided or updated now at all required places before triggering UI summon calculations
  - ThumbnailsPanel.computeThumbnails(): re-creates collectionViewLayout instead of invalidating it
- Screen.showCenteredFrontPanel(): useAppleVerticalOffset applies now only if the NSWindow frame is smaller than 2/3 of visibleFrame
2019-11-01 23:20:53 +09:00
semantic-release-bot a184ad5309 chore(release): 1.11.3 [skip ci]
## [1.11.3](https://github.com/lwouis/alt-tab-macos/compare/v1.11.2...v1.11.3) (2019-10-30)
2019-10-30 13:59:50 +00:00
Louis Pontoise a6a64b782a ci: improve greeting message 2019-10-30 22:56:59 +09:00
semantic-release-bot 5f64297e95 chore(release): 1.11.2 [skip ci]
## [1.11.2](https://github.com/lwouis/alt-tab-macos/compare/v1.11.1...v1.11.2) (2019-10-30)
2019-10-30 13:37:10 +00:00
Louis Pontoise 0266a38645 ci: add github action to instruct contributors on new PR 2019-10-30 22:34:02 +09:00
semantic-release-bot 902330c0d0 chore(release): 1.11.1 [skip ci]
## [1.11.1](https://github.com/lwouis/alt-tab-macos/compare/v1.11.0...v1.11.1) (2019-10-30)
2019-10-30 13:16:21 +00:00
Hugo Locurcio 2a02c2465c docs: improve readme formatting 2019-10-30 22:13:42 +09:00
semantic-release-bot 83ddb35435 chore(release): 1.11.0 [skip ci]
# [1.11.0](https://github.com/lwouis/alt-tab-macos/compare/v1.10.0...v1.11.0) (2019-10-28)

### Bug Fixes

* app was no longer absorbing its shortcut key events properly ([4976267](https://github.com/lwouis/alt-tab-macos/commit/4976267))
* don't let the app bellow get the meta keyUp event ([7f12f41](https://github.com/lwouis/alt-tab-macos/commit/7f12f41))

### Features

* allows more than one metaKeyCode ([7e21974](https://github.com/lwouis/alt-tab-macos/commit/7e21974))
2019-10-28 09:29:55 +00:00
Louis Pontoise 4976267a82 fix: app was no longer absorbing its shortcut key events properly
Regression was introduced by a4a0a9be2e
2019-10-28 18:26:39 +09:00
Louis Pontoise 7f12f4146e fix: don't let the app bellow get the meta keyUp event 2019-10-28 18:21:22 +09:00
Mariusz Bieniek 7e21974ebf feat: allows more than one metaKeyCode
metaKeyCodes is now an array and is provided with both keycodes for option, control and command. This fixes two issues:
- UI stayed open when the user did open it with the secondary metaKey keyCode (the UI got toggled by the modifierFlags check) and the user had to click the proper metaKeyCode to close it again
- PC keyboards (all of them? i observed this on a Logitech K740) send the secondary keyCode for the command and option keys so the application did not work for this setup
2019-10-28 18:20:14 +09:00
Mariusz Bieniek 479778662d refactor: removes KeyCode enum and uses apple provided definition 2019-10-28 18:10:06 +09:00
semantic-release-bot bcf6c13c72 chore(release): 1.10.0 [skip ci]
# [1.10.0](https://github.com/lwouis/alt-tab-macos/compare/v1.9.8...v1.10.0) (2019-10-28)

### Features

* don't show the UI on very fast shortcut triggers from the user ([4b5fa1a](https://github.com/lwouis/alt-tab-macos/commit/4b5fa1a))
2019-10-28 08:26:34 +00:00
gcbw 64049d932c docs: add switch as an alternative 2019-10-28 17:23:53 +09:00
Louis Pontoise a4a0a9be2e refactor: keyboard event listening should be read-only 2019-10-28 17:23:49 +09:00
Louis Pontoise 4b5fa1a9db feat: don't show the UI on very fast shortcut triggers from the user
By listening to keyboard events from another thread, that thread is able to cancel tasks scheduled on the main UI thread. This means that if the user activates the app, and very quickly release the keys to focus the other window, that key release event may be processed before the main UI thread tasks have finished. The keyboard processing thread may then cancel the UI work resulting in the UI not showing, which is good here
2019-10-28 17:22:04 +09:00
semantic-release-bot a5873d557a chore(release): 1.9.8 [skip ci]
## [1.9.8](https://github.com/lwouis/alt-tab-macos/compare/v1.9.7...v1.9.8) (2019-10-28)

### Bug Fixes

* adds missing return statements ([4b517ff](https://github.com/lwouis/alt-tab-macos/commit/4b517ff))
2019-10-28 07:51:15 +00:00
Mariusz Bieniek 4b517ff5b9 fix: adds missing return statements
so the project builds without any compile errors on macOS high sierra (10.13.x)
2019-10-28 16:48:46 +09:00
semantic-release-bot d9a23c21bd chore(release): 1.9.7 [skip ci]
## [1.9.7](https://github.com/lwouis/alt-tab-macos/compare/v1.9.6...v1.9.7) (2019-10-27)

### Bug Fixes

* remove broken meta keys from preferences (closes [#61](https://github.com/lwouis/alt-tab-macos/issues/61)) ([5517e7a](https://github.com/lwouis/alt-tab-macos/commit/5517e7a))
2019-10-27 23:17:43 +00:00
Louis Pontoise 5517e7a931 fix: remove broken meta keys from preferences (closes #61) 2019-10-28 08:15:12 +09:00
semantic-release-bot 46c16305b0 chore(release): 1.9.6 [skip ci]
## [1.9.6](https://github.com/lwouis/alt-tab-macos/compare/v1.9.5...v1.9.6) (2019-10-26)

### Bug Fixes

* removed logic on meta key press and better app summon logic ([8ac6a51](https://github.com/lwouis/alt-tab-macos/commit/8ac6a51))
2019-10-26 13:52:30 +00:00
Louis Pontoise 6f5f4d08c7 docs: add window-switcher as an alternative 2019-10-26 22:50:00 +09:00
Louis Pontoise 8ac6a51b2f fix: removed logic on meta key press and better app summon logic 2019-10-26 22:49:59 +09:00
semantic-release-bot 088b7123c0 chore(release): 1.9.5 [skip ci]
## [1.9.5](https://github.com/lwouis/alt-tab-macos/compare/v1.9.4...v1.9.5) (2019-10-25)

### Bug Fixes

* option key was broken as a meta key ([e59d51d](https://github.com/lwouis/alt-tab-macos/commit/e59d51d))
2019-10-25 17:05:57 +00:00
Louis Pontoise e59d51ddab fix: option key was broken as a meta key
Bug was introduced in b6e4826e40
2019-10-26 02:02:01 +09:00
semantic-release-bot c7af429b8f chore(release): 1.9.4 [skip ci]
## [1.9.4](https://github.com/lwouis/alt-tab-macos/compare/v1.9.3...v1.9.4) (2019-10-25)

### Bug Fixes

* app was broken for new installs because of the tab keyCode ([51e9aee](https://github.com/lwouis/alt-tab-macos/commit/51e9aee))
2019-10-25 16:17:15 +00:00
Louis Pontoise 51e9aeef05 fix: app was broken for new installs because of the tab keyCode
Bug was introduced in b6e4826e40
2019-10-26 01:12:25 +09:00
semantic-release-bot e51379a575 chore(release): 1.9.3 [skip ci]
## [1.9.3](https://github.com/lwouis/alt-tab-macos/compare/v1.9.2...v1.9.3) (2019-10-25)
2019-10-25 15:49:29 +00:00
Adam Nemecek 828c85dfc0 refactor: remove unneeded symbols 2019-10-26 00:41:14 +09:00
semantic-release-bot 009c0e7337 chore(release): 1.9.2 [skip ci]
## [1.9.2](https://github.com/lwouis/alt-tab-macos/compare/v1.9.1...v1.9.2) (2019-10-25)
2019-10-25 15:39:56 +00:00
Laxman Damera 1ec0168fec docs: fix wikipedia link 2019-10-26 00:34:25 +09:00
Louis Pontoise bfbf9fe3aa docs: better alternatives section 2019-10-26 00:34:25 +09:00
semantic-release-bot fd105e4164 chore(release): 1.9.1 [skip ci]
## [1.9.1](https://github.com/lwouis/alt-tab-macos/compare/v1.9.0...v1.9.1) (2019-10-25)
2019-10-25 15:13:31 +00:00
Louis Pontoise 2611d6e1a5 docs: update readme with up-to-date screenshots and clearer explanations 2019-10-26 00:08:26 +09:00
semantic-release-bot b07588a354 chore(release): 1.9.0 [skip ci]
# [1.9.0](https://github.com/lwouis/alt-tab-macos/compare/v1.8.1...v1.9.0) (2019-10-25)

### Features

* hovering with the mouse highlights cells (closes [#34](https://github.com/lwouis/alt-tab-macos/issues/34)) ([f20ada6](https://github.com/lwouis/alt-tab-macos/commit/f20ada6))
2019-10-25 12:06:44 +00:00
Louis Pontoise f20ada68d2 feat: hovering with the mouse highlights cells (closes #34) 2019-10-25 21:04:00 +09:00
semantic-release-bot a149ba658f chore(release): 1.8.1 [skip ci]
## [1.8.1](https://github.com/lwouis/alt-tab-macos/compare/v1.8.0...v1.8.1) (2019-10-25)

### Bug Fixes

* meta+arrow activates only if meta+tab was first pressed ([aa5f748](https://github.com/lwouis/alt-tab-macos/commit/aa5f748))
2019-10-25 11:23:39 +00:00
Louis Pontoise aa5f748fa9 fix: meta+arrow activates only if meta+tab was first pressed
Also potentially meta+other_key would be absorbed by the app and not propagated to the focused app
2019-10-25 20:20:53 +09:00
Louis Pontoise cd52663def refactor: simple closure on one line for readability 2019-10-25 20:20:53 +09:00
semantic-release-bot 2e45475a32 chore(release): 1.8.0 [skip ci]
# [1.8.0](https://github.com/lwouis/alt-tab-macos/compare/v1.7.2...v1.8.0) (2019-10-25)

### Features

* use arrow keys to navigate the UI (closes [#53](https://github.com/lwouis/alt-tab-macos/issues/53)) ([1049a50](https://github.com/lwouis/alt-tab-macos/commit/1049a50))
2019-10-25 10:19:55 +00:00
Louis Pontoise 1049a50451 feat: use arrow keys to navigate the UI (closes #53) 2019-10-25 19:17:12 +09:00
Louis Pontoise 3d5f5bac73 refactor: clarify code 2019-10-25 19:11:07 +09:00
Louis Pontoise 5471a179f8 refactor: clearer function names and organization 2019-10-25 18:15:39 +09:00
Louis Pontoise 5a74797345 refactor: clearer sub-functions 2019-10-25 17:51:25 +09:00
Louis Pontoise dbda22c9b7 refactor: optional parameter labels 2019-10-25 17:51:25 +09:00
semantic-release-bot b2da8d810e chore(release): 1.7.2 [skip ci]
## [1.7.2](https://github.com/lwouis/alt-tab-macos/compare/v1.7.1...v1.7.2) (2019-10-25)

### Bug Fixes

* increased contrast to help with dark backgrounds ([8458113](https://github.com/lwouis/alt-tab-macos/commit/8458113))
2019-10-25 06:17:08 +00:00
Louis Pontoise 845811347a fix: increased contrast to help with dark backgrounds 2019-10-25 15:14:35 +09:00
Louis Pontoise f00131ddd0 refactor: move preference code in the same file 2019-10-25 15:14:34 +09:00
semantic-release-bot ee9ba59978 chore(release): 1.7.1 [skip ci]
## [1.7.1](https://github.com/lwouis/alt-tab-macos/compare/v1.7.0...v1.7.1) (2019-10-25)

### Bug Fixes

* remove flickr due to current app losing focus when AltTab appears ([98273de](https://github.com/lwouis/alt-tab-macos/commit/98273de))
2019-10-25 05:55:06 +00:00
Louis Pontoise 98273de106 fix: remove flickr due to current app losing focus when AltTab appears 2019-10-25 14:52:32 +09:00
Louis Pontoise defb2a2991 refactor: moved messy code to dedicated classes/files 2019-10-25 14:52:32 +09:00
Louis Pontoise 77bb69c132 refactor: moved local constant to a preference 2019-10-25 14:52:31 +09:00
Louis Pontoise c2c10f5bdd refactor: move extensions in a dedicated file as they are global 2019-10-25 14:52:30 +09:00
Louis Pontoise 88d0872c56 refactor: clearer comments 2019-10-25 14:52:30 +09:00
Louis Pontoise bb943bf9ae chore: licence.md was missing from the xcode project 2019-10-25 14:52:29 +09:00
semantic-release-bot e101dda9f1 chore(release): 1.7.0 [skip ci]
# [1.7.0](https://github.com/lwouis/alt-tab-macos/compare/v1.6.1...v1.7.0) (2019-10-25)

### Bug Fixes

* don't crash when the OS doesn't return an icon ([ce6f6aa](https://github.com/lwouis/alt-tab-macos/commit/ce6f6aa))

### Features

* close main window when (meta and) escape is pressed (closes [#44](https://github.com/lwouis/alt-tab-macos/issues/44)) ([b6e4826](https://github.com/lwouis/alt-tab-macos/commit/b6e4826))
2019-10-25 04:05:41 +00:00
Louis Pontoise e669906059 refactor: extracted ad-hoc maps into a clearer system for macro prefs 2019-10-25 13:03:03 +09:00
Louis Pontoise b6e4826e40 feat: close main window when (meta and) escape is pressed (closes #44)
Also added a KeyCode class to make keycode management nicer
2019-10-25 13:03:03 +09:00
Louis Pontoise ce6f6aa223 fix: don't crash when the OS doesn't return an icon 2019-10-25 13:03:02 +09:00
semantic-release-bot 14713f0063 chore(release): 1.6.1 [skip ci]
## [1.6.1](https://github.com/lwouis/alt-tab-macos/compare/v1.6.0...v1.6.1) (2019-10-24)
2019-10-24 15:39:28 +00:00
Louis Pontoise dcb934c423 chore: better error messages 2019-10-25 00:21:21 +09:00
semantic-release-bot 14413b0a0d chore(release): 1.6.0 [skip ci]
# [1.6.0](https://github.com/lwouis/alt-tab-macos/compare/v1.5.1...v1.6.0) (2019-10-24)

### Features

* add mac theme and improve preferences (closes [#21](https://github.com/lwouis/alt-tab-macos/issues/21)) ([4a5bbe9](https://github.com/lwouis/alt-tab-macos/commit/4a5bbe9))
2019-10-24 14:56:43 +00:00
Louis Pontoise 4a5bbe9d1c feat: add mac theme and improve preferences (closes #21) 2019-10-24 23:40:21 +09:00
Louis Pontoise 0a164c731c chore: removed unused image class
This class was actually providing worse quality, even at high settings, than NSImageView, and for way worse performance
2019-10-24 23:37:32 +09:00
semantic-release-bot 8d25631573 chore(release): 1.5.1 [skip ci]
## [1.5.1](https://github.com/lwouis/alt-tab-macos/compare/v1.5.0...v1.5.1) (2019-10-24)
2019-10-24 00:14:50 +00:00
Louis Pontoise 67505d488b docs: explain how to use the JSON preferences file (closes #43) 2019-10-24 09:12:00 +09:00
semantic-release-bot fc7bfb06a0 chore(release): 1.5.0 [skip ci]
# [1.5.0](https://github.com/lwouis/alt-tab-macos/compare/v1.4.7...v1.5.0) (2019-10-23)

### Features

* add panel to set user preferences (closes [#8](https://github.com/lwouis/alt-tab-macos/issues/8)) ([a994825](https://github.com/lwouis/alt-tab-macos/commit/a994825))
2019-10-23 14:21:11 +00:00
Louis Pontoise a99482525b feat: add panel to set user preferences (closes #8) 2019-10-23 23:00:49 +09:00
semantic-release-bot 5ddd2f95fd chore(release): 1.4.7 [skip ci]
## [1.4.7](https://github.com/lwouis/alt-tab-macos/compare/v1.4.6...v1.4.7) (2019-10-23)
2019-10-23 13:50:43 +00:00
Louis Pontoise a4410a4f3e ci: remove release steps for PR and non-master branches 2019-10-23 22:37:02 +09:00
semantic-release-bot 3dee75b0e8 chore(release): 1.4.6 [skip ci]
## [1.4.6](https://github.com/lwouis/alt-tab-macos/compare/v1.4.5...v1.4.6) (2019-10-23)
2019-10-23 13:18:00 +00:00
Louis Pontoise 58886650c4 docs: add correct version to app meta-data (closes #47) 2019-10-23 22:09:59 +09:00
semantic-release-bot 7ff17b5882 chore(release): 1.4.5 [skip ci]
## [1.4.5](https://github.com/lwouis/alt-tab-macos/compare/v1.4.4...v1.4.5) (2019-10-17)

### Bug Fixes

* handle new Screen Recording permission on Catalina (closes [#29](https://github.com/lwouis/alt-tab-macos/issues/29)) ([cbfa586](https://github.com/lwouis/alt-tab-macos/commit/cbfa586))
2019-10-17 15:39:38 +00:00
shaked cbfa5869d9 fix: handle new Screen Recording permission on Catalina (closes #29)
This is a light rework of the work from https://github.com/lwouis/alt-tab-macos/pull/33
2019-10-18 00:31:09 +09:00
semantic-release-bot ee85a2f2b2 chore(release): 1.4.4 [skip ci]
## [1.4.4](https://github.com/lwouis/alt-tab-macos/compare/v1.4.3...v1.4.4) (2019-10-17)

### Bug Fixes

* better decide which windows to show the user (closes [#15](https://github.com/lwouis/alt-tab-macos/issues/15) [#30](https://github.com/lwouis/alt-tab-macos/issues/30)) ([f150b7e](https://github.com/lwouis/alt-tab-macos/commit/f150b7e))
2019-10-17 12:43:58 +00:00
Louis Pontoise f150b7e3dc fix: better decide which windows to show the user (closes #15 #30) 2019-10-17 21:40:56 +09:00
Louis Pontoise 80a883c7d4 docs: comment collection debug statements to ease investigations 2019-10-17 21:40:55 +09:00
Louis Pontoise 3dceee00d5 docs: better error message for accessiblity permission issue 2019-10-17 21:40:55 +09:00
semantic-release-bot 5b08c28f53 chore(release): 1.4.3 [skip ci]
## [1.4.3](https://github.com/lwouis/alt-tab-macos/compare/v1.4.2...v1.4.3) (2019-10-17)
2019-10-17 10:18:47 +00:00
Louis Pontoise bf74cfb32f docs: fix the latest release link
it was broken by adding version numbers to release archives
2019-10-17 19:14:59 +09:00
semantic-release-bot 09d3fc6d2c chore(release): 1.4.2 [skip ci]
## [1.4.2](https://github.com/lwouis/alt-tab-macos/compare/v1.4.1...v1.4.2) (2019-10-17)

### Bug Fixes

* travis should release versioned archives (follow-up to de6ad7f83) ([5538bbd](https://github.com/lwouis/alt-tab-macos/commit/5538bbd))
2019-10-17 07:54:47 +00:00
Louis Pontoise 5538bbdcd2 fix: travis should release versioned archives (follow-up to de6ad7f83) 2019-10-17 16:51:53 +09:00
semantic-release-bot 367b002579 chore(release): 1.4.1 [skip ci]
## [1.4.1](https://github.com/lwouis/alt-tab-macos/compare/v1.4.0...v1.4.1) (2019-10-17)

### Bug Fixes

* travis should release versioned archives (follow-up to de6ad7f83) ([15fcbc9](https://github.com/lwouis/alt-tab-macos/commit/15fcbc9))
2019-10-17 07:48:03 +00:00
Louis Pontoise 15fcbc9670 fix: travis should release versioned archives (follow-up to de6ad7f83) 2019-10-17 16:45:03 +09:00
Louis Pontoise 027711c51a ci: semantic-release already ignores PRs internally (reverts 8171c237) 2019-10-17 16:45:03 +09:00
semantic-release-bot 107406566c chore(release): 1.4.0 [skip ci]
# [1.4.0](https://github.com/lwouis/alt-tab-macos/compare/v1.3.0...v1.4.0) (2019-10-17)

### Features

* add version to the app menubar and release archives (closes [#36](https://github.com/lwouis/alt-tab-macos/issues/36)) ([de6ad7f](https://github.com/lwouis/alt-tab-macos/commit/de6ad7f))
2019-10-17 07:38:05 +00:00
Louis Pontoise de6ad7f83a feat: add version to the app menubar and release archives (closes #36) 2019-10-17 16:35:04 +09:00
semantic-release-bot d80ab88b4d chore(release): 1.3.0 [skip ci]
# [1.3.0](https://github.com/lwouis/alt-tab-macos/compare/v1.2.1...v1.3.0) (2019-10-16)

### Bug Fixes

* upgrade scenario didn't work properly ([f864a25](https://github.com/lwouis/alt-tab-macos/commit/f864a25))

### Features

* add window display delay as a preference ([e52326b](https://github.com/lwouis/alt-tab-macos/commit/e52326b))
2019-10-16 17:25:40 +00:00
Louis Pontoise e52326b781 feat: add window display delay as a preference 2019-10-17 02:15:45 +09:00
Louis Pontoise f864a252ea fix: upgrade scenario didn't work properly 2019-10-17 02:15:45 +09:00
semantic-release-bot fa5a369b64 chore(release): 1.2.1 [skip ci]
## [1.2.1](https://github.com/lwouis/alt-tab-macos/compare/v1.2.0...v1.2.1) (2019-10-16)
2019-10-16 17:08:20 +00:00
Louis Pontoise 8171c23796 ci: only release on master; not PRs 2019-10-17 01:55:12 +09:00
semantic-release-bot 215171063d chore(release): 1.2.0 [skip ci]
# [1.2.0](https://github.com/lwouis/alt-tab-macos/compare/v1.1.0...v1.2.0) (2019-10-16)

### Features

* support macOS 10.11+ (closes [#27](https://github.com/lwouis/alt-tab-macos/issues/27)) ([d0face2](https://github.com/lwouis/alt-tab-macos/commit/d0face2))
2019-10-16 16:48:37 +00:00
Louis Pontoise d0face21ad feat: support macOS 10.11+ (closes #27) 2019-10-17 01:14:24 +09:00
semantic-release-bot 2640258e4c chore(release): 1.1.0 [skip ci]
# [1.1.0](https://github.com/lwouis/alt-tab-macos/compare/v1.0.12...v1.1.0) (2019-10-16)

### Features

* preferences can be changed through JSON file ([64cb6f0](https://github.com/lwouis/alt-tab-macos/commit/64cb6f0))
2019-10-16 12:38:46 +00:00
Louis Pontoise 64cb6f067d feat: preferences can be changed through JSON file
* removed unused Resources from the bundle
* thumbnails quality is now a preference
2019-10-16 21:34:58 +09:00
semantic-release-bot f56fd59042 chore(release): 1.0.12 [skip ci]
## [1.0.12](https://github.com/lwouis/alt-tab-macos/compare/v1.0.11...v1.0.12) (2019-10-15)
2019-10-15 11:45:49 +00:00
Louis Pontoise 60560f5269 docs: adding alternatives 2019-10-15 20:42:51 +09:00
Louis Pontoise 9a93a4adc6 docs: adding GPLv3 licence 2019-10-15 20:42:50 +09:00
semantic-release-bot aeb4a4d776 chore(release): 1.0.11 [skip ci]
## [1.0.11](https://github.com/lwouis/alt-tab-macos/compare/v1.0.10...v1.0.11) (2019-10-04)

### Bug Fixes

* keyboard events don't stop being listened to (closes [#18](https://github.com/lwouis/alt-tab-macos/issues/18)) ([75db5e9](https://github.com/lwouis/alt-tab-macos/commit/75db5e9))
2019-10-04 06:22:12 +00:00
Louis Pontoise 75db5e9ac7 fix: keyboard events don't stop being listened to (closes #18) 2019-10-04 15:19:23 +09:00
semantic-release-bot f9f4565d7d chore(release): 1.0.10 [skip ci]
## [1.0.10](https://github.com/lwouis/alt-tab-macos/compare/v1.0.9...v1.0.10) (2019-09-30)

### Bug Fixes

* don't crash when focusing an app that was closed (closes [#19](https://github.com/lwouis/alt-tab-macos/issues/19)) ([6b5e426](https://github.com/lwouis/alt-tab-macos/commit/6b5e426))
2019-09-30 02:59:09 +00:00
Louis Pontoise 6b5e426e05 fix: don't crash when focusing an app that was closed (closes #19) 2019-09-30 11:56:13 +09:00
semantic-release-bot 8773b1dceb chore(release): 1.0.9 [skip ci]
## [1.0.9](https://github.com/lwouis/alt-tab-macos/compare/v1.0.8...v1.0.9) (2019-09-16)

### Bug Fixes

* crash when windows changed between the CG and the AX calls ([2fa140f](https://github.com/lwouis/alt-tab-macos/commit/2fa140f))
* don't crash when the nsevent contructor fails ([6f61354](https://github.com/lwouis/alt-tab-macos/commit/6f61354))
2019-09-16 10:58:20 +00:00
Louis Pontoise 2fa140f027 fix: crash when windows changed between the CG and the AX calls 2019-09-16 19:55:27 +09:00
Louis Pontoise 6f613547c4 fix: don't crash when the nsevent contructor fails
Error was:

alt-tab-macos[17018:919870] unrecognized type is 4294967294
alt-tab-macos[17018:919870] *** Assertion failure in -[NSEvent _initWithCGEvent:eventRef:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/AppKit/AppKit-1671.60.107/AppKit.subproj/NSEvent.m:1977
alt-tab-macos[17018:919870] Invalid parameter not satisfying: _type > 0 && _type <= kCGSLastEventType
2019-09-16 19:55:27 +09:00
semantic-release-bot ba9379b041 chore(release): 1.0.8 [skip ci]
## [1.0.8](https://github.com/lwouis/alt-tab-macos/compare/v1.0.7...v1.0.8) (2019-09-02)

### Bug Fixes

* should not alter focus when displayed (closes [#16](https://github.com/lwouis/alt-tab-macos/issues/16)) ([376a21b](https://github.com/lwouis/alt-tab-macos/commit/376a21b))
2019-09-02 02:15:10 +00:00
Louis Pontoise 376a21bba1 fix: should not alter focus when displayed (closes #16) 2019-09-02 11:12:25 +09:00
semantic-release-bot 0aa330b2dd chore(release): 1.0.7 [skip ci]
## [1.0.7](https://github.com/lwouis/alt-tab-macos/compare/v1.0.6...v1.0.7) (2019-08-30)

### Bug Fixes

* alt-shift-tab as first shortcut works properly (closes [#10](https://github.com/lwouis/alt-tab-macos/issues/10)) ([87a0a3c](https://github.com/lwouis/alt-tab-macos/commit/87a0a3c))
2019-08-30 04:51:43 +00:00
Louis Pontoise 87a0a3c277 fix: alt-shift-tab as first shortcut works properly (closes #10) 2019-08-30 13:49:12 +09:00
Louis Pontoise 8a4627435a docs: explicit the windows matching assumption 2019-08-30 13:49:11 +09:00
Louis Pontoise 8b907aca40 docs: add changelog to xcode project 2019-08-30 13:49:11 +09:00
semantic-release-bot 0bf0604a0b chore(release): 1.0.6 [skip ci]
## [1.0.6](https://github.com/lwouis/alt-tab-macos/compare/v1.0.5...v1.0.6) (2019-08-29)

### Bug Fixes

* better heuristic for windows of same app (closes [#12](https://github.com/lwouis/alt-tab-macos/issues/12)) ([a4cc11b](https://github.com/lwouis/alt-tab-macos/commit/a4cc11b))
2019-08-29 17:07:27 +00:00
Louis Pontoise a4cc11b470 fix: better heuristic for windows of same app (closes #12) 2019-08-30 02:03:41 +09:00
semantic-release-bot d41bff7a36 chore(release): 1.0.5 [skip ci]
## [1.0.5](https://github.com/lwouis/alt-tab-macos/compare/v1.0.4...v1.0.5) (2019-08-28)
2019-08-28 08:44:18 +00:00
lwouis aad041b744 docs: fix typo in README 2019-08-28 17:41:36 +09:00
semantic-release-bot 994747f03e chore(release): 1.0.4 [skip ci]
## [1.0.4](https://github.com/lwouis/alt-tab-macos/compare/v1.0.3...v1.0.4) (2019-08-28)
2019-08-28 06:58:54 +00:00
Louis Pontoise babe3848b8 docs: link to latest release and links to full-size images 2019-08-28 15:56:13 +09:00
semantic-release-bot 5e952f8e5b chore(release): 1.0.3 [skip ci]
## [1.0.3](https://github.com/lwouis/alt-tab-macos/compare/v1.0.2...v1.0.3) (2019-08-28)
2019-08-28 06:46:53 +00:00
Louis Pontoise 080db1d736 ci: fix github release 2019-08-28 15:44:07 +09:00
Louis Pontoise 5cf630a206 ci: fix github release 2019-08-28 13:59:48 +09:00
semantic-release-bot e6688a3947 chore(release): 1.0.2 [skip ci]
## [1.0.2](https://github.com/lwouis/alt-tab-macos/compare/v1.0.1...v1.0.2) (2019-08-28)
2019-08-28 02:50:42 +00:00
Louis Pontoise 2cdfc4eb2e ci: fix github release 2019-08-28 11:48:10 +09:00
semantic-release-bot ca54ffec05 chore(release): 1.0.1 [skip ci]
## [1.0.1](https://github.com/lwouis/alt-tab-macos/compare/v1.0.0...v1.0.1) (2019-08-28)
2019-08-28 02:45:08 +00:00
Louis Pontoise f485aa3353 ci: fix github release 2019-08-28 11:42:31 +09:00
semantic-release-bot 0250a699bb chore(release): 1.0.0 [skip ci]
# 1.0.0 (2019-08-27)

### Features

* documented the project and reduced image sizes ([930c82d](https://github.com/lwouis/alt-tab-macos/commit/930c82d))
* mvp ([be59936](https://github.com/lwouis/alt-tab-macos/commit/be59936))
2019-08-27 16:23:04 +00:00
Louis Pontoise dceef7bfd6 ci: setup semantic-release and travisCI 2019-08-28 01:10:38 +09:00
Louis Pontoise 930c82df86 feat: documented the project and reduced image sizes 2019-08-27 20:50:13 +09:00
Louis Pontoise 3248b436af refactor: clearer file hierarchy 2019-08-27 20:04:06 +09:00
Louis Pontoise be59936601 feat: mvp 2019-08-27 19:46:53 +09:00
1111 changed files with 93263 additions and 28 deletions

No files matched your search

+2
View File
@@ -0,0 +1,2 @@
github: lwouis
patreon: lwouis
+29
View File
@@ -0,0 +1,29 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: bug
assignees: ''
---
**Describe the bug**
A clear and concise description of what the bug is. What happened, and what you think should have happened.
**Screenshots / video**
Add screenshots to help explain your problem. You can also record your screen to show the bug in action. That is *really* helpful!
**Steps to reproduce the bug**
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Your environment**
* AltTab version:
* macOS version:
* Other relevant info: e.g. using external keyboard, multiple monitors, etc
@@ -0,0 +1,17 @@
---
name: Feature suggestion
about: Suggest an idea for this project
title: ''
labels: enhancement
assignees: ''
---
**Is your feature suggestion related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
+10
View File
@@ -0,0 +1,10 @@
---
name: Other
about: Share something that's not a bug report, and not a feature suggestion
title: ''
labels: ''
assignees: ''
---
+4
View File
@@ -0,0 +1,4 @@
Thank you for opening a PR! Please make sure that:
* The title and description of the PR convey what the change is about, by mentioning the ticket it addresses for instance.
* The commits messages [follow the convention](https://www.conventionalcommits.org/en/v1.0.0-beta.4/#summary), so your PR can be merged.
+13
View File
@@ -0,0 +1,13 @@
/.idea/
xcuserdata/
WorkspaceSettings.xcsettings
IDEWorkspaceChecks.plist
/node_modules/
/DerivedData/
/build/
.DS_Store
docs/_site/
codesign.conf
codesign.crt
codesign.key
codesign.p12
+34
View File
@@ -0,0 +1,34 @@
branches:
only:
- master
- develop
os: osx
osx_image: xcode13.4
language: node_js
node_js:
- 10
addons:
ssh_known_hosts: github.com
homebrew:
packages:
- vitorgalvao/tiny-scripts/cask-repair
update: true
env:
global:
- IS_RELEASE=$(if [ "$TRAVIS_BRANCH" = "master" -a "$TRAVIS_PULL_REQUEST" = "false" ]; then echo true; fi)
- XCODE_BUILD_PATH="DerivedData/Build/Products/Release"
- VERSION_FILE="VERSION.txt"
- APP_NAME="$(awk -F ' = ' '/PRODUCT_NAME/ { print $2; }' < config/base.xcconfig)"
install: true # disable default install
script: scripts/travis.sh
before_deploy: if [[ $TRAVIS_TEST_RESULT == 1 ]]; then echo "build failed; exiting to prevent deploy phases"; sleep 2; exit 1; fi
deploy:
provider: releases
token:
secure: wZUHfOs+JQ0ikNMJ8BnM+8fuoQdhgOEQpNd01ueZxe760GAAjSbq1icME8qaYJJMk1G6n14jo9ecEhzxF0XV8hSdy4WtikK7l5SXiOx5Efuh/tNscmHggGk235eLwQD9pglePZsP3xJUB1BHEj260rypkjnSx5kVOfLUeB1ASeg4+KdxZd2vXjwel+YQf+dYbNUYtwoWqjiLbqT1ao+0q04MPgD2c9jb+HnsA94LUGb44lPXqfUJ+xG2LxBpcDW/q1JhFXL/AmJb0dOOEVzzrBqfWysPukgPMONexZse4c3BBqkMI52ZuF3OoEVAffofmuGKiR5OoyU/hW17xi9jGeb79r+Xt4RdaJAgwcn7/7GtemYKUJp8jhLGsy9XZJShENX7UHTkP3L4iyOrd2Wz+ctZWAebyNReLt985/xTaplpDiQrPcKAuQNBa4sgWk5rIsf7Z0tcBfZau/fQl9Q4100xTbwC+GeAbL0IyXG3kVzQGsGllXHr/2JM1sj7rmKA7lmDlp7xiOBCPscn2YCT87U+F6VbYoNvnxne0igQOUwrvX4qa4XlYrUXDeHcyKku0m8znY74nOu+m6LXkIt8r29pi6Xac0/ZGMwKZRUvKg/skamWPRoy9DAVd8TBQW1c91oYKmqDQRy0eWnD6X1djcKywJ7WlSQDejebJql0h+o=
file_glob: true
file: "$XCODE_BUILD_PATH/*.zip"
skip_cleanup: true
on:
repo: lwouis/alt-tab-macos
after_deploy: scripts/update_homebrew_cask.sh
+56
View File
@@ -0,0 +1,56 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>ATSApplicationFontsPath</key>
<string></string>
<key>AppCenterApplicationForwarderEnabled</key>
<string>0</string>
<key>AppCenterSecret</key>
<string>#APPCENTER_SECRET#</string>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIconFile</key>
<string>app.icns</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>#VERSION#</string>
<key>CFBundleVersion</key>
<string>#VERSION#</string>
<key>FeedbackToken</key>
<string>#FEEDBACK_TOKEN#</string>
<key>LSApplicationCategoryType</key>
<string>public.app-category.utilities</string>
<key>LSMinimumSystemVersion</key>
<string>$(MACOSX_DEPLOYMENT_TARGET)</string>
<key>LSUIElement</key>
<string>true</string>
<key>NSHumanReadableCopyright</key>
<string>GPL-3.0 licence</string>
<key>NSPrincipalClass</key>
<string>AppCenterApplication</string>
<key>NSSupportsAutomaticTermination</key>
<string>false</string>
<key>NSSupportsSuddenTermination</key>
<string>false</string>
<key>SUEnableAutomaticChecks</key>
<string>true</string>
<key>SUEnableJavaScript</key>
<string>true</string>
<key>SUFeedURL</key>
<string>https://raw.githubusercontent.com/lwouis/alt-tab-macos/master/appcast.xml</string>
<key>SUPublicEDKey</key>
<string>2e9SQOBoaKElchSa/4QDli/nvYkyuDNfynfzBF6vJK4=</string>
<key>SUScheduledCheckInterval</key>
<string>604800</string>
</dict>
</plist>
+674
View File
@@ -0,0 +1,674 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<https://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<https://www.gnu.org/licenses/why-not-lgpl.html>.
+11
View File
@@ -0,0 +1,11 @@
[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true
[dev-packages]
[packages]
fonttools = "*"
[scripts]
Generated
+27
View File
@@ -0,0 +1,27 @@
{
"_meta": {
"hash": {
"sha256": "8f11c81dff5e32871b7cb2314acb76fd1fb4a06fdb403a65bc6749fe3770eda6"
},
"pipfile-spec": 6,
"requires": {},
"sources": [
{
"name": "pypi",
"url": "https://pypi.org/simple",
"verify_ssl": true
}
]
},
"default": {
"fonttools": {
"hashes": [
"sha256:596c0e8399c650dbf1048b7ca6fc7b12bd79a7db0981f3b87743de8c2b7512de",
"sha256:6d241d319ea9eae4c4ee27cbd1db8656dbd496dd9aa884401debfab3a4c7d82b"
],
"index": "pypi",
"version": "==4.8.1"
}
},
"develop": {}
}
+10
View File
@@ -0,0 +1,10 @@
platform :osx, '10.12'
target 'alt-tab-macos' do
use_frameworks!
pod 'LetsMove', :git => 'https://github.com/lwouis/LetsMove.git', :commit => '7abf4daed1a25218f2b52f2dfd190aee5a50071c'
pod 'Sparkle', :podspec => 'https://raw.githubusercontent.com/lwouis/Sparkle/fix-iframe-popup-1.24/Sparkle.podspec'
pod 'ShortcutRecorder', :git => 'https://github.com/lwouis/ShortcutRecorder.git', :branch => 'alt-tab-current'
pod 'SwiftyMarkdown', '1.1.0'
pod 'AppCenter/Crashes', '4.3.0'
end
+49
View File
@@ -0,0 +1,49 @@
PODS:
- AppCenter/Core (4.3.0)
- AppCenter/Crashes (4.3.0):
- AppCenter/Core
- LetsMove (1.24)
- ShortcutRecorder (3.1)
- Sparkle (1.24.0)
- SwiftyMarkdown (1.1.0)
DEPENDENCIES:
- AppCenter/Crashes (= 4.3.0)
- LetsMove (from `https://github.com/lwouis/LetsMove.git`, commit `7abf4daed1a25218f2b52f2dfd190aee5a50071c`)
- ShortcutRecorder (from `https://github.com/lwouis/ShortcutRecorder.git`, branch `alt-tab-current`)
- Sparkle (from `https://raw.githubusercontent.com/lwouis/Sparkle/fix-iframe-popup-1.24/Sparkle.podspec`)
- SwiftyMarkdown (= 1.1.0)
SPEC REPOS:
trunk:
- AppCenter
- SwiftyMarkdown
EXTERNAL SOURCES:
LetsMove:
:commit: 7abf4daed1a25218f2b52f2dfd190aee5a50071c
:git: https://github.com/lwouis/LetsMove.git
ShortcutRecorder:
:branch: alt-tab-current
:git: https://github.com/lwouis/ShortcutRecorder.git
Sparkle:
:podspec: https://raw.githubusercontent.com/lwouis/Sparkle/fix-iframe-popup-1.24/Sparkle.podspec
CHECKOUT OPTIONS:
LetsMove:
:commit: 7abf4daed1a25218f2b52f2dfd190aee5a50071c
:git: https://github.com/lwouis/LetsMove.git
ShortcutRecorder:
:commit: 5bb32febdab48038ce1762bf14f5ce8024b11fe7
:git: https://github.com/lwouis/ShortcutRecorder.git
SPEC CHECKSUMS:
AppCenter: 883369ab78427b0561c688158d689dfe1f993ea9
LetsMove: fefe56bc7bc7fb7d37049e28a14f297961229fc5
ShortcutRecorder: fdf620aca34101b0cba3b10fca815e0459254189
Sparkle: 1fa490bb4ab2a9b37cfb9ea4feec19dd33b81cd2
SwiftyMarkdown: 033abc9dad9a37903f81aec5188cade436f40520
PODFILE CHECKSUM: db137cd4263235b552493949169a44f7e874a90f
COCOAPODS: 1.9.1
BIN
View File
Binary file not shown.
@@ -0,0 +1,99 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>AvailableLibraries</key>
<array>
<dict>
<key>LibraryIdentifier</key>
<string>tvos-arm64</string>
<key>LibraryPath</key>
<string>AppCenter.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
</array>
<key>SupportedPlatform</key>
<string>tvos</string>
</dict>
<dict>
<key>LibraryIdentifier</key>
<string>ios-arm64_x86_64-maccatalyst</string>
<key>LibraryPath</key>
<string>AppCenter.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
<string>x86_64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
<key>SupportedPlatformVariant</key>
<string>maccatalyst</string>
</dict>
<dict>
<key>LibraryIdentifier</key>
<string>ios-arm64_i386_x86_64-simulator</string>
<key>LibraryPath</key>
<string>AppCenter.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
<string>i386</string>
<string>x86_64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict>
<dict>
<key>LibraryIdentifier</key>
<string>ios-arm64_arm64e_armv7_armv7s</string>
<key>LibraryPath</key>
<string>AppCenter.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
<string>arm64e</string>
<string>armv7</string>
<string>armv7s</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
</dict>
<dict>
<key>LibraryIdentifier</key>
<string>tvos-arm64_x86_64-simulator</string>
<key>LibraryPath</key>
<string>AppCenter.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
<string>x86_64</string>
</array>
<key>SupportedPlatform</key>
<string>tvos</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict>
<dict>
<key>LibraryIdentifier</key>
<string>macos-arm64_x86_64</string>
<key>LibraryPath</key>
<string>AppCenter.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
<string>x86_64</string>
</array>
<key>SupportedPlatform</key>
<string>macos</string>
</dict>
</array>
<key>CFBundlePackageType</key>
<string>XFWK</string>
<key>XCFrameworkFormatVersion</key>
<string>1.0</string>
</dict>
</plist>
@@ -0,0 +1,44 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
#if __has_include(<AppCenter/MSACAppCenter.h>)
#import <AppCenter/MSACAbstractLog.h>
#import <AppCenter/MSACAppCenter.h>
#import <AppCenter/MSACAppCenterErrors.h>
#import <AppCenter/MSACChannelGroupProtocol.h>
#import <AppCenter/MSACChannelProtocol.h>
#import <AppCenter/MSACConstants+Flags.h>
#import <AppCenter/MSACConstants.h>
#import <AppCenter/MSACCustomProperties.h>
#import <AppCenter/MSACDevice.h>
#import <AppCenter/MSACEnable.h>
#import <AppCenter/MSACLog.h>
#import <AppCenter/MSACLogWithProperties.h>
#import <AppCenter/MSACLogger.h>
#import <AppCenter/MSACSerializableObject.h>
#import <AppCenter/MSACService.h>
#import <AppCenter/MSACServiceAbstract.h>
#import <AppCenter/MSACWrapperLogger.h>
#import <AppCenter/MSACWrapperSdk.h>
#else
#import "MSACAbstractLog.h"
#import "MSACAppCenter.h"
#import "MSACAppCenterErrors.h"
#import "MSACChannelGroupProtocol.h"
#import "MSACChannelProtocol.h"
#import "MSACConstants+Flags.h"
#import "MSACConstants.h"
#import "MSACCustomProperties.h"
#import "MSACDevice.h"
#import "MSACEnable.h"
#import "MSACLog.h"
#import "MSACLogWithProperties.h"
#import "MSACLogger.h"
#import "MSACSerializableObject.h"
#import "MSACService.h"
#import "MSACServiceAbstract.h"
#import "MSACWrapperLogger.h"
#import "MSACWrapperSdk.h"
#endif
@@ -0,0 +1,14 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#ifndef MSAC_ABSTRACT_LOG_H
#define MSAC_ABSTRACT_LOG_H
#import <Foundation/Foundation.h>
NS_SWIFT_NAME(AbstractLog)
@interface MSACAbstractLog : NSObject
@end
#endif
@@ -0,0 +1,203 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
#ifndef MSAC_APP_CENTER
#define MSAC_APP_CENTER
#if __has_include(<AppCenter/MSACConstants.h>)
#import <AppCenter/MSACConstants.h>
#else
#import "MSACConstants.h"
#endif
@class MSACWrapperSdk;
#if !TARGET_OS_TV
@class MSACCustomProperties;
#endif
NS_SWIFT_NAME(AppCenter)
@interface MSACAppCenter : NSObject
/**
* Returns the singleton instance of MSACAppCenter.
*/
+ (instancetype)sharedInstance;
/**
* Configure the SDK with an application secret.
*
* @param appSecret A unique and secret key used to identify the application.
*
* @discussion This may be called only once per application process lifetime.
*/
+ (void)configureWithAppSecret:(NSString *)appSecret NS_SWIFT_NAME(configure(withAppSecret:));
/**
* Configure the SDK.
*
* @discussion This may be called only once per application process lifetime.
*/
+ (void)configure;
/**
* Configure the SDK with an application secret and an array of services to start.
*
* @param appSecret A unique and secret key used to identify the application.
* @param services Array of services to start.
*
* @discussion This may be called only once per application process lifetime.
*/
+ (void)start:(NSString *)appSecret withServices:(NSArray<Class> *)services NS_SWIFT_NAME(start(withAppSecret:services:));
/**
* Start the SDK with an array of services.
*
* @param services Array of services to start.
*
* @discussion This may be called only once per application process lifetime.
*/
+ (void)startWithServices:(NSArray<Class> *)services NS_SWIFT_NAME(start(services:));
/**
* Start a service.
*
* @param service A service to start.
*
* @discussion This may be called only once per service per application process lifetime.
*/
+ (void)startService:(Class)service;
/**
* Configure the SDK with an array of services to start from a library. This will not start the service at application level, it will enable
* the service only for the library.
*
* @param services Array of services to start.
*/
+ (void)startFromLibraryWithServices:(NSArray<Class> *)services NS_SWIFT_NAME(startFromLibrary(services:));
/**
* The flag indicates whether the SDK has already been configured or not.
*/
@property(class, atomic, readonly, getter=isConfigured) BOOL configured;
/**
* The flag indicates whether app is running in App Center Test Cloud.
*/
@property(class, atomic, readonly, getter=isRunningInAppCenterTestCloud) BOOL runningInAppCenterTestCloud;
/**
* The flag indicates whether or not the SDK was enabled as a whole
*
* The state is persisted in the device's storage across application launches.
*/
@property(class, nonatomic, getter=isEnabled, setter=setEnabled:) BOOL enabled NS_SWIFT_NAME(enabled);
/**
* Flag indicating whether SDK can send network requests.
*
* The state is persisted in the device's storage across application launches.
*/
@property(class, nonatomic, getter=isNetworkRequestsAllowed, setter=setNetworkRequestsAllowed:)
BOOL networkRequestsAllowed NS_SWIFT_NAME(networkRequestsAllowed);
/**
* The SDK's log level.
*/
@property(class, nonatomic) MSACLogLevel logLevel;
/**
* Base URL to use for backend communication.
*/
@property(class, nonatomic, strong) NSString *logUrl;
/**
* Set log handler.
*/
@property(class, nonatomic) MSACLogHandler logHandler;
/**
* Set wrapper SDK information to use when building device properties. This is intended in case you are building a SDK that uses the App
* Center SDK under the hood, e.g. our Xamarin SDK or ReactNative SDk.
*/
@property(class, nonatomic, strong) MSACWrapperSdk *wrapperSdk;
#if !TARGET_OS_TV
/**
* Set the custom properties.
*
* @param customProperties Custom properties object.
*/
+ (void)setCustomProperties:(MSACCustomProperties *)customProperties;
#endif
/**
* Check whether the application delegate forwarder is enabled or not.
*
* @discussion The application delegate forwarder forwards messages that target your application delegate methods via swizzling to the SDK.
* It simplifies the SDK integration but may not be suitable to any situations. For
* instance it should be disabled if you or one of your third party SDK is doing message forwarding on the application delegate. Message
* forwarding usually implies the implementation of @see NSObject#forwardingTargetForSelector: or @see NSObject#forwardInvocation: methods.
* To disable the application delegate forwarder just add the `AppCenterAppDelegateForwarderEnabled` tag to your Info .plist file and set it
* to `0`. Then you will have to forward any application delegate needed by the SDK manually.
*/
@property(class, readonly, nonatomic, getter=isAppDelegateForwarderEnabled) BOOL appDelegateForwarderEnabled;
/**
* Unique installation identifier.
*
*/
@property(class, readonly, nonatomic) NSUUID *installId;
/**
* Detect if a debugger is attached to the app process. This is only invoked once on app startup and can not detect
* if the debugger is being attached during runtime!
*
*/
@property(class, readonly, nonatomic, getter=isDebuggerAttached) BOOL debuggerAttached;
/**
* Current version of AppCenter SDK.
*
*/
@property(class, readonly, nonatomic) NSString *sdkVersion;
/**
* Set the maximum size of the internal storage. This method must be called before App Center is started. This method is only intended for
* applications.
*
* @param sizeInBytes Maximum size of the internal storage in bytes. This will be rounded up to the nearest multiple of a SQLite page size
* (default is 4096 bytes). Values below 20,480 bytes (20 KiB) will be ignored.
*
* @param completionHandler Callback that is invoked when the database size has been set. The `BOOL` parameter is `YES` if changing the size
* is successful, and `NO` otherwise. This parameter can be null.
*
* @discussion This only sets the maximum size of the database, but App Center modules might store additional data.
* The value passed to this method is not persisted on disk. The default maximum database size is 10485760 bytes (10 MiB).
*/
+ (void)setMaxStorageSize:(long)sizeInBytes completionHandler:(void (^)(BOOL))completionHandler;
/**
* Set the user identifier.
*
* @discussion Set the user identifier for logs sent for the default target token when the secret passed in @c
* MSACAppCenter:start:withServices: contains "target={targetToken}".
*
* For App Center backend the user identifier maximum length is 256 characters.
*
* AppCenter must be configured or started before this API can be used.
*/
@property(class, nonatomic, strong) NSString *userId;
/**
* Set country code to use when building device properties.
*
* @see https://www.iso.org/obp/ui/#search for more information.
*/
@property(class, nonatomic, strong) NSString *countryCode;
@end
#endif
@@ -0,0 +1,41 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#ifndef MSAC_APP_CENTER_ERRORS_H
#define MSAC_APP_CENTER_ERRORS_H
#import <Foundation/Foundation.h>
#define MSAC_APP_CENTER_BASE_DOMAIN @"com.Microsoft.AppCenter."
NS_ASSUME_NONNULL_BEGIN
#pragma mark - Domain
static NSString *const kMSACACErrorDomain = MSAC_APP_CENTER_BASE_DOMAIN @"ErrorDomain";
#pragma mark - General
// Error codes.
NS_ENUM(NSInteger){MSACACLogInvalidContainerErrorCode = 1, MSACACCanceledErrorCode = 2, MSACACDisabledErrorCode = 3};
// Error descriptions.
static NSString const *kMSACACLogInvalidContainerErrorDesc = @"Invalid log container.";
static NSString const *kMSACACCanceledErrorDesc = @"The operation was canceled.";
static NSString const *kMSACACDisabledErrorDesc = @"The service is disabled.";
#pragma mark - Connection
// Error codes.
NS_ENUM(NSInteger){MSACACConnectionPausedErrorCode = 100, MSACACConnectionHttpErrorCode = 101};
// Error descriptions.
static NSString const *kMSACACConnectionHttpErrorDesc = @"An HTTP error occured.";
static NSString const *kMSACACConnectionPausedErrorDesc = @"Canceled, connection paused with log deletion.";
// Error user info keys.
static NSString const *kMSACACConnectionHttpCodeErrorKey = @"MSConnectionHttpCode";
NS_ASSUME_NONNULL_END
#endif
@@ -0,0 +1,87 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#ifndef MSAC_CHANNEL_GROUP_PROTOCOL_H
#define MSAC_CHANNEL_GROUP_PROTOCOL_H
#import <Foundation/Foundation.h>
#if __has_include(<AppCenter/MSACChannelProtocol.h>)
#import <AppCenter/MSACChannelProtocol.h>
#else
#import "MSACChannelProtocol.h"
#endif
NS_ASSUME_NONNULL_BEGIN
@class MSACChannelUnitConfiguration;
@protocol MSACIngestionProtocol;
@protocol MSACChannelUnitProtocol;
/**
* `MSACChannelGroupProtocol` represents a kind of channel that contains constituent MSACChannelUnit objects. When an operation from the
* `MSACChannelProtocol` is performed on the group, that operation should be propagated to its constituent MSACChannelUnit objects.
*/
NS_SWIFT_NAME(ChannelGroupProtocol)
@protocol MSACChannelGroupProtocol <MSACChannelProtocol>
/**
* Initialize a channel unit with the given configuration.
*
* @param configuration channel configuration.
*
* @return The added `MSACChannelUnitProtocol`. Use this object to enqueue logs.
*/
- (id<MSACChannelUnitProtocol>)addChannelUnitWithConfiguration:(MSACChannelUnitConfiguration *)configuration
NS_SWIFT_NAME(addChannelUnit(withConfiguration:));
/**
* Initialize a channel unit with the given configuration.
*
* @param configuration channel configuration.
* @param ingestion The alternative ingestion object
*
* @return The added `MSACChannelUnitProtocol`. Use this object to enqueue logs.
*/
- (id<MSACChannelUnitProtocol>)addChannelUnitWithConfiguration:(MSACChannelUnitConfiguration *)configuration
withIngestion:(nullable id<MSACIngestionProtocol>)ingestion
NS_SWIFT_NAME(addChannelUnit(_:ingestion:));
/**
* Change the base URL (schema + authority + port only) used to communicate with the backend.
*/
@property(nonatomic, strong) NSString *_Nullable logUrl;
/**
* Set the app secret.
*/
@property(nonatomic, strong) NSString *_Nullable appSecret;
/**
* Set the maximum size of the internal storage. This method must be called before App Center is started.
*
* @discussion The default maximum database size is 10485760 bytes (10 MiB).
*
* @param sizeInBytes Maximum size of the internal storage in bytes. This will be rounded up to the nearest multiple of a SQLite page size
* (default is 4096 bytes). Values below 24576 bytes (24 KiB) will be ignored.
* @param completionHandler Callback that is invoked when the database size has been set. The `BOOL` parameter is `YES` if changing the size
* is successful, and `NO` otherwise.
*/
- (void)setMaxStorageSize:(long)sizeInBytes
completionHandler:(nullable void (^)(BOOL))completionHandler NS_SWIFT_NAME(setMaxStorageSize(_:completionHandler:));
/**
* Return a channel unit instance for the given groupId.
*
* @param groupId The group ID for a channel unit.
*
* @return A channel unit instance or `nil`.
*/
- (nullable id<MSACChannelUnitProtocol>)channelUnitForGroupId:(NSString *)groupId;
@end
NS_ASSUME_NONNULL_END
#endif
@@ -0,0 +1,68 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#ifndef MSAC_CHANNEL_PROTOCOL_H
#define MSAC_CHANNEL_PROTOCOL_H
#import <Foundation/Foundation.h>
#if __has_include(<AppCenter/MSACEnable.h>)
#import <AppCenter/MSACEnable.h>
#else
#import "MSACEnable.h"
#endif
NS_ASSUME_NONNULL_BEGIN
@protocol MSACChannelDelegate;
/**
* `MSACChannelProtocol` contains the essential operations of a channel. Channels are broadly responsible for enqueuing logs to be sent to
* the backend and/or stored on disk.
*/
NS_SWIFT_NAME(ChannelProtocol)
@protocol MSACChannelProtocol <NSObject, MSACEnable>
/**
* Add delegate.
*
* @param delegate delegate.
*/
- (void)addDelegate:(id<MSACChannelDelegate>)delegate;
/**
* Remove delegate.
*
* @param delegate delegate.
*/
- (void)removeDelegate:(id<MSACChannelDelegate>)delegate;
/**
* Pause operations, logs will be stored but not sent.
*
* @param identifyingObject Object used to identify the pause request.
*
* @discussion A paused channel doesn't forward logs to the ingestion. The identifying object used to pause the channel can be any unique
* object. The same identifying object must be used to call resume. For simplicity if the caller is the one owning the channel then @c self
* can be used as identifying object.
*
* @see resumeWithIdentifyingObject:
*/
- (void)pauseWithIdentifyingObject:(id<NSObject>)identifyingObject;
/**
* Resume operations, logs can be sent again.
*
* @param identifyingObject Object used to passed to the pause method.
*
* @discussion The channel only resume when all the outstanding identifying objects have been resumed.
*
* @see pauseWithIdentifyingObject:
*/
- (void)resumeWithIdentifyingObject:(id<NSObject>)identifyingObject;
@end
NS_ASSUME_NONNULL_END
#endif
@@ -0,0 +1,18 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#ifndef MSAC_CONSTANTS_FLAGS_H
#define MSAC_CONSTANTS_FLAGS_H
#import <Foundation/Foundation.h>
typedef NS_OPTIONS(NSUInteger, MSACFlags) {
MSACFlagsNone = (0 << 0), // => 00000000
MSACFlagsNormal = (1 << 0), // => 00000001
MSACFlagsCritical = (1 << 1), // => 00000010
MSACFlagsPersistenceNormal DEPRECATED_MSG_ATTRIBUTE("please use MSACFlagsNormal") = MSACFlagsNormal,
MSACFlagsPersistenceCritical DEPRECATED_MSG_ATTRIBUTE("please use MSACFlagsCritical") = MSACFlagsCritical,
MSACFlagsDefault = MSACFlagsNormal
} NS_SWIFT_NAME(Flags);
#endif
@@ -0,0 +1,170 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
/**
* Log Levels
*/
typedef NS_ENUM(NSUInteger, MSACLogLevel) {
/**
* Logging will be very chatty
*/
MSACLogLevelVerbose = 2,
/**
* Debug information will be logged
*/
MSACLogLevelDebug = 3,
/**
* Information will be logged
*/
MSACLogLevelInfo = 4,
/**
* Errors and warnings will be logged
*/
MSACLogLevelWarning = 5,
/**
* Errors will be logged
*/
MSACLogLevelError = 6,
/**
* Only critical errors will be logged
*/
MSACLogLevelAssert = 7,
/**
* Logging is disabled
*/
MSACLogLevelNone = 99
} NS_SWIFT_NAME(LogLevel);
typedef NSString * (^MSACLogMessageProvider)(void)NS_SWIFT_NAME(LogMessageProvider);
typedef void (^MSACLogHandler)(MSACLogMessageProvider messageProvider, MSACLogLevel logLevel, NSString *tag, const char *file,
const char *function, uint line) NS_SWIFT_NAME(LogHandler);
/**
* Channel priorities, check the kMSACPriorityCount if you add a new value.
* The order matters here! Values NEED to range from low priority to high priority.
*/
typedef NS_ENUM(NSInteger, MSACPriority) { MSACPriorityBackground, MSACPriorityDefault, MSACPriorityHigh } NS_SWIFT_NAME(Priority);
static short const kMSACPriorityCount = MSACPriorityHigh + 1;
/**
* The priority by which the modules are initialized.
* MSACPriorityMax is reserved for only 1 module and this needs to be Crashes.
* Crashes needs to be initialized first to catch crashes in our other SDK Modules (which will hopefully never happen) and to avoid losing
* any log at crash time.
*/
typedef NS_ENUM(NSInteger, MSACInitializationPriority) {
MSACInitializationPriorityDefault = 500,
MSACInitializationPriorityHigh = 750,
MSACInitializationPriorityMax = 999
} NS_SWIFT_NAME(InitializationPriority);
/**
* Enum with the different HTTP status codes.
*/
typedef NS_ENUM(NSInteger, MSACHTTPCodesNo) {
// Invalid
MSACHTTPCodesNo0XXInvalidUnknown = 0,
// Informational
MSACHTTPCodesNo1XXInformationalUnknown = 1,
MSACHTTPCodesNo100Continue = 100,
MSACHTTPCodesNo101SwitchingProtocols = 101,
MSACHTTPCodesNo102Processing = 102,
// Success
MSACHTTPCodesNo2XXSuccessUnknown = 2,
MSACHTTPCodesNo200OK = 200,
MSACHTTPCodesNo201Created = 201,
MSACHTTPCodesNo202Accepted = 202,
MSACHTTPCodesNo203NonAuthoritativeInformation = 203,
MSACHTTPCodesNo204NoContent = 204,
MSACHTTPCodesNo205ResetContent = 205,
MSACHTTPCodesNo206PartialContent = 206,
MSACHTTPCodesNo207MultiStatus = 207,
MSACHTTPCodesNo208AlreadyReported = 208,
MSACHTTPCodesNo209IMUsed = 209,
// Redirection
MSACHTTPCodesNo3XXSuccessUnknown = 3,
MSACHTTPCodesNo300MultipleChoices = 300,
MSACHTTPCodesNo301MovedPermanently = 301,
MSACHTTPCodesNo302Found = 302,
MSACHTTPCodesNo303SeeOther = 303,
MSACHTTPCodesNo304NotModified = 304,
MSACHTTPCodesNo305UseProxy = 305,
MSACHTTPCodesNo306SwitchProxy = 306,
MSACHTTPCodesNo307TemporaryRedirect = 307,
MSACHTTPCodesNo308PermanentRedirect = 308,
// Client error
MSACHTTPCodesNo4XXSuccessUnknown = 4,
MSACHTTPCodesNo400BadRequest = 400,
MSACHTTPCodesNo401Unauthorised = 401,
MSACHTTPCodesNo402PaymentRequired = 402,
MSACHTTPCodesNo403Forbidden = 403,
MSACHTTPCodesNo404NotFound = 404,
MSACHTTPCodesNo405MethodNotAllowed = 405,
MSACHTTPCodesNo406NotAcceptable = 406,
MSACHTTPCodesNo407ProxyAuthenticationRequired = 407,
MSACHTTPCodesNo408RequestTimeout = 408,
MSACHTTPCodesNo409Conflict = 409,
MSACHTTPCodesNo410Gone = 410,
MSACHTTPCodesNo411LengthRequired = 411,
MSACHTTPCodesNo412PreconditionFailed = 412,
MSACHTTPCodesNo413RequestEntityTooLarge = 413,
MSACHTTPCodesNo414RequestURITooLong = 414,
MSACHTTPCodesNo415UnsupportedMediaType = 415,
MSACHTTPCodesNo416RequestedRangeNotSatisfiable = 416,
MSACHTTPCodesNo417ExpectationFailed = 417,
MSACHTTPCodesNo418IamATeapot = 418,
MSACHTTPCodesNo419AuthenticationTimeout = 419,
MSACHTTPCodesNo420MethodFailureSpringFramework = 420,
MSACHTTPCodesNo420EnhanceYourCalmTwitter = 4200,
MSACHTTPCodesNo422UnprocessableEntity = 422,
MSACHTTPCodesNo423Locked = 423,
MSACHTTPCodesNo424FailedDependency = 424,
MSACHTTPCodesNo424MethodFailureWebDaw = 4240,
MSACHTTPCodesNo425UnorderedCollection = 425,
MSACHTTPCodesNo426UpgradeRequired = 426,
MSACHTTPCodesNo428PreconditionRequired = 428,
MSACHTTPCodesNo429TooManyRequests = 429,
MSACHTTPCodesNo431RequestHeaderFieldsTooLarge = 431,
MSACHTTPCodesNo444NoResponseNginx = 444,
MSACHTTPCodesNo449RetryWithMicrosoft = 449,
MSACHTTPCodesNo450BlockedByWindowsParentalControls = 450,
MSACHTTPCodesNo451RedirectMicrosoft = 451,
MSACHTTPCodesNo451UnavailableForLegalReasons = 4510,
MSACHTTPCodesNo494RequestHeaderTooLargeNginx = 494,
MSACHTTPCodesNo495CertErrorNginx = 495,
MSACHTTPCodesNo496NoCertNginx = 496,
MSACHTTPCodesNo497HTTPToHTTPSNginx = 497,
MSACHTTPCodesNo499ClientClosedRequestNginx = 499,
// Server error
MSACHTTPCodesNo5XXSuccessUnknown = 5,
MSACHTTPCodesNo500InternalServerError = 500,
MSACHTTPCodesNo501NotImplemented = 501,
MSACHTTPCodesNo502BadGateway = 502,
MSACHTTPCodesNo503ServiceUnavailable = 503,
MSACHTTPCodesNo504GatewayTimeout = 504,
MSACHTTPCodesNo505HTTPVersionNotSupported = 505,
MSACHTTPCodesNo506VariantAlsoNegotiates = 506,
MSACHTTPCodesNo507InsufficientStorage = 507,
MSACHTTPCodesNo508LoopDetected = 508,
MSACHTTPCodesNo509BandwidthLimitExceeded = 509,
MSACHTTPCodesNo510NotExtended = 510,
MSACHTTPCodesNo511NetworkAuthenticationRequired = 511,
MSACHTTPCodesNo522ConnectionTimedOut = 522,
MSACHTTPCodesNo598NetworkReadTimeoutErrorUnknown = 598,
MSACHTTPCodesNo599NetworkConnectTimeoutErrorUnknown = 599
} NS_SWIFT_NAME(HTTPCodesNo);
@@ -0,0 +1,71 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#ifndef MSAC_CUSTOM_PROPERTIES_H
#define MSAC_CUSTOM_PROPERTIES_H
#import <Foundation/Foundation.h>
/**
* Custom properties builder.
* Collects multiple properties to send in one log.
*/
NS_SWIFT_NAME(CustomProperties)
@interface MSACCustomProperties : NSObject
/**
* Set the specified property value with the specified key.
* If the properties previously contained a property for the key, the old value is replaced.
*
* @param key Key with which the specified value is to be set.
* @param value Value to be set with the specified key.
*
* @return This instance.
*/
- (instancetype)setString:(NSString *)value forKey:(NSString *)key NS_SWIFT_NAME(set(_:forKey:));
/**
* Set the specified property value with the specified key.
* If the properties previously contained a property for the key, the old value is replaced.
*
* @param key Key with which the specified value is to be set.
* @param value Value to be set with the specified key.
*
* @return This instance.
*/
- (instancetype)setNumber:(NSNumber *)value forKey:(NSString *)key NS_SWIFT_NAME(set(_:forKey:));
/**
* Set the specified property value with the specified key.
* If the properties previously contained a property for the key, the old value is replaced.
*
* @param key Key with which the specified value is to be set.
* @param value Value to be set with the specified key.
*
* @return This instance.
*/
- (instancetype)setBool:(BOOL)value forKey:(NSString *)key NS_SWIFT_NAME(set(_:forKey:));
/**
* Set the specified property value with the specified key.
* If the properties previously contained a property for the key, the old value is replaced.
*
* @param key Key with which the specified value is to be set.
* @param value Value to be set with the specified key.
*
* @return This instance.
*/
- (instancetype)setDate:(NSDate *)value forKey:(NSString *)key NS_SWIFT_NAME(set(_:forKey:));
/**
* Clear the property for the specified key.
*
* @param key Key whose mapping is to be cleared.
*
* @return This instance.
*/
- (instancetype)clearPropertyForKey:(NSString *)key NS_SWIFT_NAME(clearProperty(forKey:));
@end
#endif
@@ -0,0 +1,101 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#ifndef MSAC_DEVICE_H
#define MSAC_DEVICE_H
#import <Foundation/Foundation.h>
#if __has_include(<AppCenter/MSACWrapperSdk.h>)
#import <AppCenter/MSACWrapperSdk.h>
#else
#import "MSACWrapperSdk.h"
#endif
NS_SWIFT_NAME(Device)
@interface MSACDevice : MSACWrapperSdk
/*
* Name of the SDK. Consists of the name of the SDK and the platform, e.g. "appcenter.ios", "appcenter.android"
*/
@property(nonatomic, copy, readonly) NSString *sdkName;
/*
* Version of the SDK in semver format, e.g. "1.2.0" or "0.12.3-alpha.1".
*/
@property(nonatomic, copy, readonly) NSString *sdkVersion;
/*
* Device model (example: iPad2,3).
*/
@property(nonatomic, copy, readonly) NSString *model;
/*
* Device manufacturer (example: HTC).
*/
@property(nonatomic, copy, readonly) NSString *oemName;
/*
* OS name (example: iOS).
*/
@property(nonatomic, copy, readonly) NSString *osName;
/*
* OS version (example: 9.3.0).
*/
@property(nonatomic, copy, readonly) NSString *osVersion;
/*
* OS build code (example: LMY47X). [optional]
*/
@property(nonatomic, copy, readonly) NSString *osBuild;
/*
* API level when applicable like in Android (example: 15). [optional]
*/
@property(nonatomic, copy, readonly) NSNumber *osApiLevel;
/*
* Language code (example: en_US).
*/
@property(nonatomic, copy, readonly) NSString *locale;
/*
* The offset in minutes from UTC for the device time zone, including daylight savings time.
*/
@property(nonatomic, readonly, strong) NSNumber *timeZoneOffset;
/*
* Screen size of the device in pixels (example: 640x480).
*/
@property(nonatomic, copy, readonly) NSString *screenSize;
/*
* Application version name, e.g. 1.1.0
*/
@property(nonatomic, copy, readonly) NSString *appVersion;
/*
* Carrier name (for mobile devices). [optional]
*/
@property(nonatomic, copy, readonly) NSString *carrierName;
/*
* Carrier country code (for mobile devices). [optional]
*/
@property(nonatomic, copy, readonly) NSString *carrierCountry;
/*
* The app's build number, e.g. 42.
*/
@property(nonatomic, copy, readonly) NSString *appBuild;
/*
* The bundle identifier, package identifier, or namespace, depending on what the individual plattforms use, .e.g com.microsoft.example.
* [optional]
*/
@property(nonatomic, copy, readonly) NSString *appNamespace;
@end
#endif
@@ -0,0 +1,27 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#ifndef MSAC_ENABLE_H
#define MSAC_ENABLE_H
#import <Foundation/Foundation.h>
/**
* Protocol to define an instance that can be enabled/disabled.
*/
NS_SWIFT_NAME(Enable)
@protocol MSACEnable <NSObject>
@required
/**
* Enable/disable this instance and delete data on disabled state.
*
* @param isEnabled A boolean value set to YES to enable the instance or NO to disable it.
* @param deleteData A boolean value set to YES to delete data or NO to keep it.
*/
- (void)setEnabled:(BOOL)isEnabled andDeleteDataOnDisabled:(BOOL)deleteData NS_SWIFT_NAME(setEnabled(_:deleteDataOnDisabled:));
@end
#endif
@@ -0,0 +1,74 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#ifndef MSAC_LOG_H
#define MSAC_LOG_H
#import <Foundation/Foundation.h>
@class MSACDevice;
NS_SWIFT_NAME(Log)
@protocol MSACLog <NSObject>
/**
* Log type.
*/
@property(nonatomic, copy) NSString *type;
/**
* Log timestamp.
*/
@property(nonatomic, strong) NSDate *timestamp;
/**
* A session identifier is used to correlate logs together. A session is an abstract concept in the API and is not necessarily an analytics
* session, it can be used to only track crashes.
*/
@property(nonatomic, copy) NSString *sid;
/**
* Optional distribution group ID value.
*/
@property(nonatomic, copy) NSString *distributionGroupId;
/**
* Optional user identifier.
*/
@property(nonatomic, copy) NSString *userId;
/**
* Device properties associated to this log.
*/
@property(nonatomic, strong) MSACDevice *device;
/**
* Transient object tag. For example, a log can be tagged with a transmission target. We do this currently to prevent properties being
* applied retroactively to previous logs by comparing their tags.
*/
@property(nonatomic, strong) NSObject *tag;
/**
* Checks if the object's values are valid.
*
* @return YES, if the object is valid.
*/
- (BOOL)isValid;
/**
* Adds a transmission target token that this log should be sent to.
*
* @param token The transmission target token.
*/
- (void)addTransmissionTargetToken:(NSString *)token;
/**
* Gets all transmission target tokens that this log should be sent to.
*
* @returns Collection of transmission target tokens that this log should be sent to.
*/
- (NSSet *)transmissionTargetTokens;
@end
#endif
@@ -0,0 +1,25 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#ifndef MSAC_LOG_WITH_PROPERTIES_H
#define MSAC_LOG_WITH_PROPERTIES_H
#import <Foundation/Foundation.h>
#if __has_include(<AppCenter/MSACAbstractLog.h>)
#import <AppCenter/MSACAbstractLog.h>
#else
#import "MSACAbstractLog.h"
#endif
NS_SWIFT_NAME(LogWithProperties)
@interface MSACLogWithProperties : MSACAbstractLog
/**
* Additional key/value pair parameters. [optional]
*/
@property(nonatomic, strong) NSDictionary<NSString *, NSString *> *properties;
@end
#endif
@@ -0,0 +1,54 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
#ifndef MSAC_LOGGER
#define MSAC_LOGGER
#if __has_include(<AppCenter/MSACConstants.h>)
#import <AppCenter/MSACConstants.h>
#else
#import "MSACConstants.h"
#endif
#define MSACLog(_level, _tag, _message) \
[MSACLogger logMessage:_message level:_level tag:_tag file:__FILE__ function:__PRETTY_FUNCTION__ line:__LINE__]
#define MSACLogAssert(tag, format, ...) \
MSACLog(MSACLogLevelAssert, tag, (^{ \
return [NSString stringWithFormat:(format), ##__VA_ARGS__]; \
}))
#define MSACLogError(tag, format, ...) \
MSACLog(MSACLogLevelError, tag, (^{ \
return [NSString stringWithFormat:(format), ##__VA_ARGS__]; \
}))
#define MSACLogWarning(tag, format, ...) \
MSACLog(MSACLogLevelWarning, tag, (^{ \
return [NSString stringWithFormat:(format), ##__VA_ARGS__]; \
}))
#define MSACLogInfo(tag, format, ...) \
MSACLog(MSACLogLevelInfo, tag, (^{ \
return [NSString stringWithFormat:(format), ##__VA_ARGS__]; \
}))
#define MSACLogDebug(tag, format, ...) \
MSACLog(MSACLogLevelDebug, tag, (^{ \
return [NSString stringWithFormat:(format), ##__VA_ARGS__]; \
}))
#define MSACLogVerbose(tag, format, ...) \
MSACLog(MSACLogLevelVerbose, tag, (^{ \
return [NSString stringWithFormat:(format), ##__VA_ARGS__]; \
}))
NS_SWIFT_NAME(Logger)
@interface MSACLogger : NSObject
+ (void)logMessage:(MSACLogMessageProvider)messageProvider
level:(MSACLogLevel)loglevel
tag:(NSString *)tag
file:(const char *)file
function:(const char *)function
line:(uint)line;
@end
#endif
@@ -0,0 +1,19 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
#ifndef SERIALIZABLE_OBJECT_H
#define SERIALIZABLE_OBJECT_H
@protocol MSACSerializableObject <NSCoding>
/**
* Serialize this object to a dictionary.
*
* @return A dictionary representing this object.
*/
- (NSMutableDictionary *)serializeToDictionary;
@end
#endif
@@ -0,0 +1,23 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#ifndef MSAC_SERVICE_H
#define MSAC_SERVICE_H
#import <Foundation/Foundation.h>
/**
* Protocol declaring service logic.
*/
NS_SWIFT_NAME(Service)
@protocol MSACService <NSObject>
/**
* Indicates whether this service is enabled.
* The state is persisted in the device's storage across application launches.
*/
@property(class, nonatomic, getter=isEnabled, setter=setEnabled:) BOOL enabled NS_SWIFT_NAME(enabled);
@end
#endif
@@ -0,0 +1,58 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#ifndef MSAC_SERVICE_ABSTRACT_H
#define MSAC_SERVICE_ABSTRACT_H
#import <Foundation/Foundation.h>
#if __has_include(<AppCenter/MSACService.h>)
#import <AppCenter/MSACService.h>
#else
#import "MSACService.h"
#endif
@protocol MSACChannelGroupProtocol;
/**
* Abstraction of services common logic.
* This class is intended to be subclassed only not instantiated directly.
*/
NS_SWIFT_NAME(ServiceAbstract)
@interface MSACServiceAbstract : NSObject <MSACService>
/**
* The flag indicates whether the service is started from application or not.
*/
@property(nonatomic, assign) BOOL startedFromApplication;
/**
* Start this service with a channel group. Also sets the flag that indicates that a service has been started.
*
* @param channelGroup channel group used to persist and send logs.
* @param appSecret app secret for the SDK.
* @param token default transmission target token for this service.
* @param fromApplication indicates whether the service started from an application or not.
*/
- (void)startWithChannelGroup:(id<MSACChannelGroupProtocol>)channelGroup
appSecret:(NSString *)appSecret
transmissionTargetToken:(NSString *)token
fromApplication:(BOOL)fromApplication;
/**
* Update configuration when the service requires to start again. This method should only be called if the service is started from libraries
* and then is being started from an application.
*
* @param appSecret app secret for the SDK.
* @param token default transmission target token for this service.
*/
- (void)updateConfigurationWithAppSecret:(NSString *)appSecret transmissionTargetToken:(NSString *)token;
/**
* The flag indicate whether the service needs the application secret or not.
*/
@property(atomic, readonly) BOOL isAppSecretRequired;
@end
#endif
@@ -0,0 +1,21 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
#if __has_include(<AppCenter/MSACConstants.h>)
#import <AppCenter/MSACConstants.h>
#else
#import "MSACConstants.h"
#endif
/**
* This is a utility for producing App Center style log messages. It is only intended for use by App Center services and wrapper SDKs of App
* Center.
*/
NS_SWIFT_NAME(WrapperLogger)
@interface MSACWrapperLogger : NSObject
+ (void)MSACWrapperLog:(MSACLogMessageProvider)message tag:(NSString *)tag level:(MSACLogLevel)level;
@end
@@ -0,0 +1,60 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#ifndef MSAC_WRAPPER_SDK_H
#define MSAC_WRAPPER_SDK_H
#import <Foundation/Foundation.h>
NS_SWIFT_NAME(WrapperSdk)
@interface MSACWrapperSdk : NSObject
/*
* Version of the wrapper SDK. When the SDK is embedding another base SDK (for example Xamarin.Android wraps Android), the Xamarin specific
* version is populated into this field while sdkVersion refers to the original Android SDK. [optional]
*/
@property(nonatomic, copy, readonly) NSString *wrapperSdkVersion;
/*
* Name of the wrapper SDK (examples: Xamarin, Cordova). [optional]
*/
@property(nonatomic, copy, readonly) NSString *wrapperSdkName;
/*
* Version of the wrapper technology framework (Xamarin runtime version or ReactNative or Cordova etc...). [optional]
*/
@property(nonatomic, copy, readonly) NSString *wrapperRuntimeVersion;
/*
* Label that is used to identify application code 'version' released via Live Update beacon running on device.
*/
@property(nonatomic, copy, readonly) NSString *liveUpdateReleaseLabel;
/*
* Identifier of environment that current application release belongs to, deployment key then maps to environment like Production, Staging.
*/
@property(nonatomic, copy, readonly) NSString *liveUpdateDeploymentKey;
/*
* Hash of all files (ReactNative or Cordova) deployed to device via LiveUpdate beacon. Helps identify the Release version on device or need
* to download updates in future
*/
@property(nonatomic, copy, readonly) NSString *liveUpdatePackageHash;
- (instancetype)initWithWrapperSdkVersion:(NSString *)wrapperSdkVersion
wrapperSdkName:(NSString *)wrapperSdkName
wrapperRuntimeVersion:(NSString *)wrapperRuntimeVersion
liveUpdateReleaseLabel:(NSString *)liveUpdateReleaseLabel
liveUpdateDeploymentKey:(NSString *)liveUpdateDeploymentKey
liveUpdatePackageHash:(NSString *)liveUpdatePackageHash;
/**
* Checks if the object's values are valid.
*
* @return YES, if the object is valid.
*/
- (BOOL)isValid;
@end
#endif
@@ -0,0 +1,13 @@
framework module AppCenter {
umbrella header "AppCenter.h"
export *
module * { export * }
link framework "Foundation"
link framework "CoreTelephony"
link framework "SystemConfiguration"
link framework "UIKit"
link "sqlite3"
link "z"
}
@@ -0,0 +1,114 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
#import "MSACConstants+Flags.h"
@protocol MSACChannelUnitProtocol;
@protocol MSACChannelGroupProtocol;
@protocol MSACChannelProtocol;
@protocol MSACLog;
NS_ASSUME_NONNULL_BEGIN
@protocol MSACChannelDelegate <NSObject>
@optional
/**
* A callback that is called when a channel unit is added to the channel group.
*
* @param channelGroup The channel group.
* @param channel The newly added channel.
*/
- (void)channelGroup:(id<MSACChannelGroupProtocol>)channelGroup didAddChannelUnit:(id<MSACChannelUnitProtocol>)channel;
/**
* A callback that is called when a log is just enqueued. Delegates may want to prepare the log a little more before further processing.
*
* @param log The log to prepare.
*/
- (void)channel:(id<MSACChannelProtocol>)channel prepareLog:(id<MSACLog>)log;
/**
* A callback that is called after a log is definitely prepared.
*
* @param log The log.
* @param internalId An internal Id to keep track of logs.
* @param flags Options for the log.
*/
- (void)channel:(id<MSACChannelProtocol>)channel didPrepareLog:(id<MSACLog>)log internalId:(NSString *)internalId flags:(MSACFlags)flags;
/**
* A callback that is called after a log completed the enqueueing process whether it was successful or not.
*
* @param log The log.
* @param internalId An internal Id to keep track of logs.
*/
- (void)channel:(id<MSACChannelProtocol>)channel didCompleteEnqueueingLog:(id<MSACLog>)log internalId:(NSString *)internalId;
/**
* Callback method that will be called before each log will be send to the server.
*
* @param channel The channel object.
* @param log The log to be sent.
*/
- (void)channel:(id<MSACChannelProtocol>)channel willSendLog:(id<MSACLog>)log;
/**
* Callback method that will be called in case the SDK was able to send a log.
*
* @param channel The channel object.
* @param log The log to be sent.
*/
- (void)channel:(id<MSACChannelProtocol>)channel didSucceedSendingLog:(id<MSACLog>)log;
/**
* Callback method that will be called in case the SDK was unable to send a log.
*
* @param channel The channel object.
* @param log The log to be sent.
* @param error The error that occured.
*/
- (void)channel:(id<MSACChannelProtocol>)channel didFailSendingLog:(id<MSACLog>)log withError:(nullable NSError *)error;
/**
* A callback that is called when setEnabled has been invoked.
*
* @param channel The channel.
* @param isEnabled The boolean that indicates enabled.
* @param deletedData The boolean that indicates deleting data on disabled.
*/
- (void)channel:(id<MSACChannelProtocol>)channel didSetEnabled:(BOOL)isEnabled andDeleteDataOnDisabled:(BOOL)deletedData;
/**
* A callback that is called when pause has been invoked.
*
* @param channel The channel.
* @param identifyingObject The identifying object used to pause the channel.
*/
- (void)channel:(id<MSACChannelProtocol>)channel didPauseWithIdentifyingObject:(id<NSObject>)identifyingObject;
/**
* A callback that is called when resume has been invoked.
*
* @param channel The channel.
* @param identifyingObject The identifying object used to resume the channel.
*/
- (void)channel:(id<MSACChannelProtocol>)channel didResumeWithIdentifyingObject:(id<NSObject>)identifyingObject;
/**
* Callback method that will determine if a log should be filtered out from the usual processing pipeline. If any delegate returns true, the
* log is filtered.
*
* @param channelUnit The channel unit that is going to send the log.
* @param log The log to be filtered or not.
*
* @return `true` if the log should be filtered out.
*/
- (BOOL)channelUnit:(id<MSACChannelUnitProtocol>)channelUnit shouldFilterLog:(id<MSACLog>)log;
@end
NS_ASSUME_NONNULL_END
@@ -0,0 +1,44 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
#if __has_include(<AppCenter/MSACAppCenter.h>)
#import <AppCenter/MSACAbstractLog.h>
#import <AppCenter/MSACAppCenter.h>
#import <AppCenter/MSACAppCenterErrors.h>
#import <AppCenter/MSACChannelGroupProtocol.h>
#import <AppCenter/MSACChannelProtocol.h>
#import <AppCenter/MSACConstants+Flags.h>
#import <AppCenter/MSACConstants.h>
#import <AppCenter/MSACCustomProperties.h>
#import <AppCenter/MSACDevice.h>
#import <AppCenter/MSACEnable.h>
#import <AppCenter/MSACLog.h>
#import <AppCenter/MSACLogWithProperties.h>
#import <AppCenter/MSACLogger.h>
#import <AppCenter/MSACSerializableObject.h>
#import <AppCenter/MSACService.h>
#import <AppCenter/MSACServiceAbstract.h>
#import <AppCenter/MSACWrapperLogger.h>
#import <AppCenter/MSACWrapperSdk.h>
#else
#import "MSACAbstractLog.h"
#import "MSACAppCenter.h"
#import "MSACAppCenterErrors.h"
#import "MSACChannelGroupProtocol.h"
#import "MSACChannelProtocol.h"
#import "MSACConstants+Flags.h"
#import "MSACConstants.h"
#import "MSACCustomProperties.h"
#import "MSACDevice.h"
#import "MSACEnable.h"
#import "MSACLog.h"
#import "MSACLogWithProperties.h"
#import "MSACLogger.h"
#import "MSACSerializableObject.h"
#import "MSACService.h"
#import "MSACServiceAbstract.h"
#import "MSACWrapperLogger.h"
#import "MSACWrapperSdk.h"
#endif
@@ -0,0 +1,14 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#ifndef MSAC_ABSTRACT_LOG_H
#define MSAC_ABSTRACT_LOG_H
#import <Foundation/Foundation.h>
NS_SWIFT_NAME(AbstractLog)
@interface MSACAbstractLog : NSObject
@end
#endif
@@ -0,0 +1,203 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
#ifndef MSAC_APP_CENTER
#define MSAC_APP_CENTER
#if __has_include(<AppCenter/MSACConstants.h>)
#import <AppCenter/MSACConstants.h>
#else
#import "MSACConstants.h"
#endif
@class MSACWrapperSdk;
#if !TARGET_OS_TV
@class MSACCustomProperties;
#endif
NS_SWIFT_NAME(AppCenter)
@interface MSACAppCenter : NSObject
/**
* Returns the singleton instance of MSACAppCenter.
*/
+ (instancetype)sharedInstance;
/**
* Configure the SDK with an application secret.
*
* @param appSecret A unique and secret key used to identify the application.
*
* @discussion This may be called only once per application process lifetime.
*/
+ (void)configureWithAppSecret:(NSString *)appSecret NS_SWIFT_NAME(configure(withAppSecret:));
/**
* Configure the SDK.
*
* @discussion This may be called only once per application process lifetime.
*/
+ (void)configure;
/**
* Configure the SDK with an application secret and an array of services to start.
*
* @param appSecret A unique and secret key used to identify the application.
* @param services Array of services to start.
*
* @discussion This may be called only once per application process lifetime.
*/
+ (void)start:(NSString *)appSecret withServices:(NSArray<Class> *)services NS_SWIFT_NAME(start(withAppSecret:services:));
/**
* Start the SDK with an array of services.
*
* @param services Array of services to start.
*
* @discussion This may be called only once per application process lifetime.
*/
+ (void)startWithServices:(NSArray<Class> *)services NS_SWIFT_NAME(start(services:));
/**
* Start a service.
*
* @param service A service to start.
*
* @discussion This may be called only once per service per application process lifetime.
*/
+ (void)startService:(Class)service;
/**
* Configure the SDK with an array of services to start from a library. This will not start the service at application level, it will enable
* the service only for the library.
*
* @param services Array of services to start.
*/
+ (void)startFromLibraryWithServices:(NSArray<Class> *)services NS_SWIFT_NAME(startFromLibrary(services:));
/**
* The flag indicates whether the SDK has already been configured or not.
*/
@property(class, atomic, readonly, getter=isConfigured) BOOL configured;
/**
* The flag indicates whether app is running in App Center Test Cloud.
*/
@property(class, atomic, readonly, getter=isRunningInAppCenterTestCloud) BOOL runningInAppCenterTestCloud;
/**
* The flag indicates whether or not the SDK was enabled as a whole
*
* The state is persisted in the device's storage across application launches.
*/
@property(class, nonatomic, getter=isEnabled, setter=setEnabled:) BOOL enabled NS_SWIFT_NAME(enabled);
/**
* Flag indicating whether SDK can send network requests.
*
* The state is persisted in the device's storage across application launches.
*/
@property(class, nonatomic, getter=isNetworkRequestsAllowed, setter=setNetworkRequestsAllowed:)
BOOL networkRequestsAllowed NS_SWIFT_NAME(networkRequestsAllowed);
/**
* The SDK's log level.
*/
@property(class, nonatomic) MSACLogLevel logLevel;
/**
* Base URL to use for backend communication.
*/
@property(class, nonatomic, strong) NSString *logUrl;
/**
* Set log handler.
*/
@property(class, nonatomic) MSACLogHandler logHandler;
/**
* Set wrapper SDK information to use when building device properties. This is intended in case you are building a SDK that uses the App
* Center SDK under the hood, e.g. our Xamarin SDK or ReactNative SDk.
*/
@property(class, nonatomic, strong) MSACWrapperSdk *wrapperSdk;
#if !TARGET_OS_TV
/**
* Set the custom properties.
*
* @param customProperties Custom properties object.
*/
+ (void)setCustomProperties:(MSACCustomProperties *)customProperties;
#endif
/**
* Check whether the application delegate forwarder is enabled or not.
*
* @discussion The application delegate forwarder forwards messages that target your application delegate methods via swizzling to the SDK.
* It simplifies the SDK integration but may not be suitable to any situations. For
* instance it should be disabled if you or one of your third party SDK is doing message forwarding on the application delegate. Message
* forwarding usually implies the implementation of @see NSObject#forwardingTargetForSelector: or @see NSObject#forwardInvocation: methods.
* To disable the application delegate forwarder just add the `AppCenterAppDelegateForwarderEnabled` tag to your Info .plist file and set it
* to `0`. Then you will have to forward any application delegate needed by the SDK manually.
*/
@property(class, readonly, nonatomic, getter=isAppDelegateForwarderEnabled) BOOL appDelegateForwarderEnabled;
/**
* Unique installation identifier.
*
*/
@property(class, readonly, nonatomic) NSUUID *installId;
/**
* Detect if a debugger is attached to the app process. This is only invoked once on app startup and can not detect
* if the debugger is being attached during runtime!
*
*/
@property(class, readonly, nonatomic, getter=isDebuggerAttached) BOOL debuggerAttached;
/**
* Current version of AppCenter SDK.
*
*/
@property(class, readonly, nonatomic) NSString *sdkVersion;
/**
* Set the maximum size of the internal storage. This method must be called before App Center is started. This method is only intended for
* applications.
*
* @param sizeInBytes Maximum size of the internal storage in bytes. This will be rounded up to the nearest multiple of a SQLite page size
* (default is 4096 bytes). Values below 20,480 bytes (20 KiB) will be ignored.
*
* @param completionHandler Callback that is invoked when the database size has been set. The `BOOL` parameter is `YES` if changing the size
* is successful, and `NO` otherwise. This parameter can be null.
*
* @discussion This only sets the maximum size of the database, but App Center modules might store additional data.
* The value passed to this method is not persisted on disk. The default maximum database size is 10485760 bytes (10 MiB).
*/
+ (void)setMaxStorageSize:(long)sizeInBytes completionHandler:(void (^)(BOOL))completionHandler;
/**
* Set the user identifier.
*
* @discussion Set the user identifier for logs sent for the default target token when the secret passed in @c
* MSACAppCenter:start:withServices: contains "target={targetToken}".
*
* For App Center backend the user identifier maximum length is 256 characters.
*
* AppCenter must be configured or started before this API can be used.
*/
@property(class, nonatomic, strong) NSString *userId;
/**
* Set country code to use when building device properties.
*
* @see https://www.iso.org/obp/ui/#search for more information.
*/
@property(class, nonatomic, strong) NSString *countryCode;
@end
#endif
@@ -0,0 +1,41 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#ifndef MSAC_APP_CENTER_ERRORS_H
#define MSAC_APP_CENTER_ERRORS_H
#import <Foundation/Foundation.h>
#define MSAC_APP_CENTER_BASE_DOMAIN @"com.Microsoft.AppCenter."
NS_ASSUME_NONNULL_BEGIN
#pragma mark - Domain
static NSString *const kMSACACErrorDomain = MSAC_APP_CENTER_BASE_DOMAIN @"ErrorDomain";
#pragma mark - General
// Error codes.
NS_ENUM(NSInteger){MSACACLogInvalidContainerErrorCode = 1, MSACACCanceledErrorCode = 2, MSACACDisabledErrorCode = 3};
// Error descriptions.
static NSString const *kMSACACLogInvalidContainerErrorDesc = @"Invalid log container.";
static NSString const *kMSACACCanceledErrorDesc = @"The operation was canceled.";
static NSString const *kMSACACDisabledErrorDesc = @"The service is disabled.";
#pragma mark - Connection
// Error codes.
NS_ENUM(NSInteger){MSACACConnectionPausedErrorCode = 100, MSACACConnectionHttpErrorCode = 101};
// Error descriptions.
static NSString const *kMSACACConnectionHttpErrorDesc = @"An HTTP error occured.";
static NSString const *kMSACACConnectionPausedErrorDesc = @"Canceled, connection paused with log deletion.";
// Error user info keys.
static NSString const *kMSACACConnectionHttpCodeErrorKey = @"MSConnectionHttpCode";
NS_ASSUME_NONNULL_END
#endif
@@ -0,0 +1,87 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#ifndef MSAC_CHANNEL_GROUP_PROTOCOL_H
#define MSAC_CHANNEL_GROUP_PROTOCOL_H
#import <Foundation/Foundation.h>
#if __has_include(<AppCenter/MSACChannelProtocol.h>)
#import <AppCenter/MSACChannelProtocol.h>
#else
#import "MSACChannelProtocol.h"
#endif
NS_ASSUME_NONNULL_BEGIN
@class MSACChannelUnitConfiguration;
@protocol MSACIngestionProtocol;
@protocol MSACChannelUnitProtocol;
/**
* `MSACChannelGroupProtocol` represents a kind of channel that contains constituent MSACChannelUnit objects. When an operation from the
* `MSACChannelProtocol` is performed on the group, that operation should be propagated to its constituent MSACChannelUnit objects.
*/
NS_SWIFT_NAME(ChannelGroupProtocol)
@protocol MSACChannelGroupProtocol <MSACChannelProtocol>
/**
* Initialize a channel unit with the given configuration.
*
* @param configuration channel configuration.
*
* @return The added `MSACChannelUnitProtocol`. Use this object to enqueue logs.
*/
- (id<MSACChannelUnitProtocol>)addChannelUnitWithConfiguration:(MSACChannelUnitConfiguration *)configuration
NS_SWIFT_NAME(addChannelUnit(withConfiguration:));
/**
* Initialize a channel unit with the given configuration.
*
* @param configuration channel configuration.
* @param ingestion The alternative ingestion object
*
* @return The added `MSACChannelUnitProtocol`. Use this object to enqueue logs.
*/
- (id<MSACChannelUnitProtocol>)addChannelUnitWithConfiguration:(MSACChannelUnitConfiguration *)configuration
withIngestion:(nullable id<MSACIngestionProtocol>)ingestion
NS_SWIFT_NAME(addChannelUnit(_:ingestion:));
/**
* Change the base URL (schema + authority + port only) used to communicate with the backend.
*/
@property(nonatomic, strong) NSString *_Nullable logUrl;
/**
* Set the app secret.
*/
@property(nonatomic, strong) NSString *_Nullable appSecret;
/**
* Set the maximum size of the internal storage. This method must be called before App Center is started.
*
* @discussion The default maximum database size is 10485760 bytes (10 MiB).
*
* @param sizeInBytes Maximum size of the internal storage in bytes. This will be rounded up to the nearest multiple of a SQLite page size
* (default is 4096 bytes). Values below 24576 bytes (24 KiB) will be ignored.
* @param completionHandler Callback that is invoked when the database size has been set. The `BOOL` parameter is `YES` if changing the size
* is successful, and `NO` otherwise.
*/
- (void)setMaxStorageSize:(long)sizeInBytes
completionHandler:(nullable void (^)(BOOL))completionHandler NS_SWIFT_NAME(setMaxStorageSize(_:completionHandler:));
/**
* Return a channel unit instance for the given groupId.
*
* @param groupId The group ID for a channel unit.
*
* @return A channel unit instance or `nil`.
*/
- (nullable id<MSACChannelUnitProtocol>)channelUnitForGroupId:(NSString *)groupId;
@end
NS_ASSUME_NONNULL_END
#endif
@@ -0,0 +1,68 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#ifndef MSAC_CHANNEL_PROTOCOL_H
#define MSAC_CHANNEL_PROTOCOL_H
#import <Foundation/Foundation.h>
#if __has_include(<AppCenter/MSACEnable.h>)
#import <AppCenter/MSACEnable.h>
#else
#import "MSACEnable.h"
#endif
NS_ASSUME_NONNULL_BEGIN
@protocol MSACChannelDelegate;
/**
* `MSACChannelProtocol` contains the essential operations of a channel. Channels are broadly responsible for enqueuing logs to be sent to
* the backend and/or stored on disk.
*/
NS_SWIFT_NAME(ChannelProtocol)
@protocol MSACChannelProtocol <NSObject, MSACEnable>
/**
* Add delegate.
*
* @param delegate delegate.
*/
- (void)addDelegate:(id<MSACChannelDelegate>)delegate;
/**
* Remove delegate.
*
* @param delegate delegate.
*/
- (void)removeDelegate:(id<MSACChannelDelegate>)delegate;
/**
* Pause operations, logs will be stored but not sent.
*
* @param identifyingObject Object used to identify the pause request.
*
* @discussion A paused channel doesn't forward logs to the ingestion. The identifying object used to pause the channel can be any unique
* object. The same identifying object must be used to call resume. For simplicity if the caller is the one owning the channel then @c self
* can be used as identifying object.
*
* @see resumeWithIdentifyingObject:
*/
- (void)pauseWithIdentifyingObject:(id<NSObject>)identifyingObject;
/**
* Resume operations, logs can be sent again.
*
* @param identifyingObject Object used to passed to the pause method.
*
* @discussion The channel only resume when all the outstanding identifying objects have been resumed.
*
* @see pauseWithIdentifyingObject:
*/
- (void)resumeWithIdentifyingObject:(id<NSObject>)identifyingObject;
@end
NS_ASSUME_NONNULL_END
#endif
@@ -0,0 +1,18 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#ifndef MSAC_CONSTANTS_FLAGS_H
#define MSAC_CONSTANTS_FLAGS_H
#import <Foundation/Foundation.h>
typedef NS_OPTIONS(NSUInteger, MSACFlags) {
MSACFlagsNone = (0 << 0), // => 00000000
MSACFlagsNormal = (1 << 0), // => 00000001
MSACFlagsCritical = (1 << 1), // => 00000010
MSACFlagsPersistenceNormal DEPRECATED_MSG_ATTRIBUTE("please use MSACFlagsNormal") = MSACFlagsNormal,
MSACFlagsPersistenceCritical DEPRECATED_MSG_ATTRIBUTE("please use MSACFlagsCritical") = MSACFlagsCritical,
MSACFlagsDefault = MSACFlagsNormal
} NS_SWIFT_NAME(Flags);
#endif
@@ -0,0 +1,170 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
/**
* Log Levels
*/
typedef NS_ENUM(NSUInteger, MSACLogLevel) {
/**
* Logging will be very chatty
*/
MSACLogLevelVerbose = 2,
/**
* Debug information will be logged
*/
MSACLogLevelDebug = 3,
/**
* Information will be logged
*/
MSACLogLevelInfo = 4,
/**
* Errors and warnings will be logged
*/
MSACLogLevelWarning = 5,
/**
* Errors will be logged
*/
MSACLogLevelError = 6,
/**
* Only critical errors will be logged
*/
MSACLogLevelAssert = 7,
/**
* Logging is disabled
*/
MSACLogLevelNone = 99
} NS_SWIFT_NAME(LogLevel);
typedef NSString * (^MSACLogMessageProvider)(void)NS_SWIFT_NAME(LogMessageProvider);
typedef void (^MSACLogHandler)(MSACLogMessageProvider messageProvider, MSACLogLevel logLevel, NSString *tag, const char *file,
const char *function, uint line) NS_SWIFT_NAME(LogHandler);
/**
* Channel priorities, check the kMSACPriorityCount if you add a new value.
* The order matters here! Values NEED to range from low priority to high priority.
*/
typedef NS_ENUM(NSInteger, MSACPriority) { MSACPriorityBackground, MSACPriorityDefault, MSACPriorityHigh } NS_SWIFT_NAME(Priority);
static short const kMSACPriorityCount = MSACPriorityHigh + 1;
/**
* The priority by which the modules are initialized.
* MSACPriorityMax is reserved for only 1 module and this needs to be Crashes.
* Crashes needs to be initialized first to catch crashes in our other SDK Modules (which will hopefully never happen) and to avoid losing
* any log at crash time.
*/
typedef NS_ENUM(NSInteger, MSACInitializationPriority) {
MSACInitializationPriorityDefault = 500,
MSACInitializationPriorityHigh = 750,
MSACInitializationPriorityMax = 999
} NS_SWIFT_NAME(InitializationPriority);
/**
* Enum with the different HTTP status codes.
*/
typedef NS_ENUM(NSInteger, MSACHTTPCodesNo) {
// Invalid
MSACHTTPCodesNo0XXInvalidUnknown = 0,
// Informational
MSACHTTPCodesNo1XXInformationalUnknown = 1,
MSACHTTPCodesNo100Continue = 100,
MSACHTTPCodesNo101SwitchingProtocols = 101,
MSACHTTPCodesNo102Processing = 102,
// Success
MSACHTTPCodesNo2XXSuccessUnknown = 2,
MSACHTTPCodesNo200OK = 200,
MSACHTTPCodesNo201Created = 201,
MSACHTTPCodesNo202Accepted = 202,
MSACHTTPCodesNo203NonAuthoritativeInformation = 203,
MSACHTTPCodesNo204NoContent = 204,
MSACHTTPCodesNo205ResetContent = 205,
MSACHTTPCodesNo206PartialContent = 206,
MSACHTTPCodesNo207MultiStatus = 207,
MSACHTTPCodesNo208AlreadyReported = 208,
MSACHTTPCodesNo209IMUsed = 209,
// Redirection
MSACHTTPCodesNo3XXSuccessUnknown = 3,
MSACHTTPCodesNo300MultipleChoices = 300,
MSACHTTPCodesNo301MovedPermanently = 301,
MSACHTTPCodesNo302Found = 302,
MSACHTTPCodesNo303SeeOther = 303,
MSACHTTPCodesNo304NotModified = 304,
MSACHTTPCodesNo305UseProxy = 305,
MSACHTTPCodesNo306SwitchProxy = 306,
MSACHTTPCodesNo307TemporaryRedirect = 307,
MSACHTTPCodesNo308PermanentRedirect = 308,
// Client error
MSACHTTPCodesNo4XXSuccessUnknown = 4,
MSACHTTPCodesNo400BadRequest = 400,
MSACHTTPCodesNo401Unauthorised = 401,
MSACHTTPCodesNo402PaymentRequired = 402,
MSACHTTPCodesNo403Forbidden = 403,
MSACHTTPCodesNo404NotFound = 404,
MSACHTTPCodesNo405MethodNotAllowed = 405,
MSACHTTPCodesNo406NotAcceptable = 406,
MSACHTTPCodesNo407ProxyAuthenticationRequired = 407,
MSACHTTPCodesNo408RequestTimeout = 408,
MSACHTTPCodesNo409Conflict = 409,
MSACHTTPCodesNo410Gone = 410,
MSACHTTPCodesNo411LengthRequired = 411,
MSACHTTPCodesNo412PreconditionFailed = 412,
MSACHTTPCodesNo413RequestEntityTooLarge = 413,
MSACHTTPCodesNo414RequestURITooLong = 414,
MSACHTTPCodesNo415UnsupportedMediaType = 415,
MSACHTTPCodesNo416RequestedRangeNotSatisfiable = 416,
MSACHTTPCodesNo417ExpectationFailed = 417,
MSACHTTPCodesNo418IamATeapot = 418,
MSACHTTPCodesNo419AuthenticationTimeout = 419,
MSACHTTPCodesNo420MethodFailureSpringFramework = 420,
MSACHTTPCodesNo420EnhanceYourCalmTwitter = 4200,
MSACHTTPCodesNo422UnprocessableEntity = 422,
MSACHTTPCodesNo423Locked = 423,
MSACHTTPCodesNo424FailedDependency = 424,
MSACHTTPCodesNo424MethodFailureWebDaw = 4240,
MSACHTTPCodesNo425UnorderedCollection = 425,
MSACHTTPCodesNo426UpgradeRequired = 426,
MSACHTTPCodesNo428PreconditionRequired = 428,
MSACHTTPCodesNo429TooManyRequests = 429,
MSACHTTPCodesNo431RequestHeaderFieldsTooLarge = 431,
MSACHTTPCodesNo444NoResponseNginx = 444,
MSACHTTPCodesNo449RetryWithMicrosoft = 449,
MSACHTTPCodesNo450BlockedByWindowsParentalControls = 450,
MSACHTTPCodesNo451RedirectMicrosoft = 451,
MSACHTTPCodesNo451UnavailableForLegalReasons = 4510,
MSACHTTPCodesNo494RequestHeaderTooLargeNginx = 494,
MSACHTTPCodesNo495CertErrorNginx = 495,
MSACHTTPCodesNo496NoCertNginx = 496,
MSACHTTPCodesNo497HTTPToHTTPSNginx = 497,
MSACHTTPCodesNo499ClientClosedRequestNginx = 499,
// Server error
MSACHTTPCodesNo5XXSuccessUnknown = 5,
MSACHTTPCodesNo500InternalServerError = 500,
MSACHTTPCodesNo501NotImplemented = 501,
MSACHTTPCodesNo502BadGateway = 502,
MSACHTTPCodesNo503ServiceUnavailable = 503,
MSACHTTPCodesNo504GatewayTimeout = 504,
MSACHTTPCodesNo505HTTPVersionNotSupported = 505,
MSACHTTPCodesNo506VariantAlsoNegotiates = 506,
MSACHTTPCodesNo507InsufficientStorage = 507,
MSACHTTPCodesNo508LoopDetected = 508,
MSACHTTPCodesNo509BandwidthLimitExceeded = 509,
MSACHTTPCodesNo510NotExtended = 510,
MSACHTTPCodesNo511NetworkAuthenticationRequired = 511,
MSACHTTPCodesNo522ConnectionTimedOut = 522,
MSACHTTPCodesNo598NetworkReadTimeoutErrorUnknown = 598,
MSACHTTPCodesNo599NetworkConnectTimeoutErrorUnknown = 599
} NS_SWIFT_NAME(HTTPCodesNo);
@@ -0,0 +1,71 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#ifndef MSAC_CUSTOM_PROPERTIES_H
#define MSAC_CUSTOM_PROPERTIES_H
#import <Foundation/Foundation.h>
/**
* Custom properties builder.
* Collects multiple properties to send in one log.
*/
NS_SWIFT_NAME(CustomProperties)
@interface MSACCustomProperties : NSObject
/**
* Set the specified property value with the specified key.
* If the properties previously contained a property for the key, the old value is replaced.
*
* @param key Key with which the specified value is to be set.
* @param value Value to be set with the specified key.
*
* @return This instance.
*/
- (instancetype)setString:(NSString *)value forKey:(NSString *)key NS_SWIFT_NAME(set(_:forKey:));
/**
* Set the specified property value with the specified key.
* If the properties previously contained a property for the key, the old value is replaced.
*
* @param key Key with which the specified value is to be set.
* @param value Value to be set with the specified key.
*
* @return This instance.
*/
- (instancetype)setNumber:(NSNumber *)value forKey:(NSString *)key NS_SWIFT_NAME(set(_:forKey:));
/**
* Set the specified property value with the specified key.
* If the properties previously contained a property for the key, the old value is replaced.
*
* @param key Key with which the specified value is to be set.
* @param value Value to be set with the specified key.
*
* @return This instance.
*/
- (instancetype)setBool:(BOOL)value forKey:(NSString *)key NS_SWIFT_NAME(set(_:forKey:));
/**
* Set the specified property value with the specified key.
* If the properties previously contained a property for the key, the old value is replaced.
*
* @param key Key with which the specified value is to be set.
* @param value Value to be set with the specified key.
*
* @return This instance.
*/
- (instancetype)setDate:(NSDate *)value forKey:(NSString *)key NS_SWIFT_NAME(set(_:forKey:));
/**
* Clear the property for the specified key.
*
* @param key Key whose mapping is to be cleared.
*
* @return This instance.
*/
- (instancetype)clearPropertyForKey:(NSString *)key NS_SWIFT_NAME(clearProperty(forKey:));
@end
#endif
@@ -0,0 +1,101 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#ifndef MSAC_DEVICE_H
#define MSAC_DEVICE_H
#import <Foundation/Foundation.h>
#if __has_include(<AppCenter/MSACWrapperSdk.h>)
#import <AppCenter/MSACWrapperSdk.h>
#else
#import "MSACWrapperSdk.h"
#endif
NS_SWIFT_NAME(Device)
@interface MSACDevice : MSACWrapperSdk
/*
* Name of the SDK. Consists of the name of the SDK and the platform, e.g. "appcenter.ios", "appcenter.android"
*/
@property(nonatomic, copy, readonly) NSString *sdkName;
/*
* Version of the SDK in semver format, e.g. "1.2.0" or "0.12.3-alpha.1".
*/
@property(nonatomic, copy, readonly) NSString *sdkVersion;
/*
* Device model (example: iPad2,3).
*/
@property(nonatomic, copy, readonly) NSString *model;
/*
* Device manufacturer (example: HTC).
*/
@property(nonatomic, copy, readonly) NSString *oemName;
/*
* OS name (example: iOS).
*/
@property(nonatomic, copy, readonly) NSString *osName;
/*
* OS version (example: 9.3.0).
*/
@property(nonatomic, copy, readonly) NSString *osVersion;
/*
* OS build code (example: LMY47X). [optional]
*/
@property(nonatomic, copy, readonly) NSString *osBuild;
/*
* API level when applicable like in Android (example: 15). [optional]
*/
@property(nonatomic, copy, readonly) NSNumber *osApiLevel;
/*
* Language code (example: en_US).
*/
@property(nonatomic, copy, readonly) NSString *locale;
/*
* The offset in minutes from UTC for the device time zone, including daylight savings time.
*/
@property(nonatomic, readonly, strong) NSNumber *timeZoneOffset;
/*
* Screen size of the device in pixels (example: 640x480).
*/
@property(nonatomic, copy, readonly) NSString *screenSize;
/*
* Application version name, e.g. 1.1.0
*/
@property(nonatomic, copy, readonly) NSString *appVersion;
/*
* Carrier name (for mobile devices). [optional]
*/
@property(nonatomic, copy, readonly) NSString *carrierName;
/*
* Carrier country code (for mobile devices). [optional]
*/
@property(nonatomic, copy, readonly) NSString *carrierCountry;
/*
* The app's build number, e.g. 42.
*/
@property(nonatomic, copy, readonly) NSString *appBuild;
/*
* The bundle identifier, package identifier, or namespace, depending on what the individual plattforms use, .e.g com.microsoft.example.
* [optional]
*/
@property(nonatomic, copy, readonly) NSString *appNamespace;
@end
#endif
@@ -0,0 +1,27 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#ifndef MSAC_ENABLE_H
#define MSAC_ENABLE_H
#import <Foundation/Foundation.h>
/**
* Protocol to define an instance that can be enabled/disabled.
*/
NS_SWIFT_NAME(Enable)
@protocol MSACEnable <NSObject>
@required
/**
* Enable/disable this instance and delete data on disabled state.
*
* @param isEnabled A boolean value set to YES to enable the instance or NO to disable it.
* @param deleteData A boolean value set to YES to delete data or NO to keep it.
*/
- (void)setEnabled:(BOOL)isEnabled andDeleteDataOnDisabled:(BOOL)deleteData NS_SWIFT_NAME(setEnabled(_:deleteDataOnDisabled:));
@end
#endif
@@ -0,0 +1,74 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#ifndef MSAC_LOG_H
#define MSAC_LOG_H
#import <Foundation/Foundation.h>
@class MSACDevice;
NS_SWIFT_NAME(Log)
@protocol MSACLog <NSObject>
/**
* Log type.
*/
@property(nonatomic, copy) NSString *type;
/**
* Log timestamp.
*/
@property(nonatomic, strong) NSDate *timestamp;
/**
* A session identifier is used to correlate logs together. A session is an abstract concept in the API and is not necessarily an analytics
* session, it can be used to only track crashes.
*/
@property(nonatomic, copy) NSString *sid;
/**
* Optional distribution group ID value.
*/
@property(nonatomic, copy) NSString *distributionGroupId;
/**
* Optional user identifier.
*/
@property(nonatomic, copy) NSString *userId;
/**
* Device properties associated to this log.
*/
@property(nonatomic, strong) MSACDevice *device;
/**
* Transient object tag. For example, a log can be tagged with a transmission target. We do this currently to prevent properties being
* applied retroactively to previous logs by comparing their tags.
*/
@property(nonatomic, strong) NSObject *tag;
/**
* Checks if the object's values are valid.
*
* @return YES, if the object is valid.
*/
- (BOOL)isValid;
/**
* Adds a transmission target token that this log should be sent to.
*
* @param token The transmission target token.
*/
- (void)addTransmissionTargetToken:(NSString *)token;
/**
* Gets all transmission target tokens that this log should be sent to.
*
* @returns Collection of transmission target tokens that this log should be sent to.
*/
- (NSSet *)transmissionTargetTokens;
@end
#endif
@@ -0,0 +1,25 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#ifndef MSAC_LOG_WITH_PROPERTIES_H
#define MSAC_LOG_WITH_PROPERTIES_H
#import <Foundation/Foundation.h>
#if __has_include(<AppCenter/MSACAbstractLog.h>)
#import <AppCenter/MSACAbstractLog.h>
#else
#import "MSACAbstractLog.h"
#endif
NS_SWIFT_NAME(LogWithProperties)
@interface MSACLogWithProperties : MSACAbstractLog
/**
* Additional key/value pair parameters. [optional]
*/
@property(nonatomic, strong) NSDictionary<NSString *, NSString *> *properties;
@end
#endif
@@ -0,0 +1,54 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
#ifndef MSAC_LOGGER
#define MSAC_LOGGER
#if __has_include(<AppCenter/MSACConstants.h>)
#import <AppCenter/MSACConstants.h>
#else
#import "MSACConstants.h"
#endif
#define MSACLog(_level, _tag, _message) \
[MSACLogger logMessage:_message level:_level tag:_tag file:__FILE__ function:__PRETTY_FUNCTION__ line:__LINE__]
#define MSACLogAssert(tag, format, ...) \
MSACLog(MSACLogLevelAssert, tag, (^{ \
return [NSString stringWithFormat:(format), ##__VA_ARGS__]; \
}))
#define MSACLogError(tag, format, ...) \
MSACLog(MSACLogLevelError, tag, (^{ \
return [NSString stringWithFormat:(format), ##__VA_ARGS__]; \
}))
#define MSACLogWarning(tag, format, ...) \
MSACLog(MSACLogLevelWarning, tag, (^{ \
return [NSString stringWithFormat:(format), ##__VA_ARGS__]; \
}))
#define MSACLogInfo(tag, format, ...) \
MSACLog(MSACLogLevelInfo, tag, (^{ \
return [NSString stringWithFormat:(format), ##__VA_ARGS__]; \
}))
#define MSACLogDebug(tag, format, ...) \
MSACLog(MSACLogLevelDebug, tag, (^{ \
return [NSString stringWithFormat:(format), ##__VA_ARGS__]; \
}))
#define MSACLogVerbose(tag, format, ...) \
MSACLog(MSACLogLevelVerbose, tag, (^{ \
return [NSString stringWithFormat:(format), ##__VA_ARGS__]; \
}))
NS_SWIFT_NAME(Logger)
@interface MSACLogger : NSObject
+ (void)logMessage:(MSACLogMessageProvider)messageProvider
level:(MSACLogLevel)loglevel
tag:(NSString *)tag
file:(const char *)file
function:(const char *)function
line:(uint)line;
@end
#endif
@@ -0,0 +1,19 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
#ifndef SERIALIZABLE_OBJECT_H
#define SERIALIZABLE_OBJECT_H
@protocol MSACSerializableObject <NSCoding>
/**
* Serialize this object to a dictionary.
*
* @return A dictionary representing this object.
*/
- (NSMutableDictionary *)serializeToDictionary;
@end
#endif
@@ -0,0 +1,23 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#ifndef MSAC_SERVICE_H
#define MSAC_SERVICE_H
#import <Foundation/Foundation.h>
/**
* Protocol declaring service logic.
*/
NS_SWIFT_NAME(Service)
@protocol MSACService <NSObject>
/**
* Indicates whether this service is enabled.
* The state is persisted in the device's storage across application launches.
*/
@property(class, nonatomic, getter=isEnabled, setter=setEnabled:) BOOL enabled NS_SWIFT_NAME(enabled);
@end
#endif
@@ -0,0 +1,58 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#ifndef MSAC_SERVICE_ABSTRACT_H
#define MSAC_SERVICE_ABSTRACT_H
#import <Foundation/Foundation.h>
#if __has_include(<AppCenter/MSACService.h>)
#import <AppCenter/MSACService.h>
#else
#import "MSACService.h"
#endif
@protocol MSACChannelGroupProtocol;
/**
* Abstraction of services common logic.
* This class is intended to be subclassed only not instantiated directly.
*/
NS_SWIFT_NAME(ServiceAbstract)
@interface MSACServiceAbstract : NSObject <MSACService>
/**
* The flag indicates whether the service is started from application or not.
*/
@property(nonatomic, assign) BOOL startedFromApplication;
/**
* Start this service with a channel group. Also sets the flag that indicates that a service has been started.
*
* @param channelGroup channel group used to persist and send logs.
* @param appSecret app secret for the SDK.
* @param token default transmission target token for this service.
* @param fromApplication indicates whether the service started from an application or not.
*/
- (void)startWithChannelGroup:(id<MSACChannelGroupProtocol>)channelGroup
appSecret:(NSString *)appSecret
transmissionTargetToken:(NSString *)token
fromApplication:(BOOL)fromApplication;
/**
* Update configuration when the service requires to start again. This method should only be called if the service is started from libraries
* and then is being started from an application.
*
* @param appSecret app secret for the SDK.
* @param token default transmission target token for this service.
*/
- (void)updateConfigurationWithAppSecret:(NSString *)appSecret transmissionTargetToken:(NSString *)token;
/**
* The flag indicate whether the service needs the application secret or not.
*/
@property(atomic, readonly) BOOL isAppSecretRequired;
@end
#endif
@@ -0,0 +1,21 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
#if __has_include(<AppCenter/MSACConstants.h>)
#import <AppCenter/MSACConstants.h>
#else
#import "MSACConstants.h"
#endif
/**
* This is a utility for producing App Center style log messages. It is only intended for use by App Center services and wrapper SDKs of App
* Center.
*/
NS_SWIFT_NAME(WrapperLogger)
@interface MSACWrapperLogger : NSObject
+ (void)MSACWrapperLog:(MSACLogMessageProvider)message tag:(NSString *)tag level:(MSACLogLevel)level;
@end
@@ -0,0 +1,60 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#ifndef MSAC_WRAPPER_SDK_H
#define MSAC_WRAPPER_SDK_H
#import <Foundation/Foundation.h>
NS_SWIFT_NAME(WrapperSdk)
@interface MSACWrapperSdk : NSObject
/*
* Version of the wrapper SDK. When the SDK is embedding another base SDK (for example Xamarin.Android wraps Android), the Xamarin specific
* version is populated into this field while sdkVersion refers to the original Android SDK. [optional]
*/
@property(nonatomic, copy, readonly) NSString *wrapperSdkVersion;
/*
* Name of the wrapper SDK (examples: Xamarin, Cordova). [optional]
*/
@property(nonatomic, copy, readonly) NSString *wrapperSdkName;
/*
* Version of the wrapper technology framework (Xamarin runtime version or ReactNative or Cordova etc...). [optional]
*/
@property(nonatomic, copy, readonly) NSString *wrapperRuntimeVersion;
/*
* Label that is used to identify application code 'version' released via Live Update beacon running on device.
*/
@property(nonatomic, copy, readonly) NSString *liveUpdateReleaseLabel;
/*
* Identifier of environment that current application release belongs to, deployment key then maps to environment like Production, Staging.
*/
@property(nonatomic, copy, readonly) NSString *liveUpdateDeploymentKey;
/*
* Hash of all files (ReactNative or Cordova) deployed to device via LiveUpdate beacon. Helps identify the Release version on device or need
* to download updates in future
*/
@property(nonatomic, copy, readonly) NSString *liveUpdatePackageHash;
- (instancetype)initWithWrapperSdkVersion:(NSString *)wrapperSdkVersion
wrapperSdkName:(NSString *)wrapperSdkName
wrapperRuntimeVersion:(NSString *)wrapperRuntimeVersion
liveUpdateReleaseLabel:(NSString *)liveUpdateReleaseLabel
liveUpdateDeploymentKey:(NSString *)liveUpdateDeploymentKey
liveUpdatePackageHash:(NSString *)liveUpdatePackageHash;
/**
* Checks if the object's values are valid.
*
* @return YES, if the object is valid.
*/
- (BOOL)isValid;
@end
#endif
@@ -0,0 +1,13 @@
framework module AppCenter {
umbrella header "AppCenter.h"
export *
module * { export * }
link framework "Foundation"
link framework "CoreTelephony"
link framework "SystemConfiguration"
link framework "UIKit"
link "sqlite3"
link "z"
}
@@ -0,0 +1,114 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
#import "MSACConstants+Flags.h"
@protocol MSACChannelUnitProtocol;
@protocol MSACChannelGroupProtocol;
@protocol MSACChannelProtocol;
@protocol MSACLog;
NS_ASSUME_NONNULL_BEGIN
@protocol MSACChannelDelegate <NSObject>
@optional
/**
* A callback that is called when a channel unit is added to the channel group.
*
* @param channelGroup The channel group.
* @param channel The newly added channel.
*/
- (void)channelGroup:(id<MSACChannelGroupProtocol>)channelGroup didAddChannelUnit:(id<MSACChannelUnitProtocol>)channel;
/**
* A callback that is called when a log is just enqueued. Delegates may want to prepare the log a little more before further processing.
*
* @param log The log to prepare.
*/
- (void)channel:(id<MSACChannelProtocol>)channel prepareLog:(id<MSACLog>)log;
/**
* A callback that is called after a log is definitely prepared.
*
* @param log The log.
* @param internalId An internal Id to keep track of logs.
* @param flags Options for the log.
*/
- (void)channel:(id<MSACChannelProtocol>)channel didPrepareLog:(id<MSACLog>)log internalId:(NSString *)internalId flags:(MSACFlags)flags;
/**
* A callback that is called after a log completed the enqueueing process whether it was successful or not.
*
* @param log The log.
* @param internalId An internal Id to keep track of logs.
*/
- (void)channel:(id<MSACChannelProtocol>)channel didCompleteEnqueueingLog:(id<MSACLog>)log internalId:(NSString *)internalId;
/**
* Callback method that will be called before each log will be send to the server.
*
* @param channel The channel object.
* @param log The log to be sent.
*/
- (void)channel:(id<MSACChannelProtocol>)channel willSendLog:(id<MSACLog>)log;
/**
* Callback method that will be called in case the SDK was able to send a log.
*
* @param channel The channel object.
* @param log The log to be sent.
*/
- (void)channel:(id<MSACChannelProtocol>)channel didSucceedSendingLog:(id<MSACLog>)log;
/**
* Callback method that will be called in case the SDK was unable to send a log.
*
* @param channel The channel object.
* @param log The log to be sent.
* @param error The error that occured.
*/
- (void)channel:(id<MSACChannelProtocol>)channel didFailSendingLog:(id<MSACLog>)log withError:(nullable NSError *)error;
/**
* A callback that is called when setEnabled has been invoked.
*
* @param channel The channel.
* @param isEnabled The boolean that indicates enabled.
* @param deletedData The boolean that indicates deleting data on disabled.
*/
- (void)channel:(id<MSACChannelProtocol>)channel didSetEnabled:(BOOL)isEnabled andDeleteDataOnDisabled:(BOOL)deletedData;
/**
* A callback that is called when pause has been invoked.
*
* @param channel The channel.
* @param identifyingObject The identifying object used to pause the channel.
*/
- (void)channel:(id<MSACChannelProtocol>)channel didPauseWithIdentifyingObject:(id<NSObject>)identifyingObject;
/**
* A callback that is called when resume has been invoked.
*
* @param channel The channel.
* @param identifyingObject The identifying object used to resume the channel.
*/
- (void)channel:(id<MSACChannelProtocol>)channel didResumeWithIdentifyingObject:(id<NSObject>)identifyingObject;
/**
* Callback method that will determine if a log should be filtered out from the usual processing pipeline. If any delegate returns true, the
* log is filtered.
*
* @param channelUnit The channel unit that is going to send the log.
* @param log The log to be filtered or not.
*
* @return `true` if the log should be filtered out.
*/
- (BOOL)channelUnit:(id<MSACChannelUnitProtocol>)channelUnit shouldFilterLog:(id<MSACLog>)log;
@end
NS_ASSUME_NONNULL_END
@@ -0,0 +1,417 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>files</key>
<dict>
<key>Headers/AppCenter.h</key>
<data>
w9sW6K7DVhGfORLCjGXijaR25m0=
</data>
<key>Headers/MSACAbstractLog.h</key>
<data>
+Ikfy/fTOpqwPZM3Fpii3cpsx8Y=
</data>
<key>Headers/MSACAppCenter.h</key>
<data>
2cUgfgx3odOGivdk+n6FXq94KgU=
</data>
<key>Headers/MSACAppCenterErrors.h</key>
<data>
x7h4qpHD4GI3jrJ3F7n4UXAANsk=
</data>
<key>Headers/MSACChannelGroupProtocol.h</key>
<data>
jyWCHN4PSygLVy0IM5565DvDQAc=
</data>
<key>Headers/MSACChannelProtocol.h</key>
<data>
Y1rKi/TsirTR0MGBf1rIO/TTG0A=
</data>
<key>Headers/MSACConstants+Flags.h</key>
<data>
GK1gUSyIjWdv7KBP68wNxjxaH+E=
</data>
<key>Headers/MSACConstants.h</key>
<data>
d9HwKA0/VH3+pLRj1Pd49mqn2gI=
</data>
<key>Headers/MSACCustomProperties.h</key>
<data>
m7A9hEgL3d0gV4SyKmXJYRtwqoQ=
</data>
<key>Headers/MSACDevice.h</key>
<data>
suv4Wkt36Nkscy7jX2SSYzrkLRs=
</data>
<key>Headers/MSACEnable.h</key>
<data>
3DnplEFkD1LImYNk+84TqcQvBho=
</data>
<key>Headers/MSACLog.h</key>
<data>
1/7NIwYuYLGHIVMZps8b6/zOpJg=
</data>
<key>Headers/MSACLogWithProperties.h</key>
<data>
I4y13KVE36pyXv85mc5OWlCjplE=
</data>
<key>Headers/MSACLogger.h</key>
<data>
CaYHmB3+psy5/txfMvd2+bWGJkc=
</data>
<key>Headers/MSACSerializableObject.h</key>
<data>
or5nqKvOQVn2ZieUCmYK6fIZkWY=
</data>
<key>Headers/MSACService.h</key>
<data>
lz5atiMe+oTdu9e6g74KPC0CjOs=
</data>
<key>Headers/MSACServiceAbstract.h</key>
<data>
rBHatSAJK78PLgsMIpFqkby4tgA=
</data>
<key>Headers/MSACWrapperLogger.h</key>
<data>
qBVuNkF12BZYytRhCKwZ7zkiKhc=
</data>
<key>Headers/MSACWrapperSdk.h</key>
<data>
W9sdhEGnIGk/aFHS3gWwQ6FxUfI=
</data>
<key>Info.plist</key>
<data>
vQsDzcm1lLcpUNIaE5cw31rdoVk=
</data>
<key>Modules/module.modulemap</key>
<data>
go9b9XYQJIVcGlS/K5PS+8A+0dI=
</data>
<key>PrivateHeaders/MSACChannelDelegate.h</key>
<data>
Msff4BZ/b1IjaYeKTDBHtNtT7wI=
</data>
</dict>
<key>files2</key>
<dict>
<key>Headers/AppCenter.h</key>
<dict>
<key>hash</key>
<data>
w9sW6K7DVhGfORLCjGXijaR25m0=
</data>
<key>hash2</key>
<data>
e9qe35Ew1pz0RMBfwa2Jv+3188p8iTwwktkIgCa/ztg=
</data>
</dict>
<key>Headers/MSACAbstractLog.h</key>
<dict>
<key>hash</key>
<data>
+Ikfy/fTOpqwPZM3Fpii3cpsx8Y=
</data>
<key>hash2</key>
<data>
7hsXFv3UkGsJLcc3eh2pMUrGbGYP2hCUC854z05SzNQ=
</data>
</dict>
<key>Headers/MSACAppCenter.h</key>
<dict>
<key>hash</key>
<data>
2cUgfgx3odOGivdk+n6FXq94KgU=
</data>
<key>hash2</key>
<data>
C10z0NrhN4J4qdWbypOdjlQ8QLlq4tvPMP21geOS4vI=
</data>
</dict>
<key>Headers/MSACAppCenterErrors.h</key>
<dict>
<key>hash</key>
<data>
x7h4qpHD4GI3jrJ3F7n4UXAANsk=
</data>
<key>hash2</key>
<data>
OcNwIIu4yFxG62mZtiABP3/9DoN9tj1fL/7nSvF8u8s=
</data>
</dict>
<key>Headers/MSACChannelGroupProtocol.h</key>
<dict>
<key>hash</key>
<data>
jyWCHN4PSygLVy0IM5565DvDQAc=
</data>
<key>hash2</key>
<data>
d36rCjxsURqDkFv+g5BwWNybz5Zksc9B91gqArFcJbk=
</data>
</dict>
<key>Headers/MSACChannelProtocol.h</key>
<dict>
<key>hash</key>
<data>
Y1rKi/TsirTR0MGBf1rIO/TTG0A=
</data>
<key>hash2</key>
<data>
fI1fLkJvo9SXh2bAUWKIYlretRCOoGWJwlyvqMfQZNc=
</data>
</dict>
<key>Headers/MSACConstants+Flags.h</key>
<dict>
<key>hash</key>
<data>
GK1gUSyIjWdv7KBP68wNxjxaH+E=
</data>
<key>hash2</key>
<data>
UDnw7GyNXzip13MvAvNKQQsWIUgU296uJHjPEkReCY8=
</data>
</dict>
<key>Headers/MSACConstants.h</key>
<dict>
<key>hash</key>
<data>
d9HwKA0/VH3+pLRj1Pd49mqn2gI=
</data>
<key>hash2</key>
<data>
xx69UfYa0qw6aSDuVsUAqd/1+t90QCPkQUae+elZwZ0=
</data>
</dict>
<key>Headers/MSACCustomProperties.h</key>
<dict>
<key>hash</key>
<data>
m7A9hEgL3d0gV4SyKmXJYRtwqoQ=
</data>
<key>hash2</key>
<data>
FveTXq+kqUdHHlSdLAoQisgT+95bzAuXTrTOQG/b/P8=
</data>
</dict>
<key>Headers/MSACDevice.h</key>
<dict>
<key>hash</key>
<data>
suv4Wkt36Nkscy7jX2SSYzrkLRs=
</data>
<key>hash2</key>
<data>
i3TVX2C+DfcRKn2HTBaydWBYHjryX2Cy/eJJxjTFiT8=
</data>
</dict>
<key>Headers/MSACEnable.h</key>
<dict>
<key>hash</key>
<data>
3DnplEFkD1LImYNk+84TqcQvBho=
</data>
<key>hash2</key>
<data>
XrDKc7bXZaW8JW4NMItSBrHLR6a+LRG1JSLXZ0U0NsI=
</data>
</dict>
<key>Headers/MSACLog.h</key>
<dict>
<key>hash</key>
<data>
1/7NIwYuYLGHIVMZps8b6/zOpJg=
</data>
<key>hash2</key>
<data>
3GF6xCTfpLDmOqKnacEOEDr5mkM/llKm0IoIEyISZKA=
</data>
</dict>
<key>Headers/MSACLogWithProperties.h</key>
<dict>
<key>hash</key>
<data>
I4y13KVE36pyXv85mc5OWlCjplE=
</data>
<key>hash2</key>
<data>
WIrz7Xsi04AboAmZ5dA3d3t8D/8PomKLwsp7oorznVM=
</data>
</dict>
<key>Headers/MSACLogger.h</key>
<dict>
<key>hash</key>
<data>
CaYHmB3+psy5/txfMvd2+bWGJkc=
</data>
<key>hash2</key>
<data>
GipSaz+D+Z5eWauQP+10U8xvbAnxPeIRD4HTvn0F5DQ=
</data>
</dict>
<key>Headers/MSACSerializableObject.h</key>
<dict>
<key>hash</key>
<data>
or5nqKvOQVn2ZieUCmYK6fIZkWY=
</data>
<key>hash2</key>
<data>
TdCeoNla8kUqc5HPES6WNwi7ycy+4vRr3HGDipEXNVE=
</data>
</dict>
<key>Headers/MSACService.h</key>
<dict>
<key>hash</key>
<data>
lz5atiMe+oTdu9e6g74KPC0CjOs=
</data>
<key>hash2</key>
<data>
aiO/PWAQDwhbPW1HDGqNM0kn4xYSwqPmdpmcTgpW/CE=
</data>
</dict>
<key>Headers/MSACServiceAbstract.h</key>
<dict>
<key>hash</key>
<data>
rBHatSAJK78PLgsMIpFqkby4tgA=
</data>
<key>hash2</key>
<data>
vi9/mVDQylipTtHNfUe9r4GXjlc2bEnKFV8wmN/IXaE=
</data>
</dict>
<key>Headers/MSACWrapperLogger.h</key>
<dict>
<key>hash</key>
<data>
qBVuNkF12BZYytRhCKwZ7zkiKhc=
</data>
<key>hash2</key>
<data>
h2VHxvALAogCMocFQMUjmOkhCm+qkJwpGTzxwdxTdwo=
</data>
</dict>
<key>Headers/MSACWrapperSdk.h</key>
<dict>
<key>hash</key>
<data>
W9sdhEGnIGk/aFHS3gWwQ6FxUfI=
</data>
<key>hash2</key>
<data>
5x+0epJnQN2wZKY2xjvsjAYrr6H1QGYIGz0ptux72dU=
</data>
</dict>
<key>Modules/module.modulemap</key>
<dict>
<key>hash</key>
<data>
go9b9XYQJIVcGlS/K5PS+8A+0dI=
</data>
<key>hash2</key>
<data>
o0lkqm4+xeVosltUC3U+jCZnS35Tg8gUiUaKXbo0ZbQ=
</data>
</dict>
<key>PrivateHeaders/MSACChannelDelegate.h</key>
<dict>
<key>hash</key>
<data>
Msff4BZ/b1IjaYeKTDBHtNtT7wI=
</data>
<key>hash2</key>
<data>
d1uS+ptvOX/o3CCB23FEJAtvcf7KIf/8ozlruAf1f0g=
</data>
</dict>
</dict>
<key>rules</key>
<dict>
<key>^.*</key>
<true/>
<key>^.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^version.plist$</key>
<true/>
</dict>
<key>rules2</key>
<dict>
<key>.*\.dSYM($|/)</key>
<dict>
<key>weight</key>
<real>11</real>
</dict>
<key>^(.*/)?\.DS_Store$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>2000</real>
</dict>
<key>^.*</key>
<true/>
<key>^.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^Info\.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^PkgInfo$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^embedded\.provisionprofile$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
<key>^version\.plist$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
</dict>
</dict>
</plist>
@@ -0,0 +1 @@
Versions/Current/AppCenter
@@ -0,0 +1 @@
Versions/Current/Headers
@@ -0,0 +1 @@
Versions/Current/Modules
@@ -0,0 +1 @@
Versions/Current/PrivateHeaders
@@ -0,0 +1 @@
Versions/Current/Resources
@@ -0,0 +1,44 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
#if __has_include(<AppCenter/MSACAppCenter.h>)
#import <AppCenter/MSACAbstractLog.h>
#import <AppCenter/MSACAppCenter.h>
#import <AppCenter/MSACAppCenterErrors.h>
#import <AppCenter/MSACChannelGroupProtocol.h>
#import <AppCenter/MSACChannelProtocol.h>
#import <AppCenter/MSACConstants+Flags.h>
#import <AppCenter/MSACConstants.h>
#import <AppCenter/MSACCustomProperties.h>
#import <AppCenter/MSACDevice.h>
#import <AppCenter/MSACEnable.h>
#import <AppCenter/MSACLog.h>
#import <AppCenter/MSACLogWithProperties.h>
#import <AppCenter/MSACLogger.h>
#import <AppCenter/MSACSerializableObject.h>
#import <AppCenter/MSACService.h>
#import <AppCenter/MSACServiceAbstract.h>
#import <AppCenter/MSACWrapperLogger.h>
#import <AppCenter/MSACWrapperSdk.h>
#else
#import "MSACAbstractLog.h"
#import "MSACAppCenter.h"
#import "MSACAppCenterErrors.h"
#import "MSACChannelGroupProtocol.h"
#import "MSACChannelProtocol.h"
#import "MSACConstants+Flags.h"
#import "MSACConstants.h"
#import "MSACCustomProperties.h"
#import "MSACDevice.h"
#import "MSACEnable.h"
#import "MSACLog.h"
#import "MSACLogWithProperties.h"
#import "MSACLogger.h"
#import "MSACSerializableObject.h"
#import "MSACService.h"
#import "MSACServiceAbstract.h"
#import "MSACWrapperLogger.h"
#import "MSACWrapperSdk.h"
#endif
@@ -0,0 +1,14 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#ifndef MSAC_ABSTRACT_LOG_H
#define MSAC_ABSTRACT_LOG_H
#import <Foundation/Foundation.h>
NS_SWIFT_NAME(AbstractLog)
@interface MSACAbstractLog : NSObject
@end
#endif
@@ -0,0 +1,203 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
#ifndef MSAC_APP_CENTER
#define MSAC_APP_CENTER
#if __has_include(<AppCenter/MSACConstants.h>)
#import <AppCenter/MSACConstants.h>
#else
#import "MSACConstants.h"
#endif
@class MSACWrapperSdk;
#if !TARGET_OS_TV
@class MSACCustomProperties;
#endif
NS_SWIFT_NAME(AppCenter)
@interface MSACAppCenter : NSObject
/**
* Returns the singleton instance of MSACAppCenter.
*/
+ (instancetype)sharedInstance;
/**
* Configure the SDK with an application secret.
*
* @param appSecret A unique and secret key used to identify the application.
*
* @discussion This may be called only once per application process lifetime.
*/
+ (void)configureWithAppSecret:(NSString *)appSecret NS_SWIFT_NAME(configure(withAppSecret:));
/**
* Configure the SDK.
*
* @discussion This may be called only once per application process lifetime.
*/
+ (void)configure;
/**
* Configure the SDK with an application secret and an array of services to start.
*
* @param appSecret A unique and secret key used to identify the application.
* @param services Array of services to start.
*
* @discussion This may be called only once per application process lifetime.
*/
+ (void)start:(NSString *)appSecret withServices:(NSArray<Class> *)services NS_SWIFT_NAME(start(withAppSecret:services:));
/**
* Start the SDK with an array of services.
*
* @param services Array of services to start.
*
* @discussion This may be called only once per application process lifetime.
*/
+ (void)startWithServices:(NSArray<Class> *)services NS_SWIFT_NAME(start(services:));
/**
* Start a service.
*
* @param service A service to start.
*
* @discussion This may be called only once per service per application process lifetime.
*/
+ (void)startService:(Class)service;
/**
* Configure the SDK with an array of services to start from a library. This will not start the service at application level, it will enable
* the service only for the library.
*
* @param services Array of services to start.
*/
+ (void)startFromLibraryWithServices:(NSArray<Class> *)services NS_SWIFT_NAME(startFromLibrary(services:));
/**
* The flag indicates whether the SDK has already been configured or not.
*/
@property(class, atomic, readonly, getter=isConfigured) BOOL configured;
/**
* The flag indicates whether app is running in App Center Test Cloud.
*/
@property(class, atomic, readonly, getter=isRunningInAppCenterTestCloud) BOOL runningInAppCenterTestCloud;
/**
* The flag indicates whether or not the SDK was enabled as a whole
*
* The state is persisted in the device's storage across application launches.
*/
@property(class, nonatomic, getter=isEnabled, setter=setEnabled:) BOOL enabled NS_SWIFT_NAME(enabled);
/**
* Flag indicating whether SDK can send network requests.
*
* The state is persisted in the device's storage across application launches.
*/
@property(class, nonatomic, getter=isNetworkRequestsAllowed, setter=setNetworkRequestsAllowed:)
BOOL networkRequestsAllowed NS_SWIFT_NAME(networkRequestsAllowed);
/**
* The SDK's log level.
*/
@property(class, nonatomic) MSACLogLevel logLevel;
/**
* Base URL to use for backend communication.
*/
@property(class, nonatomic, strong) NSString *logUrl;
/**
* Set log handler.
*/
@property(class, nonatomic) MSACLogHandler logHandler;
/**
* Set wrapper SDK information to use when building device properties. This is intended in case you are building a SDK that uses the App
* Center SDK under the hood, e.g. our Xamarin SDK or ReactNative SDk.
*/
@property(class, nonatomic, strong) MSACWrapperSdk *wrapperSdk;
#if !TARGET_OS_TV
/**
* Set the custom properties.
*
* @param customProperties Custom properties object.
*/
+ (void)setCustomProperties:(MSACCustomProperties *)customProperties;
#endif
/**
* Check whether the application delegate forwarder is enabled or not.
*
* @discussion The application delegate forwarder forwards messages that target your application delegate methods via swizzling to the SDK.
* It simplifies the SDK integration but may not be suitable to any situations. For
* instance it should be disabled if you or one of your third party SDK is doing message forwarding on the application delegate. Message
* forwarding usually implies the implementation of @see NSObject#forwardingTargetForSelector: or @see NSObject#forwardInvocation: methods.
* To disable the application delegate forwarder just add the `AppCenterAppDelegateForwarderEnabled` tag to your Info .plist file and set it
* to `0`. Then you will have to forward any application delegate needed by the SDK manually.
*/
@property(class, readonly, nonatomic, getter=isAppDelegateForwarderEnabled) BOOL appDelegateForwarderEnabled;
/**
* Unique installation identifier.
*
*/
@property(class, readonly, nonatomic) NSUUID *installId;
/**
* Detect if a debugger is attached to the app process. This is only invoked once on app startup and can not detect
* if the debugger is being attached during runtime!
*
*/
@property(class, readonly, nonatomic, getter=isDebuggerAttached) BOOL debuggerAttached;
/**
* Current version of AppCenter SDK.
*
*/
@property(class, readonly, nonatomic) NSString *sdkVersion;
/**
* Set the maximum size of the internal storage. This method must be called before App Center is started. This method is only intended for
* applications.
*
* @param sizeInBytes Maximum size of the internal storage in bytes. This will be rounded up to the nearest multiple of a SQLite page size
* (default is 4096 bytes). Values below 20,480 bytes (20 KiB) will be ignored.
*
* @param completionHandler Callback that is invoked when the database size has been set. The `BOOL` parameter is `YES` if changing the size
* is successful, and `NO` otherwise. This parameter can be null.
*
* @discussion This only sets the maximum size of the database, but App Center modules might store additional data.
* The value passed to this method is not persisted on disk. The default maximum database size is 10485760 bytes (10 MiB).
*/
+ (void)setMaxStorageSize:(long)sizeInBytes completionHandler:(void (^)(BOOL))completionHandler;
/**
* Set the user identifier.
*
* @discussion Set the user identifier for logs sent for the default target token when the secret passed in @c
* MSACAppCenter:start:withServices: contains "target={targetToken}".
*
* For App Center backend the user identifier maximum length is 256 characters.
*
* AppCenter must be configured or started before this API can be used.
*/
@property(class, nonatomic, strong) NSString *userId;
/**
* Set country code to use when building device properties.
*
* @see https://www.iso.org/obp/ui/#search for more information.
*/
@property(class, nonatomic, strong) NSString *countryCode;
@end
#endif
@@ -0,0 +1,41 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#ifndef MSAC_APP_CENTER_ERRORS_H
#define MSAC_APP_CENTER_ERRORS_H
#import <Foundation/Foundation.h>
#define MSAC_APP_CENTER_BASE_DOMAIN @"com.Microsoft.AppCenter."
NS_ASSUME_NONNULL_BEGIN
#pragma mark - Domain
static NSString *const kMSACACErrorDomain = MSAC_APP_CENTER_BASE_DOMAIN @"ErrorDomain";
#pragma mark - General
// Error codes.
NS_ENUM(NSInteger){MSACACLogInvalidContainerErrorCode = 1, MSACACCanceledErrorCode = 2, MSACACDisabledErrorCode = 3};
// Error descriptions.
static NSString const *kMSACACLogInvalidContainerErrorDesc = @"Invalid log container.";
static NSString const *kMSACACCanceledErrorDesc = @"The operation was canceled.";
static NSString const *kMSACACDisabledErrorDesc = @"The service is disabled.";
#pragma mark - Connection
// Error codes.
NS_ENUM(NSInteger){MSACACConnectionPausedErrorCode = 100, MSACACConnectionHttpErrorCode = 101};
// Error descriptions.
static NSString const *kMSACACConnectionHttpErrorDesc = @"An HTTP error occured.";
static NSString const *kMSACACConnectionPausedErrorDesc = @"Canceled, connection paused with log deletion.";
// Error user info keys.
static NSString const *kMSACACConnectionHttpCodeErrorKey = @"MSConnectionHttpCode";
NS_ASSUME_NONNULL_END
#endif
@@ -0,0 +1,87 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#ifndef MSAC_CHANNEL_GROUP_PROTOCOL_H
#define MSAC_CHANNEL_GROUP_PROTOCOL_H
#import <Foundation/Foundation.h>
#if __has_include(<AppCenter/MSACChannelProtocol.h>)
#import <AppCenter/MSACChannelProtocol.h>
#else
#import "MSACChannelProtocol.h"
#endif
NS_ASSUME_NONNULL_BEGIN
@class MSACChannelUnitConfiguration;
@protocol MSACIngestionProtocol;
@protocol MSACChannelUnitProtocol;
/**
* `MSACChannelGroupProtocol` represents a kind of channel that contains constituent MSACChannelUnit objects. When an operation from the
* `MSACChannelProtocol` is performed on the group, that operation should be propagated to its constituent MSACChannelUnit objects.
*/
NS_SWIFT_NAME(ChannelGroupProtocol)
@protocol MSACChannelGroupProtocol <MSACChannelProtocol>
/**
* Initialize a channel unit with the given configuration.
*
* @param configuration channel configuration.
*
* @return The added `MSACChannelUnitProtocol`. Use this object to enqueue logs.
*/
- (id<MSACChannelUnitProtocol>)addChannelUnitWithConfiguration:(MSACChannelUnitConfiguration *)configuration
NS_SWIFT_NAME(addChannelUnit(withConfiguration:));
/**
* Initialize a channel unit with the given configuration.
*
* @param configuration channel configuration.
* @param ingestion The alternative ingestion object
*
* @return The added `MSACChannelUnitProtocol`. Use this object to enqueue logs.
*/
- (id<MSACChannelUnitProtocol>)addChannelUnitWithConfiguration:(MSACChannelUnitConfiguration *)configuration
withIngestion:(nullable id<MSACIngestionProtocol>)ingestion
NS_SWIFT_NAME(addChannelUnit(_:ingestion:));
/**
* Change the base URL (schema + authority + port only) used to communicate with the backend.
*/
@property(nonatomic, strong) NSString *_Nullable logUrl;
/**
* Set the app secret.
*/
@property(nonatomic, strong) NSString *_Nullable appSecret;
/**
* Set the maximum size of the internal storage. This method must be called before App Center is started.
*
* @discussion The default maximum database size is 10485760 bytes (10 MiB).
*
* @param sizeInBytes Maximum size of the internal storage in bytes. This will be rounded up to the nearest multiple of a SQLite page size
* (default is 4096 bytes). Values below 24576 bytes (24 KiB) will be ignored.
* @param completionHandler Callback that is invoked when the database size has been set. The `BOOL` parameter is `YES` if changing the size
* is successful, and `NO` otherwise.
*/
- (void)setMaxStorageSize:(long)sizeInBytes
completionHandler:(nullable void (^)(BOOL))completionHandler NS_SWIFT_NAME(setMaxStorageSize(_:completionHandler:));
/**
* Return a channel unit instance for the given groupId.
*
* @param groupId The group ID for a channel unit.
*
* @return A channel unit instance or `nil`.
*/
- (nullable id<MSACChannelUnitProtocol>)channelUnitForGroupId:(NSString *)groupId;
@end
NS_ASSUME_NONNULL_END
#endif
@@ -0,0 +1,68 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#ifndef MSAC_CHANNEL_PROTOCOL_H
#define MSAC_CHANNEL_PROTOCOL_H
#import <Foundation/Foundation.h>
#if __has_include(<AppCenter/MSACEnable.h>)
#import <AppCenter/MSACEnable.h>
#else
#import "MSACEnable.h"
#endif
NS_ASSUME_NONNULL_BEGIN
@protocol MSACChannelDelegate;
/**
* `MSACChannelProtocol` contains the essential operations of a channel. Channels are broadly responsible for enqueuing logs to be sent to
* the backend and/or stored on disk.
*/
NS_SWIFT_NAME(ChannelProtocol)
@protocol MSACChannelProtocol <NSObject, MSACEnable>
/**
* Add delegate.
*
* @param delegate delegate.
*/
- (void)addDelegate:(id<MSACChannelDelegate>)delegate;
/**
* Remove delegate.
*
* @param delegate delegate.
*/
- (void)removeDelegate:(id<MSACChannelDelegate>)delegate;
/**
* Pause operations, logs will be stored but not sent.
*
* @param identifyingObject Object used to identify the pause request.
*
* @discussion A paused channel doesn't forward logs to the ingestion. The identifying object used to pause the channel can be any unique
* object. The same identifying object must be used to call resume. For simplicity if the caller is the one owning the channel then @c self
* can be used as identifying object.
*
* @see resumeWithIdentifyingObject:
*/
- (void)pauseWithIdentifyingObject:(id<NSObject>)identifyingObject;
/**
* Resume operations, logs can be sent again.
*
* @param identifyingObject Object used to passed to the pause method.
*
* @discussion The channel only resume when all the outstanding identifying objects have been resumed.
*
* @see pauseWithIdentifyingObject:
*/
- (void)resumeWithIdentifyingObject:(id<NSObject>)identifyingObject;
@end
NS_ASSUME_NONNULL_END
#endif
@@ -0,0 +1,18 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#ifndef MSAC_CONSTANTS_FLAGS_H
#define MSAC_CONSTANTS_FLAGS_H
#import <Foundation/Foundation.h>
typedef NS_OPTIONS(NSUInteger, MSACFlags) {
MSACFlagsNone = (0 << 0), // => 00000000
MSACFlagsNormal = (1 << 0), // => 00000001
MSACFlagsCritical = (1 << 1), // => 00000010
MSACFlagsPersistenceNormal DEPRECATED_MSG_ATTRIBUTE("please use MSACFlagsNormal") = MSACFlagsNormal,
MSACFlagsPersistenceCritical DEPRECATED_MSG_ATTRIBUTE("please use MSACFlagsCritical") = MSACFlagsCritical,
MSACFlagsDefault = MSACFlagsNormal
} NS_SWIFT_NAME(Flags);
#endif
@@ -0,0 +1,170 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
/**
* Log Levels
*/
typedef NS_ENUM(NSUInteger, MSACLogLevel) {
/**
* Logging will be very chatty
*/
MSACLogLevelVerbose = 2,
/**
* Debug information will be logged
*/
MSACLogLevelDebug = 3,
/**
* Information will be logged
*/
MSACLogLevelInfo = 4,
/**
* Errors and warnings will be logged
*/
MSACLogLevelWarning = 5,
/**
* Errors will be logged
*/
MSACLogLevelError = 6,
/**
* Only critical errors will be logged
*/
MSACLogLevelAssert = 7,
/**
* Logging is disabled
*/
MSACLogLevelNone = 99
} NS_SWIFT_NAME(LogLevel);
typedef NSString * (^MSACLogMessageProvider)(void)NS_SWIFT_NAME(LogMessageProvider);
typedef void (^MSACLogHandler)(MSACLogMessageProvider messageProvider, MSACLogLevel logLevel, NSString *tag, const char *file,
const char *function, uint line) NS_SWIFT_NAME(LogHandler);
/**
* Channel priorities, check the kMSACPriorityCount if you add a new value.
* The order matters here! Values NEED to range from low priority to high priority.
*/
typedef NS_ENUM(NSInteger, MSACPriority) { MSACPriorityBackground, MSACPriorityDefault, MSACPriorityHigh } NS_SWIFT_NAME(Priority);
static short const kMSACPriorityCount = MSACPriorityHigh + 1;
/**
* The priority by which the modules are initialized.
* MSACPriorityMax is reserved for only 1 module and this needs to be Crashes.
* Crashes needs to be initialized first to catch crashes in our other SDK Modules (which will hopefully never happen) and to avoid losing
* any log at crash time.
*/
typedef NS_ENUM(NSInteger, MSACInitializationPriority) {
MSACInitializationPriorityDefault = 500,
MSACInitializationPriorityHigh = 750,
MSACInitializationPriorityMax = 999
} NS_SWIFT_NAME(InitializationPriority);
/**
* Enum with the different HTTP status codes.
*/
typedef NS_ENUM(NSInteger, MSACHTTPCodesNo) {
// Invalid
MSACHTTPCodesNo0XXInvalidUnknown = 0,
// Informational
MSACHTTPCodesNo1XXInformationalUnknown = 1,
MSACHTTPCodesNo100Continue = 100,
MSACHTTPCodesNo101SwitchingProtocols = 101,
MSACHTTPCodesNo102Processing = 102,
// Success
MSACHTTPCodesNo2XXSuccessUnknown = 2,
MSACHTTPCodesNo200OK = 200,
MSACHTTPCodesNo201Created = 201,
MSACHTTPCodesNo202Accepted = 202,
MSACHTTPCodesNo203NonAuthoritativeInformation = 203,
MSACHTTPCodesNo204NoContent = 204,
MSACHTTPCodesNo205ResetContent = 205,
MSACHTTPCodesNo206PartialContent = 206,
MSACHTTPCodesNo207MultiStatus = 207,
MSACHTTPCodesNo208AlreadyReported = 208,
MSACHTTPCodesNo209IMUsed = 209,
// Redirection
MSACHTTPCodesNo3XXSuccessUnknown = 3,
MSACHTTPCodesNo300MultipleChoices = 300,
MSACHTTPCodesNo301MovedPermanently = 301,
MSACHTTPCodesNo302Found = 302,
MSACHTTPCodesNo303SeeOther = 303,
MSACHTTPCodesNo304NotModified = 304,
MSACHTTPCodesNo305UseProxy = 305,
MSACHTTPCodesNo306SwitchProxy = 306,
MSACHTTPCodesNo307TemporaryRedirect = 307,
MSACHTTPCodesNo308PermanentRedirect = 308,
// Client error
MSACHTTPCodesNo4XXSuccessUnknown = 4,
MSACHTTPCodesNo400BadRequest = 400,
MSACHTTPCodesNo401Unauthorised = 401,
MSACHTTPCodesNo402PaymentRequired = 402,
MSACHTTPCodesNo403Forbidden = 403,
MSACHTTPCodesNo404NotFound = 404,
MSACHTTPCodesNo405MethodNotAllowed = 405,
MSACHTTPCodesNo406NotAcceptable = 406,
MSACHTTPCodesNo407ProxyAuthenticationRequired = 407,
MSACHTTPCodesNo408RequestTimeout = 408,
MSACHTTPCodesNo409Conflict = 409,
MSACHTTPCodesNo410Gone = 410,
MSACHTTPCodesNo411LengthRequired = 411,
MSACHTTPCodesNo412PreconditionFailed = 412,
MSACHTTPCodesNo413RequestEntityTooLarge = 413,
MSACHTTPCodesNo414RequestURITooLong = 414,
MSACHTTPCodesNo415UnsupportedMediaType = 415,
MSACHTTPCodesNo416RequestedRangeNotSatisfiable = 416,
MSACHTTPCodesNo417ExpectationFailed = 417,
MSACHTTPCodesNo418IamATeapot = 418,
MSACHTTPCodesNo419AuthenticationTimeout = 419,
MSACHTTPCodesNo420MethodFailureSpringFramework = 420,
MSACHTTPCodesNo420EnhanceYourCalmTwitter = 4200,
MSACHTTPCodesNo422UnprocessableEntity = 422,
MSACHTTPCodesNo423Locked = 423,
MSACHTTPCodesNo424FailedDependency = 424,
MSACHTTPCodesNo424MethodFailureWebDaw = 4240,
MSACHTTPCodesNo425UnorderedCollection = 425,
MSACHTTPCodesNo426UpgradeRequired = 426,
MSACHTTPCodesNo428PreconditionRequired = 428,
MSACHTTPCodesNo429TooManyRequests = 429,
MSACHTTPCodesNo431RequestHeaderFieldsTooLarge = 431,
MSACHTTPCodesNo444NoResponseNginx = 444,
MSACHTTPCodesNo449RetryWithMicrosoft = 449,
MSACHTTPCodesNo450BlockedByWindowsParentalControls = 450,
MSACHTTPCodesNo451RedirectMicrosoft = 451,
MSACHTTPCodesNo451UnavailableForLegalReasons = 4510,
MSACHTTPCodesNo494RequestHeaderTooLargeNginx = 494,
MSACHTTPCodesNo495CertErrorNginx = 495,
MSACHTTPCodesNo496NoCertNginx = 496,
MSACHTTPCodesNo497HTTPToHTTPSNginx = 497,
MSACHTTPCodesNo499ClientClosedRequestNginx = 499,
// Server error
MSACHTTPCodesNo5XXSuccessUnknown = 5,
MSACHTTPCodesNo500InternalServerError = 500,
MSACHTTPCodesNo501NotImplemented = 501,
MSACHTTPCodesNo502BadGateway = 502,
MSACHTTPCodesNo503ServiceUnavailable = 503,
MSACHTTPCodesNo504GatewayTimeout = 504,
MSACHTTPCodesNo505HTTPVersionNotSupported = 505,
MSACHTTPCodesNo506VariantAlsoNegotiates = 506,
MSACHTTPCodesNo507InsufficientStorage = 507,
MSACHTTPCodesNo508LoopDetected = 508,
MSACHTTPCodesNo509BandwidthLimitExceeded = 509,
MSACHTTPCodesNo510NotExtended = 510,
MSACHTTPCodesNo511NetworkAuthenticationRequired = 511,
MSACHTTPCodesNo522ConnectionTimedOut = 522,
MSACHTTPCodesNo598NetworkReadTimeoutErrorUnknown = 598,
MSACHTTPCodesNo599NetworkConnectTimeoutErrorUnknown = 599
} NS_SWIFT_NAME(HTTPCodesNo);
@@ -0,0 +1,71 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#ifndef MSAC_CUSTOM_PROPERTIES_H
#define MSAC_CUSTOM_PROPERTIES_H
#import <Foundation/Foundation.h>
/**
* Custom properties builder.
* Collects multiple properties to send in one log.
*/
NS_SWIFT_NAME(CustomProperties)
@interface MSACCustomProperties : NSObject
/**
* Set the specified property value with the specified key.
* If the properties previously contained a property for the key, the old value is replaced.
*
* @param key Key with which the specified value is to be set.
* @param value Value to be set with the specified key.
*
* @return This instance.
*/
- (instancetype)setString:(NSString *)value forKey:(NSString *)key NS_SWIFT_NAME(set(_:forKey:));
/**
* Set the specified property value with the specified key.
* If the properties previously contained a property for the key, the old value is replaced.
*
* @param key Key with which the specified value is to be set.
* @param value Value to be set with the specified key.
*
* @return This instance.
*/
- (instancetype)setNumber:(NSNumber *)value forKey:(NSString *)key NS_SWIFT_NAME(set(_:forKey:));
/**
* Set the specified property value with the specified key.
* If the properties previously contained a property for the key, the old value is replaced.
*
* @param key Key with which the specified value is to be set.
* @param value Value to be set with the specified key.
*
* @return This instance.
*/
- (instancetype)setBool:(BOOL)value forKey:(NSString *)key NS_SWIFT_NAME(set(_:forKey:));
/**
* Set the specified property value with the specified key.
* If the properties previously contained a property for the key, the old value is replaced.
*
* @param key Key with which the specified value is to be set.
* @param value Value to be set with the specified key.
*
* @return This instance.
*/
- (instancetype)setDate:(NSDate *)value forKey:(NSString *)key NS_SWIFT_NAME(set(_:forKey:));
/**
* Clear the property for the specified key.
*
* @param key Key whose mapping is to be cleared.
*
* @return This instance.
*/
- (instancetype)clearPropertyForKey:(NSString *)key NS_SWIFT_NAME(clearProperty(forKey:));
@end
#endif
@@ -0,0 +1,101 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#ifndef MSAC_DEVICE_H
#define MSAC_DEVICE_H
#import <Foundation/Foundation.h>
#if __has_include(<AppCenter/MSACWrapperSdk.h>)
#import <AppCenter/MSACWrapperSdk.h>
#else
#import "MSACWrapperSdk.h"
#endif
NS_SWIFT_NAME(Device)
@interface MSACDevice : MSACWrapperSdk
/*
* Name of the SDK. Consists of the name of the SDK and the platform, e.g. "appcenter.ios", "appcenter.android"
*/
@property(nonatomic, copy, readonly) NSString *sdkName;
/*
* Version of the SDK in semver format, e.g. "1.2.0" or "0.12.3-alpha.1".
*/
@property(nonatomic, copy, readonly) NSString *sdkVersion;
/*
* Device model (example: iPad2,3).
*/
@property(nonatomic, copy, readonly) NSString *model;
/*
* Device manufacturer (example: HTC).
*/
@property(nonatomic, copy, readonly) NSString *oemName;
/*
* OS name (example: iOS).
*/
@property(nonatomic, copy, readonly) NSString *osName;
/*
* OS version (example: 9.3.0).
*/
@property(nonatomic, copy, readonly) NSString *osVersion;
/*
* OS build code (example: LMY47X). [optional]
*/
@property(nonatomic, copy, readonly) NSString *osBuild;
/*
* API level when applicable like in Android (example: 15). [optional]
*/
@property(nonatomic, copy, readonly) NSNumber *osApiLevel;
/*
* Language code (example: en_US).
*/
@property(nonatomic, copy, readonly) NSString *locale;
/*
* The offset in minutes from UTC for the device time zone, including daylight savings time.
*/
@property(nonatomic, readonly, strong) NSNumber *timeZoneOffset;
/*
* Screen size of the device in pixels (example: 640x480).
*/
@property(nonatomic, copy, readonly) NSString *screenSize;
/*
* Application version name, e.g. 1.1.0
*/
@property(nonatomic, copy, readonly) NSString *appVersion;
/*
* Carrier name (for mobile devices). [optional]
*/
@property(nonatomic, copy, readonly) NSString *carrierName;
/*
* Carrier country code (for mobile devices). [optional]
*/
@property(nonatomic, copy, readonly) NSString *carrierCountry;
/*
* The app's build number, e.g. 42.
*/
@property(nonatomic, copy, readonly) NSString *appBuild;
/*
* The bundle identifier, package identifier, or namespace, depending on what the individual plattforms use, .e.g com.microsoft.example.
* [optional]
*/
@property(nonatomic, copy, readonly) NSString *appNamespace;
@end
#endif
@@ -0,0 +1,27 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#ifndef MSAC_ENABLE_H
#define MSAC_ENABLE_H
#import <Foundation/Foundation.h>
/**
* Protocol to define an instance that can be enabled/disabled.
*/
NS_SWIFT_NAME(Enable)
@protocol MSACEnable <NSObject>
@required
/**
* Enable/disable this instance and delete data on disabled state.
*
* @param isEnabled A boolean value set to YES to enable the instance or NO to disable it.
* @param deleteData A boolean value set to YES to delete data or NO to keep it.
*/
- (void)setEnabled:(BOOL)isEnabled andDeleteDataOnDisabled:(BOOL)deleteData NS_SWIFT_NAME(setEnabled(_:deleteDataOnDisabled:));
@end
#endif
@@ -0,0 +1,74 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#ifndef MSAC_LOG_H
#define MSAC_LOG_H
#import <Foundation/Foundation.h>
@class MSACDevice;
NS_SWIFT_NAME(Log)
@protocol MSACLog <NSObject>
/**
* Log type.
*/
@property(nonatomic, copy) NSString *type;
/**
* Log timestamp.
*/
@property(nonatomic, strong) NSDate *timestamp;
/**
* A session identifier is used to correlate logs together. A session is an abstract concept in the API and is not necessarily an analytics
* session, it can be used to only track crashes.
*/
@property(nonatomic, copy) NSString *sid;
/**
* Optional distribution group ID value.
*/
@property(nonatomic, copy) NSString *distributionGroupId;
/**
* Optional user identifier.
*/
@property(nonatomic, copy) NSString *userId;
/**
* Device properties associated to this log.
*/
@property(nonatomic, strong) MSACDevice *device;
/**
* Transient object tag. For example, a log can be tagged with a transmission target. We do this currently to prevent properties being
* applied retroactively to previous logs by comparing their tags.
*/
@property(nonatomic, strong) NSObject *tag;
/**
* Checks if the object's values are valid.
*
* @return YES, if the object is valid.
*/
- (BOOL)isValid;
/**
* Adds a transmission target token that this log should be sent to.
*
* @param token The transmission target token.
*/
- (void)addTransmissionTargetToken:(NSString *)token;
/**
* Gets all transmission target tokens that this log should be sent to.
*
* @returns Collection of transmission target tokens that this log should be sent to.
*/
- (NSSet *)transmissionTargetTokens;
@end
#endif
@@ -0,0 +1,25 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#ifndef MSAC_LOG_WITH_PROPERTIES_H
#define MSAC_LOG_WITH_PROPERTIES_H
#import <Foundation/Foundation.h>
#if __has_include(<AppCenter/MSACAbstractLog.h>)
#import <AppCenter/MSACAbstractLog.h>
#else
#import "MSACAbstractLog.h"
#endif
NS_SWIFT_NAME(LogWithProperties)
@interface MSACLogWithProperties : MSACAbstractLog
/**
* Additional key/value pair parameters. [optional]
*/
@property(nonatomic, strong) NSDictionary<NSString *, NSString *> *properties;
@end
#endif
@@ -0,0 +1,54 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
#ifndef MSAC_LOGGER
#define MSAC_LOGGER
#if __has_include(<AppCenter/MSACConstants.h>)
#import <AppCenter/MSACConstants.h>
#else
#import "MSACConstants.h"
#endif
#define MSACLog(_level, _tag, _message) \
[MSACLogger logMessage:_message level:_level tag:_tag file:__FILE__ function:__PRETTY_FUNCTION__ line:__LINE__]
#define MSACLogAssert(tag, format, ...) \
MSACLog(MSACLogLevelAssert, tag, (^{ \
return [NSString stringWithFormat:(format), ##__VA_ARGS__]; \
}))
#define MSACLogError(tag, format, ...) \
MSACLog(MSACLogLevelError, tag, (^{ \
return [NSString stringWithFormat:(format), ##__VA_ARGS__]; \
}))
#define MSACLogWarning(tag, format, ...) \
MSACLog(MSACLogLevelWarning, tag, (^{ \
return [NSString stringWithFormat:(format), ##__VA_ARGS__]; \
}))
#define MSACLogInfo(tag, format, ...) \
MSACLog(MSACLogLevelInfo, tag, (^{ \
return [NSString stringWithFormat:(format), ##__VA_ARGS__]; \
}))
#define MSACLogDebug(tag, format, ...) \
MSACLog(MSACLogLevelDebug, tag, (^{ \
return [NSString stringWithFormat:(format), ##__VA_ARGS__]; \
}))
#define MSACLogVerbose(tag, format, ...) \
MSACLog(MSACLogLevelVerbose, tag, (^{ \
return [NSString stringWithFormat:(format), ##__VA_ARGS__]; \
}))
NS_SWIFT_NAME(Logger)
@interface MSACLogger : NSObject
+ (void)logMessage:(MSACLogMessageProvider)messageProvider
level:(MSACLogLevel)loglevel
tag:(NSString *)tag
file:(const char *)file
function:(const char *)function
line:(uint)line;
@end
#endif
@@ -0,0 +1,19 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
#ifndef SERIALIZABLE_OBJECT_H
#define SERIALIZABLE_OBJECT_H
@protocol MSACSerializableObject <NSCoding>
/**
* Serialize this object to a dictionary.
*
* @return A dictionary representing this object.
*/
- (NSMutableDictionary *)serializeToDictionary;
@end
#endif
@@ -0,0 +1,23 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#ifndef MSAC_SERVICE_H
#define MSAC_SERVICE_H
#import <Foundation/Foundation.h>
/**
* Protocol declaring service logic.
*/
NS_SWIFT_NAME(Service)
@protocol MSACService <NSObject>
/**
* Indicates whether this service is enabled.
* The state is persisted in the device's storage across application launches.
*/
@property(class, nonatomic, getter=isEnabled, setter=setEnabled:) BOOL enabled NS_SWIFT_NAME(enabled);
@end
#endif
@@ -0,0 +1,58 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#ifndef MSAC_SERVICE_ABSTRACT_H
#define MSAC_SERVICE_ABSTRACT_H
#import <Foundation/Foundation.h>
#if __has_include(<AppCenter/MSACService.h>)
#import <AppCenter/MSACService.h>
#else
#import "MSACService.h"
#endif
@protocol MSACChannelGroupProtocol;
/**
* Abstraction of services common logic.
* This class is intended to be subclassed only not instantiated directly.
*/
NS_SWIFT_NAME(ServiceAbstract)
@interface MSACServiceAbstract : NSObject <MSACService>
/**
* The flag indicates whether the service is started from application or not.
*/
@property(nonatomic, assign) BOOL startedFromApplication;
/**
* Start this service with a channel group. Also sets the flag that indicates that a service has been started.
*
* @param channelGroup channel group used to persist and send logs.
* @param appSecret app secret for the SDK.
* @param token default transmission target token for this service.
* @param fromApplication indicates whether the service started from an application or not.
*/
- (void)startWithChannelGroup:(id<MSACChannelGroupProtocol>)channelGroup
appSecret:(NSString *)appSecret
transmissionTargetToken:(NSString *)token
fromApplication:(BOOL)fromApplication;
/**
* Update configuration when the service requires to start again. This method should only be called if the service is started from libraries
* and then is being started from an application.
*
* @param appSecret app secret for the SDK.
* @param token default transmission target token for this service.
*/
- (void)updateConfigurationWithAppSecret:(NSString *)appSecret transmissionTargetToken:(NSString *)token;
/**
* The flag indicate whether the service needs the application secret or not.
*/
@property(atomic, readonly) BOOL isAppSecretRequired;
@end
#endif
@@ -0,0 +1,21 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
#if __has_include(<AppCenter/MSACConstants.h>)
#import <AppCenter/MSACConstants.h>
#else
#import "MSACConstants.h"
#endif
/**
* This is a utility for producing App Center style log messages. It is only intended for use by App Center services and wrapper SDKs of App
* Center.
*/
NS_SWIFT_NAME(WrapperLogger)
@interface MSACWrapperLogger : NSObject
+ (void)MSACWrapperLog:(MSACLogMessageProvider)message tag:(NSString *)tag level:(MSACLogLevel)level;
@end
@@ -0,0 +1,60 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#ifndef MSAC_WRAPPER_SDK_H
#define MSAC_WRAPPER_SDK_H
#import <Foundation/Foundation.h>
NS_SWIFT_NAME(WrapperSdk)
@interface MSACWrapperSdk : NSObject
/*
* Version of the wrapper SDK. When the SDK is embedding another base SDK (for example Xamarin.Android wraps Android), the Xamarin specific
* version is populated into this field while sdkVersion refers to the original Android SDK. [optional]
*/
@property(nonatomic, copy, readonly) NSString *wrapperSdkVersion;
/*
* Name of the wrapper SDK (examples: Xamarin, Cordova). [optional]
*/
@property(nonatomic, copy, readonly) NSString *wrapperSdkName;
/*
* Version of the wrapper technology framework (Xamarin runtime version or ReactNative or Cordova etc...). [optional]
*/
@property(nonatomic, copy, readonly) NSString *wrapperRuntimeVersion;
/*
* Label that is used to identify application code 'version' released via Live Update beacon running on device.
*/
@property(nonatomic, copy, readonly) NSString *liveUpdateReleaseLabel;
/*
* Identifier of environment that current application release belongs to, deployment key then maps to environment like Production, Staging.
*/
@property(nonatomic, copy, readonly) NSString *liveUpdateDeploymentKey;
/*
* Hash of all files (ReactNative or Cordova) deployed to device via LiveUpdate beacon. Helps identify the Release version on device or need
* to download updates in future
*/
@property(nonatomic, copy, readonly) NSString *liveUpdatePackageHash;
- (instancetype)initWithWrapperSdkVersion:(NSString *)wrapperSdkVersion
wrapperSdkName:(NSString *)wrapperSdkName
wrapperRuntimeVersion:(NSString *)wrapperRuntimeVersion
liveUpdateReleaseLabel:(NSString *)liveUpdateReleaseLabel
liveUpdateDeploymentKey:(NSString *)liveUpdateDeploymentKey
liveUpdatePackageHash:(NSString *)liveUpdatePackageHash;
/**
* Checks if the object's values are valid.
*
* @return YES, if the object is valid.
*/
- (BOOL)isValid;
@end
#endif
@@ -0,0 +1,13 @@
framework module AppCenter {
umbrella header "AppCenter.h"
export *
module * { export * }
link framework "Foundation"
link framework "CoreTelephony"
link framework "SystemConfiguration"
link framework "UIKit"
link "sqlite3"
link "z"
}
@@ -0,0 +1,114 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import <Foundation/Foundation.h>
#import "MSACConstants+Flags.h"
@protocol MSACChannelUnitProtocol;
@protocol MSACChannelGroupProtocol;
@protocol MSACChannelProtocol;
@protocol MSACLog;
NS_ASSUME_NONNULL_BEGIN
@protocol MSACChannelDelegate <NSObject>
@optional
/**
* A callback that is called when a channel unit is added to the channel group.
*
* @param channelGroup The channel group.
* @param channel The newly added channel.
*/
- (void)channelGroup:(id<MSACChannelGroupProtocol>)channelGroup didAddChannelUnit:(id<MSACChannelUnitProtocol>)channel;
/**
* A callback that is called when a log is just enqueued. Delegates may want to prepare the log a little more before further processing.
*
* @param log The log to prepare.
*/
- (void)channel:(id<MSACChannelProtocol>)channel prepareLog:(id<MSACLog>)log;
/**
* A callback that is called after a log is definitely prepared.
*
* @param log The log.
* @param internalId An internal Id to keep track of logs.
* @param flags Options for the log.
*/
- (void)channel:(id<MSACChannelProtocol>)channel didPrepareLog:(id<MSACLog>)log internalId:(NSString *)internalId flags:(MSACFlags)flags;
/**
* A callback that is called after a log completed the enqueueing process whether it was successful or not.
*
* @param log The log.
* @param internalId An internal Id to keep track of logs.
*/
- (void)channel:(id<MSACChannelProtocol>)channel didCompleteEnqueueingLog:(id<MSACLog>)log internalId:(NSString *)internalId;
/**
* Callback method that will be called before each log will be send to the server.
*
* @param channel The channel object.
* @param log The log to be sent.
*/
- (void)channel:(id<MSACChannelProtocol>)channel willSendLog:(id<MSACLog>)log;
/**
* Callback method that will be called in case the SDK was able to send a log.
*
* @param channel The channel object.
* @param log The log to be sent.
*/
- (void)channel:(id<MSACChannelProtocol>)channel didSucceedSendingLog:(id<MSACLog>)log;
/**
* Callback method that will be called in case the SDK was unable to send a log.
*
* @param channel The channel object.
* @param log The log to be sent.
* @param error The error that occured.
*/
- (void)channel:(id<MSACChannelProtocol>)channel didFailSendingLog:(id<MSACLog>)log withError:(nullable NSError *)error;
/**
* A callback that is called when setEnabled has been invoked.
*
* @param channel The channel.
* @param isEnabled The boolean that indicates enabled.
* @param deletedData The boolean that indicates deleting data on disabled.
*/
- (void)channel:(id<MSACChannelProtocol>)channel didSetEnabled:(BOOL)isEnabled andDeleteDataOnDisabled:(BOOL)deletedData;
/**
* A callback that is called when pause has been invoked.
*
* @param channel The channel.
* @param identifyingObject The identifying object used to pause the channel.
*/
- (void)channel:(id<MSACChannelProtocol>)channel didPauseWithIdentifyingObject:(id<NSObject>)identifyingObject;
/**
* A callback that is called when resume has been invoked.
*
* @param channel The channel.
* @param identifyingObject The identifying object used to resume the channel.
*/
- (void)channel:(id<MSACChannelProtocol>)channel didResumeWithIdentifyingObject:(id<NSObject>)identifyingObject;
/**
* Callback method that will determine if a log should be filtered out from the usual processing pipeline. If any delegate returns true, the
* log is filtered.
*
* @param channelUnit The channel unit that is going to send the log.
* @param log The log to be filtered or not.
*
* @return `true` if the log should be filtered out.
*/
- (BOOL)channelUnit:(id<MSACChannelUnitProtocol>)channelUnit shouldFilterLog:(id<MSACLog>)log;
@end
NS_ASSUME_NONNULL_END
@@ -0,0 +1,48 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>BuildMachineOSBuild</key>
<string>19H1323</string>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>AppCenter</string>
<key>CFBundleIdentifier</key>
<string>com.microsoft.appcenter</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>AppCenter</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1</string>
<key>CFBundleSupportedPlatforms</key>
<array>
<string>MacOSX</string>
</array>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>
<string>11C505</string>
<key>DTPlatformVersion</key>
<string>GM</string>
<key>DTSDKBuild</key>
<string>19B90</string>
<key>DTSDKName</key>
<string>macosx10.15</string>
<key>DTXcode</key>
<string>1130</string>
<key>DTXcodeBuild</key>
<string>11C505</string>
<key>LSMinimumSystemVersion</key>
<string>10.15</string>
<key>UIDeviceFamily</key>
<array>
<integer>2</integer>
</array>
</dict>
</plist>
@@ -0,0 +1 @@
Versions/Current/AppCenter
@@ -0,0 +1 @@
Versions/Current/Headers
@@ -0,0 +1 @@
Versions/Current/Modules
@@ -0,0 +1 @@
Versions/Current/PrivateHeaders
@@ -0,0 +1 @@
Versions/Current/Resources
Loaded 100 of 1111 files, more files were not shown because too many files have changed in this diff. Show more