WMII 终端 xterm 宽度为 80 列 (colrules)

WMII 终端 xterm 宽度为 80 列 (colrules)

我正在尝试让 WMII 在 xterm 上水平分割 80 列,但我只看到一种通过百分比来实现的方法。如果能够用百分比以外的其他方式来设置各种分辨率就好了,但如果必须处理这个问题,我会这样做。

问题是,在我的分辨率 (1366x768) 下,百分比甚至都不起作用。/colrules 中的 47+47 产生 79 个字符,而 48+48 产生 81 个字符。据我所知,不允许使用十进制,因此我可以输入 47.5。

我以前用的是 Ion3,习惯使用 80 列终端,可通过键盘调整大小,以便在编码时为 VIM 获得合理的截止点。我本来会使用鼠标,但 WMII 似乎比 Ion3 流畅得多,所以我必须经常这样做,这听起来很烦人。

有任何想法吗?

编辑:(更多信息)

grml@dalek:~$ wmiir xwrite /view/ctl next
wmiir:致命:无法打开文件‘/view/ctl’:找不到文件
grml@dalek:~$ wmiir ls /
客户/
柯罗尔
控制
事件
磅/
rbar/
标签/
标签规则
grml@dalek:~$ wmiir xwrite /tag/sel/ctl 增长 sel sel 右 +2
wmiir:致命:无法写入文件‘/tag/sel/ctl’:错误命令

知道发生什么事了吗?

答案1

正如您所说,使用规则和百分比不会给您带来任何结果。

如果您被迫手动调整大小,那么,您可以将以下内容添加到脚本中,wmiirc以便使用键盘快捷键控制客户端的宽度,而不是使用鼠标:

Key $MODKEY-Control-h
    wmiir xwrite /tag/sel/ctl grow sel sel left +2
Key $MODKEY-Control-j
    wmiir xwrite /tag/sel/ctl grow sel sel left -2
Key $MODKEY-Control-k
    wmiir xwrite /tag/sel/ctl grow sel sel right -2
Key $MODKEY-Control-l
    wmiir xwrite /tag/sel/ctl grow sel sel right +2

Configuration请参阅wmii 手册页部分以了解更多信息。

由于您无法使用 grow 命令指定固定宽度,那么,假设您知道需要多少像素的列,例如width=600,您可以执行以下操作:

  1. 读取第一列的宽度:

    cur_width=$(wmiir cat /tag/sel/index | grep '^# 1' | awk '{print $4}')
    
  2. 按需要增加或减少选定的客户端数量:

    wmiir xwrite /tag/sel/ctl grow sel sel right $(($width - $cur_width))px
    

但您需要做一些工作来使其能够灵活地适应不同的分辨率、不同的列等等。

答案2

我使用以下键绑定解决了工作区切换问题。现在剩下的就是弄清楚如何让宽度正常工作。

键 $MODKEY-逗号
    wmiir xwrite /ctl 视图 $(echo $(wmiir read /ctl | grep -E "^view" | cut -d ' ' -f2)-1 | bc | sed -r "s/^0$/1/g")
密钥 $MODKEY-period
    wmiir xwrite /ctl 查看 $(echo $(wmiir read /ctl | grep -E "^view" | cut -d ' ' -f2)+1 | bc)

答案3

键 $MODKEY-u # 使左侧宽度为 80 列
    cur=$(wmiir cat /tag/sel/index | grep -E "^# 1 " | cut -d ' ' -f4)
    如果 [ “$cur” -lt “646” ]; 然后
        wmiir xwrite /tag/sel/ctl 增长 sel sel 右 $((646-$cur))px
    elif [ “$cur” -gt “646” ]; 然后
        wmiir xwrite /tag/sel/ctl 增长 sel sel 右 -$(($cur-646))px
    #else # 不执行任何操作
键 $MODKEY-i # 使右侧宽度为 80 列
    cur=$(wmiir cat /tag/sel/index | grep -E "^# 1 " | cut -d ' ' -f4)
    宽度=$(
        xrandr | grep“*”| sed -r“s/[ ]+/ /g”|
            剪切 -d ' ' -f2 | 剪切 -d 'x' -f1
    如果 [ “$cur” -lt “$(($width-646))” ]; 然后
        wmiir xwrite /tag/sel/ctl 增大 sel sel 向左 $(($cur-$width+646))px
        回显 $width > /tmp/width
        回显 $cur > /tmp/cur
    elif [ "$cur" -gt "$(($width-646))" ]; 然后
        wmiir xwrite /tag/sel/ctl 增大 sel sel 向左 -$(($width-646-$cur))px
    #else # 不执行任何操作

这是我从 mrucci 提到的存储库更新到 WMII 3.9 后的两个键绑定。

相关内容