Projects/Summer of Code/2007/Projects/Krdc

From KDE TechBase

KRDC (KDE Remote Desktop Connection) - UI Redesign and overall revamp

This SoC project is going to improve KRDC. For more informations please read the SoC application information [1]. This page should give you a short overview about the project roadmap and progress. You can probably also find updates on my blog[2]

Project Plan

My aim in this project will be to completely overhaul KRDC. This will include the following points:

First part

  • make KRDC functional under Qt4 / KDE4
  • rework the user interface, almost certainly providing a tabbed interface (#136049)
  • clean up the code to make it more maintainable (mainly user interface code, adopting clean KDE 4 / Qt4 conventions, and look to reduce duplicate code - for example, the SmartPtr implementation)
  • provide better integration into the KDE desktop (for example, #123346, better kwallet integration)
  • update vnc part (consider using external lib or update at least to a more recent version) (#59026)

Second part

  • consider points listed on http://wiki.kde.org/tiki-index.php?page=Krdc+Roadmap
  • close as many issues (bugs/feature requests) as possible. Priority issues are:
    • #136049 RFE: use tabbed interface
    • #59026 Synchronize KRDC with LibVNCClient
    • #103934 Support for more rdesktop options
    • #123346 Dock icons not themeable
    • #124082 remember and suggest the last visited address
    • #116934 "report bug" entry missing
    • #108619 Special Keys button in full screen mode
    • #121146 window title should include host connection type
    • #132367 kwallet integration only stores the password, username needed as well for some viewers

-> Some other issues should be easy to resolve (or will be resolved automatically together with other bugs - e.g. after VNC update).

  • update / rewrite user documentation

Code

You can find the code in KDE SVN; /trunk/KDE/kdenetwork/krdc[3]

(Recently moved from /branches/work/soc-krdc[4])

Compiling

Of course you need a working and up-to-date kdelibs environment for building KRDC. To setup the correct environment to compile KRDC please follow the instructions at Getting_Started/Build.

As KRDC is included in kdenetwork it will be installed as part of this package.

svn co svn://anonsvn.kde.org/home/kde/trunk/KDE/kdenetwork cd kdenetwork cmakekde

If you don't want to compile all of kdenetwork, you can do the following steps:

svn co -N svn://anonsvn.kde.org/home/kde/trunk/KDE/kdenetwork cd kdenetwork svn up krdc svn up cmake cmakekde

To compile the original soc-krdc code:

svn co svn://anonsvn.kde.org/home/kde/branches/work/soc-krdc mkdir build cd build cmake -DCMAKE_INSTALL_PREFIX=$KDEDIR .. make make install

Dependencies

For RDP support rdesktop is needed. This is a runtime dependence.

http://www.rdesktop.org

For VNC support libvncclient (libvncserver) is required (<=0.9).

http://libvncserver.sourceforge.net

References