When dock is hidden, position change through DBus will not change
frontend rect, thus not update wakeup area. This is because position
in WindowManager is not changed. Emit positionChanged signal in
MultiScreenWorker.
Log: fix dock wakeup area not changed
Issue: https://github.com/linuxdeepin/developer-center/issues/5831
MainWindow should not hide when popup opens and the focus is still
on dock even if HideMode is AlwaysHide. Let popup block hiding of
mainwindow.
Log: fix mainwindow hide when popup opens
Issue: https://github.com/linuxdeepin/developer-center/issues/4970
Fashion mode and Efficent mode has same one tray, when tray is empty and
update orientation will cause endless reseize event which case dock stack boom
log: move TrayGridView Orientation update into TrayGridView
some unrecongnized app like electron app will unable to start when next click.
and custom desktopfile will not be supported by new applicationmanager1
log: not dock unrecongnized application
itemRemove signal connect direct to taskmanager thread, and it will update recentApp visible status
which access qwidget in non-main thread.
log: make recentApp visible status update in main thread.
The tray in fashion mode is not the same object as the tray in efficient
mode, and only one xembedtray is vaild, so there will be a contention
between the two. The latter xembedtray who call reparent() will be the vaild
one. So drag from expandiconwidget, the xembed tray click in the efficient
mode get no response while the tray click get response when switching from
the fashion mode.
log: make tray(both fashion and efficient mode) to be one object
expandiconwidget get focus when click tray, so it will alway activate application because lost focus.
log: set WindowDoesNotAcceptFocus for TrayGridWidget
Duplication was kept when saving the configuration, the same plugin was saved multiple times,
but only one was removed when it was removed
log: remove duplication when save dconfig
Current entryRemove and entryAdded connection is not thread-safe. Although entryRemove before entryAdded sended,
entryRemove slot do later than entryAdded slot, which make added entry (later signal) removed by previous entryRemove signal.
log: make entryRemove and entryAdded connecttion thread-safe.
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