arbtt嵌套在categorize.cfg中

时间:2014-01-07 14:02:30

标签: arbtt

我是新手,所以请耐心等待我,但是我试图制定一个规则,使用分类.cfg中的arbtt v0.7在Firefox标签页上分配我的时间:

-- Firefox
current window ($program == "Navigator") ==>
  if $title =~ /^(.*) - (.*@.*) - .* Mail - Mozilla Firefox$/ then tag Email:$2-$1 else
  if $title =~ /^(.*) - Calendar - Mozilla Firefox$/          then tag Calendar:$1 else
  if $title =~ /^(.*) - Mozilla Firefox$/                     then tag Firefox:$1  else
                                                                   tag Firefox,

但我明白了:

  

Parser错误:" /home/rich/.arbtt/categorize.cfg" (第29行,第3栏):   意外的"我"期待"否则"

我还尝试了另一种更成功的方法:

current window ( $program == "Navigator" && $title =~ /^(.*) - (.*@.*) - .* Mail - Mozilla Firefox$/ )
  ==> tag Email:$2-$1,
current window ( $program == "Navigator" && $title =~ /^(.*) - Calendar - Mozilla Firefox$/ )
  ==> tag Calendar:$1,
current window ( $program == "Navigator" && $title =~ /^((?!.*\b(Calendar|Mail)\b)) - Mozilla Firefox$/ )
  ==> tag Firefox:$1,

但最后一句并没有返回任何结果;前两个条款。

干杯, 富

1 个答案:

答案 0 :(得分:1)

它看起来像arbtt中的错误;我同意您的代码看起来是正确的。

但无论如何,使用;运算符可能更惯用,这意味着“尝试第一件事,如果没有分配标签,请尝试第二件事”:

current window ($program == "Navigator") ==> 
  { $title =~ /^(.*) - (.*@.*) - .* Mail - Mozilla Firefox$/ ==> tag Email:$2-$1;;
    $title =~ /^(.*) - Calendar - Mozilla Firefox$/          ==> tag Calendar:$1;
    $title =~ /^(.*) - Mozilla Firefox$/                     ==> tag Firefox:$1;
    tag Firefox },

;;是因为解析器中的另一个错误 - 猜测该部分还没有被大量使用过。)

在你的第二次尝试中,正则表达式只是一个问题:它应该是/^(?!.*\b(Calendar|Mail)\b)(.*) - Mozilla Firefox$/ - (?!...)是零宽度模式。