根据这里和 lifehacker 的一些建议,我开始使用 autokey。
它工作了一周,效果很好,但从今天起,它现在
当我尝试输入新短语名称时挂起。
当我在窗口管理器中按下“x”时通常不会关闭
和
- 不再回应我的缩写短语。
自上次成功尝试使用它以来,我添加了一些短语并重新启动。
另一位用户报告了类似的问题gtk 版本的 autokey。
从命令行运行的结果似乎显示一些异常错误:
Exception in thread KeypressHandler-thread:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 808, in __bootstrap_inner
self.run()
File "/usr/lib/python2.7/dist-packages/autokey/iomediator.py", line 202, in run
target.handle_keypress(rawKey, modifiers, key, windowName, windowClass)
File "/usr/lib/python2.7/dist-packages/autokey/service.py", line 179, in handle_keypress
currentInput, windowInfo, True)
File "/usr/lib/python2.7/dist-packages/autokey/service.py", line 304, in __checkTextMatches
if item.check_input(buffer, windowInfo):
File "/usr/lib/python2.7/dist-packages/autokey/model.py", line 732, in check_input
abbr = self._should_trigger_abbreviation(buffer)
File "/usr/lib/python2.7/dist-packages/autokey/model.py", line 131, in _should_trigger_abbreviation
if self.__checkInput(buffer, abbr):
File "/usr/lib/python2.7/dist-packages/autokey/model.py", line 144, in __checkInput
stringBefore, typedAbbr, stringAfter = self._partition_input(buffer, abbr)
File "/usr/lib/python2.7/dist-packages/autokey/model.py", line 191, in _partition_input
stringBefore, typedAbbr, stringAfter = currentString.rpartition(abbr)
ValueError: empty separator
任何帮助,将不胜感激。
答案1
这是我对有问题的代码的修改:
/usr/lib/python2.7/dist-packages/autokey/model.py
def _should_trigger_abbreviation(self, buffer):
"""
Checks whether, based on the settings for the abbreviation and the given input,
the abbreviation should trigger.
@param buffer Input buffer to be checked (as string)
"""
for abbr in self.abbreviations:
if abbr == "":
continue
if self.__checkInput(buffer, abbr):
return True
答案2
在对自动键进行更多操作之后,我注意到我的一个“缩写”后面附加了一个逗号,并用括号括起来:[<myabbreviation>,]
经过进一步检查,该“短语”规则启用了第二个额外的空白“缩写”,当删除该缩写时会导致括号消失。
自从删除这个多余的空白“缩写”后,Autokey 似乎现在可以完美运行。