[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#873857: 'Screenshot' option of Graphical installer not accessible through keyboard



Control: reassign -1 cdebconf
Control: tags -1 + patch


Holger Wansing <linux@wansing-online.de> wrote:
> Kaartic Sivaraam <kaarticsivaraam91196@gmail.com> wrote:
> > 
> > I recently tried to install Debian 9 using the graphical installer. Due
> > to some unknown reason my mouse did not work in the graphical
> > installer. It wasn't a big deal as I could manage well just with my
> > keyboard BUT I was unable to capture a screen shot of an error as the
> > option for taking screen shot wasn't accessible through the keyboard
> > like the 'Continue' and 'Back' options. It would be nice to make it
> > accessible through the keyboard as it would be helpful in situations
> > like this.
> 
> Thanks for your mail.
> This has already been reported in 
> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=873857
> 
> And it turns out that this bug already exists from the very beginning in 
> Debian 4.0, where the graphical installer was introduced ...

I have prepared a patch to fix this (attached) against cdebconf.
(I built a netboot gtk image with this patch, and confirmed it works.)

Thus, re-assigning to cdebconf and tagging as 'patch'.

Maybe we could have this included for Buster?

IMO it's unconventional behaviour to have a button which is skipped when
TAB-bing through the buttons. And it makes the screenshot button unavailable
when using the graphical installer without a mouse. 
(Some touchpads don't work with d-i, and if you don't have an usb mouse
at hand, you may end up with using the g-i without mouse functionality).



Holger


-- 
Holger Wansing <hwansing@mailbox.org>
PGP-Finterprint: 496A C6E8 1442 4B34 8508  3529 59F1 87CA 156E B076
diff --git a/src/modules/frontend/gtk/screenshot.c b/src/modules/frontend/gtk/screenshot.c
index 24bc3dcc..1c854f76 100644
--- a/src/modules/frontend/gtk/screenshot.c
+++ b/src/modules/frontend/gtk/screenshot.c
@@ -183,6 +183,7 @@ GtkWidget * cdebconf_gtk_create_screenshot_button(struct frontend * fe)
 {
     struct frontend_data * fe_data = fe->data;
     GtkWidget * action_box = fe_data->action_box;
+    GList * focus_chain;
     GtkWidget * button;
     char * label;
 
@@ -199,8 +200,10 @@ GtkWidget * cdebconf_gtk_create_screenshot_button(struct frontend * fe)
                        TRUE /* expand */, TRUE /* fill */, DEFAULT_PADDING);
     gtk_button_box_set_child_secondary(GTK_BUTTON_BOX(action_box),
                                        button, TRUE);
-    /* Remove the screenshot button from the focus chain. */
-    gtk_container_set_focus_chain(GTK_CONTAINER(action_box), NULL);
+    gtk_container_get_focus_chain(GTK_CONTAINER(action_box), &focus_chain);
+    focus_chain = g_list_prepend(focus_chain, button);
+    gtk_container_set_focus_chain(GTK_CONTAINER(action_box), focus_chain);
+    g_list_free(focus_chain);
 
     return button;
 }

Reply to: