Let the split view have the window too
The row holding the two panes was the one root left saying nothing about its own height, so the fix that gave the narrow screens the window stopped one level short of the wide one: both panes are marked :fill-height, and what they fill is whatever the row got — which, from a backend that sizes a box by what is in it, is the height of the taller pane's contents. The list and the conversation came up side by side in a strip along the top with two thirds of the window empty under them, and the conversation list clipped mid-row inside it. Measured headless at 1365x729: the tab bar and the compose bar both land at 679, leaving the 12pt margin, and the narrow layout at 540 is unchanged. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
264b6da parent: 77c1a08 modified
src/frq/app.clj +6 -1 | @@ -1499,7 +1499,12 @@ | ||
| 1499 | 1499 | conversation off the bottom of the window, which reads exactly like a |
| 1500 | 1500 | conversation that has gone missing." |
| 1501 | 1501 | [] |
| 1502 | - [:hbox {:spacing 0 :wrap false} | |
| 1502 | + ;; And the row itself takes the window, for the reason each narrow root | |
| 1503 | + ;; gives: a backend that sizes a box by what is in it hands two panes that | |
| 1504 | + ;; both asked for the rest of the screen the height of the taller one's | |
| 1505 | + ;; contents. Marking the children alone is not enough — what they fill is | |
| 1506 | + ;; whatever the row got. | |
| 1507 | + [:hbox {:spacing 0 :wrap false :fill-height true} | |
| 1503 | 1508 | [:vbox {:key :list :width-request sidebar-width :fill-height true} |
| 1504 | 1509 | [chats-screen]] |
| 1505 | 1510 | [:vbox {:key :chat :fill-height true} |
| @@ -1499,7 +1499,12 @@ | |||
| 1499 | conversation off the bottom of the window, which reads exactly like a | 1499 | conversation off the bottom of the window, which reads exactly like a |
| 1500 | conversation that has gone missing." | 1500 | conversation that has gone missing." |
| 1501 | [] | 1501 | [] |
| 1502 | - [:hbox {:spacing 0 :wrap false} | 1502 | + ;; And the row itself takes the window, for the reason each narrow root |
| 1503 | + ;; gives: a backend that sizes a box by what is in it hands two panes that | ||
| 1504 | + ;; both asked for the rest of the screen the height of the taller one's | ||
| 1505 | + ;; contents. Marking the children alone is not enough — what they fill is | ||
| 1506 | + ;; whatever the row got. | ||
| 1507 | + [:hbox {:spacing 0 :wrap false :fill-height true} | ||
| 1503 | [:vbox {:key :list :width-request sidebar-width :fill-height true} | 1508 | [:vbox {:key :list :width-request sidebar-width :fill-height true} |
| 1504 | [chats-screen]] | 1509 | [chats-screen]] |
| 1505 | [:vbox {:key :chat :fill-height true} | 1510 | [:vbox {:key :chat :fill-height true} |