Warning, /frameworks/kded/docs/HOWTO is written in an unsupported language. File is not indexed.
0001 HOWTO Make KDED Modules 0002 ======================= 0003 0004 A KDED module is loaded when a call is made to it. 0005 KDED modules should not be added if it is avoidable because (especially 0006 when new) they endanger the stability of KDED and its other modules which 0007 provide important services. There are other ways to achieve what a KDED 0008 module can do in many cases. 0009 KDED modules should be useful during the whole session and manage 0010 information that, for some reason, cannot be kept in any other process. 0011 0012 Here are examples of KDED modules: 0013 frameworks/baloo/src/kioslaves/kded/baloosearchmodule.cpp Baloo search module 0014 kde/workspace/khotkeys/app/kded.cpp KHotKeys 0015 0016 A KDED module should install a .desktop file with 0017 ServicesTypes=KDEDModule 0018 0019 A KDED module will be loaded on KDE startup if it has a line 0020 X-KDE-Kded-autoload=true 0021 0022 Note that this flag doesn't cause the module to be loaded if the KDE desktop 0023 is not running (i.e. when running a KDE application in another environment). 0024 0025 [The following paragraph was copied from kdebase/workspace/ksmserver/README] 0026 The exact way autoloading works is controlled by X-KDE-Kded-phase=, 0027 which may be 0, 1 or 2 (the default). Kded phase 0 means the module is 0028 always loaded by kded, even outside of KDE session. It should used only 0029 by kded modules which must be always running. Kded phase 1 modules are 0030 loaded right after kded startup, but only during KDE startup, i.e. it is 0031 for modules that are always needed by the KDE session. Phase 2 modules 0032 will be loaded later. 0033 0034 Normally KDED modules are loaded whenever they are accessed, so you don't 0035 need autoloading enabled. On demand loading can be disabled by putting 0036 the following line in the .desktop file: 0037 X-KDE-Kded-load-on-demand=false 0038 0039 Further it should contain: 0040 X-KDE-Library=foo 0041 0042 Which means that kded_foo.so is the name of the library that contains 0043 the module. Note that the name of the library always starts with kded_. 0044 0045 The .desktop file should be installed to ${SERVICES_INSTALL_DIR}/kded