mirror of
https://github.com/morgant/mlvwmrc.git
synced 2024-12-28 13:30:33 +00:00
57 lines
3.6 KiB
Markdown
57 lines
3.6 KiB
Markdown
|
# Contributing to mlvwmrc
|
|||
|
|
|||
|
We welcome feedback, bug fixes, and feature request. Ultimately, what gets accepted and merged into the project is up to the current project maintainer ([Morgan Aldridge](https://github.com/morgant)) and what they feel is appropriate for all users of the project, but you are encouraged to submit any suggestions.
|
|||
|
|
|||
|
Please submit bugs and feature requests for the mlvwmrc configuration files via the project’s [issue tracker](https://github.com/morgant/mlvwm/issues). *Note:*: _If the bug or feature request is actually related to the [MLVWM](https://github.com/morgant/mlvwm) window manager, please report in [that project's issue tracker](https://github.com/morgant/mlvwm/issues)._
|
|||
|
|
|||
|
## What You Need
|
|||
|
|
|||
|
You will need the following to contribute:
|
|||
|
|
|||
|
* A [GitHub](http://github.com) account for submitting pull requests
|
|||
|
* X11
|
|||
|
* [MLVWM](https://github.com/morgant/mlvwm)
|
|||
|
|
|||
|
## Making Changes
|
|||
|
|
|||
|
Follow these steps when making changes. That way, they will most likely be accepted with few headaches and very little back and forth.
|
|||
|
|
|||
|
1. Fork the [mlvwmrc](https://github.com/morgant/mlvwmrc) project on GitHub.
|
|||
|
2. Create a topic branch from the `master` branch. Name your branch appropriately, reflecting the intended changes (e.g. “new-application-styles” or “documentation-improvements”)
|
|||
|
3. Make your edits (please try to conform to our [style guide](#style-guide)).
|
|||
|
4. Make commits in logical units and with concise but explanatory commit messages. Please reference any appropriate issue numbers, e.g. "Issue #16".
|
|||
|
5. Ensure your changes build without additional warnings or errors. We suggest testing in `Xephyr`.
|
|||
|
|
|||
|
## Submitting Changes
|
|||
|
|
|||
|
When you’ve completed your changes and are ready to merge them into the main project, follow these steps to submit them for review.
|
|||
|
|
|||
|
1. Push the changes to your fork of the [mlvwmrc](https://github.com/morgant/mlvwmrc) project on GitHub
|
|||
|
2. Submit a pull request to the [mlvwmrc](https://github.com/morgant/mlvwmrc) project
|
|||
|
|
|||
|
That’s all there is to it.
|
|||
|
|
|||
|
If you followed the [making changes](#making-changes) guidelines and the changes are aligned with the vision of the project, it should be a smooth process to merge them.
|
|||
|
|
|||
|
## Style Guide
|
|||
|
|
|||
|
Please see the [README](README.md) for the overall structure of the configuration files. Below are guidelines for specific MLVWM configuration file commands:
|
|||
|
|
|||
|
### MenuBar & Menu
|
|||
|
|
|||
|
You'll primarily find `MenuBar` and `Menu` built-in commands used in `.mlvwm/MenuBar`, `.mlvwm/MenuExtras/*`, and `.mlvwm/apps/*`.
|
|||
|
|
|||
|
*Important*: When creating `MenuBar` and `Menu` labels for new applications and Menu Extras, the labels must be unique across the entirety of the MLVWM/mlvwmrc configuration files. Please search the repository for conflicting labels.
|
|||
|
|
|||
|
That said, MLVWM currently will only find the _last_ definition of a `MenuBar` or `Menu`, so this can be taken advantage of to override previous definitions in some cases. It's preferable to avoid such hacks as much as possible as, especially with the heavy use of `Read` commands in the mlvwmrc configurations which can make determining exactly when a configuration command is used more difficult.
|
|||
|
|
|||
|
#### MenuBar
|
|||
|
|
|||
|
`MenuBar` labels should be that of the application or MenuExtra name in CamelCase, e.g. (`Chrome` or `HandBrake`).
|
|||
|
|
|||
|
#### Menu
|
|||
|
|
|||
|
`Menu` labels should start with the same application or MenuExtra name as the `MenuBar` label followed by a dash and the name of the menu in CamelCase (e.g. `Chrome-File` or `Chrome-Bookmarks`.)
|
|||
|
|
|||
|
Labels for sub menus should start with the full label of the parent `Menu` followed by a dash and the name of the sub menu in CamelCase (e.g. `Default-Special-WindowManager`.)
|