Update kyinit.cpp
sudo apt install g++ cmake extra-cmake-modules qtbase5-dev libkf5windowsystem-dev libkf5config-dev libspdlog-dev -y cd kylin-app-manager cmake -S . -B build cd build make -j8
sudo apt install devscripts cd kylin-app-manager debuild
对外提供 D-Bus 接口,接口说明
D-Bus
bool LaunchApp(const QString &desktop)
dekstop
desktop
.desktop
true
bool LaunchApp(const QString &name, const QStringList &args)
name
args
负责打开应用和加速,打开指定 .desktop 应用时通过调用 gio 相关的接口打开应用,打开指定二进制或者脚本路径的应用则通过 fork 来打开
gio
fork
当调用接口 LaunchApp(const QString &name, const QStringList &args) 时,kyinit 尝试以加速的形式启动应用,如果加速打开失败,则以正常的方式打开应用
LaunchApp(const QString &name, const QStringList &args)
kyinit
kyinit 提前链接好了 Qt 相关的库,因此打开 Qt 应用时,只需应用本身再链接其它库即可,以达到加速启动的效果。 应用需要进行适配,只需修改 CMakeLists.txt 和 main 函数即可
Qt
CMakeLists.txt
main
首先,找到kyinit包
find_package(KyInit 0.0.1 REQUIRED)
然后,替换
add_executable(myexe ${myexe_SRCS}) target_link_libraries(myexe ...)
为
add_kyinit_executable(myexe ${myexe_SRCS}) target_link_libraries(kyinit_myexe ...)
main函数
extern "c" kymain(...)
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
kylin-app-manager
编译
debian 打包
项目结构说明
kylauncher
对外提供
D-Bus
接口,接口说明bool LaunchApp(const QString &desktop)
dekstop
文件对应的应用desktop
:.desktop
文件名称或者绝对路径均可true
bool LaunchApp(const QString &name, const QStringList &args)
name
:应用的名称,需是决定路径args
:应用的启动参数true
kyinit
负责打开应用和加速,打开指定
.desktop
应用时通过调用gio
相关的接口打开应用,打开指定二进制或者脚本路径的应用则通过fork
来打开应用启动加速
当调用接口
LaunchApp(const QString &name, const QStringList &args)
时,kyinit
尝试以加速的形式启动应用,如果加速打开失败,则以正常的方式打开应用kyinit
提前链接好了Qt
相关的库,因此打开Qt
应用时,只需应用本身再链接其它库即可,以达到加速启动的效果。 应用需要进行适配,只需修改CMakeLists.txt
和main
函数即可首先,找到
kyinit
包然后,替换
为
main
函数