window_patterns.json used for app in store, and it return cn.google.chrome,
whcih is not installed. So, it means that identifyWindowByRule may return a invalid appinfo.
Return nullptr if it's invalid appinfo.
implement DesktopInfo::isInstalled, and use std::copy instead of raw loop
log: fix identifyWindowByRule return a invalid appinfo
1. taskmanager used to identify which entry should map to window
in x11 environmrnt, listen to xevent in anohter thread, and handle those event
when window create, destory, changed. use some way to identify which entry(desktopfile)
should mapped to changed window.
in wayland, connected plsamawindow signal(window created destoried.
2. use taskmanager instead of dbus in old dock code
log: as title