dmenu.git
5 years agofix crash when XOpenIM returns NULL
Hiltjo Posthuma [Tue, 12 Feb 2019 18:10:43 +0000 (19:10 +0100)]
fix crash when XOpenIM returns NULL

for example when IME variables are set, but the program is not started (yet).

5 years agoClose when the embedding window is destroyed
Quentin Rameau [Sun, 3 Feb 2019 23:29:26 +0000 (00:29 +0100)]
Close when the embedding window is destroyed

5 years agoPrepared 4.9 release.
Anselm R Garbe [Sat, 2 Feb 2019 12:54:15 +0000 (04:54 -0800)]
Prepared 4.9 release.

5 years agodmenu.1: document improved fastgrab behaviour from previous patch
Hiltjo Posthuma [Sun, 27 Jan 2019 14:28:02 +0000 (15:28 +0100)]
dmenu.1: document improved fastgrab behaviour from previous patch

5 years agoUse slow path if stdin is a tty
dok [Sat, 26 Jan 2019 14:49:15 +0000 (15:49 +0100)]
Use slow path if stdin is a tty

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.

6 years agodmenu_path: always use the cachedir
Quentin Rameau [Sat, 21 Jul 2018 10:47:43 +0000 (12:47 +0200)]
dmenu_path: always use the cachedir

6 years agoMakefile: just show the compiler output
Hiltjo Posthuma [Sat, 2 Jun 2018 15:09:01 +0000 (17:09 +0200)]
Makefile: just show the compiler output

Don't be fancy and just show the actual output so debugging is simpler.

6 years agoDo not strip at link stage
Hiltjo Posthuma [Sat, 2 Jun 2018 15:01:24 +0000 (17:01 +0200)]
Do not strip at link stage

Building with debug symbols is worthless unless LDFLAGS are manually adjusted
as well.

6 years agocode-style for pledge: check the return code -1, not < 0
Hiltjo Posthuma [Fri, 25 May 2018 11:07:17 +0000 (13:07 +0200)]
code-style for pledge: check the return code -1, not < 0

this is the proper idiom

6 years agocode-style for pledge(2)
Hiltjo Posthuma [Fri, 25 May 2018 11:03:25 +0000 (13:03 +0200)]
code-style for pledge(2)

feedback from Klemens, thanks

6 years agoPledge on OpenBSD
Hiltjo Posthuma [Fri, 25 May 2018 10:04:22 +0000 (12:04 +0200)]
Pledge on OpenBSD

6 years agoUse bold for keyboard shortcuts in dmenu.1
David Demelier [Wed, 9 May 2018 19:27:29 +0000 (21:27 +0200)]
Use bold for keyboard shortcuts in dmenu.1

Like dwm, use the same syntax for all keyboard shortcuts for
consistency.

6 years agoFix cursor drawn position with wide glyphs
Quentin Rameau [Sun, 22 Apr 2018 12:18:34 +0000 (14:18 +0200)]
Fix cursor drawn position with wide glyphs

6 years agoMakefile: bikesheddingly replace ${} with $()
Quentin Rameau [Thu, 22 Mar 2018 10:18:56 +0000 (11:18 +0100)]
Makefile: bikesheddingly replace ${} with $()

6 years agoHandle IME input
Quentin Rameau [Mon, 19 Mar 2018 14:42:28 +0000 (15:42 +0100)]
Handle IME input

Thanks to nzl <uruabi@gmail.com> for the patch!

6 years agoFix handling of input strings
Hiltjo Posthuma [Fri, 16 Mar 2018 15:51:22 +0000 (16:51 +0100)]
Fix handling of input strings

6 years agoUpdate LICENSE
Quentin Rameau [Thu, 15 Mar 2018 09:16:10 +0000 (10:16 +0100)]
Update LICENSE

Only "meaningful" commits and contributors who made changes over the
years have been added.

6 years agobump version to 4.8
Hiltjo Posthuma [Wed, 14 Mar 2018 18:48:05 +0000 (19:48 +0100)]
bump version to 4.8

6 years agoadd key bindings for moving to the word start or end
Quentin Rameau [Tue, 13 Mar 2018 16:15:09 +0000 (17:15 +0100)]
add key bindings for moving to the word start or end

Mod1+b/^Left and Mod1+f/^Right

