|
|
|
|
@ -1,5 +1,26 @@
|
|
|
|
|
What is applauncherd?
|
|
|
|
|
==============================
|
|
|
|
|
# Cutefish AppMotor
|
|
|
|
|
|
|
|
|
|
Optimize the speed of starting cutefish apps.
|
|
|
|
|
|
|
|
|
|
## Dependencies
|
|
|
|
|
|
|
|
|
|
Debian/Ubuntu Dependencies:
|
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
sudo apt install cmake qtbase5-dev qtdeclarative5-dev qtquickcontrols2-5-dev libsystemd-dev libcap-dev
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Build
|
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
mkdir build
|
|
|
|
|
cd build
|
|
|
|
|
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr ..
|
|
|
|
|
make
|
|
|
|
|
sudo make install
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Introduction
|
|
|
|
|
|
|
|
|
|
Applauncherd is a daemon that helps to launch applications faster by
|
|
|
|
|
preloading dynamically linked libraries and caching stuff.
|
|
|
|
|
@ -12,17 +33,6 @@ Some technical details are explained below.
|
|
|
|
|
Install applauncherd-doc for the Doxygen-based user documentation.
|
|
|
|
|
See INSTALL on how to build applauncherd and the documentation.
|
|
|
|
|
|
|
|
|
|
Building
|
|
|
|
|
==============================
|
|
|
|
|
|
|
|
|
|
BUILD_TESTS=1 ./configure
|
|
|
|
|
make
|
|
|
|
|
make doc
|
|
|
|
|
make install
|
|
|
|
|
|
|
|
|
|
Technical overview
|
|
|
|
|
==============================
|
|
|
|
|
|
|
|
|
|
Booster daemons (written using the provided library) are started as part of the
|
|
|
|
|
user session. The booster is responsible for forking the will-be-application
|
|
|
|
|
before knowing which application is going to be launched next. There can be
|
|
|
|
|
@ -42,8 +52,7 @@ shared library or a position independent executable (-pie) and it should
|
|
|
|
|
always export main(). There's also a "booster" for all applications.
|
|
|
|
|
In that case exec() is used.
|
|
|
|
|
|
|
|
|
|
Technical details
|
|
|
|
|
==============================
|
|
|
|
|
## Technical details
|
|
|
|
|
|
|
|
|
|
Loading the binary is done with dlopen(), and therefore the
|
|
|
|
|
application needs to be compiled and linked as a shared library or a
|
|
|
|
|
@ -59,8 +68,7 @@ name of the application. Then the booster process waits for a connection
|
|
|
|
|
from the invoker with the information about which application should be
|
|
|
|
|
launched.
|
|
|
|
|
|
|
|
|
|
Contributors
|
|
|
|
|
==============================
|
|
|
|
|
## Contributors
|
|
|
|
|
|
|
|
|
|
People who have contributed to mapplauncherd:
|
|
|
|
|
|
|
|
|
|
|