Developing Kleopatra

This page is meant to give (new) developers a hand. Information about developing Kleopatra are widespread and do currently not link each other.

General information

The product page of Kleopatra can be Found on KDE.org

https://www.kde.org/applications/utilities/kleopatra/

Coding Guidlines

As a KDE-Application, Kleopatra follows the Kdelibs Coding Style.

https://community.kde.org/Policies/Kdelibs_Coding_Style

API Docs

An automatically generated API-Documentation about Kleopatra and Libkleo can be found here:

http://api.kde.org/4.14-api/kdepim-apidocs/kleopatra/html/index.html

http://api.kde.org/4.14-api/kdepim-apidocs/libkleo/html/index.html

Getting started

Build Kleopatra from GIT

See: https://wiki.gnupg.org/BuildingFromGIT/Kleopatra?highlight=%28kleopatra%29

Build Kleopatra as part of Gpg4Win

At first you might want to build Gpg4Win and Kleopatra. Get information about building Gpg4Win here: https://www.gpg4win.org/build-installer-gnulinux.html

To now Build Gpg4Win with your modified version of Kleopatra, do the following:

Reach Kleopatra from external processes

To archive platform independent inter-process communication Kleopatra opens a socket on localhost, which can be reached from localhost.

When Kleopatra is running, "ss -l" should deliver something similar to this:

u_str  LISTEN  0  128  /home/sengelhardt/.gnupg/S.uiserver  3877681  *  0

using "gpg-connect-agent", you can reach Kleopatra from different processes.

with

gpg-connect-agent -v -S /home/sengelhardt/.gnupg/S.uiserver

you can access to socket directly. Use "help" to see what the sockets accepts. In "kleopatra/tests/gpg-connect-agent-scripts" you can find some premade scripts. To try a one out, use

"gpg-connect-agent -v -S ~/.gnupg/S.uiserver < gpgex-sign"

for example.

This behavior is defined in kleopatra/src/uiserver.

DevelopingKleopatra (last edited 2016-03-22 09:53:40 by SeanEngelhardt)