lwouis
f3fe535acb
feat: better support adobe apps ( closes #5707 )
2026-06-04 21:56:59 +02:00
lwouis
cddc89dd21
fix: better handle some shortcut conflicts (related to 3059dc23)
2026-06-04 13:55:22 +02:00
lwouis
83b5ddc091
refactor: move debug-menu into qa-menu, and update it
2026-06-03 21:18:31 +02:00
lwouis
7d60d55395
fix: very minor memory leak
2026-06-03 21:17:45 +02:00
lwouis
e0b1778db7
fix: improve processing of accessibility events ( closes #5665 )
2026-06-01 08:34:12 +02:00
lwouis
9a9994bf28
fix: only show screen recording callout when it's needed ( closes #5623 )
2026-06-01 08:34:12 +02:00
lwouis
a39816e303
perf: carry (pid, wid) in AX subscription refcon to skip identity calls
...
AXObserverAddNotification's refcon was always nil. Bake the owning identity into it at subscribe time so the AX callback gets (pid, wid) for free, instead of an element.pid()/cgWindowId() round-trip per event. Window-level subscriptions carry a real wid; app-level subscriptions carry wid 0, so focus/main/created still resolve their per-event subject window from the element. Notably this gives a reliable wid for kAXUIElementDestroyed, which previously had to query an already-dead element.
2026-05-30 21:51:13 +02:00
lwouis
c143ec2f0c
fix: settings window search and controls editor edge-cases
2026-05-30 19:38:20 +02:00
lwouis
83f8ae18fa
refactor: remove very minor leak or flagged-as-leak
2026-05-28 21:04:48 +02:00
lwouis
f006b26931
refactor: improve specs/tests coverage
2026-05-28 19:28:49 +02:00
lwouis
e4a306dc8c
refactor: prevent appkit rare crashes due to in-flight tooltips
2026-05-28 14:11:14 +02:00
lwouis
c75aac585a
fix: command+tab would sometimes not bind correctly ( closes #5653 )
2026-05-28 14:00:57 +02:00
lwouis
60cca89bb8
refactor: add specs and coverage; move tests close to files
2026-05-28 14:00:57 +02:00
lwouis
0899f61654
fix: focus issues with show-main-window setting ( closes #5684 )
2026-05-28 13:56:51 +02:00
lwouis
3059dc2356
perf: improve performance of the settings window
2026-05-28 13:56:50 +02:00
lwouis
5bd746d342
fix: preserve switcher selection across reorders ( closes #5665 )
...
Async AX events (focused-window changed, app activated) can fire during
the switcher's show path and reorder Windows.list under the panel. The
old updateSelectedWindow short-circuited to the initial-pick path
whenever the lowest-lastFocusOrder window changed mid-show, throwing
away the user's selectedTarget and re-picking the default. Visible slot
swap plus highlight jump; if the user released keys early they landed
on the wrong window.
Extract a pure-function kernel (SelectionResolver) covering the full
selection state machine and replace updateSelectedWindow with a thin
snapshot/decide/apply wrapper. The actual fix is dropping the
focusedWindowChangedWhileShowing arm of shouldSelectFromScratch: the
list still reorders (Photoshop finishing launch is fresh state the
user wants reflected), but the existing target-by-id lookup re-resolves
the user's pick at its new index instead of being skipped.
28 new SelectionResolverTests lock down every selection path: initial
pick rules, target preservation across reorders (#5665 regressions),
target removal, search-mode flags, edge cases.
Also adds minimal Appearance and SettingsSearchIndex stubs to Mocks.swift
so the unit-test target builds. ProBadgeView and LightLabel referenced
those types without the underlying source being in the test target.
2026-05-28 13:56:50 +02:00
lwouis
9a47672920
refactor: log results of carbon shortcut apis ( #5653 )
2026-05-28 13:56:49 +02:00
lwouis
a354fdecc8
fix: always persist menubar icon removal from dragging ( #5654 )
2026-05-28 13:56:49 +02:00
lwouis
d483c5aa88
fix: text shortcuts like cmd+a work in search mode ( closes #5675 )
2026-05-28 13:56:48 +02:00
lwouis
30eb5f2116
feat: do not repeat title if window title is app name ( closes #5672 )
2026-05-28 13:56:48 +02:00
lwouis
04346790b8
fix: better handle electron apps hidden windows ( closes #5449 )
2026-05-25 11:37:54 +02:00
lwouis
a8098c39db
fix: improve tab detection ( closes #5618 )
2026-05-25 10:36:56 +02:00
lwouis
49778089ea
fix: rare crash when assigning shortcuts with arrow keys
2026-05-25 09:35:27 +02:00
lwouis
f4a54c8f1b
fix: rare crash when capturing window thumbnails
2026-05-24 22:00:29 +02:00
lwouis
007edc624e
fix: very rare crash on quit
2026-05-24 21:14:39 +02:00
lwouis
3a48a13cb5
fix: cmd key could be stuck after switching ( closes #5650 )
2026-05-22 18:53:59 +02:00
lwouis
9147a4a864
feat: introducing alt-tab pro!
...
BREAKING CHANGE: announcement: https://github.com/lwouis/alt-tab-macos/discussions/5533
* improved performance, especially switcher responsiveness
* reduced battery usage even more
* reduced ram usage (closes #5450 , closes #5539 , closes #5627 )
* reduced app size even more
* polished many aspects of the ui; align more with liquid glass
* better handle "ghost" windows (closes #5509 )
* fix issue with wrong window order (closes #5492 )
* escape closes the switcher on tahoe (closes #5585 )
* improve search matches (closes #5488 )
* localizations trimmed and reviewed entirely (closes #5583 )
* highlight matching app icons when searching, in addition to text
* better settings import/export
* reworked "send feedback" experience
* reworked exceptions ui (closes #5482 )
* per-shortcut settings (closes #5313 )
* rework about window
2026-05-21 10:21:25 +02:00
lwouis
da9a46bf49
feat: remove the need to add email in feedback form
2026-04-13 10:53:25 +02:00
lwouis
9c5b9630e8
feat: show usage stats in the about-window
2026-04-13 10:31:08 +02:00
lwouis
8e07d261b9
feat: add local usage stats for curious users
2026-04-08 22:02:28 +02:00
lwouis
47e6cbd987
fix: rare crash sometimes when opening the app twice quickly
2026-04-05 17:33:12 +02:00
lwouis
317d2ff78a
fix: rare crash when scrolling some settings window views
2026-04-05 17:22:40 +02:00
lwouis
d5152fba44
fix: about-alttab window would crash when opened ( closes #5491 )
2026-04-05 08:49:28 +02:00
lwouis
18b523e458
ci: migrate from netlify to cloudflare
2026-04-04 15:36:46 +02:00
lwouis
41d608efda
fix: show more apps when adding an exception ( closes #5463 )
2026-03-29 18:22:52 +02:00
lwouis
f1c59a2748
refactor: small improvements to concurrency
2026-03-28 17:21:10 +01:00
lwouis
0e897b0678
refactor: program main-menu instead of .xib
...
avoids SDK logs
not sure if easier to maintain though
2026-03-28 12:07:17 +01:00
lwouis
7a2a5482ae
feat: improved detection of windows and apps
...
* find more windows and apps (e.g. apps that take 30s to launch)
* keep windows and apps more up-to-date
* more efficient, uses fewer resources
2026-03-28 11:57:48 +01:00
lwouis
170bd673e0
feat: better recognizes tabbed windows
2026-03-28 11:57:48 +01:00
lwouis
ff1e92303a
fix: better handle bugged apps with hidden windows ( closes #5296 )
2026-03-28 11:57:48 +01:00
lwouis
edbbf2082c
perf: improve badges retrieval
2026-03-28 11:57:48 +01:00
lwouis
1ab419dd09
fix: improve reliability after sleep/wake
2026-03-28 11:57:48 +01:00
lwouis
6bd5f26e1c
refactor: improve logs for application discrimination
2026-03-24 11:35:05 +01:00
lwouis
5ed6c1d9ce
feat: new setting to not capture windows in background ( closes #5337 )
...
Also closes #5371
2026-03-22 17:19:19 +01:00
lwouis
a1f8b18888
fix: panel may re-center when searching
2026-03-22 17:19:18 +01:00
lwouis
9f3e20a826
feat: show better ui when there are no window ( closes #283 )
2026-03-22 17:19:18 +01:00
lwouis
56c1927584
fix: allow quitting multiple apps in a row (follow-up on #5421 )
2026-03-20 21:52:24 +01:00
lwouis
7dd11cff01
feat: stabilize ui during search ( closes #5431 )
2026-03-20 21:52:24 +01:00
lwouis
15ede93868
feat: allow next-window shortcut without modifiers ( closes #5433 )
2026-03-20 21:52:23 +01:00
lwouis
4502e8bd15
refactor: improve logging of window discriminator logic
2026-03-20 21:52:23 +01:00