Skip to content

Keep the info column in sync across windows - #31300

Open
meh7an wants to merge 1 commit into
telegramdesktop:devfrom
meh7an:fix/third-column-sync
Open

meh7an wants to merge 1 commit into
telegramdesktop:devfrom
meh7an:fix/third-column-sync

Conversation

@meh7an

@meh7an meh7an commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

Whether a window shows the info column is decided by one app-wide setting, thirdSectionInfoEnabled(). SessionController::computeColumnLayout() allows the three column layout only while it is on, MainWidget::updateControlsGeometry() creates or destroys the third section from the layout, and the top bar info button shows and toggles the column from the same setting.

Only the window where the column was toggled laid itself out again. Other windows kept their column until their own next layout update, while their info buttons already showed the new value. For example, with a chat opened in a separate window, toggling the info column in one window left the other one out of sync, so its button closed a column that wasn't shown or opened one that already was, and the two windows seemed to toggle each other inversely.

MainWidget now updates its column layout when the setting changes, so every window with enough room shows or hides the column together. The update is queued, because SessionController::resizeForThirdSection() turns the setting off and back on while it extends the window.

Testing

Built and tested on macOS (Debug), with a chat opened in a separate window:

  • Toggling the info column in one window shows or hides it in the other window as well, and both info buttons show the same state.
  • Toggling repeatedly from either window keeps both windows in sync.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant