1
0
Commit Graph

530 Commits

Author SHA1 Message Date
S. Gilles
76eb578304 fix: Do not crash on e.g. dmenu < /dev/null 2016-06-28 17:51:28 +02:00
Markus Teich
44c7de3dcf import new drw from libsl and minor fixes.
- 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)
2016-06-03 19:13:15 +02:00
Lucas Gabriel Vuotto
b3d9451c2d arg.h: fixed argv checks order
This prevents accessing to a potentially out-of-bounds memory section.

Signed-off-by: Lucas Gabriel Vuotto <l.vuotto92@gmail.com>
2016-02-23 00:31:03 +01:00
Klemens Nanni
3de85ca21c Typofix 2016-01-14 23:02:27 +01:00
Quentin Rameau
bf3deb6357 Shut up glibc about _BSD_SOURCE being deprecated 2015-12-19 20:32:17 +01:00
Quentin Rameau
120e840107 Add config option for word delimiters
Let the user configure word boundaries other than ' ', only works with
the portable character set.
2015-12-19 20:32:14 +01:00
Hiltjo Posthuma
32f2564dbb arg.h: remove unused ARGNUM* macros 2015-11-08 23:37:47 +01:00
Hiltjo Posthuma
cc596365ac unboolify dmenu 2015-11-08 23:03:34 +01:00
Hiltjo Posthuma
c9e4e152e6 Makefile: package config.def.h on make dist 2015-11-08 16:46:34 +01:00
Hiltjo Posthuma
cc99007809 remove .hgtags file 2015-11-08 16:44:41 +01:00
Hiltjo Posthuma
34f549adb2 dmenu.1: clarify monitor numbers are starting from 0 (first mon) 2015-11-07 12:53:00 +01:00
Hiltjo Posthuma
da0b9eb6c9 fix: multimon: always spawn client on first monitor if specified with -m 0
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-11-07 12:43:00 +01:00
Hiltjo Posthuma
44b242c763 drw: cleanup drw_text, prevent gcc warning false-positive of unused var
... we don't allow passing text is NULL anymore either, for that behaviour
just use drw_rect() (it is used in dwm).
2015-10-20 22:56:57 +02:00
Hiltjo Posthuma
e2e7fcb219 drw: simplify drw_font_xcreate and prevent a potential unneeded allocation 2015-10-20 22:55:39 +02:00
Hiltjo Posthuma
1f2226df13 drw: a valid (non-NULL) Drw and Fnt context must be passed
don't do these checks on this level. However for resource drw_*_free
we will allow it.
2015-10-20 22:53:55 +02:00
Hiltjo Posthuma
5a20b409c6 add sbase-style ecalloc(), calloc: or die
... remove intermediary variables
2015-10-20 22:51:57 +02:00
Hiltjo Posthuma
164986763a free schemes as array
this makes it slightly easier to add custom schemes aswell
2015-10-18 18:37:20 +02:00
Quentin Rameau
09d0a36e03 fix input text matching
just compare the size of the input string
2015-10-04 15:04:59 +02:00
Davide Del Zompo
acbf35a5e3 fix incorrect ordering of match results
look for exact matches comparing the user input against the item text
2015-10-04 14:03:07 +02:00
Hiltjo Posthuma
240a7810e4 fix paste from clipboard (ctrl+shift+y)
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-10-04 12:32:07 +02:00
Hiltjo Posthuma
d5ce8df9d9 minor style fix 2015-09-28 00:38:17 +02:00
FRIGN
ba75bb30fa Remove function prototypes and reorder functions accordingly 2015-09-28 00:33:29 +02:00
FRIGN
10fd4f275f Untypedef struct item
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-28 00:33:26 +02:00
Quentin Rameau
b048eacc9d Fix the conversion from microseconds to nanoseconds 2015-09-28 00:27:09 +02:00
Quentin Rameau
c42c378027 Replace deprecated usleep() with nanosleep() 2015-09-28 00:15:13 +02:00
Hiltjo Posthuma
c15a95a061 config.mk: use -std=c99 2015-09-28 00:02:28 +02:00
Hiltjo Posthuma
cf0fb79cd8 dmenu: style improvements
- 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-27 23:57:39 +02:00
Hiltjo Posthuma
03cb1ec55a drw style improvements
this makes the code-style more consistent aswell.
2015-09-27 23:56:02 +02:00
Hiltjo Posthuma
bc20c13db0 separate program-specific c99 bool and X11
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-09-27 23:02:33 +02:00
Hiltjo Posthuma
96e60c66bc config.mk: fix _XOPEN_SOURCE=700 for getline() 2015-09-27 22:55:21 +02:00
Hiltjo Posthuma
2d2175ff6f config.mk: improve feature test check
this fixes a crash on NetBSD because it requires -D_XOPEN_SOURCE (strdup, usleep).

thanks k0ga and stateless for reporting and fixing this issue!
2015-09-27 22:38:14 +02:00
Eric Pruitt
bbf7b95dc9 Fixed typo introduced by shared code 2015-08-06 12:47:51 +02:00
Hiltjo Posthuma
d6742ef8a6 stest: get rid of getopt, use suckless arg.h
... also some style improvements.
2015-07-19 21:38:42 +02:00
Hiltjo Posthuma
5feb0c689d config.mk: add FREETYPELIBS and FREETYPEINC
These variables make it simpler to change the paths to this for ports.
`pkg-config` is avoided because it sucks, in particular for cross-compilation.

A commented path for *BSD is added, the Xft includes are located at:
/usr/X11R6/include there.

Also already bump the version number to 4.6, a release will come
approximately in August.
2015-07-19 20:32:08 +02:00
Hiltjo Posthuma
1c242df124 fix prompt color style how it used to be
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-07-19 20:29:26 +02:00
Hiltjo Posthuma
4b1fecd44e Use libdraw: add Xft and fallback-fonts support to graphics lib
- 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
2015-06-27 21:47:10 +02:00
Anselm R Garbe
13a529ce63 applied Hiltjo's patch as suggested on the ml to fix ControlMask for C-j and C-m 2014-09-17 13:40:11 +02:00
Hiltjo Posthuma
aa69426670 fix crash with ctrl-enter as input
reproduce: ./dmenu; send EOF; press ctrl+enter.
2014-07-30 20:07:47 +01:00
Anselm R Garbe
4c50e43df4 updated copyright notices in LICENSE and dmenu.c file 2014-05-29 18:03:53 +02:00
Anselm R Garbe
5ed5e90bfb applied Martin Kühl's inverse matching flag to stest 2013-08-13 19:15:04 +02:00
Anselm R Garbe
13f787306f applied Martti Kühne's dmenu monitor patch
f6581ca966/monarg.patch becomes upstream now
2013-08-02 22:30:20 +02:00
Anselm R Garbe
597d4b4337 accepted vi'is exit approach ^[ (suggested by Arkaduisz) 2013-06-28 22:06:02 +02:00
Anselm R Garbe
55c9be06ca forgot to add config.def.h, thanks William 2013-04-17 21:16:51 +02:00
Anselm R Garbe
14f72a2763 adopted Alex Sedov's config.h revival patch to tip 2013-04-17 21:04:05 +02:00
Anselm R Garbe
ec64f273fb applied Alex Sedov's Tab buffer termination patch, thanks 2013-04-17 20:59:12 +02:00
Anselm R Garbe
0d12a47415 applied multisel patch to mainline 2013-04-17 20:56:54 +02:00
Quentin Glidic
dec9a28863 dmenu_run: Split cache logic to dmenu_path again
This allows to run dmenu_path to update the cache using
a packager manager hook system
2012-07-30 17:02:12 +02:00
Moritz Wilhelmy
1299e41447 ignore prompt if it is empty in addition to NULL 2012-05-15 11:47:54 +02:00
Connor Lane Smith
38fccafada _POSIX_C_SOURCE=200809L 2012-04-06 16:38:01 +01:00
Connor Lane Smith
1f11faf7b5 listen for C-S-[jm] 2012-02-10 00:37:42 +00:00