![URXVT bash 脚本与 DWM 的生成规则存在问题](https://linux22.com/image/220952/URXVT%20bash%20%E8%84%9A%E6%9C%AC%E4%B8%8E%20DWM%20%E7%9A%84%E7%94%9F%E6%88%90%E8%A7%84%E5%88%99%E5%AD%98%E5%9C%A8%E9%97%AE%E9%A2%98.png)
我正在 DWM 上运行 URXVT 作为我的终端。我将 config.h 设置为在标签 2 中生成新终端。我还编写了一些脚本,希望在它们自己的标签中生成这些脚本。出于说明目的,我仅将enterssh
脚本包含在 config.h 中,但我尝试执行此操作的所有脚本的行为都是相同的。我目前遇到两个问题,它们可能相互关联,也可能不相关。
当我运行 keybind 或将其附加到 时
urxvt -e
,带有程序的新终端窗口会在标签 2(基于 URXVT 类第 30 行)和标签 4(基于 Enterssh 标题第 32 行)中生成。我认为发生的情况是这两个规则都应用于打开脚本,但我不知道如何使 dwm 忽略通用终端的第一条规则。目前,如果我在规则中的标签之外的任何其他标签(现在是 2 和 4)中执行脚本,我只会得到一个空白的终端窗口。我知道该脚本正在部分运行,因为它正在创建一个我已编写脚本的日志文件,但我不确定为什么它在显示输出时遇到问题。
任何帮助将不胜感激,因为我很困惑。
这是我的 config.h:
1 /* See LICENSE file for copyright and license details. */
2
3 /* appearance */
4 static const unsigned int borderpx = 1; /* border pixel of windows */
5 static const unsigned int snap = 32; /* snap pixel */
6 static const int showbar = 1; /* 0 means no bar */
7 static const int topbar = 1; /* 0 means bottom bar */
8 static const char *fonts[] = { "inconsolata:size=18" };
9 static const char dmenufont[] = "inconsolata:size=18";
10 static const char col_gray1[] = "#222222";
11 static const char col_gray2[] = "#444444";
12 static const char col_gray3[] = "#f47edb";
13 static const char col_gray4[] = "#b8ae32";
14 static const char col_cyan[] = "#554080";
15 static const char *colors[][3] = {
16 /* fg bg border */
17 [SchemeNorm] = { col_gray3, col_gray1, col_gray2 },
18 [SchemeSel] = { col_gray4, col_cyan, col_cyan },
19 };
20
21 /* tagging */
22 static const char *tags[] = { "", "", "", "