Skip to content

Latest commit

 

History

History
50 lines (39 loc) · 2.77 KB

CONTRIBUTING.md

File metadata and controls

50 lines (39 loc) · 2.77 KB

Contributing

Thank you very much for taking the time for contributing to this project.

Report a Bug

Just open a new issue on GitHub and describe the bug. It helps if your description is detailed. Thank you very much for your contribution!

Suggest a New Feature

Just open a new issue on GitHub and describe the idea. Thank you very much for your contribution!

Suggest a New Component

If you want to be able to access a component from Libadwaita or GTK that is currently not available in Adwaita, you can add it to Libadwaita. If you want to add an Adwaita interface for an already existing GTUI widget, open an issue.

Pull Requests

I am happy for every pull request, you do not have to follow these guidelines. However, it might help you to understand the project structure and make it easier for me to merge your pull request. Thank you very much for your contribution!

1. Fork & Clone this Project

Start by clicking on the Fork button at the top of the page. Then, clone this repository to your computer.

2. Open the Project

Open the project folder in GNOME Builder, Xcode or another IDE.

3. Understand the Project Structure

  • The README.md file contains a description of the app or package.
  • The Contributors.md file contains the names or usernames of all the contributors with a link to their GitHub profile.
  • The LICENSE.md contains an GPL-3.0 license.
  • CONTRIBUTING.md is this file.
  • Directory Icons that contains PNG and PXD (Pixelmator Pro) files for the images used in the app and guides.
  • Sources contains the source code of the project.
    • Adwaita contains the source code of the project.
    • Adwaita.docc contains documentation.
      • Model is the directory with Adwaita's basis.
        • Data Flow contains property wrappers and protocols required for managing the updates of a view.
        • Extensions contains all the extensions of types that are not defined in this project.
        • User Interface contains protocols and structures that are the basis of presenting content to the user.
      • View contains structures that conform to the View protocol and provide an easier-to-use wrapper around a GTUI NativeWidgetPeer type.
      • Window contains structures that conform to the Window protocol and simplify the creation of different types of windows.
    • CAdw contains the reference to the C library.
    • Generation contains the code for the auto-generation of Adwaita and Gtk widgets.
  • Tests contains an example application for testing Adwaita.

4. Edit the Code

Edit the code. If you add a new type, add documentation in the code.

5. Commit to the Fork

Commit and push the fork.

6. Pull Request

Open GitHub to submit a pull request. Thank you very much for your contribution!