Difference between i3-dmenu-desktop and dmenu_run
In ~/.config/i3/config you can see lines
# start dmenu (a program launcher)
bindsym $mod+d exec --no-startup-id dmenu_run
# A more modern dmenu replacement is rofi:
# bindcode $mod+40 exec "rofi -modi drun,run -show drun"
# There also is i3-dmenu-desktop which only displays applications shipping a
# .desktop file. It is a wrapper around dmenu, so you need that installed.
# bindcode $mod+40 exec --no-startup-id i3-dmenu-desktop
so there is by default dmenu_run
and possible to activate i3-dmenu-desktop
Fist program - dmenu_run
search by $PATH
so it is more suitable for cli tools. Second - i3-dmenu-desktop checks locations /usr/share/applications and ~/.local/share/applications so it is better for applications with GUI.
So i3-dmenu-desktop
gives better user experience.
Confounding bindcode $mod+40
means the same what bindsym $mod+d
where 40 is selected to denote ādā in agreement with X Window System (X11) convention. You can check it by command:
xmodmap -pke | grep 40
keycode 40 = d D d D eth ETH eth
You will not see difference between bindsym $mod+d
and bindcode $mod+40
unless you will use any exotic keyboard layout.
Finally I recommend settings with i3-dmenu-desktop
instead of default dmenu_run
, or you can try rofi
.