ianyh / Amethyst

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

"Mouse follows focus follows mouse" should not be possible #1528

Open alexgenaud opened 1 year ago

alexgenaud commented 1 year ago

Selecting both (ON="Mouse follows focused windows" && ON="Focus follows mouse") makes it impossible to interact with many popups, particularly Mac OS menu and task bar items. Easy to test because the "Amethyst Preferences..." dialog itself can trigger the issue.

Reproduce:

Expected:

Should be able to open the "Amethyst Preferences..."

Actual:

One cannot. Even before selecting "Preferences..." from the menu dropdown, the mouse will focus to the centre of a window (like voting for the wrong American candidate).

Work around:

  1. Open or move to a Desktop Space with no windows
  2. Don't set both "Mouse follows focused windows" and "Focus follows mouse" simultaneously.

Suggested bug fix:

I think it should be impossible to select both. Rather than two checkboxes offering four permutations, I suggest three radio (select one option only). "Mouse follows focussed windows" XOR "Focus follows mouse" XOR "Default no re-focusing" (where "both mouse follows window follows mouse" does not exist and cannot be configured).

If booleans must be used in the configuration file, then selecting both should trigger an error and (assume default or not load/set config at all).

Versions:

alexgenaud commented 1 year ago
Version: 0.20.0b3 (106)

OS version: Version 13.4.1 (c) (Build 22F770820d)

Screens:
    (0.0, 0.0, 1496.0, 967.0) [(0.0, 0.0, 1496.0, 967.0)]

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