963 Commits
Author SHA1 Message Date
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