summaryrefslogtreecommitdiffstats
path: root/kded/README.kded
diff options
context:
space:
mode:
Diffstat (limited to 'kded/README.kded')
-rw-r--r--kded/README.kded128
1 files changed, 128 insertions, 0 deletions
diff --git a/kded/README.kded b/kded/README.kded
new file mode 100644
index 000000000..b530d707d
--- /dev/null
+++ b/kded/README.kded
@@ -0,0 +1,128 @@
+Welcome to this readme about KDED.
+
+KDED stands for KDE Daemon which isn't very descriptive.
+KDED runs in the background and performs a number of small tasks.
+Some of these tasks are built in, others are started on demand.
+
+Built in tasks
+==============
+*) Checking for newly installed software and updating ksycoca when new
+software is detected. Updating of ksycoca is done by the program kbuildsycoca
+which gets started by kded. When kded is first started it always runs
+kbuildsycoca to ensure that ksycoca is up to date.
+
+*) Checking for newly installed update files. Applications can install
+*.upd update files. These *.upd files are used to update configuration files
+of users, primarily when new versions of applications are installed with
+(slightly) different configuration file formats. Updating of configuration
+files is done by kconf_update. kded starts kconf_update when it detects a
+new update file. When kded is first started it always runs kconf_update to
+ensure that it has not missed any update files. kconf_update keeps track
+of which update files have been processed already in the config-file
+kconf_updaterc. It only performs a certain update once.
+
+*) Checking for hostname changes. It is a really bad idea to change the
+hostname of a running system and it usually only happens with incorrectly
+configured dial-up connections. Never the less, kded will check for hostname
+changes and if it detects one it will make the necassery changes to the
+KDE environemnt and X-server to allow continued proper operation. The
+program kdontchangethehostname is executed to make the actual changes.
+
+Configuration of built in tasks.
+================================
+The built in tasks have some configuration options that can be changed by
+editing the kdedrc configuration file. Changes need to be made with a text-
+editor, there is no GUI available. All options are listed under the [General]
+group:
+
+HostnamePollInterval: This can be used to adjust the time interval at which
+the hostname is checked for changes. The time is specified in milliseconds
+and has a default of 5000 (5 seconds).
+
+CheckSycoca: This option can be used to disable checking for new software.
+ksycoca will still be built when kded starts up and when applications
+explicitly request a rebuild of the ksycoca database. The user can
+also manually rebuild ksycoca by running the kbuildsycoca program.
+The default value of this option is "true". Checking can be disabled by
+setting this option to "false".
+
+CheckUpdates: This option can be used to disable checking for update files.
+kconf_update will still be run when kded starts up.
+The default value of this option is "true". Checking can be disabled by
+setting this option to "false".
+
+CheckHostname: This option can be used to disable checking for hostname
+changes. The default value of this option is "true". Checking can be
+disabled by setting this option to "false".
+
+Example kdedrc file with default values:
+
+[General]
+HostnamePollInterval=5000
+CheckSycoca=true
+CheckUpdates=true
+CheckHostname=true
+
+If FAM or DNOTIFY is not available, the filesystem will be polled at regular interval for any changes. Under the [DirWatch] group in the kdeglobals file
+the following options are available to adjust the polling frequency:
+
+PollInterval: This can be used to adjust the time interval at which the local
+filesystem is checked for new software or update files. The time is specified
+in milliseconds and has a default of 500 (0.5 seconds).
+
+NFSPollInterval: This can be used to adjust the time interval at which remote
+filesystems, such as NFS or Samba, are ebing checked for new software or
+update files. The time is specified in milliseconds and has a default of 5000
+(5 seconds).
+
+The above options are not used when FAM is used to watch for changes in the
+filesystem, or when DNOTIFY is used. Specifying larger intervals may reduce
+the CPU load and/or network traffic. Shorter intervals are not recommended.
+
+Please note that in previous versions of KDE these options where listed in
+the kderc file.
+
+Example kdeglobals fragment:
+
+[DirWatch]
+PollInterval=500
+NFSPollInterval=5000
+
+Tasks loaded on demand
+======================
+Some things can be greatly simplified if they can be coordinated from a
+central place. KDED has support for modules that will be demand-loaded
+whenever an application attempts to make DCOP call to the module.
+This can be useful for central administration tasks.
+
+An example of a KDED module is the print module. When an application prints
+a file, the print module will watch over the print-job while the file
+is being printed. This allows you to close the application after submitting
+your print-command to the printer, the print module will make sure to
+inform the user when a print problem occurs (printer out of paper, printer
+on fire)
+
+A KDED module should install a .desktop file with
+ ServicesTypes=KDEDModule
+
+A KDED module will be loaded on KDE startup if it has a line
+ X-KDE-Kded-autoload=true
+
+Note that this flag doesn't cause the module to be loaded if the KDE desktop
+is not running (i.e. when running a KDE application in another environment).
+
+Normally KDED modules are loaded whenever they are accessed, so you don't
+need autoloading enabled. On demand loading can be disabled by putting
+the following line in the .desktop file:
+ X-KDE-Kded-load-on-demand=false
+
+Further it should contain:
+ X-KDE-ModuleType=Library
+ X-KDE-Library=foo
+ X-KDE-FactoryName=foo
+
+Which means that kded_foo.la is the name of the library that contains
+the module and KDEDModule *create_foo(const QCString &) is the factory
+function that should be called.
+
+The .desktop file should be installed to ${kde_servicesdir}/kded