6 years agoFix regression in 84a1bc5
Hiltjo Posthuma [Thu, 4 Jan 2018 22:45:49 +0000 (23:45 +0100)]
Fix regression in 84a1bc5

Reported by Jochen Sprickerhof, thanks!

Applied patch with minor change (only initialize `i` for XINERAMA).

6 years agoInstantiate j var outside #ifdef XINEMARA directive because it is used in loop outsid...
Vincent Carluer [Thu, 4 Jan 2018 12:27:37 +0000 (12:27 +0000)]
Instantiate j var outside #ifdef XINEMARA directive because it is used in loop outside directive

7 years agodrw: drw_scm_create: use Clr type
Hiltjo Posthuma [Fri, 3 Nov 2017 20:10:38 +0000 (21:10 +0100)]
drw: drw_scm_create: use Clr type

in this context XftColor is a too low-level type.

7 years agofix a possible free of a uninitialize variable in paste()
Hiltjo Posthuma [Fri, 3 Nov 2017 14:31:37 +0000 (15:31 +0100)]
fix a possible free of a uninitialize variable in paste()

7 years agoinit colors using SchemeLast
Hiltjo Posthuma [Fri, 3 Nov 2017 20:05:29 +0000 (21:05 +0100)]
init colors using SchemeLast

this makes it slightly easier to add colors to schemes.

7 years agoSet class name on menu window
Omar Sandoval [Fri, 3 Nov 2017 16:49:10 +0000 (09:49 -0700)]
Set class name on menu window

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.

7 years agorelease 4.7
Hiltjo Posthuma [Tue, 2 May 2017 16:32:04 +0000 (18:32 +0200)]
release 4.7

7 years agoRevert "fix input text matching"
Andrew Gregory [Wed, 7 Dec 2016 14:45:01 +0000 (09:45 -0500)]
Revert "fix input text matching"

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.

7 years agoXinerama: correct variable declarations in preprocessor conditional
Thomas Gardner [Fri, 25 Nov 2016 12:38:09 +0000 (22:38 +1000)]
Xinerama: correct variable declarations in preprocessor conditional

8 years agodie() on calloc failure
Hiltjo Posthuma [Sat, 5 Nov 2016 10:36:42 +0000 (11:36 +0100)]
die() on calloc failure

thanks Markus Teich and David!

8 years agoadd embedding support with -w option
Quentin Rameau [Sat, 8 Oct 2016 12:08:28 +0000 (14:08 +0200)]
add embedding support with -w option

8 years agodmenu.1: group single options
Quentin Rameau [Sat, 8 Oct 2016 12:42:53 +0000 (14:42 +0200)]
dmenu.1: group single options

8 years agodmenu.1: fix -l option
Quentin Rameau [Sat, 8 Oct 2016 12:36:04 +0000 (14:36 +0200)]
dmenu.1: fix -l option

8 years agodie() consistency: always add newline
Hiltjo Posthuma [Fri, 12 Aug 2016 12:39:30 +0000 (14:39 +0200)]
die() consistency: always add newline

8 years agofix crash if negative monitor (< -1) was passed
Hiltjo Posthuma [Tue, 26 Jul 2016 21:13:06 +0000 (23:13 +0200)]
fix crash if negative monitor (< -1) was passed

for example: dmenu -m '-9001'

8 years agoRevert "Print highlighted input text only on single match"
Hiltjo Posthuma [Tue, 26 Jul 2016 21:02:34 +0000 (23:02 +0200)]
Revert "Print highlighted input text only on single match"

This reverts commit a4053bc4e403ae57343f43b7e363a0911bba5a3a.

My bad, was working on the wrong branch and accidently pushed it...
*facepalm*

8 years agoPrint highlighted input text only on single match
Quentin Rameau [Tue, 26 Jul 2016 10:48:23 +0000 (12:48 +0200)]
Print highlighted input text only on single match

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.

8 years agoPartially revert 44c7de3: fix items text width offset calculation
Quentin Rameau [Mon, 25 Jul 2016 09:33:25 +0000 (11:33 +0200)]
Partially revert 44c7de3: fix items text width offset calculation

Without this, we discard the item if it's longer than assigned width
instead of truncating it.

8 years agoconfig.def.h: style improvement, use color Scheme enum
Hiltjo Posthuma [Tue, 28 Jun 2016 15:56:25 +0000 (17:56 +0200)]
config.def.h: style improvement, use color Scheme enum

