thunderbird-patch-review

Easy-to-use patch review interface for Thunderbird

Contribute: ~marcc/thunderbird-review-plugin@lists.sr.ht

git clone git://mccd.space/thunderbird-patch-review

commit 8466dad0a12a90b6d82e41339242628cdcffe059
parent 09bb59858258802de64d8000468cc2ea4b7ec52a
Author: Pi Agent <agent@pi.local>
Date:   Sat, 18 Jul 2026 13:57:23 +0200

review: join repo path, Browse, and Apply series into one cluster

Wrap the repository input, the Browse button, and the Apply-series split
in a .cluster so they sit flush in a single bordered control, mirroring
the joined look already used for the split-button menus: inner gaps and
inner borders are removed, and inner corner radii flatten so the merged
outline stays rounded only at the cluster's outer corners.

Diffstat:
Mextension/review/review.css | 24++++++++++++++++++++++++
Mextension/review/review.html | 18++++++++++--------
2 files changed, 34 insertions(+), 8 deletions(-)
diff --git a/extension/review/review.css b/extension/review/review.css
@@ -81,6 +81,30 @@ body {
   font-family: ui-monospace, monospace;
 }
 
+/* A joined cluster: the repo input, Browse, and the Apply split read as one
+   control. Children sit flush; inner borders merge and inner corners flatten. */
+.cluster {
+  display: flex;
+  align-items: stretch;
+}
+.cluster > #repo-path {
+  border-top-right-radius: 0;
+  border-bottom-right-radius: 0;
+}
+.cluster > #btn-browse {
+  border-radius: 0;
+  border-left: 0;
+}
+.cluster > .split {
+  border-top-left-radius: 0;
+  border-bottom-left-radius: 0;
+}
+.cluster > .split > button:first-child {
+  border-top-left-radius: 0;
+  border-bottom-left-radius: 0;
+  border-left: 0;
+}
+
 button {
   padding: 0.3rem 0.8rem;
   border: 1px solid var(--border);
diff --git a/extension/review/review.html b/extension/review/review.html
@@ -9,14 +9,16 @@
   <header id="topbar">
     <div id="series-title">Loading…</div>
     <div id="actions">
-      <input id="repo-path" type="text" placeholder="repository path" spellcheck="false">
-      <button id="btn-browse" title="Choose the repository directory">Browse…</button>
-      <div class="split" id="apply-split">
-        <button id="btn-apply" title="git am the series into the repository">Apply series</button>
-        <button class="menu-toggle" title="Apply options">▾</button>
-        <div class="menu" hidden>
-          <button data-mode="modify">Modify and apply</button>
-          <button data-mode="download">Download patchset…</button>
+      <div class="cluster" id="repo-cluster">
+        <input id="repo-path" type="text" placeholder="repository path" spellcheck="false">
+        <button id="btn-browse" title="Choose the repository directory">Browse…</button>
+        <div class="split" id="apply-split">
+          <button id="btn-apply" title="git am the series into the repository">Apply series</button>
+          <button class="menu-toggle" title="Apply options">▾</button>
+          <div class="menu" hidden>
+            <button data-mode="modify">Modify and apply</button>
+            <button data-mode="download">Download patchset…</button>
+          </div>
         </div>
       </div>
       <div class="split" id="send-split">