Hello,

I've been using dmenu for a window switcher with wmctrl. I noticed after
a recent refactor to my window-listing function that I was seeing
significant lag in the dmenu window popping up after my hotkey. I've
done some digging and determined that including tabs and \037 (ASCII
unit separator) cause noticeable startup delays in dmenu. It appears
that no keys are lost - anything I type after invoking my hotkey for
this script gets captured after dmenu finally renders. Nevertheless this
is an annoyance.

I am using the packaged dmenu in Ubuntu 20.04. A sample of the output of
my window listing script is below, along with two simpler samples
exhibiting slow startup behavior.

I'm happy to do further testing or troubleshooting if anyone can point
me in the right direction.

-gb

$ dmenu -v
dmenu-4.8

# simple repro with tabs - startup render seems to scale linearly with
# number of tabs
$ for i in {1..10}; do echo $'\t'; done | dmenu

# simple repro with \037
$ for i in {1..10}; do echo $'\037'; done | dmenu

# sample output of window-listing script. tab-separated fields, and
#
\037 precedes the window ID (last column, 0x...)
xfce4-panel.Xfce4-panel 
xfce4-panel     0x01200003
xfdesktop.Xfdesktop     Desktop 0x02400013
Navig
ator.Firefox    software        0x04000019
Alacritty.Alacritty     alacritt
y-terminal      0x05200002
signal.Signal   Signal  0x06400001
spoti
fy.Spotify      Within  0x06c00001
evolution.Evolution     Inbox   0x08c00
020
emacs.Emacs     emacs   0x074000cb
rambox.Rambox   Rambox  0x04800
001
evolution.Evolution     [dmenu] 0x08ca4ad4


Reply via email to