tools: prioritize proxy bindings over IM context in text tool

Try proxy bindings before the IM context. On macOS and Windows,
the IM context consumes Alt+key events (Option produces special
characters on macOS; Alt triggers alt-codes on Windows), so
bindings such as Alt+Plus/Minus (size) and Alt+arrows
(baseline/kerning) would never be reached otherwise.
This commit is contained in:
Gabriele Barbero 2026-03-28 19:02:05 +01:00 committed by Gabriele
parent 189598c330
commit 2d83568bb9

View file

@ -538,14 +538,6 @@ gimp_text_tool_editor_key_press (GimpTextTool *text_tool,
}
}
if (gtk_im_context_filter_keypress (text_tool->im_context, kevent))
{
text_tool->needs_im_reset = TRUE;
text_tool->x_pos = -1;
return TRUE;
}
gimp_text_tool_convert_gdkkeyevent (text_tool, kevent);
gimp_text_tool_ensure_proxy (text_tool);
@ -558,6 +550,14 @@ gimp_text_tool_editor_key_press (GimpTextTool *text_tool,
return TRUE;
}
if (gtk_im_context_filter_keypress (text_tool->im_context, kevent))
{
text_tool->needs_im_reset = TRUE;
text_tool->x_pos = -1;
return TRUE;
}
gtk_text_buffer_get_iter_at_mark (buffer, &cursor,
gtk_text_buffer_get_insert (buffer));
gtk_text_buffer_get_iter_at_mark (buffer, &selection,