Skip to content

feat: highlight the focused float in the active tab with a focus ring #116

Description

@GeneralD

agent type complexity relates

Motivation

The floating-panes minimap (issue #110, PR #112 — both merged) renders every visible float with a plain 1px border, regardless of focus. The approved design deliberately deferred focus emphasis to a follow-up (paraphrased from the design doc, originally in Japanese):

v1 uses a plain border only, independent of focus state. Emphasizing the focused float of the active tab with a focus ring (following #59) is sent to a follow-up — only one float is focused at a time, so the border alone distinguishes them well enough for v1.

docs/superpowers/specs/2026-07-12-floating-panes-in-minimap-design.md §6.1 (Task 10)

Now that the base overlay has shipped, give the focused float a stronger cue so it reads at a glance, matching the bar's existing focus / active-tab visual language (#59 active-tab cue, #47 outline-only focus — both closed).

Proposal

In the active tab, when the floating layer is visible (are_floating_panes_visible == true), render the focused float with a focus ring instead of the plain 1px border used for the other floats.

Relevant Code

  • src/projection.rs — visible floats are already extracted as id + rect + focused (design P1), so the focused flag is available; no new data plumbing needed.
  • src/floating.rs — the dependency-free pure helpers that map floats to overlay pixels / borders; the ring belongs here and is unit-tested via cargo test --lib (native), consistent with the rest of the module.

Scope

  • In scope: the focused float in the active tab, only while the floating layer is visible.
  • Non-goals (stay deferred per design §12):
    • Inactive-tab floats (keep the muted plain border).
    • Pinned-float distinction — blocked on zellij 0.44.3 (is_pinned is unreadable).
    • Float labels inside the overlay (area-constrained, YAGNI).
  • No new zellij permission — pure rendering change, stays within the existing grant.

References

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requestrenderingMinimap / color / label rendering

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions