Skip to content

Add collapsible panel groups to reduce horizontal clutter in the tiling layout #175

@FourWindff

Description

@FourWindff

Problem

When many tasks or agent panels are open at the same time, the current tiling layout can become very crowded horizontally and requires frequent horizontal scrolling.

This is especially noticeable when multiple panels belong to the same project or are part of the same coordinated workflow. They are logically related, but they are still displayed as fully separate panels in the UI. Even if the user only wants to keep those related tasks available in the background, they still take up a lot of horizontal space.

Proposed solution

I would like to add support for collapsible panel groups.

The general idea is to group adjacent panels that belong to the same project and the same task type, for example:

  • regular independent task panels
  • coordinator / coordinated task panels

Each group can be collapsed. When collapsed:

  • the first panel in the group remains visible
  • the other panels in the same group are temporarily hidden
  • an expand button is shown beside the visible panel
  • resize handle behavior remains reasonable while collapsed
  • the collapsed state can be persisted and restored after restarting the app

This would reduce horizontal space usage while still keeping related task context available, making multi-task workflows easier to manage.

Current status

I already have an initial implementation in a local branch, but I have not pushed it to a remote branch yet.

The current implementation roughly includes:

  • detecting and rendering panel groups in the tiling layout
  • adding collapse / expand interactions for groups
  • adapting resize handle behavior for collapsed groups
  • saving and restoring panel group collapsed state
  • adding related tests
  • adjusting visual styles to make grouping and collapse controls clearer
Image Image

Next steps

I think the ability to expand or collapse a group of task panels is quite useful. I have a branch implementing this feature, and I have to admit that the current implementation still has room for improvement. For example, the background color of the task panel covering the task panel looks a bit awkward. I would like to hear your thoughts.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions