The 5-second timer emitted 'changed' on the search entry in daemon mode, triggering a full re-query that rebuilt the result list and selected row 0 — jumping the user back to the top while browsing. Widget refresh is a daemon-side concern; the UI gets updated data on the next user-initiated search. Only keep the timer for local (dmenu) mode where the UI owns the providers directly.