Previously, poll() on /dev/null returned "readable" (EOF), causing dmenu mode to trigger when launched from keybinds. Now uses fstat() to check if stdin is a pipe or regular file before checking for data. Character devices (TTY, /dev/null) no longer trigger dmenu mode. Fixes items not showing when launched from window manager keybinds. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>