8 years agofix: Do not crash on e.g. dmenu < /dev/null
S. Gilles [Tue, 28 Jun 2016 05:11:50 +0000 (01:11 -0400)]
fix: Do not crash on e.g. dmenu < /dev/null

8 years agoimport new drw from libsl and minor fixes.
Markus Teich [Sat, 21 May 2016 19:51:14 +0000 (21:51 +0200)]
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)

8 years agoarg.h: fixed argv checks order
Lucas Gabriel Vuotto [Mon, 22 Feb 2016 14:03:36 +0000 (11:03 -0300)]
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>
8 years agoTypofix
Klemens Nanni [Mon, 11 Jan 2016 12:26:37 +0000 (13:26 +0100)]
Typofix

8 years agoShut up glibc about _BSD_SOURCE being deprecated
Quentin Rameau [Sat, 19 Dec 2015 18:58:03 +0000 (19:58 +0100)]
Shut up glibc about _BSD_SOURCE being deprecated

8 years agoAdd config option for word delimiters
Quentin Rameau [Sat, 19 Dec 2015 08:32:55 +0000 (09:32 +0100)]
Add config option for word delimiters

Let the user configure word boundaries other than ' ', only works with
the portable character set.

9 years agoarg.h: remove unused ARGNUM* macros
Hiltjo Posthuma [Sun, 8 Nov 2015 22:37:47 +0000 (23:37 +0100)]
arg.h: remove unused ARGNUM* macros

9 years agounboolify dmenu
Hiltjo Posthuma [Sun, 8 Nov 2015 22:03:34 +0000 (23:03 +0100)]
unboolify dmenu

9 years agoMakefile: package config.def.h on make dist
Hiltjo Posthuma [Sun, 8 Nov 2015 15:46:34 +0000 (16:46 +0100)]
Makefile: package config.def.h on make dist

9 years agoremove .hgtags file
Hiltjo Posthuma [Sun, 8 Nov 2015 15:44:41 +0000 (16:44 +0100)]
remove .hgtags file

9 years agodmenu.1: clarify monitor numbers are starting from 0 (first mon)
Hiltjo Posthuma [Sat, 7 Nov 2015 11:53:00 +0000 (12:53 +0100)]
dmenu.1: clarify monitor numbers are starting from 0 (first mon)

9 years agofix: multimon: always spawn client on first monitor if specified with -m 0
Hiltjo Posthuma [Sat, 7 Nov 2015 11:43:00 +0000 (12:43 +0100)]
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).

9 years agodrw: cleanup drw_text, prevent gcc warning false-positive of unused var
Hiltjo Posthuma [Tue, 20 Oct 2015 20:56:57 +0000 (22:56 +0200)]
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).

9 years agodrw: simplify drw_font_xcreate and prevent a potential unneeded allocation
Hiltjo Posthuma [Tue, 20 Oct 2015 20:55:39 +0000 (22:55 +0200)]
drw: simplify drw_font_xcreate and prevent a potential unneeded allocation

9 years agodrw: a valid (non-NULL) Drw and Fnt context must be passed
Hiltjo Posthuma [Tue, 20 Oct 2015 20:53:55 +0000 (22:53 +0200)]
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.

9 years agoadd sbase-style ecalloc(), calloc: or die
Hiltjo Posthuma [Tue, 20 Oct 2015 20:51:57 +0000 (22:51 +0200)]
add sbase-style ecalloc(), calloc: or die

... remove intermediary variables

9 years agofree schemes as array
Hiltjo Posthuma [Sun, 18 Oct 2015 16:37:20 +0000 (18:37 +0200)]
free schemes as array

this makes it slightly easier to add custom schemes aswell

9 years agofix input text matching
Quentin Rameau [Sun, 4 Oct 2015 12:47:52 +0000 (14:47 +0200)]
fix input text matching

just compare the size of the input string

9 years agofix incorrect ordering of match results
Davide Del Zompo [Sun, 4 Oct 2015 12:01:22 +0000 (14:01 +0200)]
fix incorrect ordering of match results

look for exact matches comparing the user input against the item text

9 years agofix paste from clipboard (ctrl+shift+y)
Hiltjo Posthuma [Sun, 4 Oct 2015 10:32:07 +0000 (12:32 +0200)]
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."

