1
0
Commit Graph

224 Commits

Author SHA1 Message Date
Hiltjo Posthuma
fbf7b4caf5 revert IME support
dmenu will not handle IME support (st will, atleast for now).

revert parts of commit 82c317ac48
this commit also broke input focus.
2019-03-03 13:08:54 +01:00
Hiltjo Posthuma
8e3d6d75d2 improve xopenim error message
die() already prints a newline.
2019-02-12 22:58:35 +01:00
Hiltjo Posthuma
05ed021e3c fix crash when XOpenIM returns NULL
for example when IME variables are set, but the program is not started (yet).
2019-02-12 19:10:43 +01:00
Quentin Rameau
f22148e512 Close when the embedding window is destroyed 2019-02-04 19:49:34 +01:00
dok
1a708f0956 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.
2019-01-27 15:26:04 +01:00
Hiltjo Posthuma
44bb7157ec code-style for pledge: check the return code -1, not < 0
this is the proper idiom
2018-05-25 13:07:17 +02:00
Hiltjo Posthuma
59f74541fb code-style for pledge(2)
feedback from Klemens, thanks
2018-05-25 13:03:25 +02:00
Hiltjo Posthuma
815bb96637 Pledge on OpenBSD 2018-05-25 12:04:22 +02:00
Quentin Rameau
2741751edc Fix cursor drawn position with wide glyphs 2018-04-22 14:19:20 +02:00
Quentin Rameau
82c317ac48 Handle IME input
Thanks to nzl <uruabi@gmail.com> for the patch!
2018-04-22 14:09:05 +02:00
Hiltjo Posthuma
4c8974afef Fix handling of input strings 2018-04-22 14:09:05 +02:00
Quentin Rameau
030e904de9 add key bindings for moving to the word start or end
Mod1+b/^Left and Mod1+f/^Right
2018-03-13 20:10:46 +01:00
Hiltjo Posthuma
81a97e2e20 Fix regression in 48cbe83
Reported by Jochen Sprickerhof, thanks!

Applied patch with minor change (only initialize `i` for XINERAMA).
2018-01-04 23:45:49 +01:00
Vincent Carluer
48cbe831f7 Instantiate j var outside #ifdef XINEMARA directive because it is used in loop outside directive 2018-01-04 18:14:41 +01:00
Hiltjo Posthuma
442e9da11d fix a possible free of a uninitialize variable in paste() 2017-11-03 21:07:02 +01:00
Hiltjo Posthuma
2b4ccf1ef4 init colors using SchemeLast
this makes it slightly easier to add colors to schemes.
2017-11-03 21:05:29 +01:00
Omar Sandoval
fe7bd767e3 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.
2017-11-03 20:41:03 +01:00
Andrew Gregory
7a5a9a64fb Revert "fix input text matching"
This reverts commit a69a065b02.

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-12-11 12:33:16 +01:00
Thomas Gardner
2340d5c41f Xinerama: correct variable declarations in preprocessor conditional 2016-11-25 14:21:40 +01:00
Quentin Rameau
aee768e103 add embedding support with -w option 2016-10-14 15:26:35 +02:00
Quentin Rameau
2aa4cd6f57 dmenu.1: group single options 2016-10-14 15:26:34 +02:00
Hiltjo Posthuma
804388e386 die() consistency: always add newline 2016-08-12 14:39:30 +02:00
Hiltjo Posthuma
4faac60229 fix crash if negative monitor (< -1) was passed
for example: dmenu -m '-9001'
2016-07-26 23:13:06 +02:00
Hiltjo Posthuma
794fbe736b Revert "Print highlighted input text only on single match"
This reverts commit b7238b05a6.

My bad, was working on the wrong branch and accidently pushed it...
*facepalm*
2016-07-26 23:02:34 +02:00
Quentin Rameau
b7238b05a6 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.
2016-07-26 18:29:42 +02:00
Quentin Rameau
8f22508821 Partially revert d76952c: fix items text width offset calculation
Without this, we discard the item if it's longer than assigned width
instead of truncating it.
2016-07-25 19:57:31 +02:00
S. Gilles
1019ddd56b fix: Do not crash on e.g. dmenu < /dev/null 2016-06-28 17:51:28 +02:00
Markus Teich
d76952cd7e 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
Quentin Rameau
30f13c7bb7 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
dcb45f75e8 unboolify dmenu 2015-11-08 23:03:34 +01:00
Hiltjo Posthuma
5c1c550164 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
faf0f4d0ea free schemes as array
this makes it slightly easier to add custom schemes aswell
2015-10-18 18:37:20 +02:00
Quentin Rameau
a69a065b02 fix input text matching
just compare the size of the input string
2015-10-04 15:04:59 +02:00
Davide Del Zompo
c168112042 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
5b6ac44274 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
a0e777abfa minor style fix 2015-09-28 00:38:17 +02:00
FRIGN
8a309cbf3f Remove function prototypes and reorder functions accordingly 2015-09-28 00:33:29 +02:00
FRIGN
0afc13c10d 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
84184ff29d Fix the conversion from microseconds to nanoseconds 2015-09-28 00:27:09 +02:00
Quentin Rameau
57c147c7dd Replace deprecated usleep() with nanosleep() 2015-09-28 00:15:13 +02:00
Hiltjo Posthuma
803f9e4e30 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
046475f73e 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
Eric Pruitt
845d009877 Fixed typo introduced by shared code 2015-08-06 12:47:51 +02:00
Hiltjo Posthuma
5205d3ee61 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
a2e8616d0e 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
8ec422a3dc 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
4669af9d8e 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
3673394bdc updated copyright notices in LICENSE and dmenu.c file 2014-05-29 18:03:53 +02:00
Anselm R Garbe
e35061137a 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
e749e527f6 accepted vi'is exit approach ^[ (suggested by Arkaduisz) 2013-06-28 22:06:02 +02:00