aboutsummaryrefslogtreecommitdiff
path: root/dmenu.c
AgeCommit message (Collapse)AuthorFilesLines
2022-02-08code-style: rm newline (oops)Hiltjo Posthuma1-1/+0
2022-02-08revert using strcasestr and use a more optimized portable versionHiltjo Posthuma1-1/+20
... compared to the old cistrstr(). Thanks for the feedback!
2022-02-07improve performance of case-insensitive matchingHiltjo Posthuma1-12/+1
2021-08-09add support for more keypad keysHiltjo Posthuma1-0/+11
The keypad Enter key was already supported. On some keyboard layouts like my laptop the page-up and page-down key is more comfortable to use. This adds a few lines but no complexity.
2019-03-03revert IME supportHiltjo Posthuma1-12/+3
dmenu will not handle IME support (st will, atleast for now). revert parts of commit 377bd37e212b1ec4c03a481245603c6560d0be22 this commit also broke input focus.
2019-02-12improve xopenim error messageHiltjo Posthuma1-1/+1
die() already prints a newline.
2019-02-12fix crash when XOpenIM returns NULLHiltjo Posthuma1-2/+11
for example when IME variables are set, but the program is not started (yet).
2019-02-04Close when the embedding window is destroyedQuentin Rameau1-1/+6
2019-01-27Use slow path if stdin is a ttydok1-3/+1
If stdin is a tty and dmenu is ran with the fast option then it's impossible to close stdin because the keyboard is already grabbed.
2018-05-25code-style for pledge: check the return code -1, not < 0Hiltjo Posthuma1-1/+1
this is the proper idiom
2018-05-25code-style for pledge(2)Hiltjo Posthuma1-6/+5
feedback from Klemens, thanks
2018-05-25Pledge on OpenBSDHiltjo Posthuma1-0/+9
2018-04-22Fix cursor drawn position with wide glyphsQuentin Rameau1-1/+1
2018-04-22Handle IME inputQuentin Rameau1-1/+4
Thanks to nzl <uruabi@gmail.com> for the patch!
2018-04-22Fix handling of input stringsHiltjo Posthuma1-14/+21
2018-03-13add key bindings for moving to the word start or endQuentin Rameau1-0/+34
Mod1+b/^Left and Mod1+f/^Right
2018-01-04Fix regression in 84a1bc5Hiltjo Posthuma1-1/+2
Reported by Jochen Sprickerhof, thanks! Applied patch with minor change (only initialize `i` for XINERAMA).
2018-01-04Instantiate j var outside #ifdef XINEMARA directive because it is used in ↵Vincent Carluer1-3/+2
loop outside directive
2017-11-03fix a possible free of a uninitialize variable in paste()Hiltjo Posthuma1-4/+6
2017-11-03init colors using SchemeLastHiltjo Posthuma1-3/+2
this makes it slightly easier to add colors to schemes.
2017-11-03Set class name on menu windowOmar Sandoval1-0/+2
WM_CLASS is a standard ICCCM property which is used to identify windows. Window managers and compositors use it to allow per-application configurable behavior.
2016-12-11Revert "fix input text matching"Andrew Gregory1-1/+1
This reverts commit 09d0a36e0370f7ca9bdb171bf93c5ac3131c5a92. Using strncmp with the length of the user input turns it into a prefix match rather than an exact match as it's supposed to be.
2016-11-25Xinerama: correct variable declarations in preprocessor conditionalThomas Gardner1-5/+6
2016-10-14add embedding support with -w optionQuentin Rameau1-12/+53
2016-10-14dmenu.1: group single optionsQuentin Rameau1-2/+2
2016-08-12die() consistency: always add newlineHiltjo Posthuma1-4/+4
2016-07-26fix crash if negative monitor (< -1) was passedHiltjo Posthuma1-2/+2
for example: dmenu -m '-9001'
2016-07-26Revert "Print highlighted input text only on single match"Hiltjo Posthuma1-13/+3
This reverts commit a4053bc4e403ae57343f43b7e363a0911bba5a3a. My bad, was working on the wrong branch and accidently pushed it... *facepalm*
2016-07-26Print highlighted input text only on single matchQuentin Rameau1-3/+13
When the input text fully matches a single item, do not draw the item and highlight the input text to show that it matches an item in opposition to regular input text not matching anything.
2016-07-25Partially revert 44c7de3: fix items text width offset calculationQuentin Rameau1-2/+2
Without this, we discard the item if it's longer than assigned width instead of truncating it.
2016-06-28fix: Do not crash on e.g. dmenu < /dev/nullS. Gilles1-1/+1
2016-06-03import new drw from libsl and minor fixes.Markus Teich1-79/+68
- extract drawitem function (code deduplication) - fix bug where inputw was not correctly calculated from the widest item, but just from the one with the longest strlen() which is not the same. It's better now, but does not account for fallback fonts, since it would be too slow to calculate all the correct item widths on startup. - minor code style fixes (indentation, useless line breaks)
2015-12-19Add config option for word delimitersQuentin Rameau1-2/+4
Let the user configure word boundaries other than ' ', only works with the portable character set.
2015-11-08unboolify dmenuHiltjo Posthuma1-8/+6
2015-11-07fix: multimon: always spawn client on first monitor if specified with -m 0Hiltjo Posthuma1-1/+1
This was always broken. Reproduce: focus client on second monitor, spawn dmenu with -m 0. Result: Old wrong behaviour: dmenu spawns on second monitor (focused client). Now: dmenu spawns on specified monitor (first).
2015-10-18free schemes as arrayHiltjo Posthuma1-6/+6
this makes it slightly easier to add custom schemes aswell
2015-10-04fix input text matchingQuentin Rameau1-1/+1
just compare the size of the input string
2015-10-04fix incorrect ordering of match resultsDavide Del Zompo1-2/+3
look for exact matches comparing the user input against the item text
2015-10-04fix paste from clipboard (ctrl+shift+y)Hiltjo Posthuma1-0/+1
from Joshua Lloret on the ML: "attached is a small patch to enable pasting from clipboard, as well as primary. It seems like there was already code in there to allow this, but since there was never any case to match the upper case 'Y', that inline if would always evaluate to false."
2015-09-28minor style fixHiltjo Posthuma1-1/+2
2015-09-28Remove function prototypes and reorder functions accordinglyFRIGN1-80/+64
2015-09-28Untypedef struct itemFRIGN1-10/+9
Adds clarity. Typedefs for structs are definitely a discussion matter, but there's no reason to hide a simple data-structure behind a meaningless typedef.
2015-09-28Fix the conversion from microseconds to nanosecondsQuentin Rameau1-1/+1
2015-09-28Replace deprecated usleep() with nanosleep()Quentin Rameau1-2/+3
2015-09-27dmenu: style improvementsHiltjo Posthuma1-204/+213
- move main to bottom, usage above main. - dont use variable names with function prototypes. - space before if, for, while, etc: 'if(' -> 'if ('. this makes the code-style more consistent
2015-09-27separate program-specific c99 bool and X11Hiltjo Posthuma1-7/+8
True, False are X11-specific, make sure to use c99 stdbool for program-specific things. ... also remove left-over vim mode string in config.
2015-08-06Fixed typo introduced by shared codeEric Pruitt1-1/+1
2015-07-19fix prompt color style how it used to beHiltjo Posthuma1-1/+1
This is the style how it was before the big Xft change. The colors were inverted, this was not the case before the change. Reported by "zvz" on #suckless IRC, thanks!
2015-06-27Use libdraw: add Xft and fallback-fonts support to graphics libHiltjo Posthuma1-91/+150
- libdraw, util: add drw.{c,h}, util.{c,h} and update code. - libdraw: fix drw_rect(): use w and h parameter. - libdraw: print errstr if last character in string was ":" (sbase). - libdraw: drw_clr_free() allow valid free(NULL). - config.def.h: set default font to monospace. - cleanup() on exit. - LICENSE: update license string for dmenu -v to 2015. - LICENSE: add myself to LICENSE
2014-09-17applied Hiltjo's patch as suggested on the ml to fix ControlMask for C-j and C-mAnselm R Garbe1-2/+2