ianyh / Amethyst

Automatic tiling window manager for macOS à la xmonad.
https://ianyh.com/amethyst/
MIT License
14.68k stars 487 forks source link

Throw focused window commands buggy on macOS Sonoma 14.3 #1601

Closed joshlebed closed 7 months ago

joshlebed commented 7 months ago

Describe the bug When throwing a window left or right "Follow thrown windows between spaces" turned on in Amethyst settings, focus is often shifted to a different window on the new space, and the window sometimes changes position.

Applications: Amethyst + any apps on my mac (chrome, vscode, slack, etc)

To Reproduce Install Amethyst on a Mac running macOS Sonoma 14.3. Turn off "Displays have separate Spaces" in System Settings (under Desktop & Dock). Open multiple windows in multiple applications across multiple spaces and multiple displays. Use the keyboard shortcut in Amethyst to throw one of those windows from one space to another.

Expected behavior The window should move to the desired space in the same location and retain focus at the end of the operation.

Screenshots Can add later if it's helpful

Versions:

Debug Info

$ /Applications/Amethyst.app/Contents/MacOS/Amethyst --debug-info [--include-apps]

Note: --include-apps will list your manageable applications, but is optional if you don't want to list that.

Version: 0.20.0 (108)

OS version: Version 14.3 (Build 23D56)

Screens:
    (0.0, 0.0, 2560.0, 1440.0) [(0.0, 0.0, 2560.0, 1440.0)]
    (2560.0, 0.0, 2560.0, 1440.0) [(2560.0, 0.0, 2560.0, 1440.0)]

Configuration:
window-margins: 0
float-small-windows: 1
window-minimum-height: 0
focus-follows-mouse: 0
screen-padding-left: 0
mod2: (
    option,
    shift,
    control
)
floating: (
)
screen-padding-bottom: 0
layouts: (
)
window-max-count: 0
follow-space-thrown-windows: 1
ignore-menu-bar: 0
window-margin-size: 0
window-resize-step: 5
restore-layouts-on-launch: 0
mod1: (
    option,
    shift
)
screen-padding-top: 0
debug-layout-info: 0
use-canary-build: 0
enables-layout-hud-on-space-change: 0
new-windows-to-main: 0
window-minimum-width: 0
screen-padding-right: 0
mouse-follows-focus: 0
enables-layout-hud: 0
floating-is-blacklist: 1

Additional context The resizing has been a problem for every version since 0.15.6. If you throw a window to another space, but that window isn't on your primary display, it gets moved to your primary display on that new space. The loss of focus is a new bug that was introduced when moving from MacOS 13.x to 14.x. It happens with every version of Amethyst that I've tried.

ianyh commented 7 months ago

Duplicate of #1571

joshlebed commented 7 months ago

@ianyh thanks for the quick reply - how can I build this project from source to test out the fix? is there a relevant readme somewhere?

ianyh commented 7 months ago

The most recent commit on the development branch should be pretty well isolated to Xcode, at least. So if you have that installed you might be able to just open the project and build.