Repository navigation
Releases
Releases · martonpaulo/windowhop
WindowHop 2.4.0
Added
`moves back in the switcher: while the switcher is open,`selects the previous
window, as in the macOS app switcher.
Changed
- Simpler About header: Settings › About no longer shows a separate "Made by Marton Paulo"
line. The copyright line at the bottom of the pane still names the developer.
Fixed
- Shortcut recorder prompt fits: while you record the Open WindowHop shortcut, the whole
prompt (⎋ cancels, ⌫ clears) is visible. Before, it was cut off. - Quit apps leave the switcher: the windows of an app you quit no longer stay in the
switcher as blank tiles until WindowHop restarts.
WindowHop 2.3.3
Changed
- Update window shows only what changed: the window lists the new version's changes
and nothing else, and grows to fit them, so they can be read without scrolling.
WindowHop 2.3.2
Changed
- Full release notes in the update window: the update window shows the release notes
page from the website, fitted to the window's width.
Fixed
- Sharp previews on standard-resolution displays: a preview is now drawn on whole
pixels. Before, it was often placed half a pixel off, so every line of it was blended
with the next one and the preview looked blurred.
WindowHop 2.3.1
Fixed
- Sharp previews of wide windows: a snapshot is now captured large enough to fill its
card. Before, a wide window, such as a maximized one on an ultrawide display, was
captured too small and then enlarged, so its preview looked blurred.
WindowHop 2.3.0
Added
- Install with Homebrew:
brew install --cask martonpaulo/tap/windowhop.
Changed
- Previews fill the whole card: a window snapshot now covers its card, and only
the card has rounded corners. When a window's shape differs from the card's, a thin
strip at its edges is trimmed instead of leaving empty bands. - Readable update notes: the update window now shows the release notes on their own,
in WindowHop's look, instead of the whole GitHub release page.
Fixed
- Switching no longer brings a window forward on your other display: when an app has
windows on two displays, choosing one of them now fronts only that window. Before, the
app's window on the other display jumped in front too.
WindowHop 2.2.0
Changed
- About names the developer: Settings › About now says "Made by Marton Paulo". The
AltTab credit stays as text, and the link to the AltTab repository is gone, because it
looked like WindowHop's own repository. - New app icon: two windows, the front one floating on a soft shadow, without the
arrow. The Dock, Finder, the installer, the website and its favicons all use it. - The style choice is easier to read: in Settings › Switcher, App Icons shows three
small app icons and Window Previews shows three small windows with an app badge, each
inside a small switcher panel.
Fixed
- Window previews fill their card: on a display that is not Retina, a snapshot used
only half of its card. Every snapshot now fills the card's width or height, and a small
window is enlarged to the card too. The card size does not change. - The app icon in Settings has smooth edges: General and About draw the icon from
the image made for its size, instead of shrinking the largest one.
WindowHop 2.1.0
Changed
- Grant Accessibility again after this update: WindowHop has a new bundle identifier,
com.martonpaulo.windowhop, and macOS treats it as a new app. After the update,
WindowHop opens its setup window: grant Accessibility again, and Screen Recording again
if you use Window Previews. You can then remove the old WindowHop entries from System
Settings › Privacy & Security › Accessibility and Screen Recording. Your settings are
copied on the first launch and keep their values. If Launch at login was on, WindowHop
registers itself again; macOS can ask you to approve it in Login Items. - Settings is shorter and easier to scan: four panes instead of six. General shows
whether WindowHop is on and whether Accessibility is allowed. Shortcuts lists the keys
that work in the switcher, one row per action. Switcher holds the style, the windows it
lists and where it appears, with one menu for the display. About holds the version,
updates and credits. Each pane is as tall as its content, and every setting keeps its
value. - Settings are stored under versioned names: the first launch of this version moves
every setting you chose to its new name and keeps its value. An older WindowHop version
started afterwards keeps the settings it had before this update, and changes made in
this version do not reach it.
Fixed
- Windows no longer disappear after the screen locks: after a lock, a Screen Sharing
reconnect, a user switch or a sleep, the switcher could list only the current window
until you changed Space or restarted WindowHop. WindowHop now ignores what apps report
while the screen is locked, and checks every window again as soon as you are back.
WindowHop 2.0.0
Added
- Settings shows how to switch windows: General now opens with a "Switch windows"
section that explains holding the switcher shortcut and releasing it to switch, and
opening WindowHop with its own shortcut and confirming with Return or Space. It uses
the shortcuts you have set and updates as soon as you change them. - The shortcut recorder warns about conflicts: recording ⌘Q, ⌘W, ⌘, or another
standard app command as the Open WindowHop shortcut is refused with the command's name,
since WindowHop would take it over in every app; so are the Force Quit shortcuts. A
chord that macOS itself uses, such as ⌘Space, asks first, and Cancel keeps your previous
shortcut. Shortcuts you already have are kept as they are. - About shows when your build was released: Settings → About and Updates now show the
release date next to the version and build, in your language's date format. Development
builds say "Development build" instead of an invented version. - The menu bar item shows when WindowHop is paused or needs Accessibility access: its
symbol changes shape, VoiceOver reads the state, and its menu explains it, with a shortcut
to Accessibility setup when access is missing. - A complete menu bar with the Dock icon on: when "Show Dock icon" is enabled, the
WindowHop menu now offers Services, Hide WindowHop (⌘H), Hide Others (⌥⌘H) and Show All,
the Window menu offers Zoom, and a Help menu offers Report an Issue…. - Settings reopens where you left it: the Settings window keeps its position across
launches instead of re-centering every time, and returns to the main display when the
display it was on is no longer connected. - The website compares WindowHop with AltTab: a new section explains when WindowHop
suits you and when AltTab is the better choice, and the page title and description now
name WindowHop as a free Mac window switcher and AltTab alternative.
Changed
- Diagnostics go to the macOS unified log: to investigate a switching or shortcut
problem, runlog stream --level debug --process WindowHopin Terminal while you
reproduce it. TheWINDOWHOP_DEBUGenvironment variable no longer exists. - The website downloads the disk image directly: Download on
windowhop.martonpaulo.com now getsWindowHop-<version>.dmginstead of a ZIP you had
to unzip first, and the download section shows how many times WindowHop was downloaded.
The number is taken from GitHub's public release data when the site is published; the
page itself makes no request for it. - The website shows how to install and get help: a new Install section walks from the
download to your first ⌘Tab, including the first-launch prompt and the Accessibility
permission, and a Help section covers "⌘Tab still shows Apple's switcher" and how to
uninstall. Accent text on the light page now meets WCAG AA contrast. - Settings no longer opens at every launch: once the first launch is done and you
show the menu bar item or the Dock icon, starting WindowHop opens nothing. With both
icons hidden it still opens Settings, and opening WindowHop again while it runs always
does. If Accessibility is missing, the setup window opens on any launch, including at
login. - One About for WindowHop: WindowHop › About WindowHop now opens Settings → About, the
same page the Settings toolbar shows, instead of a separate About window. Its copyright
line is the one the app bundle carries. - Report an Issue… fills in your versions: from Settings → About or the Help menu, it
now opens the bug report form with your WindowHop version, build, release date and macOS
version already entered. Nothing else is included, and nothing is sent until you review
and submit the form. - Launch at login is off for new installs: turn it on in Settings → General. Existing
installations keep their current choice, including the previous On default. - Restore Defaults leaves launch at login alone: it no longer registers or removes the
login item, so it cannot fail and never changes system settings. - WindowHop now requires macOS 26 or later: Macs on macOS 14 or 15 keep the current
version and are not offered this update. - Same-named windows show their folder: when two windows of one app have the same
title, such as twoNotes.txtdocuments, each tile and its VoiceOver label now add the
name of the folder the document is in. Windows without a saved document, such as two
Untitled ones, keep their title as it is. - The expanded-preview delay says when it applies: Settings → Appearance now disables
the "Show an expanded preview after pausing" picker in App Icons mode and states that it
works with Window Previews only. Your chosen delay is kept and returns when you switch
back to Window Previews. - Sparkle 2.10.0 handles updates: the updater framework moves from 2.9.6 to 2.10.0,
with upstream fixes for update download progress and cleanup after a failed delta
update. Updates keep the same signature checks. - A clearer website icon in browser tabs and search results: the website's favicon
now fills its square with a bolder hop arrow, so the WindowHop mark stays readable at
16 to 48 pixels. The app icon itself is unchanged.
Fixed
- A key release is no longer swallowed after macOS pauses WindowHop's keyboard
monitor: if macOS paused it (after a slow moment or sleep) while you
still held Tab from a switch, the next release of Tab could be hidden from the app you
were typing in, or from the native ⌘Tab switcher. The next press of that key now
corrects it. - Merged windows become one entry right away: after Window › Merge All Windows, the
next switcher session shows the merged window once, with its tab count, instead of
listing every former window until something else changed. - Floating windows stay in the switcher: an app's ordinary window that floats above
the others, such as a pinned document or an always-on-top dialog, is no longer mistaken
for Picture in Picture and hidden. Browser Picture in Picture, in Chrome, Brave, Edge,
Firefox and Zen, is still left out unless you include it in Settings. - A tab moved to its own window shows up again: after Window ▸ Move Tab to New Window
splits a two-tab group, both windows now appear in the switcher. The window left behind
used to stay hidden as if it were still a tab. - Alerts and open panels stay in the switcher: an app's alert or Open/Save panel shown
in its own window, such as an update prompt, is no longer mistaken for Picture in
Picture and hidden. - Window Previews use far less memory after dwelling: each expanded preview used to
stay in memory, about nine times the size of a card's snapshot, for every window you
had dwelled on, until the window closed. Now only the latest one is kept, and only
while the switcher is open; cards keep their own snapshot as before. - Launch at login shows what macOS actually holds: the toggle in Settings → General
now reads the real login-item status instead of remembering what you last clicked.
When macOS waits for your approval, it says so and offers Open Login Items Settings….
Changes you make in System Settings appear as soon as you return to WindowHop. - Closing a same-named window names its folder: the close confirmation and the
expanded preview now show the same folder-qualified title as the tile, such as
"Notes.txt — Work", so you can tell which of two same-named windows you are closing. - Shortcuts show the letter your keyboard types: on layouts such as German or French,
the Open WindowHop shortcut used to be shown and spoken with US letters, so a recorded
⌥Y read as ⌥Z. Letters and symbols now follow your current keyboard layout and update
when you switch input sources; the shortcut itself stays on the same physical key. - VoiceOver reads the Open WindowHop shortcut field completely: the recorder now
speaks the current chord in words ("Option Tab"), says "None" when it is cleared and
"Recording" while it waits for a chord, explains that Escape cancels and Delete clears,
and announces why a chord was rejected. - Windows no longer vanish when an app is slow during a Space switch: with other Spaces
hidden, an app that did not answer in time had all its windows treated as off-Space until
the next focus change. They now stay where they were last seen. - VoiceOver names each selection once: with the switcher shown on several displays,
every panel announced the same selection, so it was spoken once per display. - VoiceOver follows the selection when its window closes: if the selected window
disappeared while the switcher was open, VoiceOver kept naming it while Return would
activate a different window. The new target is now announced. - Preview cards no longer pulse forever: a window whose preview could not be captured,
or every card while Screen Recording was off, went back to the animated loading
placeholder as soon as any window changed its title or the list reordered. Those cards
now stay a calm static placeholder for the rest of the session. - Recording a shortcut no longer opens the switcher: while Settings records the Open
WindowHop shortcut, pressing a chord WindowHop already uses reaches the recorder instead
of opening a session. ⌘Tab reaches macOS as it does in any shortcut field, and
interception resumes as soon as recording ends. - VoiceOver commands work while the switcher is open: ⌃⌥ with an arrow, Space, Return
or Delete now reaches VoiceOver instead of moving the switcher. Keys still navigate with
the modifier you hold (⌘ + arrows after ⌘Tab) or with none in a persistent session. - Open WindowHop never shadows the switcher shortcut: an installation that cycles with
⌥Tab and never chose an Open WindowHop shortcut received ⌥Tab for both, so Open WindowHop
could not fire. A chord ...
WindowHop 1.6.2
- The website moved to windowhop.martonpaulo.com: the About window and the website link
now open https://windowhop.martonpaulo.com/.
WindowHop 1.6.1
- Window previews are readable again on wide displays: every preview card took its
shape from the monitor, so on an ultrawide screen the snapshot shrank to a thin strip
exactly where previews are hardest to recognize. Cards now use one fixed 16:10 canvas on
every Mac. The expanded preview shown after pausing goes further and takes the shape of
the window it is showing, so the snapshot fills it instead of floating in empty space. - The expanded preview stays put: an unrelated window changing its title, moving, or
appearing used to collapse an open expanded preview for the rest of the session. It now
survives anything that does not change the selected window. If the first snapshot is
still being captured when the pause elapses, the preview opens as soon as it arrives
instead of never appearing. - VoiceOver can activate a window: window tiles announced themselves as buttons but did
nothing when activated through VoiceOver. Pressing one now switches to that window, and
it can no longer be confused with the separate Close action. - Two tab groups in one app stay collapsed: refreshing one native tab group dissolved
the others in the same application, so their hidden tabs reappeared as separate entries.
Each group is now independent. - Settings is listed on the display it is actually on: dragging the Settings window to
another display left it filed under the display it opened on while
"Include windows from other displays" was off. - A conflicting Open WindowHop shortcut is rejected again: after changing the switcher
shortcut, recording a chord that collided with the new one was saved silently and then
opened the wrong kind of session. - No terminal window at login for development builds: enabling "Launch at login" from a
build that is not a real app bundle registered that bare executable, which opened a
terminal window at the next login. It is now refused, with the existing explanation. - Honest permission onboarding: the first-run screen claimed WindowHop never records the
screen and never uses the network. It now explains that Accessibility is the only
permission always required, that Window Previews asks for Screen Recording and keeps its
snapshots in memory, and that the network is used only for updates. - Readable download buttons on the website: the primary download buttons did not meet
the minimum text contrast, in Light Mode and much less in Dark Mode. - Preview snapshots of a window are released on every path that removes it, so repeatedly
opening and closing Settings no longer leaves stale images in memory. - Updated Sparkle to 2.9.6.