if (!action->entry || !gtk_widget_has_focus (action->entry) || !action->history)
return FALSE;
- if (!(action->key && *action->key))
+ /* No completion when typing a search token */
+ if (action->search_engines != NULL)
+ {
+ gchar** parts = g_strsplit (action->key, " ", 2);
+ if (parts && *parts && parts[1]
+ && katze_array_find_token (action->search_engines, *parts))
+ {
+ g_strfreev (parts);
+ midori_location_action_popdown_completion (action);
+ return FALSE;
+ }
+ g_strfreev (parts);
+ }
+
+ /* Empaty string or starting with a space means: no completion */
+ if (!(action->key && *action->key && *action->key != ' '))
{
midori_location_action_popdown_completion (action);
return FALSE;