summaryrefslogtreecommitdiffstats
path: root/dwl-patches/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'dwl-patches/README.md')
-rw-r--r--dwl-patches/README.md87
1 files changed, 87 insertions, 0 deletions
diff --git a/dwl-patches/README.md b/dwl-patches/README.md
new file mode 100644
index 0000000..b16f982
--- /dev/null
+++ b/dwl-patches/README.md
@@ -0,0 +1,87 @@
+# dwl-patches
+* A general [dwl wiki](https://codeberg.org/dwl/dwl/wiki) is available at the main [dwl] repository.
+* This repository is exclusively for dwl PATCHES.
+
+*Note: All patches are user-submitted content. The authors of dwl do not continually monitor them. You are responsible for downloading and reviewing a patch before using it!*
+
+## Reporting Issues
+- Issues with existing patches can be generated here in the dwl-patches [issues]. Please be sure to "@" reference the patch author in your issue.
+
+## Contributing Patches to `dwl-patches`
+Since dwl follows [suckless](https://suckless.org/) philosophy, it doesn't provide every feature under the sun. To broaden dwl's functionality, one needs to get familiar with the concept of patching. To get your feet wet, consult [the hacking page](https://suckless.org/hacking/) of the suckless website.
+
+Patches should normally target the latest dwl [release].
+If you target an older release, specify that in the `Download` link on your `README.md` page.
+If you target the unstable `main` branch, specify that in the `Download` link on your `README.md` page.
+
+0. Starting from a local clone of [dwl] (not dwl-patches)
+1. If you do not have it already, add the remote for the main dwl repository in your local copy and fetch it:
+ `git remote add --fetch upstream https://codeberg.org/dwl/dwl`
+2. Use git to create a branch for your new patch and hack away creating your patched version of [dwl].
+3. In your local clone of dwl, create a .patch file
+ `git format-patch upstream/main...<branch-name> --stdout > PATCHNAME.patch`
+4. Now fork [dwl-patches] (not dwl) in Codeberg and clone it locally
+5. Configure your `dwl-patches` local clone
+ `git config --local pull.rebase true`
+6. In your local `dwl-patches` clone, add a directory called `patches/PATCHNAME`. Place the `PATCHNAME.patch` you created in step (2) into the `patches/PATCHNAME` directory.
+7. Add a `README.md` page to the `PATCHNAME` directory using this template (add/remove sections as you like):
+ ```markdown
+ ### Description
+ Insert a short summary of changes that your patch implements.
+
+ ### Download
+ - [git branch](/USERNAME/dwl/src/branch/PATCHNAME)
+ ^^^^^^^^^^ OPTIONAL: Patchers are no longer obligated to maintain public `dwl` branches devoted to their patches
+ - [0.7](/dwl/dwl-patches/raw/branch/main/patches/PATCHNAME/PATCHNAME.patch)
+ Use the ^RAW^ patch link here
+ ^^^ "0.7" is an example. Use the release that your patch targets
+ - [main YYYY-MM-DD](/dwl/dwl-patches/raw/branch/main/patches/PATCHNAME/PATCHNAME.patch)
+ ^^^^^^^^^^ Patches targeting the unstable "main" branch include a YYYY-MM-DD indicator
+ ### Authors - latest at top [Codeberg nick is mandatory; other contact methods optional]
+ - [YOUR_NICK](https://codeberg.org/USERNAME)
+ your_email@if_you_wish_to.share.it
+ your_irc_nick at [Libera IRC dwl channel](https://web.libera.chat/?channels=#dwl)
+ your_discord_handle at [dwl Discord](https://discord.gg/jJxZnrGPWN)
+ ```
+ You may choose to include screenshots (hosted in your patch's subdirectory) in your `README.md`. The process is described [here](https://docs.codeberg.org/markdown/using-images/).
+
+8. Use the Codeberg web interface to send a pull request to [dwl-patches] (NOT to [dwl])
+9. WHEN YOUR PULL REQUEST IS APPROVED, your Codeberg account will also be granted commit access to [dwl-patches]. Once you have write access, you can make direct modifications/upates to your patches instead of pull requests.
+
+Individuals who have made known that they no longer intend to maintain their patches will have commit access to the [dwl-pathces] repository removed.
+
+A returning user who formerly had commit access is welcome to open an issue on [dwl-patches] requesting commit access be reinstated. When doing so, please link to the original issue opened that granted commit access.
+
+## Updating/Modifying/Adopting Existing Patches
+- If the existing patch is already being maintained by another author, do not make modifications to it.
+- Create an issue at [issues] @mentioning the current maintainer.
+- If you receive no reply for seven days, you may assume the patch abandoned and you may adopt the patch.
+- Modify the `README.md` with new links for your raw patch and for your git branch.
+ - **LEAVE PREVIOUS AUTHOR(S)' NICKS/LINKS INTACT UNDER THE "Authors" HEADING!**
+ - Add your own nick/link to the top of the "Authors" list.
+
+## Deprecating Existing Patches
+- Patches will not be removed from this archive but may instead be deprecated if the author(s)/maintainer(s) of a patch so desire.
+- Please do not open issues or contact maintainers to request deprecation of a patch.
+- Deprecation of a patch will only occur if *all* authors or current maintainers of the patch agree to the decision to deprecate.
+- In such a circumstance the author(s)/maintainer(s):
+ - Will create a commit moving the patch to the `stale-patches` directory
+ - May explain in the associated `README.md` any relevant details of the decision to deprecate the patch.
+- This process allows current or future users of the patch the option to adopt, modify, or integrate stale/historical code or portions thereof.
+
+## stale-patches
+Deprecated or unmaintained patches are held in the [stale-patches] directory.
+Currently, this directory also contains `.md` description files from ancient patches predating the move to Codeberg.
+
+If you have the inclination to revive one of these, please follow the same procedures outlined below for contributing new patches.
+
+In your initial pull request (or in the commit that revives the stale patch if you already have write access), remove the corresponding `.md` file or the patch directory from [stale-patches].
+
+[stale-patches]: https://codeberg.org/dwl/dwl-patches/src/branch/main/stale-patches
+[dwl]: https://codeberg.org/dwl/dwl
+[dwl-patches]: https://codeberg.org/dwl/dwl-patches
+[issues]: https://codeberg.org/dwl/dwl-patches/issues
+[release]: https://codeberg.org/dwl/dwl/releases
+[Codeberg]: https://codeberg.org
+
+##