[PATCH v2 xfce4-terminal] Do not reset scroll on AltGr

Mihail Konev k.mvc at ya.ru
Thu Jan 5 18:10:53 CET 2017


Oops, this should probably be done in vte/gdk.

On Thu, Jan 05, 2017 at 09:53:02PM +0500, Mihail Konev wrote:
> ---
> v2: use a separate function
> 
>  terminal/terminal-widget.c | 37 +++++++++++++++++++++++++++++++++++++
>  1 file changed, 37 insertions(+)
> 
> diff --git a/terminal/terminal-widget.c b/terminal/terminal-widget.c
> index af7f3e416417..3dd10ccf7611 100644
> --- a/terminal/terminal-widget.c
> +++ b/terminal/terminal-widget.c
> @@ -600,6 +600,37 @@ terminal_widget_drag_data_received (GtkWidget        *widget,
>  
>  
>  static gboolean
> +is_keystroke_keysym(gint32 keyval) {
> +  switch (keyval)
> +    {
> +    case GDK_ISO_Lock:
> +    case GDK_ISO_Level2_Latch:
> +    case GDK_ISO_Level3_Shift:
> +    case GDK_ISO_Level3_Latch:
> +    case GDK_ISO_Level3_Lock:
> +    case GDK_ISO_Level5_Shift:
> +    case GDK_ISO_Level5_Latch:
> +    case GDK_ISO_Level5_Lock:
> +    case GDK_ISO_Group_Shift:
> +    case GDK_ISO_Group_Latch:
> +    case GDK_ISO_Group_Lock:
> +    case GDK_ISO_Next_Group:
> +    case GDK_ISO_Next_Group_Lock:
> +    case GDK_ISO_Prev_Group:
> +    case GDK_ISO_Prev_Group_Lock:
> +    case GDK_ISO_First_Group:
> +    case GDK_ISO_First_Group_Lock:
> +    case GDK_ISO_Last_Group:
> +    case GDK_ISO_Last_Group_Lock:
> +      return FALSE;
> +    default:
> +      return TRUE;
> +    }
> +}
> +
> +
> +
> +static gboolean
>  terminal_widget_key_press_event (GtkWidget    *widget,
>                                   GdkEventKey  *event)
>  {
> @@ -614,6 +645,12 @@ terminal_widget_key_press_event (GtkWidget    *widget,
>                  "misc-shift-arrows-scroll", &shift_arrows_scroll,
>                  NULL);
>  
> +  /* ignore keys that modify keyboard layout,
> +   * in case user only presses them to reach
> +   * a non-standard Up/Down/PageUp/PageDown */
> +  if (!is_keystroke_keysym(event->keyval))
> +    return TRUE;
> +
>    /* popup context menu if "Menu" or "<Shift>F10" is pressed */
>    if (event->keyval == GDK_KEY_Menu ||
>        (!shortcuts_no_menukey && (event->state & GDK_SHIFT_MASK) != 0 && event->keyval == GDK_KEY_F10))
> -- 
> 2.9.2
> 
> _______________________________________________
> Xfce4-dev mailing list
> Xfce4-dev at xfce.org
> https://mail.xfce.org/mailman/listinfo/xfce4-dev


More information about the Xfce4-dev mailing list