caa976b7af
build: add debian build
...
Signed-off-by: ComixHe <heyuming@deepin.org >
2023-08-30 15:02:29 +08:00
f2d5b7b307
refact: remove static env instance
...
Signed-off-by: ComixHe <heyuming@deepin.org >
2023-08-30 15:02:29 +08:00
d00cd17f2e
refact: change DEBUG_MODE
to DDE_DEBUG_MODE
...
Signed-off-by: ComixHe <heyuming@deepin.org >
2023-08-29 15:20:25 +08:00
64454bd149
refact!: change property IconName
to Icons
...
Signed-off-by: ComixHe <heyuming@deepin.org >
2023-08-29 13:34:27 +08:00
26a0b67157
feat: filter service and scope by subState and app
prefix
...
Signed-off-by: ComixHe <heyuming@deepin.org >
2023-08-29 13:07:44 +08:00
b0dd943e1d
fix: adjust processUnitName
...
`<2` should be fine to make later two takeLast work fine and avoid crash.
It seems that `<3` will
make kde scope (without launcher in unit name) not working.
2023-08-29 10:19:32 +08:00
6adc02375f
feat: scan existing systemd unit
...
We should scan existing systemd unit when we start application manager.
As application manager crash and restarted later,
we can get the launched application instances back.
2023-08-29 10:07:26 +08:00
02317993c8
fix: call "Subscribe" before connect to systemd
...
systemd will only send UnitNew/UnitRemoved after Subscribe called.
2023-08-29 10:07:26 +08:00
8a662314f2
fix: core dumped under Qt 6.4
...
call method metaObject of QMetaType will coredump under Qt 6.4
Signed-off-by: ComixHe <heyuming@deepin.org >
2023-08-29 10:07:26 +08:00
25a7acb6fd
Revert "fix: core dumped under Qt 6.4"
...
Github bug makes me commit wrong content, revert it.
This reverts commit 6fae5a758b
.
2023-08-29 10:06:57 +08:00
6fae5a758b
fix: core dumped under Qt 6.4
...
1. call method metaObject of QMetaType will coredump under Qt 6.4
2. remove `std::terminate()` when AM can't connect to Systemd Signals.
3. call `Subscribe` before connecting to Systemd Signals to guarantee that
systemd will send UnitNew and UnitRemoved.
Signed-off-by: ComixHe <heyuming@deepin.org >
2023-08-29 09:58:02 +08:00
ce2148e5cd
fix: incorrect behavior when parse and launch
...
Signed-off-by: ComixHe <heyuming@deepin.org >
2023-08-25 18:23:21 +08:00
3988e0c526
refact: improve desktop parsing
2023-08-25 18:23:21 +08:00
a16754647a
refact: introduce hasNonAsciiAndControlCharacters
...
Make regex thread_local.
2023-08-25 18:23:21 +08:00
17536bca3b
refact: add some comments to DesktopEntry::parseGroupHeader
...
1. remove extra - in that regex;
2. add some comments;
3. correct that typo in method name.
2023-08-25 18:23:21 +08:00
9f6ab28672
feat: add a warning log for invalid locale
2023-08-25 18:23:21 +08:00
58eff3b927
style: remove extra space
2023-08-25 18:23:21 +08:00
ccfb245419
refact: Desktop file parsing process and Application methods to
...
Properties
Signed-off-by: ComixHe <heyuming@deepin.org >
2023-08-25 18:23:21 +08:00
9f2a8b6798
feat: add property "LastLaunchedTime"
...
1. reactor some utils implementation.
2. remove constexpr before `decltype(auto)` due to GCC bug.
refer: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102229
Signed-off-by: ComixHe <heyuming@deepin.org >
2023-08-23 17:46:57 +08:00
2bdb9e99ee
refact: optimize regular expression initialization
...
add profiling test.
Signed-off-by: ComixHe <heyuming@deepin.org >
2023-08-22 11:42:13 +08:00
06ee5e5899
refact: DesktopFile's method and structure
...
Signed-off-by: ComixHe <heyuming@deepin.org >
2023-08-22 11:42:13 +08:00
65b6c9eaf0
fix(launchHelper): set ExitType to cgroup
...
ExitType defaults to `main`, which means systemd will kill all processes
in the application cgroup when the "main" process exited.
This default behavior make applications like vscode which will always
daemonlize itself killed immediately by systemd, so we should set this
property to `cgroup` instead.
refer to https://www.freedesktop.org/software/systemd/man/systemd.service.html#ExitType=
Signed-off-by: black-desk <me@black-desk.cn >
2023-08-22 11:42:13 +08:00
920594d6e5
refact: ApplicationService ctor and some member functions
...
Signed-off-by: ComixHe <heyuming@deepin.org >
2023-08-22 11:42:13 +08:00
0e7d84f61d
refact: change dbus api and service impl
...
1. change IconName and DisplayName to method
2. refactor impl of GetManagedObject and move it to global.h
3. refactor impl of JobService::status
4. add ut_job.cpp
Signed-off-by: ComixHe <heyuming@deepin.org >
2023-08-22 11:42:13 +08:00
d49a99d252
feat: add objectManager interface
...
refact the way to get DBus interface from Qt Meta System
Signed-off-by: ComixHe <heyuming@deepin.org >
2023-08-22 11:42:13 +08:00
bb83716d27
feat: change dbus interface api
...
1. remove method: Application, Launch. (ApplicationManager1)
2. add property: IconName, DisplayName. (Application1)
3. refact the way of construct ApplicationService.
4. if Desktop Entry Key `Hidden` is true, this application wouldn't
export to DBus.
Signed-off-by: ComixHe <heyuming@deepin.org >
2023-08-22 11:42:13 +08:00
a3dd315e33
test: add identify test
...
fix some bugs found in testing
Signed-off-by: ComixHe <heyuming@deepin.org >
2023-08-16 17:54:42 +08:00
de09f3dbc2
refact: add test-coverage.sh and some docs
...
Signed-off-by: ComixHe <heyuming@deepin.org >
2023-08-16 17:54:42 +08:00
c4c1d72568
refact: hidden escaped app id in dbus object path
...
Signed-off-by: black-desk <me@black-desk.cn >
2023-08-14 13:39:05 +08:00
b0c3475a3d
fix: correct getXDGDataDirs
...
Signed-off-by: black-desk <me@black-desk.cn >
2023-08-14 13:39:05 +08:00
e3bfb1cc7a
refact: refact LaunchApp's implementation
...
Signed-off-by: ComixHe <heyuming@deepin.org >
Signed-off-by: black-desk <me@black-desk.cn >
2023-08-14 13:39:05 +08:00
2fa74e40e5
refact: change implementation of UpdateApplicationInfo
...
adjust the way of get XDG_DATA_DIRS.
Signed-off-by: ComixHe <heyuming@deepin.org >
Signed-off-by: black-desk <me@black-desk.cn >
2023-08-14 13:39:05 +08:00
5183716873
refact: apply review suggestions
...
Signed-off-by: black-desk <me@black-desk.cn >
2023-08-14 13:39:05 +08:00
4394edd8b8
build: remove unnecessary source
...
Signed-off-by: black-desk <me@black-desk.cn >
2023-08-14 13:39:05 +08:00
bc2bdf559e
example: add launch application example
...
fix some bug while testing the example
Signed-off-by: ComixHe <heyuming@deepin.org >
Signed-off-by: black-desk <me@black-desk.cn >
2023-08-14 13:39:05 +08:00
8a74802c84
docs: update TODO
...
Signed-off-by: black-desk <me@black-desk.cn >
2023-08-14 13:39:05 +08:00
722d0666d3
feat: add impl of updateApplicationInfo
...
1. change the way to traverse files
2. refact some code
Signed-off-by: ComixHe <heyuming@deepin.org >
Signed-off-by: black-desk <me@black-desk.cn >
2023-08-14 13:39:05 +08:00
799100436c
feat: watch systemd unit new and remove to sync state
...
add default values to XDG_DATA_DIRS if it dosen't set
Signed-off-by: ComixHe <heyuming@deepin.org >
Signed-off-by: black-desk <me@black-desk.cn >
2023-08-14 13:39:05 +08:00
4687265e65
refact: restructure project
...
1. adjust project structure;
2. use config.h to locate app-launch-helper binary.
2023-08-07 16:46:57 +08:00
fe284e78b6
feat: implementation of the major feature of dbus service
...
Log:
Signed-off-by: ComixHe <heyuming@deepin.org >
2023-08-07 16:46:57 +08:00
839383ecae
docs: update TODO
...
Add some plan date and correct some mistakes.
2023-07-24 16:07:23 +08:00
857db2625a
style: format code
2023-07-21 14:50:57 +08:00
5fed3ed9f0
feat: add test for desktopentry and jobmanager
...
Log:
2023-07-21 14:50:57 +08:00
d288752fb3
feat: finish dbus service: job/jobManager
...
Log:
2023-07-18 16:37:52 +08:00
3a278bec79
feat: adjust dbus service structure
...
Log:
2023-07-17 16:20:15 +08:00
6f598ab52b
feat: add desktopentry class
...
Log:
2023-07-14 12:05:35 +08:00
fdf01923db
feat: implement job service
...
Log:
2023-07-12 10:41:41 +08:00
eac09c2cca
chore: Sync by 559e91167d
...
sync by github workflow
Log: none
Influence: none
2023-07-10 06:12:25 +00:00
10add2092c
feat: init dbus service structure
...
Log: 初始化dbus服务结构
2023-07-10 13:59:48 +08:00
c10838200b
chore: init project structure
...
Log: 初始化项目结构
2023-07-07 15:44:18 +08:00