dwm 拱 linux如何进行键绑定以运行终端程序

问题描述

我使用的是 i3。现在我想看看dwm。为在 Modkey+w 上运行 firefox 设置了keybiding。它运行良好,但是现在当我想为 nvim、ranger、cmus(所有终端程序)执行类似的命令时,它不起作用。也不能从 dmenu 运行它们。可以吗,还是我只是摆弄我的配置文件

static const Rule rules[] = {
    /* xprop(1):
     *  WM_CLASS(STRING) = instance,class
     *  WM_NAME(STRING) = title
     */
    /* class      instance    title       tags mask     isfloating   monitor */
    { "Gimp",NULL,1,-1 },{ "Firefox",1 << 8,{ "nvim",{ "ranger",};
static const char *web[]  = { "/usr/bin/firefox",NULL };
static const char *nvim[]  = { "/usr/share/nvim",NULL };
static const char *ranger[]  = { "/usr/bin/ranger",NULL };

{ MODKEY,XK_w,spawn,{.v = web } },{ MODKEY,XK_r,{.v = ranger } },{ MODKEY|ShiftMask,XK_v,{.v = nvim } },

解决方法

Nvim 和 Ranger 在终端中运行,因此仅运行二进制文件不会执行任何操作。您需要在终端中运行它们。它的工作方式取决于您的终端,但它可能类似于 your-terminal -e rangerstatic const char *ranger[] = {"xterm","-e","/usr/bin/ranger",NULL }; 之类的东西。