Linux 下的屏幕取词技术

Linux 下的屏幕取词技术

作者: 于明俭

屏幕取词即当鼠标在应用软件所显示中/英文的地方滑过, 则有一小窗口 出现在离单词附近, 上面出现鼠标下面单词的解释. 屏幕取词以前一直是 MS Windows的"专利", 但是在TurboLinux上, TurboLinux的研发者以其 新颖的思维, 独创的精神, 完美地实现了这一技术. 它是已经遥遥领先的 中文平台ZWinPro上绽放的花蕾. 也是其它中文平台追求的目标之一.

其实这一技术在MS Windows下已经是公开的秘密. ZWinPro 所做的也正遵循 了这一技术的规则. 即:

  • 在鼠标移动(或按某控制键移动)时, 在鼠标下产生一横线然后迅速消失. 或发送Expose事件.此横线可以用窗口模拟.
  • 记录鼠标位置
  • 此时应用软件要重写字符串. 截取重写字符串的函数,
  • 并分析在鼠标下的单词, 如果为英文, 则按标点符号和空格分节取出, 如果为中文, 则取出中文(最多四个字).
  • 把单词以ClientMessage发送给查询软件
  • 查寻软件显示查找结果, 英文单词查找不到时, 替换词形或语态在查找, 中文词语查不到时, 去掉最后一个字再查找.

需要注意的是, 在TurboLinux中, 启动中文平台后, 必须按Alt键并移动 鼠标才能抓词, 选用控制键的目的是为了减轻系统负担. 并为抓词提供方便 条件. 使用发送Expose事件可以隐去难看的横线, 但是应用软件并不都对 Expose事件做出良好的反应.

另外, ZWinPro使用了Shape窗口, 使屏幕取词显得更酷!

你可能感兴趣的:(转)