Currently macOS port shares with the unix port(UNIX sockets) which has lot of compatibility issues, hence find an appropriate IPC and implement. Adding idea will also be appreciated.
As this project is a part of an Open Source Program NJACK Winter of Code I would recommend to have a contribution guidelines file (CONTRIBUTING.md) to assist beginners to get started with open source contribution.
Points to be covered in the guideline :
How to pull your first request.
How to create issue.
Some general rules to keep in mind while contributing to an open source project.
Links of some tutorials which will help beginners to learn the basics of git and github.
To receive messages from applications running on java an interface must be written ( refer Interface/cpp and Interface/python to see what is required).
The main objective of this module is to pipe outputs from stderr and stdout into the app, while this is fairly easy in linux, windows needs a long hack.
So the objective is to create a core functionality that will pipe the streams outputs separately at a binary level (Not language level i.e. no code injection or replacing streams). The UI part is a separate module.
Subtasks
Windows
Find a way to pipe stderr and stdout in realtime ( Try using screen buffer rather than pipes ) (Difficult:15)
Linux
Launch application with flags that redirect data to sockets (Difficult:15)
Common
Same format that will be handled in UI part for displaying (Intermediate:10)
Signals and support/Callback functions (Intermediate:10)
Currently, the readme is not having a getting started guide so a beginner will find it difficult to contribute to the project.
Also, I wish to add badges which will keep real-time track of pull request opened, closed, issues open and closed so it will use for you to manage
So can I go for it @RAJAGOPALAN-GANGADHARAN
Also The project is currently missing the Code of Conduct file which is important for open source project
So can I go for it
would like to add these to your project. let me know if you want them and assign too.
welcome bot config file will be having a proper message that will show up when any user will open up an issue or pull-request for the first time.
For reference, check out and download the bot in your repo from the below link ๐
bat/setup to install DConsole and options(Yes/No) to install specific interfaces. For. e.g. if user chooses python only then install python interface only, ignoring the cpp interface.
sh script for mac and unix ( Can be done separately as well) - something similar to windows automated install script. This should make the DConsole executable added to the global binary path and install required headers for interfaces according to user choice.
The code was written in the assumption that unix codebase will be common to both mac and linux, But it proved to be difficult than expected. Hence move all the files from unix directory to linux directory. Verify that it compiles by making appropriate changes in CMakeLists.txt
The UI I have in mind is a simple window that works along with Core(The backend that does the piping work) user should be able to create tabs and color code from separate streams. UI can be implemented with cross platform UI frameworks like Qt and/or using specific C/C++ API for respective platforms.
Sub tasks ( Windows/Linux gtk)
Window Creation (Intermediate:10)
Window widgets(Tab structure, Menu bar) (Intermediate:10)
Application launch menu ( browse path of executable and run with flags ) (Intermediate:10)
I will add banner of crosswoc to the readme file so that, People will know it is associated to crosswoc.
Moreover, I will associate link of the crosswoc website to its banner such that, if someone clicks the banner on readme file, it will redirect them to the website of crosswoc.