Troubleshooting¶
This guide covers common issues and their solutions.
Quick Diagnosis¶
| Symptom | Cause | Solution |
|---|---|---|
| Launcher doesn't appear | Daemon not running | Run hamr (auto-starts daemon) or check systemctl --user status hamr-daemon |
| "Connection refused" error | Socket not created | Ensure daemon is running: pgrep hamr-daemon or restart with hamr |
| Window appears but immediately closes | Compositor lacks layer-shell support | Verify compositor supports layer-shell (see Compositor Support) |
| No search results | Index not built | Run hamr index to rebuild the application index |
| Plugin not responding | Plugin crashed or timeout | Check logs: grep "plugin" /tmp/hamr-daemon.log \| tail -20 |
| Slow startup | Large plugin index | Review ~/.local/share/hamr/index/ size; consider disabling unused plugins |
| Keybinding doesn't work | Compositor config issue | Verify binding syntax in compositor config; test with hamr toggle manually |
| GTK theme not applied | GTK4 theme missing | Install a GTK4-compatible theme; Hamr uses GTK4, not GTK3 |
Daemon Issues¶
Daemon won't start¶
-
Check if another instance is running:
-
Check for socket conflicts:
-
Check logs for errors:
Daemon crashes on startup¶
Common causes:
- Missing GTK4: Install GTK4 4.20+ and gtk4-layer-shell
- Missing plugins directory: If
~/.config/hamr/pluginsis missing, runhamr installto set up user directories - Corrupt config: Move
~/.config/hamr/config.jsonand restart
Plugin Issues¶
Plugin not found¶
-
Verify plugin exists:
-
Check plugin manifest is valid JSON:
-
Ensure plugin has execute permission:
Plugin returns no results¶
-
Test plugin directly:
-
Check plugin logs:
-
Enable plugin debug mode:
Plugin timeout¶
Plugins have a default timeout. If a plugin is slow:
- Check if external service is reachable (for network plugins)
- Review plugin code for blocking operations
- Consider increasing timeout in plugin manifest
Display Issues¶
Window appears in wrong position¶
Layer-shell positioning depends on compositor support:
- Ensure gtk4-layer-shell is installed
- Check compositor-specific settings for layer positioning
- Try different anchor settings in config
Window doesn't receive keyboard focus¶
-
Verify layer-shell is working:
-
Some compositors require explicit focus rules for layer surfaces
Blurry or scaled incorrectly¶
GTK4 respects GDK_SCALE environment variable:
Performance Issues¶
Slow search results¶
-
Check index size:
-
Rebuild index:
-
Disable plugins you don't use in config
High memory usage¶
-
Check plugin count:
-
Disable daemon plugins that aren't needed
- Check for plugin memory leaks in logs
Log Files¶
Debug builds write logs to /tmp/:
| Component | Log Path | Symlink |
|---|---|---|
| Daemon | /tmp/hamr-daemon-YYYYMMDD_HHMMSS.log |
/tmp/hamr-daemon.log |
| TUI | /tmp/hamr-tui-YYYYMMDD_HHMMSS.log |
/tmp/hamr-tui.log |
Enable verbose logging¶
# Most verbose
RUST_LOG=trace hamr daemon
# Debug for hamr crates only
RUST_LOG=hamr=debug hamr daemon
# Warnings and errors only
RUST_LOG=warn hamr daemon
Search logs for errors¶
# Find all errors
grep -i "error\|warn" /tmp/hamr-daemon.log
# Plugin-specific issues
grep "plugin" /tmp/hamr-daemon.log | tail -20
# Action handling
grep "handle_action\|Forwarding" /tmp/hamr-daemon.log
Getting Help¶
If these steps don't resolve your issue:
- Check existing GitHub Issues
- Collect logs:
tail -200 /tmp/hamr-daemon.log > hamr-debug.log - Open a new issue with:
- Hamr version (
hamr --version) - Compositor and version
- Distribution
- Relevant log output