Skip to content

kamanashisroy/roopkotha

Repository files navigation

Roopkotha

This is gui library and a text editor. This library is built upon shotodol development environment. It consists of modules that enable document rendering and basic gui rendering in different platforms.

Dependencies

You need to get the following project sources,

Getting the projects

You need to get compressed(tar.gz/zip) distribution from the servers(for example, github.com/kamanashisroy/). Otherwise you can use git to clone the repositories, which is important if you want to change and develop the code or if you want to see the history.

You need to create a project directory for all the associated projects. Then you need to decompress the projects in this directory.

Suppose you are in 'a' directory. Then you need to decompress aroop,shotodol,shotodol_media,roopkotha in 'a' directory. If you are in linux, then putting 'ls' command in shell looks like this,

 a$ ls 
 aroop shotodol shotodol_media roopkotha . .. 

How to configure

Now you need to build the projects sequentially. Please see the readme in aroop, shotodol and shotodol_media to build them.

To build roopkotha, you need to configure and generate the makefiles. To do that you need lua. And if you have filesystems module in lua then it would be easy. You need to execute the configure.lua script, like the following,

 a/roopkotha$ lua configure.lua

And you will get the output like the following,

Project path /a/roopkotha > 
Aroop path /a/aroop > 
Shotodol path /a/shotodol > 
Shotodol Media path /a/shotodol_media > 
enable bluetooth ?(y/n) > n
enable debug (ggdb3) ?(y/n) > y
enable GUI debug ?(y/n) > n

How to build platform_gui

Now, after you have the Makefile in the roopkotha directory you are ready to build.

 a/roopkotha$ ls
	Makefile

You need to build platform specific implementation first. You can either build x11 based implementation or you can build Qt based implementation.

Building with Qt.

Suppose we want to build it with Qt, then the following commands should build the platform library,

 a/roopkotha$ cd linux/platform_gui/build
 a/roopkotha/linux/platform_gui/build$ make -f Makefile.build
 a/roopkotha/linux/platform_gui/build$ make
 a/roopkotha/linux/platform_gui/build$ make staticlib
 a/roopkotha/linux/platform_gui/build$ cd ../../../

More on Qt based gui

Building with x11

In order to build x11 you need to go to x11 project directory and make.

 a/roopkotha$ cd linux/platform_gui/x11project
 a/roopkotha/linux/platform_gui/x11project$ make
 a/roopkotha/linux/platform_gui/x11project$ ls
	x11_impl.o
 a/roopkotha/linux/platform_gui/x11project$ cd ../../../

More on x11 based gui

Build roopkotha

Now you can easily build roopkotha like,

 a/roopkotha$ make
 a/roopkotha$ ls
	shotodol.bin

The above command will create shotodol.bin as an executable binary. It reads the shotodol.ske (shake script file) for loading required plugins.

Running example

Now go to tests/guiapps/vela and put make command and see if it works .

 a/roopkotha$ cd tests/guiapps/vela
 a/roopkotha/tests/guiapps/vela$ make

Understanding the architecture

The primary design goal is seperation of concern.This project consists of modules and plugins. You may want to know the architecture of shotodol to understand it better.

Modules

architecture component diagram old architecture

Building doxygen documentation

You can also get the source code documentation in html/other document formats. You need doxygen installed. And you can just make the document and see the output in docs/doxygen/ (or more specifically in docs/doxygen/html/).

 a/roopkotha$ make document 
 a/roopkotha$ ls docs/doxygen/html/ 
 a/roopkotha$ firefox docs/doxygen/html/

Historic versions

Historic versions are the specific commits tagged to be addressed by name. They may be used for releasing software or to address a specific feature.

  • QtBasedV0:2842669c29e2d075e2a82c2ee5ae2f8850ef5298

Tasks

Tasks

Similar projects

Enjoy !