Commit Graph

318 Commits

Author SHA1 Message Date
tsic404
e3fdb67864 chore: bump version 1.0.15
log: bump version 1.0.15
2023-05-12 16:20:49 +08: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
dengbo
c0b424cedc chore: bump version to 1.0.14
* release dde-application-manager 1.0.14

Log:
2023-05-12 02:31:50 +00: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
Zhang Dingyuan
39c50de56f fix: no environment variable on wayland
Sort to dde-session-pre.target
2023-05-11 18:04:46 +08:00
tsic404
ae5bf08545 chore: bump version 1.0.13
log: bump version 1.0.13
2023-05-11 16:29:32 +08: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
deepin-admin-bot
222194eb95 chore: Sync by 2e5e092ba3
sync by github workflow

Log: none
Influence: none
2023-05-10 01:52:24 +00: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
Zhang Dingyuan
0ffe1d4b2d
fix: duplicate systemd service
Use Dbus type service, and place it in the app.slice
2023-04-24 17:50:29 +08:00
dengbo
d18daaab59 chore: bump version to 1.0.12
* release dde-application-manager 1.0.12

Log:
2023-04-23 18:20:23 +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
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