launcher: scan desktop files directly, keep state in XDG_STATE_HOME
The desktop-entry cache lived in $XDG_CACHE_HOME/wldash/desktop.json. On an NFS-shared home that is a remote read and write on every start (unless the session happens to export a machine-local XDG_CACHE_HOME), and it went stale whenever a package was installed until someone ran --desktop-refresh. Scanning the applications directories takes a few milliseconds over local /usr/share and already happened on a background thread, so the cache bought nothing: drop it, along with simd-json and the serde derives on Desktop. --desktop-refresh stays as a no-op so old key bindings keep working. Calculator history and the prompt saved on Escape are state, not cache: they move to $XDG_STATE_HOME/wldash (~/.local/state), written only on Enter/Escape, and the old cache location is still read as a fallback. With the serde derives gone, two Desktop fields were unused; use them: Type=Link entries now open their URL with xdg-open, and Terminal=true entries run under $TERMINAL -e when it is set. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5.1
parent
03a3c681b0
commit
9953865128
@@ -38,5 +38,4 @@ libpulse-binding = "2.28"
|
||||
|
||||
serde = { version = "1.0", features = ["derive"] }
|
||||
serde_yaml = "0.9"
|
||||
simd-json = "0.13"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user