mirror of
https://github.com/mintycube/dmenu.git
synced 2024-10-22 12:05:48 +00:00
Adding no sort patch
This commit is contained in:
parent
d6894046f1
commit
24ff57a540
@ -26,7 +26,7 @@ dmenu, how to install it and how it works.
|
|||||||
|
|
||||||
### Changelog:
|
### Changelog:
|
||||||
|
|
||||||
2021-05-17 - Added the restrict return patch
|
2021-05-17 - Added the restrict return and no sort patches
|
||||||
|
|
||||||
2021-05-15 - Added the tsv and printindex patches
|
2021-05-15 - Added the tsv and printindex patches
|
||||||
|
|
||||||
@ -137,6 +137,12 @@ dmenu, how to install it and how it works.
|
|||||||
- [navhistory](https://tools.suckless.org/dmenu/patches/navhistory/)
|
- [navhistory](https://tools.suckless.org/dmenu/patches/navhistory/)
|
||||||
- provides dmenu the ability for history navigation similar to that of bash
|
- provides dmenu the ability for history navigation similar to that of bash
|
||||||
|
|
||||||
|
- [no-sort](https://tools.suckless.org/dmenu/patches/no-sort/)
|
||||||
|
- adds the -S option to disable sorting menu items after matching
|
||||||
|
- useful, for example, when menu items are sorted by their frequency of use (using an
|
||||||
|
external cache) and the most frequently selected items should always appear first regardless
|
||||||
|
of how they were exact, prefix, or substring matches
|
||||||
|
|
||||||
- [non-blocking-stdin](https://tools.suckless.org/dmenu/patches/non_blocking_stdin/)
|
- [non-blocking-stdin](https://tools.suckless.org/dmenu/patches/non_blocking_stdin/)
|
||||||
- this is a patch to have dmenu read stdin in a non blocking way, making it wait for input
|
- this is a patch to have dmenu read stdin in a non blocking way, making it wait for input
|
||||||
both from stdin and from X
|
both from stdin and from X
|
||||||
|
15
dmenu.c
15
dmenu.c
@ -130,6 +130,9 @@ static int managed = 0;
|
|||||||
static int *selid = NULL;
|
static int *selid = NULL;
|
||||||
static unsigned int selidsize = 0;
|
static unsigned int selidsize = 0;
|
||||||
#endif // MULTI_SELECTION_PATCH
|
#endif // MULTI_SELECTION_PATCH
|
||||||
|
#if NO_SORT_PATCH
|
||||||
|
static unsigned int sortmatches = 1;
|
||||||
|
#endif // NO_SORT_PATCH
|
||||||
#if PRINTINPUTTEXT_PATCH
|
#if PRINTINPUTTEXT_PATCH
|
||||||
static int use_text_input = 0;
|
static int use_text_input = 0;
|
||||||
#endif // PRINTINPUTTEXT_PATCH
|
#endif // PRINTINPUTTEXT_PATCH
|
||||||
@ -631,6 +634,11 @@ match(void)
|
|||||||
#else
|
#else
|
||||||
/* exact matches go first, then prefixes, then substrings */
|
/* exact matches go first, then prefixes, then substrings */
|
||||||
#endif // HIGHPRIORITY_PATCH
|
#endif // HIGHPRIORITY_PATCH
|
||||||
|
#if NO_SORT_PATCH
|
||||||
|
if (!sortmatches)
|
||||||
|
appenditem(item, &matches, &matchend);
|
||||||
|
else
|
||||||
|
#endif // NO_SORT_PATCH
|
||||||
if (!tokc || !fstrncmp(text, item->text, textsize))
|
if (!tokc || !fstrncmp(text, item->text, textsize))
|
||||||
appenditem(item, &matches, &matchend);
|
appenditem(item, &matches, &matchend);
|
||||||
#if HIGHPRIORITY_PATCH
|
#if HIGHPRIORITY_PATCH
|
||||||
@ -1513,6 +1521,9 @@ usage(void)
|
|||||||
#if PASSWORD_PATCH
|
#if PASSWORD_PATCH
|
||||||
"P"
|
"P"
|
||||||
#endif // PASSWORD_PATCH
|
#endif // PASSWORD_PATCH
|
||||||
|
#if NO_SORT_PATCH
|
||||||
|
"S"
|
||||||
|
#endif // NO_SORT_PATCH
|
||||||
#if REJECTNOMATCH_PATCH
|
#if REJECTNOMATCH_PATCH
|
||||||
"R" // (changed from r to R due to conflict with INCREMENTAL_PATCH)
|
"R" // (changed from r to R due to conflict with INCREMENTAL_PATCH)
|
||||||
#endif // REJECTNOMATCH_PATCH
|
#endif // REJECTNOMATCH_PATCH
|
||||||
@ -1633,6 +1644,10 @@ main(int argc, char *argv[])
|
|||||||
} else if (!strcmp(argv[i], "-R")) { /* reject input which results in no match */
|
} else if (!strcmp(argv[i], "-R")) { /* reject input which results in no match */
|
||||||
reject_no_match = 1;
|
reject_no_match = 1;
|
||||||
#endif // REJECTNOMATCH_PATCH
|
#endif // REJECTNOMATCH_PATCH
|
||||||
|
#if NO_SORT_PATCH
|
||||||
|
} else if (!strcmp(argv[i], "-S")) { /* do not sort matches */
|
||||||
|
sortmatches = 0;
|
||||||
|
#endif // NO_SORT_PATCH
|
||||||
#if PRINTINDEX_PATCH
|
#if PRINTINDEX_PATCH
|
||||||
} else if (!strcmp(argv[i], "-ix")) { /* adds ability to return index in list */
|
} else if (!strcmp(argv[i], "-ix")) { /* adds ability to return index in list */
|
||||||
print_index = 1;
|
print_index = 1;
|
||||||
|
@ -141,6 +141,14 @@
|
|||||||
*/
|
*/
|
||||||
#define NAVHISTORY_PATCH 0
|
#define NAVHISTORY_PATCH 0
|
||||||
|
|
||||||
|
/* Adds the -S option to disable sorting menu items after matching. Useful, for example, when menu
|
||||||
|
* items are sorted by their frequency of use (using an external cache) and the most frequently
|
||||||
|
* selected items should always appear first regardless of how they were exact, prefix, or
|
||||||
|
* substring matches.
|
||||||
|
* https://tools.suckless.org/dmenu/patches/no-sort/
|
||||||
|
*/
|
||||||
|
#define NO_SORT_PATCH 0
|
||||||
|
|
||||||
/* This is a patch to have dmenu read stdin in a non blocking way, making it wait for input both
|
/* This is a patch to have dmenu read stdin in a non blocking way, making it wait for input both
|
||||||
* from stdin and from X. This means that you can continue feeding dmenu while you type.
|
* from stdin and from X. This means that you can continue feeding dmenu while you type.
|
||||||
* This patch is meant to be used along with the incremental patch, so that you can use stdout
|
* This patch is meant to be used along with the incremental patch, so that you can use stdout
|
||||||
|
Loading…
x
Reference in New Issue
Block a user