Skip to content

Desktop UI should prioritize desktop workflows and screen real estate #15735

@stenci

Description

@stenci

Description

This issue concerns inefficient use of screen space in the desktop application.

OpenCode Desktop should be optimized for desktop usage. Desktop and mobile operate under different constraints: mobile is space-limited, while desktop environments commonly manage large numbers of projects simultaneously. The fact that mobile cannot support workflows involving hundreds of projects does not mean the desktop version should be optimized around that limitation.


Panels disappearing below 1280px

When the window width drops below 1280px:

  • The project list disappears.
  • The session list disappears.
  • This happens despite ~500px of unused space (chat centered with ~250px unused on each side).

Panels should not disappear automatically when the window shrinks.


Inefficient use of wide monitors

At widths between 2600px and 3800px, the chat area uses only 980px, leaving over 2000px unused.

If readability becomes an issue, users can shrink the window. Forcing a permanently narrow chat column removes user control and assumes a single preferred reading width.


Project list regression

Before 1.1.21, the project list showed names. It now shows icons only. With hundreds of projects, this makes navigation impractical.

A desktop panel should display icon and name, with user-controlled width:

  • Wide: full name
  • Medium: partial name
  • Narrow: icons only

Removing project names in a desktop UI is not appropriate.


Message list regression

In 1.1.21, the message list was visible and resizable. It has been replaced by:

  • A narrow hover panel
  • 3–5 words per message
  • Only 9 visible messages
  • Full mouse dependency

Core navigation in a desktop application should not rely on hover popups.


Desktop UI principles

Shrinking the window should resize content proportionally, not remove panels. Panels should only be hidden through explicit user action.

Each panel should:

  • Be persistently available
  • Be resizable
  • Have its own visibility shortcut

The chat area should consume all remaining space after panels are arranged.


Panel architecture consistency

Most IDEs use a unified panel system where each panel manages its size, docking, and visibility. Defaults are provided, but users can modify layout and shortcuts.

All panels should follow consistent, user-controlled behavior rather than special-case logic.

Plugins

No response

OpenCode version

1.2.15

Steps to reproduce

No response

Screenshot and/or share link

No response

Operating System

Windows 10

Terminal

No response

Metadata

Metadata

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions