Commit Graph

193 Commits

Author SHA1 Message Date
heyuming
3a278bec79 feat: adjust dbus service structure
Log:
2023-07-17 16:20:15 +08:00
heyuming
6f598ab52b feat: add desktopentry class
Log:
2023-07-14 12:05:35 +08:00
heyuming
fdf01923db feat: implement job service
Log:
2023-07-12 10:41:41 +08:00
heyuming
10add2092c feat: init dbus service structure
Log: 初始化dbus服务结构
2023-07-10 13:59:48 +08:00
heyuming
c10838200b chore: init project structure
Log: 初始化项目结构
2023-07-07 15:44:18 +08:00
black-desk
235db8ab0c refact: remove almost all files
This is a prepare commit for the following refactor of
dde-application-manager.

I remove almost all files in this git repository.

We will start the refactor in later commits.

Signed-off-by: black-desk <me@black-desk.cn>
2023-07-06 10:05:34 +08:00
black-desk
02a818b12c fix: fix a use-after-free
Signed-off-by: black-desk <me@black-desk.cn>
2023-05-15 05:08:33 +00:00
tsic404
d4cb60370e fix: entry->app maybe nullptr, need to judge before use
log: as title
2023-05-12 15:33:55 +08:00
black-desk
a041aa7cf3 docs: add some comments
Signed-off-by: black-desk <me@black-desk.cn>
2023-05-12 15:33:55 +08:00
tsic404
0ce69c609a revert: b9e5abf remove jemalloc
memory issue has been resolve, jemalloc can be removed

log:
Signed-off-by: black-desk <me@black-desk.cn>
2023-05-12 15:33:55 +08:00
tsic404
38c9c09487 fix: call workfree to void mem leak
Signed-off-by: black-desk <me@black-desk.cn>
2023-05-12 15:33:55 +08:00
black-desk
a2f91cc525 fix: don't free ptr removed from Entry::m_windowInfoMap
Check comment.

Signed-off-by: black-desk <me@black-desk.cn>
2023-05-12 15:33:55 +08:00
tsic404
ad07a96240 fix: use shared_ptr in XCBUtils::getWindowFrameExtents
To void use-after-free issues.

Signed-off-by: black-desk <me@black-desk.cn>
2023-05-12 15:33:55 +08:00
tsic404
611bc0e092 fix: refact KeyFile::loadFile
To void invalid memory access issues.

Signed-off-by: black-desk <me@black-desk.cn>
2023-05-12 15:33:55 +08:00
kamiyadm
95ca87eebc fix: get wrong prefix of desktop name
We can only get 'org' by baseName() if the desktop file
named org.gnome.Chess.desktop. It should be completeBaseName().

Log:
2023-05-12 02:14:46 +00:00
black-desk
d3dcd91ca6 fix: add missing header for clang
Clang need these header to be included for definition of uint32_t and
uint64_t.
2023-05-11 06:56:37 +00:00
black-desk
1fd19ce97d fix: early return in WindowIdentify::identifyWindowByPidEnv
If we cannot get desktop file from env, we should just failed.
2023-05-11 06:33:52 +00:00
tsic404
b9e5abf214 fix: use jemalloc to temporary circumvention of crash issues
log: as title
2023-05-11 13:05:37 +08:00
black-desk
3932b3637e refact: Process::getStatus
log: as title
2023-05-11 13:05:37 +08:00
black-desk
fd6622c30c refact: Process::readFile
Remove DString::splitVectorChars. Use std::getline and fstream.
2023-05-11 13:05:37 +08:00
wangyixue
233cc0db3d fix: error handling recognized args
Recognized args should be removed from exec args when there are no
actual contents. instead of being replaced by "".

Log: fix error handling recognized args
2023-04-28 16:09:00 +08:00
black-desk
8be4c11b1c fix: arg[0] should be program exe
QProcess::arguments do not contain arg[0].

Signed-off-by: black-desk <me@black-desk.cn>
2023-04-23 10:14:51 +00:00
dengbo
c043b392c7 fix: 退出没有图标的应用AM崩溃
使用xcb ewmh的相关接口获取应用icon

Log: 修复没有图标的应用退出时AM奔溃退出的问题
Influence: 任务栏应用图标正常显示
2023-04-23 17:55:31 +08:00
black-desk
dc617910fb
fix GIO_LAUNCHED_DESKTOP_FILE_PID (#30)
* fix: set GIO_LAUNCHED_DESKTOP_FILE_PID

To set GIO_LAUNCHED_DESKTOP_FILE_PID, we have to manually fork and
exec, as QT determined the environ use to execvp, before running
childModifyer.

After use bare fork and exec, we have to wait for dead child processes.
Otherwise there will be zombies.

Signed-off-by: black-desk <me@black-desk.cn>

* fix: X-Deepin-CreatedBy is key not value

-

Signed-off-by: black-desk <me@black-desk.cn>

---------

Signed-off-by: black-desk <me@black-desk.cn>
2023-04-22 17:29:10 +08:00
zccrs
63d9f4ed57
fix: set DEEPIN_WINE_SCALE on launch an application (#36)
Supported HiDPI for the deepin wine applications. We must give an env
variant to apply the window scale effect to it.
2023-04-22 15:37:00 +08:00
Yutao Meng
b0383d43da fix: 任务栏最近使用任务区域残留锯齿图标应用
部分修复了两种场景:
- 无法点击图标打开的锯齿应用在系统启动时残留在最近任务栏(如Deepin-Lock)
- 锯齿图标应用被关闭后,残留在最近任务栏.(如dde-dconfig-editor)

当前存在问题:
第二种情况在锯齿应用被移除时,任务栏会闪一下.

Issue: https://github.com/linuxdeepin/developer-center/issues/3788
Log: 任务栏最近使用任务区域残留锯齿图标应用
2023-04-22 12:02:40 +08:00
zsien
2031f59203 chore: don't initialize the default applications
Moved to linuxdeepin/default-settings#30
2023-04-21 16:41:49 +08:00
zccrs
aa2edda67a
fix: don't use bamf on wayland session (#31)
The bamfdaemon is needs X server, it's crash on XWayland.
2023-04-20 18:03:24 +08:00
York Lee
94aa8b835e fix: 修改了process.start函数参数的问题
修改了将参数以字符串拼接形式传入process.start中的问题,避免了命令注入。

Log: 修改了process.start函数参数的问题
2023-04-18 03:26:41 +00:00
black-desk
cf09c97e46 chore: log envs in launch
-
2023-04-17 10:09:14 +00:00
black-desk
1969ce63d1 fix: set GIO_LAUNCHED_DESKTOP_FILE when launch app
-
2023-04-17 10:09:14 +00:00
black-desk
58c5f4feb8 fix: use identifyWindowByPidEnv for linglong apps
-
2023-04-17 10:09:14 +00:00
black-desk
5f9beaa1c2 refact: use lambda in identifyWindowByPidEnv
-
2023-04-17 10:09:14 +00:00
black-desk
4e43ef0cdb refact: return early in identifyWindowByPidEnv
-
2023-04-17 10:09:14 +00:00
black-desk
010d0c40f6 fix: force windowidentify method order
-
2023-04-17 10:09:14 +00:00
black-desk
29e7ef2f00 fix: use XResQueryClientIds to get pid of xwindow
Code copy from https://gitlab.gnome.org/GNOME/metacity/-/merge_requests/13/diffs

The xprop `_NET_WM_PID` is set by the client side, even if the process
in running in some container. But when pid_ns is unshared, the processes
in side a container, will not be able to get the "right" pid of itself.

The "new" XResQueryClientIds added to XRes will fix this issue by
produce the pid in server side.

refs:

- https://gitlab.freedesktop.org/xorg/xserver/-/issues/1022#note_497597
- https://www.x.org/releases/X11R7.7/doc/resourceproto/resproto.txt

close linuxdeepin/developer-center#3802
2023-04-17 10:09:14 +00:00
chenhuixing
9b82262a4e fix: desktop file still in Desktop after uninstall
AM will emit a signal which named UninstallSuccess when we
click launcher to uninstall the app of linglong. Then launcher
request item data after listen this signal and it will call AM
to refresh the data map. This make AM think the desktop item has
been removed when the fs notify event arrive, which cause AM
won't remove the desktop file.
So we just do removeDesktop() before emit the signal.

Log:
2023-04-12 17:16:30 +08:00
chenhuixing
9bd2a121b0 fix: icon in launcher after uninstall linglong app
AM used try to get the real path when the desktop file is a symbolic
link and save the path to a map, but it use the path
where symbolic link locate to check this desktop file is in that map or not.

This mistake make removeDesktop() not to be executed
when handling the event DFChanged.

This "get realpath" behavior is useless, we have test these two cases:

There is a symlink in /usr/share/applications/xxx.desktop pointer to /tmp/xxx.desktop

1. we remove the symlink;
2. we remove the real desktop file.
whether we change the code or not, AM behavior in the same way:

1. it make launcher remove the item;
2. it cannot make launcher remove the item.
case 2 is a bug. but we do not change that behavior in this commit.

Log:
2023-04-12 17:16:30 +08:00
dengbo
81fc93f71f fix: 应用无法打开选中的多个文件
此处不应该将多个文件的路径拼接成一个异常(不存在)的路径,
而应该将多个文件的路径分开传入

Log: 修复应用无法打开选中的多个文件的问题
Influence: 应用打开多个文件
2023-04-10 18:00:20 +08:00
Chen Linxuan
b912390107 fix(StartManager): correct Exec parsing
-

Signed-off-by: black-desk <me@black-desk.cn>
2023-04-03 01:42:34 +00:00
Chen Linxuan
b1f63d72b5 fix(StartManager): use wordexp to parse Exec
-

Signed-off-by: black-desk <me@black-desk.cn>
2023-04-03 01:42:34 +00:00
Chen Linxuan
2d936ac7ae Revert "fix: 修复从桌面和启动器无法打开浏览器(玲珑)的问题"
This reverts commit 56b222dc97.

Signed-off-by: black-desk <me@black-desk.cn>
2023-04-03 01:42:34 +00:00
Chen Linxuan
accc9c2aac fix: introduce new DesktopFile class
KeyFile::saveToFile not guaranteed section order, which is not the right
behavior of desktop file. XDG requires the first section of desktop file
always to be "Desktop Entry".

So I write a new DesktopFile class, which override the saveToFile method
of KeyFile, to make it work.

close linuxdeepin/developer-center#3807

Signed-off-by: black-desk <me@black-desk.cn>
2023-04-03 01:42:34 +00:00
YeShanShan
86442d813f fix: Crashed when get windowicon
Add a check when `buf` is nullptr to avoid exit.
  TODO: I don't know why.
2023-03-28 18:31:34 +08:00
YeShanShan
0e6489a502 fix: Invalid appid
desktop's file `baseName` is not equal to `appid`, we use
getId for appid.
2023-03-28 09:59:46 +08:00
YeShanShan
af8d6d18f9 fix: App proxy invalid
AddProxyProc for launched app by launcher.

Issue: https://github.com/linuxdeepin/developer-center/issues/3791
2023-03-28 09:59:46 +08:00
dengbo
d1c121667a fix: 任务栏应用图标显示异常
对于某些没有提供desktop文件(或者desktop文件中没有指定Icon字段)的应用
需要从窗管获取应用的Icon

Log: 修复任务栏应用图标显示异常的问题
Resolve: https://github.com/linuxdeepin/developer-center/issues/3811
Influence: 任务栏应用图片显示
2023-03-21 09:45:45 +08:00
tsic404
de36918beb fix: fix get a longer name then it actually is
fix https://github.com/linuxdeepin/developer-center/issues/3763
xcb_ewmh_get_wm_name return full string is longer than wm name,
get the same str as the wm name

log:
2023-03-03 21:31:24 +08:00
tsic404
80cf2501fa chore: rename project to dde-application-manager
rename project to dde-application-manager

log:
2023-02-23 21:57:34 +08:00
tsic404
d36a325b06 chore(CI): fix reuse
remove multi SPDX info

log:
2023-02-23 21:57:13 +08:00
zsien
fa763545fa Revert "feat: 社区差异化需求实现"
This reverts commit f1ac5f9f00.

Fixes linuxdeepin/developer-center#3617

Log: 修复 launcher 无法记住全屏状态
2023-02-15 11:11:11 +08:00
dengbo
0c2aaae1b0 fix: 注销系统后默认程序设置失效
如果用户有通过控制中心修改默认程序,每次重新登录系统使用之前用户设置的默认程序
而不是从配置文件中重新加载

Log: 修复注销系统后默认程序设置失效的问题
Bug: https://github.com/linuxdeepin/developer-center/issues/3591
Influence: 控制中心默认程序设置
2023-02-15 10:33:59 +08:00
justforlxz
e67767b48e
chore: add dep5
use reuse
2023-02-15 09:59:00 +08:00
donghualin
8cf5d61469 fix: 修复任务栏位置发生变化后消息不跟随的问题
任务栏位置发生变化的信号中增加参数,方便osd正确识别到该信号来改变提示消息的位置

Log: 修复任务栏位置发生变化后消息不跟随的问题
Influence: 多屏幕下,任务栏跟随鼠标,任务栏在主副屏幕切换的时候,观察消息是否跟随任务栏位置显示
Bug: https://pms.uniontech.com/bug-view-184231.html
Change-Id: I7bfcc134daf6d0c61d435e870da9e098043e5ba8
2023-02-14 10:44:22 +08:00
zhaoyingzhen
5c3b0f9cf6 fix: 解决任务栏显示lock和dock最近应用的问题。
am没有过滤lock和dock应用导致的问题。

Log:
Bug: https://pms.uniontech.com/bug-view-183657.html
Influence: 无。
Change-Id: I5e85a073fbf928a62f8c0a999e2d0652c3946d2b
2023-02-14 10:44:22 +08:00
ssk-wh
72384e3768 fix: 修复默认程序有多个会冲突的问题
解析优先默认程序的配置文件时解析错误

Log: 修复默认程序有多个会冲突的问题
Influence: 默认程序
Bug: https://pms.uniontech.com/bug-view-182127.html
Change-Id: Ib9c86af489e5a5b48f5dc6326e16ba7ad5b7b2b1
2023-02-14 10:44:22 +08:00
ssk-wh
3d22109090 fix: 修复launch情况下执行异常的问题
设置工作目录失效导致执行异常,错误的使用了QProcess的静态startDetached函数
内部会重新构造一个新的QProcess对象,导致之前的设置全部失效

Log: 修复launch情况下执行异常的问题
Influence: launch类接口功能
Bug: https://pms.uniontech.com/bug-view-181747.html
Change-Id: I5ebe006a9ae8f4785fe880304bf4cf6ad1782634
2023-01-11 15:38:07 +08:00
ssk-wh
466c2a7828 fix: 修复sh脚本部分情况下执行失败的问题
设置工作目录失效导致执行异常

Log: 修复sh脚本部分情况下执行失败的问题
Influence: RunCommandWithOptions接口执行脚本文件
Bug: https://pms.uniontech.com/bug-view-181747.html
Change-Id: Ia7b0da9705e337d2361f751b3cc37b3ecced6e69
2023-01-11 15:38:04 +08:00
songwentao
56b222dc97 fix: 修复从桌面和启动器无法打开浏览器(玲珑)的问题
玲珑应用Desktop文件Exec字段内容构成的字符串中包含字串,且字串不允许被拆分
对接玲珑组开发人员后,由AM对该问题进行修复

Log:
Influence: 从桌面和启动器都可以正常打开浏览器(玲珑)应用
Task: https://pms.uniontech.com/task-view-236197.html
Change-Id: I874bb3b9ba5d9d086279857e8d826b04e0a7ab58
2023-01-10 17:43:58 +08:00
songwentao
88c390616a fix: AM 适配打开参数问题
1. 适配%f,%F,%u,%U 几个识别字段,%i,%c,%k,%v,后面遇到相关问题后再继续适配
2. 直接读取Desktop文件中Exec字段内容,启动应用

Log:
Influence: 1. 双击桌面文件夹-打开文件夹功能正常;
2. 打开文件展示文件后直接展示内容
3. 截图录屏后文件可以正常打开
4. 双击桌面图标,应用可以正常打开
5. 双击音乐文件后,音乐文件正常播放
Bug: https://pms.uniontech.com/bug-view-182185.html
Bug: https://pms.uniontech.com/bug-view-182161.html
Bug: https://pms.uniontech.com/bug-view-182395.html
Bug: https://pms.uniontech.com/bug-view-182327.html
Bug: https://pms.uniontech.com/bug-view-182137.html
Change-Id: I67a156ec0c8ab8824bf880646d1fe642959f4b20
2023-01-09 17:29:39 +08:00
ssk-wh
b9372feb9a fix: 修复默认程序设置失败的问题
指针初始化未置空,导致的判断出错

Log: 修复默认程序设置失败的问题
Influence: 默认程序设置
Task: https://pms.uniontech.com/task-view-235759.html
Change-Id: Ieb4d7ad1a41e9200447cff7470541461e7129bfb
2023-01-09 16:45:34 +08:00
songwentao
f93a522546 fix: 修复卸载wine应用,桌面残留应用的问题
1. 卸载应用,从桌面移除应用的路径有误,导致文件残留
2. 缓存应用信息时,如果应用是desktop文件全路径是软连接,则获取其实际文件路径

Log:
Influence: 启动器-卸载wine应用时,桌面不残留应用图标
Bug: https://pms.uniontech.com/bug-view-180665.html
Change-Id: I2d1e3d3bea9aaeed940c4abeca5cc083015b94ae
2023-01-06 15:40:52 +08:00
donghualin
3a9c1f4952 fix: 修复无法启动玲珑应用对应功能的问题
对于玲珑应用以dbus-send开头的命令,不做特殊的处理

Log:
Influence: 从任务栏触发截图录屏玲珑应用的全屏截图和延时截图的功能,判断是否可以正常使用
Bug: https://pms.uniontech.com/bug-view-177111.html
Change-Id: I3251981e425e2804a9b0baf34e36c9f3a6dedc70
2023-01-06 14:39:13 +08:00
songwentao
ff4c3b924c fix: 修复打开部分应用失败的问题
当应用desktop文件中Exec字段内容中已包含双引号,则直接去掉,避免出现字符串包裹字符串的问题,导致部分应用无法正常启动

Log:
Influence: 启动器-应用列表中的所有应用都可以正常启动
Bug: https://pms.uniontech.com/task-view-232525.html
Change-Id: I6eaca9dd23f89ebd1dea5a190a2e06b8f657b754
2022-12-29 17:19:45 +08:00
范朋程
fbe80cdf10 chore: 删除重复文件
删除重复文件

Log: 无
Influence: 无
Change-Id: I6bcfa7254cce266e9ad0502a9a9954ac2d1e68ae
2022-12-27 09:59:52 +08:00
范朋程
6d43708721 fix: 修复拼写错误
拼写错误

Log: 拼写错误
Influence: 拼写错误
Task: https://pms.uniontech.com/task-view-226119.html
Change-Id: Ib5fc05e56e007bc397d51ce0b86a034ba74f8a28
2022-12-27 09:54:41 +08:00
范朋程
df598fb4b4 feat: 增加RunCommandWithOptions接口
无

Log: 无
Influence: 无
Task: https://pms.uniontech.com/task-view-220801.html
Change-Id: Ibeb61119d911e3274c7cd4d39fd0060beefdb518
2022-12-27 09:38:08 +08:00
songwentao
be1f2950a0 feat: 发送到桌面成功播放音频
添加发送到桌面的音频

Log:
Influence:
Task: https://pms.uniontech.com/task-view-229565.html
Change-Id: Iaaac27fff53d45dacca407a4599a7a428ded772d
2022-12-23 11:38:42 +08:00
donghualin
7b22381002 fix: 修复启动任务栏引起AM崩溃的问题
将迭代器检查修改为列表检查‘
’
Log:
Influence: 重启任务栏,观察AM服务是否会崩溃
Task: https://pms.uniontech.com/task-view-226125.html
Change-Id: I1e53235c9df552fc345170ce19134c90362d0cf7
2022-12-20 19:25:44 +08:00
范朋程
12d08de069 feat: 增加LaunchAppWithOptions和RunCommand接口
无

Log: 无
Influence: 无
Task: https://pms.uniontech.com/task-view-220801.html
Change-Id: I8f6998a95a21dd70093746946b57c6c3be57bf3a
2022-12-20 12:33:06 +08:00
songwentao
f1ac5f9f00 feat: 社区差异化需求实现
社区版本默认全屏模式

Log:
Influence: 社区版桌面环境下-启动器第一次启动时,默认全屏模式
Task: https://pms.uniontech.com/task-view-225013.html
Change-Id: I074faf54a5ba69827114aae2f8ddde340a85ce89
2022-12-13 15:22:59 +08:00
songwentao
dda953582b fix: 增加DBus接口调用异常信息
使用QDBusContext::sendErrorReply()增加异常返回信息

Log:
Influence: org.desktopspec.ApplicationManager服务中接口调用异常时,有提示信息
Bug: https://pms.uniontech.com/bug-view-172281.html
Change-Id: Iad2edda7479c284793ec55236292fea0317e5a8c
2022-12-13 11:36:34 +08:00
范朋程
d0d5bcfdbf fix: 修复拼写错误
拼写错误

Log: 拼写错误
Influence: 拼写错误
Task: https://pms.uniontech.com/task-view-226119.html
Change-Id: Ic984e382618dab99f48437a94575b85039c6d514
2022-12-12 15:12:13 +08:00
donghualin
35ac315646 fix: 修复社区版任务栏的显示模式错误
AM中初始化的显示模式设置为空,当AM第一次启动的时候,读取到的显示模式配置如果为空,就判断当前系统是否为社区版,如果是社区版,就让其配置为时尚模式,否则,就配置为高效模式

Log:
Influence: 安装社区版,观察任务栏启动是否为时尚模式
Bug: https://pms.uniontech.com/bug-view-175723.html
Change-Id: I51e7678716ca8064a61c8ab3b703d03beb779291
2022-12-08 03:11:17 +00:00
tanfeng
e4f4a47b87 chore: V23接口改造适配
V23接口改造适配

Log: V23接口改造适配
Influence: 无
Task: https://pms.uniontech.com/task-view-207483.html
Change-Id: I91e7c2807c168e87781e18aedc7aec887702ae13
2022-12-06 14:39:36 +08:00
范朋程
d1fe32c13e fix: 修复开机后虚拟键盘自动启动的问题
虚拟键盘仅在GNOME的桌面环境中自启动,desktop文件中已经给出相关配置,AM未进行判断

Log: 修复开机后虚拟键盘自动启动
Influence: 虚拟键盘自动开机启动
Bug: https://pms.uniontech.com/bug-view-175031.html
Change-Id: I7c66535f819655ffb1c9609cb23a6dc3a7e6f415
2022-12-05 18:33:46 +08:00
donghualin
6354629a82 feat: 任务栏应用启动方式修改为startManager来启动
在dock类的active方法中,调用ApplicationManager类对象的LaunchApp方法来启动应用

Log:
Influence: 从任务栏启动应用
Task: https://pms.uniontech.com/task-view-211667.html
Change-Id: I354b583b15932046a807b33c3d7cb253a59938d7
2022-11-29 15:52:48 +08:00
songwentao
c726a91c0f fix: setAutostart接口优化
非法desktop文件或者非本地应用,直接返回false

Log:
Influence: setAutostart接口功能正常
Task: https://pms.uniontech.com/task-view-215413.html
Change-Id: Idec45c8c314e1a0bd3db93e8a1d85c3cab634905
2022-11-29 14:39:22 +08:00
songwentao
885ad9b07a fix: 修复设置开机自启动应用重启后失效问题
1. 修复获取自启动列表为空的问题
2. 修复重启后自启动应用没有启动问题

Log:
Influence: 设置自启动后重启应用也会保持生效
Bug: https://pms.uniontech.com/bug-view-172263.html
Change-Id: Id95f4248fe2d29b3a6d03e9b44bee54671e9c5f6
2022-11-28 15:49:51 +08:00
songwentao
8be1b299e6 fix: 修复设置开机自启动应用重启后失效问题
1. 设置自动启动时未将应用desktop文件写入到~/.config/autostart/目录下
2. 应用自动启动接口优化,确保调用时,接口返回正确。
(设置为自启动时,手动将Hidden字段写入到自启动目录的desktop文件中,并设置为false,只有这样,
安全中心才不会弹出自启动确认窗口, 这种操作是沿用V20阶段的约定规范,这块已经与安全中心研发对接过)

Log:
Influence: 设置自启动后重启应用也会保持生效
Bug: https://pms.uniontech.com/bug-view-172263.html
Bug: https://pms.uniontech.com/bug-view-172281.html
Task: https://pms.uniontech.com/task-view-215413.html
Change-Id: Idd03ac40850c95ef8cef2ac169cfe006405b809b
2022-11-24 16:01:19 +08:00
donghualin
f6e6739532 fix: 修复从启动器拖动应用到任务栏上面始终显示到任务栏最后面的问题
调用驻留接口的时候,将当前的应用图标根据索引插入到合适的位置

Log:
Influence: 将启动器中的图标拖动到任务栏上,观察该图标是否显示在任务栏合适的位置
Task: https://pms.uniontech.com/task-view-217779.html
Change-Id: I1a0109cba21ff7edc9f9ad508b00557089e026a8
2022-11-21 09:39:43 +00:00
donghualin
2a229d30c8 fix: 修复任务栏最近打开区域偶现锁屏图标
在创建应用窗口对象的时候,过滤锁屏的图标

Log:
Influence: 进入wayland,任务栏时尚模式,打开显示最新打开应用,锁屏,进入桌面,观察任务栏最近打开区域是否存在锁屏图标
Bug: https://pms.uniontech.com/bug-view-171529.html
Change-Id: I43d3d98fea4f2c0cdaec62b551e275ba2960c624
2022-11-21 17:09:57 +08:00
donghualin
8b31d63212 fix: 修复任务栏应用强制退出后图标没有移除的问题
在强制退出应用后,发送应用移除的信号

Log:
Influence: 打开一个应用,鼠标右键-强制退出,观察应用图标是否在任务栏上
Bug: https://pms.uniontech.com/bug-view-172223.html
Change-Id: Iac05ff938ab452cc806d7295af8b06d8ba522331
2022-11-21 13:07:06 +08:00
songwentao
e70b17eea1 fix: 修复新装应用没有排列在首位的问题
问题背景: 本地存在deb包格式应用A或者存在linglong包格式应用A时,新装应用没有排列在小窗口-所有应用列表-首位的问题
修改思路: 遍历时使用desktop全路径作为键值对的key,而不是用二进制的应用名称

Log:
Influence: 启动器-新装应用-在小窗口所有应用列表中排列在首位
Bug: https://pms.uniontech.com/bug-view-150623.html
Change-Id: I29a2c9d0c68f0fcf65e864c2048515e12009341f
2022-11-18 11:19:18 +08:00
donghualin
d1ebb20c88 fix: 修复wayland下无法通过点击任务栏图标最小化窗口的问题
原因:获取当前窗口是否最小化的状态的时候返回值始终为true,引起无法最小化
修改:获取窗口最小化的状态通过com.deepin.daemon.KWayland.PlasmaWindow对象的IsMinimized()接口来获取即可

Log: 修复wayland下无法通过点击任务栏图标最小化窗口的问题
Influence: 进入wayland,打开一个窗口,从任务栏点击图标观察是否可以最小化
Bug: https://pms.uniontech.com/bug-view-167011.html
Change-Id: I3ab3c38e25cc5ad3efb94257ebd0cc473702a6fe
2022-11-16 11:25:33 +00:00
donghualin
b0f10f1219 fix: 修复任务栏部分应用图标显示异常
原因:系统通过Bamf服务获取到的应用的路径为空,导致显示图标异常
解决方案:从本地读取索引文件,如果读取到的应用路径错误,则通过本地来加载,找到正确的路径

Log: 修复部分应用图标显示异常的问题
Influence: 打开安全中心、企业微信、微信等应用,观察其在任务栏上的图标
Bug: https://pms.uniontech.com/bug-view-147569.html
Change-Id: I3ba3dea9884808e5edc5559e48b5a272cde754ea
2022-11-15 01:36:15 +00:00
donghualin
282227dc2b fix: 修复wayland下设置智能隐藏失败的问题
1、wayland环境下根据窗口Id获取当前激活窗口错误,导致无法获取激活窗口
2、释放鼠标的时候没有触发激活窗口的判断函数,导致任务栏在拖动过程中释放鼠标后,没有发送是否隐藏信号

Log: 修复wayland下设置智能隐藏失败的问题
Influence: 进入wayland环境,任务栏设置智能隐藏,窗口拖动到任务栏下方,观察窗口是否隐藏,窗口移出任务栏,观察任务栏是否显示
Bug: https://pms.uniontech.com/bug-view-154513.html
Change-Id: I4de3b4db019a664f184b0676bb8ce2a77d1d66a9
2022-11-14 02:52:02 +00:00
donghualin
ca33b78aed fix: 修复任务栏从移除没有打开窗口的应用时任务栏崩溃的问题
任务栏没有窗口的时候,当前图标已经被释放,无需再次设置它的模式

Log: 修复任务栏移除窗口崩溃的问题
Influence: 从任务栏移除没有打开子窗口的图标,观察任务栏是否重启
Task: https://pms.uniontech.com/task-view-213211.html
Change-Id: I94f76ee03d11dfcf0d6685bd013b66f2e23c202d
2022-11-09 08:45:36 +00:00
songwentao
f260303803 fix: AM 暴露出调起应用的接口
org.desktopspec.ApplicationManager启动应用服务接口导出

Log:
Influence: dbus接口暴露给启动器/任务栏等应用调用
Task: https://pms.uniontech.com/task-view-211667.html
Change-Id: I2ccbaf31513db18438cbd18daf96c8bc552e46c5
2022-11-08 16:21:35 +08:00
songwentao
ecc94f01c8 feat: 启动器支持玲珑应用卸载功能实现
1. 使用命令行方式实现玲珑应用卸载
2. 当linglong-bin版本大于3.3.14, ll-cli uninstall appId,才是同步执行,根据卸载后返回的字段信息确认卸载状态;否则为异步方式进行调用卸载的,这种情况下,AM 是无法得到卸载应用的状态的。

Log:
Influence: 启动器支持玲珑应用卸载
Task: https://pms.uniontech.com/task-view-207481.html
Change-Id: Ia809babd2d6f5508e1ea06a60315c40397d3d944
2022-11-03 17:03:11 +08:00
donghualin
6c06ed86b7 fix: 修复控制中心发送应用到任务栏不显示的问题
当应用打开的时候移除驻留,该应用作为最近打开应用,在取消驻留的时候,只是停止了服务,并未从列表中移除;下次驻留的时候,没有启动服务,导致任务栏图标没有驻留

Log: 修复控制中心无法发送应用到任务栏的问题
Influence: 从任务栏打开一个已经驻留的应用,对这个应用取消驻留,关闭应用,打开启动器,把这个应用发送到任务栏,观察任务栏是否有这个应用
Bug: https://pms.uniontech.com/bug-view-165891.html
Change-Id: I89fdaad6c33388dab67eb9c7d41dd372d36582bd
2022-10-28 12:15:42 +08:00
donghualin
873a642f06 style: 修改成员变量命名
类成员变量前统一增加m_标记

log: 代码格式化
Influence: 无
Task: https://pms.uniontech.com/task-view-96831.html
Change-Id: I2432dd5667bc195da1a64cdbb7cd933052ba7baa
2022-10-28 12:15:34 +08:00
donghualin
300c412c5f fix: 修复时尚模式下从任务栏打开图标显示重复的问题
原因:在判断图标是否显示在任务栏的时候,没有判断当前应用是否已经驻留在任务栏
修改:如果该应用如果已经驻留在任务栏,就判断其为在任务栏显示

Log: 修复时尚模式任务栏图标重复显示的问题
Influence: 进入任务栏时尚模式,在任务栏上打开一个已经驻留的应用,观察该应用图标是否显示重复
Bug: https://pms.uniontech.com/bug-view-157249.html
Change-Id: I2d17301e75d017517daa48a930a3a6906650608e
2022-10-28 11:29:29 +08:00
songwentao
a095e48203 fix: 修复卸载应用程序崩溃问题
lambda表达式中错误使用引用

Log:
Influence: 启动器-右键菜单-卸载应用,启动器可以正常进行操作
Bug: https://pms.uniontech.com/bug-view-165773.html
Change-Id: I6126d14b7122ea95fece24a9cf9c9baa5f48da8a
2022-10-27 15:14:52 +08:00
songwentao
1e9918f56a fix: 修复卸载失败问题
修复卸载应用失败问题

Log:
Influence: 启动器-右键菜单卸载应用-卸载成功从列表中消失,否则,列表保持不变。
Bug: https://pms.uniontech.com/bug-view-150247.html
Change-Id: Ifd0fea42fc329a92b002811ff3862b7813d73b92
2022-10-14 16:18:22 +08:00
donghualin
bb3473e74a fix: 修复任务栏在智能隐藏模式下窗口拖动到任务栏下方没有隐藏的问题
1.计算窗口的位置和大小的时候,调用的接口获取到的数据不正确,已完善从上游xcb相关的接口获取其他相关的位置等数据,重新计算得到正确的窗口信息
2.松开鼠标的时候没有激活定时器处理,已增加松开鼠标后,对当前活动窗口的处理

Log:
Influence: 任务栏设置为智能隐藏,在窗口移动到任务栏下方或者移出来,观察隐藏状态是否正确
Bug: https://pms.uniontech.com/bug-view-154513.html
Change-Id: I2bcc4c0d922349a6c98636caab03bdf1a108964c
2022-10-14 02:00:29 +00:00
songwentao
dacd8088a4 fix: 修复录屏应用没有显示在启动器中的问题
systemd拉起deepin-application-manager进程时,系统环境变量XDG_CURRENT_DESKTOP键值为空,而录屏应用只显示在Deepin系统环境中
修复方法:在XDG_CURRENT_DESKTOP赋值后再拉起deepin-application-manager.

Log:
Influence: 修改AM 启动时序,确保系统环境变量已装载完成再启动
Bug: https://pms.uniontech.com/bug-view-159147.html
Change-Id: I39301ff52d54d53131890c847e418799a91b83b8
2022-09-22 06:01:00 +00:00
songwentao
b66fc78553 feat: 转移玲珑包后缀提供配置功能实现到启动器
玲珑包后缀提供配置功能的实现转移到启动器

Log:
Influence: 默认隐藏后缀,开启,玲珑应用则显示,否则,隐藏.
Bug: https://pms.uniontech.com/bug-view-154585.html
Change-Id: I50f727eec1d815f39206780ae76ef774d17e5023
2022-08-27 11:04:56 +08:00
songwentao
d61eacaabb fix: 修复应用卸载失败问题
修复AM应用卸载接口与启动器服务接口签名不一致问题
修复AM应用卸载后没有通知启动器的问题

Log: 优化AM应用卸载逻辑
Bug: https://pms.uniontech.com/bug-view-150247.html
Bug: https://pms.uniontech.com/bug-view-150261.html
Influence: 启动器-右键点击卸载-应用可以卸载,卸载成功后从应用列表中消失
Change-Id: I878d3822c85885f114cf147d3cf6900d81f53515
2022-08-27 11:02:21 +08:00
songwentao
f8d2e15dc0 fix: 修复安装应用失败问题
优化新应用安装/启动后,AM发送消息通知dde-launcher的逻辑

Log:
Influence: 安装应用/启动应用时,启动器功能正常
Bug: https://pms.uniontech.com/bug-view-150623.html
Change-Id: Icebea449ccd5ad9eac39cf5d527e87813910b356
2022-08-24 15:05:42 +08:00