Skip to content

Deduplicate WindowOverview and MultitaskingView code #2779

@lobre

Description

@lobre

Problem

This is a follow-up issue/feature request since #485 has been closed. This issue has been created after talking about it with @danirabbit on Discord:

@danirabbit: I think it was dismissed as written maybe? I think it’s worth opening a new Task issue. The original issue was really old so I think it’d be good to have a new clean updated issue

So as of today, Gala still has two separate overview paths with overlapping responsibilities:

  • MultitaskingView, which is workspace-aware with dragging between workspaces and polished transitions.
  • WindowOverview entry points with expose-all-windows and single-app overview hints.

This creates duplicated logic and UX divergence for very similar tasks. In the current code, ActionType.WINDOW_OVERVIEW is already marked deprecated in src/WindowManager.vala, but the separate component still exists and is used by keybindings and desktop integration.

From the #485 discussion, and for context, the discussed tradeoffs were:

  • keep fast all-windows discovery (especially keyboard-first)
  • keep good multi-display behavior
  • avoid confusion around workspace context
  • reduce maintenance burden from parallel implementations

Proposal

Refactor toward one implementation path:

  • Keep existing public entry points (Super+A, app-window overview, actions) for compatibility.
  • Route overview/spread behavior through MultitaskingView with a filtered set of windows.
  • See the deprecation story, maybe by making WindowOverview a shim and then removing it after parity.

Prior Art (Optional)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions