From 59ee1db556933e7123556b0e195de48bff4af61d Mon Sep 17 00:00:00 2001 From: Georges Basile Stavracas Neto Date: Wed, 20 May 2026 13:56:18 -0300 Subject: [PATCH] views/month: Show first invisible rows above and below But mark them as not child visible. This should make keyboard navigation work again, as the focused rows don't change actual visible state, and thus are keyboard navigatable and don't lose focus. Part-of: --- src/gui/views/gcal-month-view.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/gui/views/gcal-month-view.c b/src/gui/views/gcal-month-view.c index b6f98cbb..551537a8 100644 --- a/src/gui/views/gcal-month-view.c +++ b/src/gui/views/gcal-month-view.c @@ -419,9 +419,17 @@ update_visible_rows (GcalMonthView *self) for (unsigned int i = 0; i < self->week_rows->len; i++) { - GtkWidget *row = g_ptr_array_index (self->week_rows, i); + GtkWidget *row; + gboolean child_visible; + gboolean visible; - gtk_widget_set_visible (row, i >= actual_first_visible_row && i <= actual_last_visible_row); + row = g_ptr_array_index (self->week_rows, i); + + child_visible = i >= actual_first_visible_row && i <= actual_last_visible_row; + visible = (i >= actual_first_visible_row - 1) && (i <= actual_last_visible_row + 1); + + gtk_widget_set_visible (row, visible); + gtk_widget_set_child_visible (row, child_visible); } }