Go to file
NRK 59936c7d97 render invalid utf8 sequences as U+FFFD
previously drw_text would do the width calculations as if
invalid utf8 sequences were replaced with U+FFFD but would pass
the invalid utf8 sequence to xft to render where xft would just
cut it off at the first invalid byte.

this change makes invalid utf8 render as U+FFFD and avoids
sending invalid sequences to xft. the following can be used to
check the behavior before and after the patch:

	$ printf "0\xef1234567\ntest" | dmenu

Ref: https://lists.suckless.org/dev/2407/35646.html
2024-07-14 11:42:58 +02:00
arg.h arg.h: fixed argv checks order 2016-02-23 00:31:03 +01:00
config.def.h config.def.h: style improvement, use color Scheme enum 2016-06-28 17:56:25 +02:00
config.mk bump version to 5.3 2024-03-19 12:12:52 +01:00
dmenu_path make dmenu_path script executable 2019-02-12 22:13:58 +01:00
dmenu_run dmenu_run: Split cache logic to dmenu_path again 2012-07-30 17:02:12 +02:00
dmenu.1 dmenu.1: document improved fastgrab behaviour from previous patch 2019-01-27 15:28:02 +01:00
dmenu.c drw: minor improvement to the nomatches cache 2023-07-07 15:03:57 +02:00
drw.c render invalid utf8 sequences as U+FFFD 2024-07-14 11:42:58 +02:00
drw.h introduce drw_fontset_getwidth_clamp() 2022-03-25 22:49:07 +01:00
LICENSE bump version to 5.1 2022-02-11 12:26:35 +01:00
Makefile Makefile: remove the options target 2023-09-22 15:16:44 +02:00
README removed libdc dependence 2010-11-11 23:56:39 +00:00
stest.1 applied Martin Kühl's inverse matching flag to stest 2013-08-13 19:15:04 +02:00
stest.c remove always true condition in if statement 2021-07-25 10:55:45 +02:00
util.c sync code-style patch from libsl 2022-08-08 10:42:54 +02:00
util.h drw: minor improvement to the nomatches cache 2023-07-07 15:03:57 +02:00

dmenu - dynamic menu
====================
dmenu is an efficient dynamic menu for X.


Requirements
------------
In order to build dmenu you need the Xlib header files.


Installation
------------
Edit config.mk to match your local setup (dmenu is installed into
the /usr/local namespace by default).

Afterwards enter the following command to build and install dmenu
(if necessary as root):

    make clean install


Running dmenu
-------------
See the man page for details.