Skip to content

Create a UI Customization Settings Page #7149

@cissna

Description

@cissna

What specific problem does this solve?

The Roo Code UI has several features and buttons that are very useful for some users but contribute to a cluttered interface for others who prefer a more minimalist experience. Currently, there is no way to selectively disable these UI elements, leading to a one-size-fits-all layout that can feel busy.

Additional context (optional)

This issue supersedes the initial, more narrowly-scoped proposal in ticket #6207, which focused only on making the 'enhance prompt' button optional. The discussion in that ticket, as well as community feedback (e.g., this Reddit thread), revealed a broader desire for more comprehensive UI customization.

Roo Code Task Links (Optional)

No response

Request checklist

  • I've searched existing Issues and Discussions for duplicates
  • This describes a specific problem with clear impact and context

Interested in implementing this?

  • Yes, I'd like to help implement this feature

Implementation requirements

  • I understand this needs approval before implementation begins

How should this be solved? (REQUIRED if contributing, optional otherwise)

A new settings page titled "UI Settings" should be created. This page will serve as a central hub for toggling the visibility of various interface elements.

Initial toggles for this page should include:

1. Prompt Input Area Customization:

  • Show 'Enhance Prompt' button
  • Show 'Codebase Indexing' button
  • Show 'Add Images to Message' button
  • Show 'Manage Slash Commands' button
  • Show hint text ("@ to add context, / to switch modes...")
  • Show 'Send' button
  • Show 'API Configuration' button
  • Show 'Auto-Approve' tab

2. General UI Element Customization:

  • Show context percentage bar during chat
  • Allow customization for which sidebar widgets are visible (e.g., toggles for 'New Task', 'Marketplace', 'History', 'Settings', etc.)

All settings should be defaulted to ensure the experience for existing users does not change unless they intentionally customize it.

How will we know it works? (Acceptance Criteria - REQUIRED if contributing, optional otherwise)

  • A new "UI Settings" tab is present in the main settings panel.
  • Navigating to this page displays all the toggleable options listed above.
  • Disabling a specific setting (e.g., "Show 'Enhance Prompt' button") should immediately hide that element from the main application UI.
  • Enabling a setting should immediately make the element reappear.
  • All selected settings must persist after closing and reopening the application.
  • There are no changes in Roo Code besides the new settings tab unless settings are changed

Technical considerations (REQUIRED if contributing, optional otherwise)

The implementation should ensure that UI components are re-rendered correctly when settings are changed without requiring a full application restart.

Trade-offs and risks (REQUIRED if contributing, optional otherwise)

  • Trade-off: This adds another layer of complexity to the settings menu. To mitigate this, the new "UI Settings" page must be well-organized and intuitive.
  • Risk: We risk solving a UI clutter problem by creating a cluttered settings page. The design of the new page should be clean and straightforward to avoid this irony.

Metadata

Metadata

Assignees

Labels

Issue - In ProgressSomeone is actively working on this. Should link to a PR soon.UI/UXUI/UX related or focusedenhancementNew feature or requestproposal

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions