Skip to content

intellihide: Use strict edges in the overlap test - #2735

Merged
3v1n0 merged 1 commit into
ubuntu:masterfrom
3v1n0:intellihide-fixes
Sep 30, 2026
Merged

3v1n0 merged 1 commit into
ubuntu:masterfrom
3v1n0:intellihide-fixes

Conversation

@3v1n0

@3v1n0 3v1n0 commented Sep 30, 2026

Copy link
Copy Markdown
Collaborator

The rectangle overlap test was asymmetric: the right and bottom edges used a strict comparison, while the left and top ones were inclusive. A window merely touching the target box from the outside was thus reported as overlapping it.

This is visible on multi-monitor setups with an extended dock: a window maximized on a monitor next to the dock one ends exactly where the dock box begins, so intellihide hid the dock for a window that is not even on its monitor.

Intellihide is mutually exclusive with the fixed mode, so a dodging dock never claims a mutter strut and the work area always includes the space it covers. Windows actually sitting below the dock hence always extend past its edges, and are still detected when comparing them strictly, as we also used to do before 90e9e8e.

Closes: #2680

The rectangle overlap test was asymmetric: the right and bottom edges
used a strict comparison, while the left and top ones were inclusive.
A window merely touching the target box from the outside was thus
reported as overlapping it.

This is visible on multi-monitor setups with an extended dock: a window
maximized on a monitor next to the dock one ends exactly where the dock
box begins, so intellihide hid the dock for a window that is not even on
its monitor.

Intellihide is mutually exclusive with the fixed mode, so a dodging dock
never claims a mutter strut and the work area always includes the space
it covers. Windows actually sitting below the dock hence always extend
past its edges, and are still detected when comparing them strictly, as
we also used to do before 90e9e8e.

Closes: #2680

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟢 Approval recommended

The focused change correctly implements positive-area rectangle intersection without introducing regressions.

Review effort: Balanced
Findings: None

What changed in this PR

Corrects intellihide’s rectangle intersection logic so edge-adjacent windows do not hide the dock.

Changes:

  • Uses strict comparisons for left and top overlap boundaries.
  • Resolves false positives on adjacent-monitor layouts.
File Description
intellihide.js Makes rectangle overlap checks symmetric and strict.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@3v1n0
3v1n0 merged commit 8c2cb99 into ubuntu:master Sep 30, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Intellihide overlap test uses inclusive comparison on left/top edges, causing false-positive hide on adjacent monitor (3-monitor setups)

2 participants