3.6 KiB
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) 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. Note:: If the bug or feature request is actually related to the MLVWM window manager, please report in that project's issue tracker.
What You Need
You will need the following to contribute:
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.
- Fork the mlvwmrc project on GitHub.
- Create a topic branch from the
master
branch. Name your branch appropriately, reflecting the intended changes (e.g. “new-application-styles” or “documentation-improvements”) - Make your edits (please try to conform to our style guide).
- Make commits in logical units and with concise but explanatory commit messages. Please reference any appropriate issue numbers, e.g. "Issue #16".
- 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.
- Push the changes to your fork of the mlvwmrc project on GitHub
- Submit a pull request to the mlvwmrc project
That’s all there is to it.
If you followed the 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 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
.)