bakkeby / dmenu-flexipatch

A dmenu build with preprocessor directives to decide which patches to include during build time
MIT License
183 stars 78 forks source link
dmenu flexipatch suckless

Similar to dwm-flexipatch this dmenu 5.3 (475d809, 2024-07-14) project has a different take on patching. It uses preprocessor directives to decide whether or not to include a patch during build time. Essentially this means that this build, for better or worse, contains both the patched and the original code. The aim being that you can select which patches to include and the build will contain that code and nothing more.

For example to include the alpha patch then you would only need to flip this setting from 0 to 1 in patches.h:

#define ALPHA_PATCH 1

Once you have found out what works for you and what doesn't then you should be in a better position to choose patches should you want to start patching from scratch.

Alternatively if you have found the patches you want, but don't want the rest of the flexipatch entanglement on your plate then you may want to have a look at flexipatch-finalizer; a custom pre-processor tool that removes all the unused flexipatch code leaving you with a build that contains the patches you selected.

Refer to https://tools.suckless.org/dmenu/ for details on dmenu, how to install it and how it works.

Browsing patches? There is a map of patches diagram which tries to organise patches into categories.


Changelog:

2024-07-17 - Added the input method patch

2024-07-16 - Added the mouse motion support patch

2023-06-15 - Added the caret width patch

2022-09-05 - Removed the json patch due to maintenance and compatibility reasons, added the separator patch

2022-09-04 - Added the fzfexpect patch

2022-06-21 - Adding barpadding patch and relative input width patch

2022-03-02 - Bump to 5.1

2021-05-23 - Adding support for ctrl+v to paste and adding emoji-highlight patch

2021-05-17 - Added the restrict return, no sort, gridnav and plain-prompt (listfullwidth) patches

2021-05-15 - Added the tsv and printindex patches

2020-08-08 - Added the json, symbols, managed, morecolor, multi-selection and preselect patches

2020-08-05 - Added the grid, highlight, highpriority, dynamic options and numbers patches

2020-06-13 - Added the pango patch

2020-06-10 - Added the case-insensitive patch

2020-05-29 - Added the alpha patch (derived from Baitinq's build) and the color emoji patch

2020-04-05 - Added fuzzyhighlight patch

2020-02-09 - Added revised border patch (adding command line parameter for setting border width)

2019-12-29 - Added xresources patch

2019-10-16 - Introduced flexipatch-finalizer

2019-09-18 - Added border, center, fuzzymatch, incremental, initialtext, instant, line-height, mouse-support, navhistory, non-blocking-stdin, password, pipeout, printinputtext, rejectnomatch, scroll, vertfull, wmtype and xyw patches

Patches included: