openai / openai/codex

[Feature Request] Decouple RTL text direction from ChatGPT Desktop layout direction

Open
#40,298 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

app enhancement windows-os
Dominant language
Rust
Stars
125k
Forks
19.4k
PR merge metrics
PR metrics pending

Description

Summary

Please add a Layout Direction preference to the unified ChatGPT Desktop app on Windows, independent from the app language and from text direction.

When the app language is Persian (or another RTL language), the current UI mirrors the entire application shell. This places the global navigation/task sidebar and the Windows menu bar (File / Edit / View / Help) on the right. For many Persian-speaking users who work on an English-language computer and use a conventional LTR desktop workflow, this is uncomfortable and disruptive.

The requested behavior is not to remove RTL support. Persian text should remain RTL and right-aligned. The request is to let users keep the application layout LTR while rendering RTL-language content correctly.

Environment

  • App: official unified ChatGPT Desktop app (Chat, Work, and Codex)
  • Package: OpenAI.Codex 26.818.5345.0 (Microsoft Store)
  • OS: Windows 11 Pro, build 26200, x64
  • App language: Persian
  • Affected surfaces: Chat, Work, Codex, settings, task/chat lists, internal panels, and the top menu bar

Current behavior

Selecting Persian/RTL language mirrors the whole desktop shell:

  • the global sidebar/task list moves to the right;
  • the narrow top menu bar (File, Edit, View, Help) is ordered from the right;
  • Chat, Work, Codex, settings, and embedded/internal panels all inherit the mirrored spatial layout.

This combines two distinct concerns:

  1. Content direction — Persian and other RTL prose should be right-aligned and use correct BiDi handling.
  2. Application layout direction — placement/order of persistent navigation, menu bar, panes, and window chrome.

They should be configurable independently.

Requested behavior

Add a user-facing setting, for example:

  • Interface language: Persian
  • Layout direction: System default / Left-to-right / Right-to-left
  • Text direction: Automatic per language/content

For the requested configuration:

UI element Desired behavior
Persian prose in messages, settings, labels, and task titles RTL and right-aligned
Inline English words, file paths, URLs, code, terminal output, and numbers LTR with BiDi isolation
Global sidebar/task/chat navigation Left side
File / Edit / View / Help menu bar Starts on the left, conventional LTR ordering
Main Chat / Work / Codex content area To the right of the left sidebar
Internal panels and editor splits Follow the selected LTR layout; their Persian text remains RTL

The existing fully mirrored RTL layout should remain available for users who prefer it. This proposal adds a choice; it should not force an English-style layout on everyone.

Steps to reproduce

  1. Use an English-language Windows installation.
  2. Install and open the official ChatGPT Desktop app.
  3. In Settings, set the app language to Persian (or another RTL language).
  4. Open Chat, Work, Codex, and Settings.
  5. Observe that the global sidebar and top application menu are moved to the right alongside the RTL text.

Why this matters

Persian-speaking developers and knowledge workers commonly combine Persian instructions with English code, product terminology, file paths, commands, and URLs. They may want RTL readability for their language while preserving the LTR spatial conventions of Windows, editors, and developer tools.

A global RTL switch does not meet both needs. Separating layout direction from content direction would improve usability for Persian, Arabic, Hebrew, Urdu, and other RTL-language users—especially in coding workflows.

Suggested implementation direction

  • Decouple shell layout direction from locale selection.
  • Use logical CSS properties and explicit layout-direction state for the app chrome instead of inferring it only from the language.
  • Apply dir="auto", text-align: start, and Unicode BiDi isolation to individual content blocks.
  • Keep code blocks, terminal output, paths, URLs, diffs, and identifiers explicitly LTR.
  • Test the matrix of:
    • Persian language + LTR shell
    • Persian language + RTL shell
    • English language + LTR shell
    • Arabic/Hebrew/Urdu equivalents
    • Chat, Work, Codex, settings, sidebars, menus, composer, transcript, and embedded browser/editor panels

Related reports

This request complements existing RTL/BiDi rendering reports, but is specifically about independent shell-layout direction:

  • #14578
  • #19504
  • #26250
  • #31903

Thank you for considering this accessibility and internationalization improvement.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or entry points are named; start by locating the desktop shell's locale and layout-direction handling, then trace how direction reaches Chat, Work, Codex, settings, menus, and embedded panels. Done means an independent layout-direction preference works with Persian, Arabic, Hebrew, and Urdu content while preserving RTL text behavior and the existing mirrored layout option.

Written by the indexing model from the issue text.

Assessment

Tech stack
css
Domain
accessibility, desktop, internationalization
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.