Commit Graph

245 Commits

Author SHA1 Message Date
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
e68eba8c1f chore: bump version to 1.0.11
-
2023-04-17 13:31:08 +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
zsien
729d7db75f chore: bump version to 1.0.10
* introduce new DesktopFile class
* correct Exec parsin
* fix unable to open multiple files
2023-04-12 15:01:45 +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
zsien
abf322377e chore: bump version to 1.0.9
* fix get a longer name then it actually is
* fix abnormal icon display in the dock
* set fullscreen launcher by default
* fix default application resets after relogin
* fix crash when get windowicon
* fix app proxy invalid
* fix invalid appid
2023-03-29 20:27:52 +08:00
zsien
a9363f5a7c chore: update the transifex config file
update the transifex config file
2023-03-29 13:48:40 +08: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
tsic404
dcb310c0e2 chore(CI): add OBS workflows
add OBS workflows

log:
2023-03-24 19:50:36 +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
71f5ed71c2 feat: set fullscreen launcher by default
启动器默认全屏显示

Log: 启动器默认全屏显示
2023-02-15 11:14:03 +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
dengbo
b29eef2f2c
Merge pull request #4 from justforlxz/master
chore: add dep5
2023-02-15 10:27:46 +08:00
Zhang Dingyuan
7598fa08a0
chore: update readme files
add README.zh_CN.md
2023-02-15 10:00:47 +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
lvpeilong
3104c23e9a chore: update changelog
update changelog

Log: update changelog
Influence: null
Task: https://pms.uniontech.com/task-view-239643.html
Change-Id: I264a8a0bdf7947d41875fc69e6a0d2faa1990d28
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
zhaoyingzhen
606afcf5fb chore: 更新changelog
更新版本号为:1.0.7

Log:
Task: https://pms.uniontech.com/task-view-227573.html
Influence: 版本号
Change-Id: I8052777e61126ff7f6be2f7d94ce0a84ac96fff7
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
deepin-admin-bot
f4650acfcd chore: Sync by 939528802a
sync by github workflow

Log: none
Influence: none
2023-01-12 07:11:04 +00: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
lvpeilong
c98ce39fe4 chore: update changelog
update changelog

Log: update changelog
Influence: null
Task: https://pms.uniontech.com/task-view-235277.html
Change-Id: I18c87a929577bd6986014c93edcee2ca0e671025
2023-01-10 18:19:34 +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