Chapter 6. Technical References

Éric Bischoff

Revision KDE Gear 21.08 (2021-10-04)

KTuberling offers a gentle and rewarding introduction to KDE customization and programming. The application can be extended. For example, without any coding, new playgrounds can be added by changing the graphics files. By adding appropriate sound files, translators can change the sounds to their native tongue!

If you extend or add to the game please consider sending your additions to the maintainer Alex Fiestas for inclusion in future releases.

For Artists

To create a new KTuberling playground you have to:

  • Draw the playground in a SVG file, there you have to:

    • Name the place where items can dragged background.

    • Name each of the draggable items with an unique name.

  • Create a .theme file, it has to follow this schema:

    <playground gameboard="yourSVGFile" name="theDesktopFile">
    <object name="itemName" sound="soundName" scale="someValue" />
    ...
    ...
    ...
    </playground>
    
    • yourSVGFile is the name of the SVG file that has the drawing.

    • theDesktopFile is the name of the desktop file that has the name of the theme.

    • For each object you need a <object> entry. itemName is the unique name you used on the SVG file, soundName is the sound name that will be played when dragging it, see the sounds/soundthemes.HOWTO file from source code for more information.

    • scale is optional and someValue is the scale factor that will be used when drawing this object outside the warehouse, if not specified is 1.

  • Create a .desktop file, it has to follow this schema:

    [KTuberlingTheme]
    Name=themeName
    
    • themeName is the name that identifies the theme, will be shown in the Playground menu.

  • If you are adding the theme to KTuberling repository, add .svg, .theme, and .desktop files to FILES section of the CMakeLists.txt into the pics/ folder.

  • If you want to install it for yourself, place .svg, .theme, and .desktop files into the ktuberling/pics folder in qtpaths --paths GenericDataLocation