mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-05-13 05:12:55 -07:00
feat(cli): finalize footer layout refinements
- Remove extra bottom padding in DefaultAppLayout - Update responsive wrapping logic for narrow terminals - Update research report with testing summary
This commit is contained in:
+33
-6
@@ -727,10 +727,37 @@ better discoverability of features:
|
|||||||
wit). This provides a more even distribution of content while Gemini is
|
wit). This provides a more even distribution of content while Gemini is
|
||||||
processing.
|
processing.
|
||||||
|
|
||||||
### 3. Concise System Copy
|
---
|
||||||
|
|
||||||
- **Pause State:** Now displays as `⏸ Awaiting user approval...` (using the
|
## 12. Testing Summary & Final Feedback
|
||||||
unicode symbol) rather than `[Paused]`.
|
|
||||||
- **Shell Focus Hint:** The long interactive shell toast has been shortened to
|
The implementation has been verified through targeted unit tests and manual code
|
||||||
`! Shell awaiting input (Tab to focus)` for better readability and less row
|
review against the updated specification.
|
||||||
collision.
|
|
||||||
|
### Final Layout Behavior
|
||||||
|
|
||||||
|
- **Setting:** Toggle via `/settings` -> `UI` -> `New Footer Layout`.
|
||||||
|
- **Divider Options:**
|
||||||
|
- `New Layout`: Divider above everything.
|
||||||
|
- `New Layout (Divider Down)`: Divider between status and indicators.
|
||||||
|
- **Input State:** Drafted text remains visible during tool approval; the input
|
||||||
|
box is greyed out and focus is removed.
|
||||||
|
- **Toasts:** Claims 100% width, left-aligned, prominent warning color.
|
||||||
|
Overrides ambient tips.
|
||||||
|
- **Hooks:** Uses `↪` (Before) / `↩` (After) icons. Text is white and italic.
|
||||||
|
- **Responsive:**
|
||||||
|
- Tips/Wit disappear on narrow windows or if they collide with long statuses.
|
||||||
|
- Status text wraps onto multiple lines only when the window is narrow.
|
||||||
|
- **Cleaning:** No more `💬` or `⏸️` emojis. No more empty line at the bottom of
|
||||||
|
the footer.
|
||||||
|
|
||||||
|
### Identified Gaps / Future Triage
|
||||||
|
|
||||||
|
- [ ] **Shortcut Hint Discoverability:** On very narrow windows, the
|
||||||
|
`? for shortcuts` hint is completely hidden. Users might forget the hotkey
|
||||||
|
if they rely on the visual hint.
|
||||||
|
- [ ] **Ambient Truncation:** Ambient tips are currently all-or-nothing (either
|
||||||
|
shown or hidden). Partial truncation might allow them to persist longer on
|
||||||
|
medium-width windows.
|
||||||
|
- [x] **Empty Footer Line:** Verified removed via `paddingBottom={0}` in both
|
||||||
|
`Footer.tsx` and `DefaultAppLayout.tsx`.
|
||||||
|
|||||||
@@ -82,7 +82,11 @@ export const LoadingIndicator: React.FC<LoadingIndicatorProps> = ({
|
|||||||
/>
|
/>
|
||||||
</Box>
|
</Box>
|
||||||
{primaryText && (
|
{primaryText && (
|
||||||
<Text color={theme.text.primary} italic wrap="truncate-end">
|
<Text
|
||||||
|
color={theme.text.primary}
|
||||||
|
italic
|
||||||
|
wrap={isNarrow ? 'wrap' : 'truncate-end'}
|
||||||
|
>
|
||||||
{thinkingIndicator}
|
{thinkingIndicator}
|
||||||
{primaryText}
|
{primaryText}
|
||||||
</Text>
|
</Text>
|
||||||
@@ -116,7 +120,11 @@ export const LoadingIndicator: React.FC<LoadingIndicatorProps> = ({
|
|||||||
/>
|
/>
|
||||||
</Box>
|
</Box>
|
||||||
{primaryText && (
|
{primaryText && (
|
||||||
<Text color={theme.text.primary} italic wrap="truncate-end">
|
<Text
|
||||||
|
color={theme.text.primary}
|
||||||
|
italic
|
||||||
|
wrap={isNarrow ? 'wrap' : 'truncate-end'}
|
||||||
|
>
|
||||||
{thinkingIndicator}
|
{thinkingIndicator}
|
||||||
{primaryText}
|
{primaryText}
|
||||||
</Text>
|
</Text>
|
||||||
|
|||||||
@@ -31,9 +31,6 @@ export const DefaultAppLayout: React.FC = () => {
|
|||||||
flexDirection="column"
|
flexDirection="column"
|
||||||
width={uiState.terminalWidth}
|
width={uiState.terminalWidth}
|
||||||
height={isAlternateBuffer ? terminalHeight : undefined}
|
height={isAlternateBuffer ? terminalHeight : undefined}
|
||||||
paddingBottom={
|
|
||||||
isAlternateBuffer && !uiState.copyModeEnabled ? 1 : undefined
|
|
||||||
}
|
|
||||||
flexShrink={0}
|
flexShrink={0}
|
||||||
flexGrow={0}
|
flexGrow={0}
|
||||||
overflow="hidden"
|
overflow="hidden"
|
||||||
|
|||||||
Reference in New Issue
Block a user