Getting Started (Contributing) - reallySmooll/smoollwallpaper GitHub Wiki

This guide showcases how to contribute some code to SmoollWallpaper (swall).


Dependencies

For development and testing you will need these dependencies:

  • First of all you need to have Linux (obviously).
  • This script only runs on Desktop Environments and Window Managers that have X11 support. NO WAYLAND!
  • xwinwrap. Here's how to install it.
  • Python. It should be preinstalled on your system. Python >=3.6 required!
  • mpv
  • colorama. $ pip3 install colorama
  • xorg-xprop
  • Knowledge of the terminal. (If you want to contribute code, you obviously need to know atleast the basics of the terminal and git)

There will probably be more as the script grows.

Now that you have all the dependencies, we can start contributing finally!


Forking the repository

If you already know how to fork a repository, then please fork this repo and proceed to the next step.

To start contributing code, you need to fork the repository which basically means copy the repository. You need to do that so the codebase is cleaner and you don't have to worry about affecting the original repository by committing your changes directly to the original repo.

To fork a repository you first need to go to the SmoollWallpaper page and click the fork button in the top-right of the page.

fork_button

Next you need to fill in the normal information as if you were making a normal repository.

And you're done. But to be able to add some code you need to clone the repository (download the source code). First go back to the main page and click the big green button Code and copy the HTTPS link.

clone_repo

Next go to the terminal and into a folder where you keep all of your projects for example and execute this command:

$ git clone https://www.github.com/YOUR_USERNAME/FORK_NAME.git

This command will clone (download) the repo into a directory named after the repo.

And that's it! Now you can do whatever you want with the code without worrying that you will break something after committing the changes.

If you'd like to see a better tutorial about forking a repository please visit here.


Committing the changes

After you're done messing around with the code, you might want to add your changes to the original repository (thank you for your contribution), but you don't know how to do it. Don't you worry because help is on the way!

First (using the terminal of course) go to the root of your fork (where the .md files are found) and create a new branch:

$ git checkout -b (name this branch whatever [e.g. feature, patch-1, etc.])

Next add your files:

$ git add .

Next commit the changes with a short description of your changes:

$ git commit -m "Added normal wallpapers :)"

If there are no errors (which there probably won't be), you can push the changes to your branch:

$ git push origin YOUR_BRANCH

And you should be done! Your changes are now commited to your fork! Next you need to make a pull request so we can review your changes and add them to the project.


Making a pull request

After committing your changes to the fork you need to make a pull request if you want to (have a chance to) see your changes in the project.

First go to the SmoollWallpaper GitHub page and go to the pull requests page.

pull_requests_page

Once you're on the pull requests page, click the green New pull request button.

new_pull_request

On the Compare page, click the compare across forks button.

Choose the base repository (original repo) and the branch (development).

Next choose the head repository (your fork) and the branch on which you've committed your changes.

And click the green Create pull request button.

Next fill out the title and description describing the changes you've made. Make sure it is clear and readable so we can understand your pull request. Make sure you've assigned the correct label to your pull request (we don't like when incorrect labels or no labels are assigned).

And wait... Your changes won't be automatically accepted. We need to review them and check that it doesn't contain any malicious code for example.

Once again we thank you for contributing to SmoollWallpaper. Whether you only starred the project, made an issue, or contributed with code, it doesn't matter. Every contribution is important to us and we greatly appreciate your help. :)