9 years agominor style fix
Hiltjo Posthuma [Sun, 27 Sep 2015 22:38:17 +0000 (00:38 +0200)]
minor style fix

9 years agoRemove function prototypes and reorder functions accordingly
FRIGN [Sun, 27 Sep 2015 22:19:36 +0000 (00:19 +0200)]
Remove function prototypes and reorder functions accordingly

9 years agoUntypedef struct item
FRIGN [Sun, 27 Sep 2015 22:15:03 +0000 (00:15 +0200)]
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.

9 years agoFix the conversion from microseconds to nanoseconds
Quentin Rameau [Sun, 27 Sep 2015 22:18:35 +0000 (00:18 +0200)]
Fix the conversion from microseconds to nanoseconds

9 years agoReplace deprecated usleep() with nanosleep()
Quentin Rameau [Sun, 27 Sep 2015 22:06:05 +0000 (00:06 +0200)]
Replace deprecated usleep() with nanosleep()

9 years agoconfig.mk: use -std=c99
Hiltjo Posthuma [Sun, 27 Sep 2015 22:02:28 +0000 (00:02 +0200)]
config.mk: use -std=c99

9 years agodmenu: style improvements
Hiltjo Posthuma [Sun, 27 Sep 2015 21:57:39 +0000 (23:57 +0200)]
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

9 years agodrw style improvements
Hiltjo Posthuma [Sun, 27 Sep 2015 21:56:02 +0000 (23:56 +0200)]
drw style improvements

this makes the code-style more consistent aswell.

9 years agoseparate program-specific c99 bool and X11
Hiltjo Posthuma [Sun, 27 Sep 2015 21:02:33 +0000 (23:02 +0200)]
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.

9 years agoconfig.mk: fix _XOPEN_SOURCE=700 for getline()
Hiltjo Posthuma [Sun, 27 Sep 2015 20:55:21 +0000 (22:55 +0200)]
config.mk: fix _XOPEN_SOURCE=700 for getline()

9 years agoconfig.mk: improve feature test check
Hiltjo Posthuma [Sun, 27 Sep 2015 20:38:14 +0000 (22:38 +0200)]
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!

9 years agoFixed typo introduced by shared code
Eric Pruitt [Thu, 6 Aug 2015 02:19:14 +0000 (19:19 -0700)]
Fixed typo introduced by shared code

9 years agostest: get rid of getopt, use suckless arg.h
Hiltjo Posthuma [Sun, 19 Jul 2015 19:34:51 +0000 (21:34 +0200)]
stest: get rid of getopt, use suckless arg.h

... also some style improvements.

9 years agoconfig.mk: add FREETYPELIBS and FREETYPEINC
Hiltjo Posthuma [Sun, 19 Jul 2015 18:32:08 +0000 (20:32 +0200)]
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.

9 years agofix prompt color style how it used to be
Hiltjo Posthuma [Sun, 19 Jul 2015 18:29:26 +0000 (20:29 +0200)]
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!

9 years agoUse libdraw: add Xft and fallback-fonts support to graphics lib
Hiltjo Posthuma [Mon, 4 May 2015 19:54:46 +0000 (21:54 +0200)]
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

10 years agoapplied Hiltjo's patch as suggested on the ml to fix ControlMask for C-j and C-m
Anselm R Garbe [Wed, 17 Sep 2014 11:40:11 +0000 (13:40 +0200)]
applied Hiltjo's patch as suggested on the ml to fix ControlMask for C-j and C-m

10 years agofix crash with ctrl-enter as input
Hiltjo Posthuma [Thu, 24 Jul 2014 19:10:23 +0000 (19:10 +0000)]
fix crash with ctrl-enter as input

reproduce: ./dmenu; send EOF; press ctrl+enter.

10 years agoupdated copyright notices in LICENSE and dmenu.c file
Anselm R Garbe [Thu, 29 May 2014 16:03:53 +0000 (18:03 +0200)]
updated copyright notices in LICENSE and dmenu.c file

11 years agoapplied Martin Kühl's inverse matching flag to stest
Anselm R Garbe [Tue, 13 Aug 2013 17:15:04 +0000 (19:15 +0200)]
applied Martin Kühl's inverse matching flag to stest

11 years agoapplied Martti Kühne's dmenu monitor patch
Anselm R Garbe [Fri, 2 Aug 2013 20:30:20 +0000 (22:30 +0200)]
applied Martti Kühne's dmenu monitor patch
https://gist.github.com/mar77i/3349298/raw/f6581ca96627f4c71c0bd1faf531daaf2a613b95/monarg.patch becomes upstream now

11 years agoaccepted vi'is exit approach ^[ (suggested by Arkaduisz)
Anselm R Garbe [Fri, 28 Jun 2013 20:06:02 +0000 (22:06 +0200)]
accepted vi'is exit approach ^[ (suggested by Arkaduisz)

11 years agoforgot to add config.def.h, thanks William
Anselm R Garbe [Wed, 17 Apr 2013 19:16:51 +0000 (21:16 +0200)]
forgot to add config.def.h, thanks William

11 years agoadopted Alex Sedov's config.h revival patch to tip
Anselm R Garbe [Wed, 17 Apr 2013 19:04:05 +0000 (21:04 +0200)]
adopted Alex Sedov's config.h revival patch to tip

11 years agoapplied Alex Sedov's Tab buffer termination patch, thanks
Anselm R Garbe [Wed, 17 Apr 2013 18:59:12 +0000 (20:59 +0200)]
applied Alex Sedov's Tab buffer termination patch, thanks

11 years agoapplied multisel patch to mainline
Anselm R Garbe [Wed, 17 Apr 2013 18:56:54 +0000 (20:56 +0200)]
applied multisel patch to mainline

12 years agodmenu_run: Split cache logic to dmenu_path again
Quentin Glidic [Mon, 30 Jul 2012 15:02:12 +0000 (17:02 +0200)]
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

12 years agoignore prompt if it is empty in addition to NULL
Moritz Wilhelmy [Tue, 15 May 2012 09:47:54 +0000 (11:47 +0200)]
ignore prompt if it is empty in addition to NULL

12 years ago_POSIX_C_SOURCE=200809L
Connor Lane Smith [Fri, 6 Apr 2012 15:38:01 +0000 (16:38 +0100)]
_POSIX_C_SOURCE=200809L

12 years agolisten for C-S-[jm]
Connor Lane Smith [Fri, 10 Feb 2012 00:37:42 +0000 (00:37 +0000)]
listen for C-S-[jm]

12 years agoadd ^G escape keybinding
Karl F [Thu, 19 Jan 2012 22:52:17 +0000 (22:52 +0000)]
add ^G escape keybinding

12 years agoremove _POSIX_C_SOURCE cflag
Connor Lane Smith [Wed, 18 Jan 2012 23:56:13 +0000 (23:56 +0000)]
remove _POSIX_C_SOURCE cflag

12 years agoupdate version 4.5-hg
Connor Lane Smith [Sun, 8 Jan 2012 12:13:00 +0000 (13:13 +0100)]
update version 4.5-hg

12 years agoconfig.mk cleanup
anselm@garbe.us [Wed, 4 Jan 2012 12:30:47 +0000 (13:30 +0100)]
config.mk cleanup

12 years agoalign M-[hjkl] closer to vi keys
Connor Lane Smith [Mon, 2 Jan 2012 18:48:11 +0000 (19:48 +0100)]
align M-[hjkl] closer to vi keys

12 years agohappy new year!
Connor Lane Smith [Sun, 1 Jan 2012 19:33:56 +0000 (20:33 +0100)]
happy new year!

12 years agoadd Mod1Mask keybindings
Connor Lane Smith [Sun, 1 Jan 2012 19:32:40 +0000 (20:32 +0100)]
add Mod1Mask keybindings

12 years agomerge stest -> default
Connor Lane Smith [Mon, 19 Dec 2011 15:52:48 +0000 (16:52 +0100)]
merge stest -> default

12 years agocomment xdg fallback behaviour
Connor Lane Smith [Mon, 19 Dec 2011 15:05:55 +0000 (16:05 +0100)]
comment xdg fallback behaviour

12 years agostest: restore stream testing
Connor Lane Smith [Fri, 9 Dec 2011 10:49:44 +0000 (11:49 +0100)]
stest: restore stream testing

12 years agofork dmenu_run to disown child shell
Connor Lane Smith [Fri, 9 Dec 2011 10:36:26 +0000 (11:36 +0100)]
fork dmenu_run to disown child shell

12 years agostest: cleanup
Connor Lane Smith [Sun, 27 Nov 2011 22:40:48 +0000 (23:40 +0100)]
stest: cleanup