使用 Ghosd 和 Synergy 增强多屏幕用户界面

来源:互联网 发布:塞浦路斯旅游数据 编辑:程序博客网 时间:2024/05/18 02:12
不同于传统的单屏幕设置,多屏幕显示系统要求特别考虑用户界面(UI)。本文提供了专用于跨多个显示屏获得和更改输入焦点的工具和代码。

对工作环境作出少量修改可以提高生产力,其效果和添加额外的监视器一样显著。开源的 Synergy 包提供了一种优秀的方法,可以在无需购买额外硬件的情况下链接多个显示器。

不同于传统的单屏幕设置,多屏幕显示系统要求特别考虑用户界面。本文提供了专用于跨多个显示屏获得和更改输入焦点的工具和代码。通过使用 Ghosd 显示和 Synergy 调试级输出增强现有的 X Window System 焦点信息,多屏幕用户甚至可以精确地知道输入焦点在 4200x3150 像素或更大的像素。

要求

安全注意事项

本文介绍的代码和技术演示了如何创建屏幕警报。这是为在私有网络中运行的计算机设计的。它不能用于直接公开给 Internet 的计算机中,Internet 中的恶意程序可能会尝试在计算机中执行任意代码。

硬件

Synergy 设计用于跨各种硬件和软件工作。建议使用速度较快的网络,对于制作动画或大量使用阿尔法混合(alpha-blended)Ghosd 视觉效果尤其如此。

软件

虽然各种操作系统都支持 Synergy 的基本功能,但是本文将在 Linux® 服务器上使用 Ghosd 来提供增强的屏幕显示(on-screen display,OSD)。按照 Synergy 的定义,服务器是带有主键盘和鼠标或共享键盘和鼠标、主屏幕并运行 Synergy 服务器软件的计算机。所有其他计算机是 Synergy 客户机并运行 Synergy 客户机软件。下面是继续学习本文所需的内容:

Synergy
Synergy 允许在配有不同操作系统、拥有各自显示屏而没有特殊硬件的多个计算机之间共享单个鼠标和键盘。
X Window System
需要在 Synergy 服务器和客户机中运行 Linux® 或兼容的 X Window System 服务器才能得到本文所述的结果。由于运行 Linux 或 UNIX® 的大多数台式机都安装了 X Window System,因此可以放心地假定它已经安装在 Linux 或 UNIX 计算机中。
Pango
Pango 是设置文本布局并呈现文本的库。
GLib library
Pango 依赖于 GLib 库 的 V2.x 系列,可以从 GTK+ Project 获得。
Cairo
Cairo 是支持多个输出设备的 2-D 图形库。
Ghosd
Ghosd 是一个使用一种很吸引人的方式在屏幕中刷新信息的库。
Perl
Perl 是一种稳定的跨平台编程语言。

Ubuntu 用户可以使用以下命令安装上面的大部分软件:sudo apt-get install libgtk2.0-dev libpango1.0-dev libcairo2-dev perl synergy





回页首

一般方法

考虑图 1 中所示的六屏幕 Synergy 设置。此图像显示了下面所示的代码最终生成的焦点内和焦点外指示器。如果离开多屏幕设置几分钟,则会发现很难记住光标所在的位置及位于哪个屏幕中。图 1 在获得焦点的屏幕中显示一系列绿色正方形,并在其他显示屏中显示逐渐淡出的红框。继续阅读本文,了解如何从焦点跟踪指示器开始生成这种视觉效果。


图 1. 六屏幕显示设置



本文转自IBM Developerworks中国

      请点击此处查看全文