四窗口能分布到四台显示器上吗? 回答 Galactica 的提问
Galactica 提出的这个问题其实是一个比较宽泛的问题。所以在这里我通过一篇完整的文章来回答一下。
首先,在 非程序员的GNU Emacs使用心得......Shell Mode 第11集 窗口也能 undo 吗??? 这篇文章中,我在示意图当中演示了一个四窗口的工作区域。像这个样子。Galactica 提了一个问题:“四窗口能分布到四台显示器上吗? ” 我在回答这个问题的时候,首先要澄清几个概念。
其一,在我的文章里面演示的所谓窗口(window)是一个 Emacs 的概念。我们通常概念下的“窗口”的概念,在 Emacs 里面被称为一个 frame。在 Emacs 定义里面,一个 frame 是一个屏幕上的矩形区域。在 terminal 环境下,一个 frame 基本上就是一个显示器的显示区域。在 X Window 环境下,一个 frame 基本上包含在一个 X Window 的 窗口(window) 里面的一块区域。而“窗口(window)”,在 Emacs 的概念里面,是一个包含在 frame 里面的一个矩形区域。呵呵,也许这个就是为什么 Emacs 能够在 X Window 发明之前就在 terminal 的环境下提供多窗口工作模式的小秘密。
所以,Galactica 提问的 “四窗口能分布到四台显示器上吗?” 首先要解决的是这四个窗口所在的 frame 能不能分布到四台显示器上。下面我们来讨论这个问题。
首先,在 terminal 模式下的时候,很明显,不行。那么是不是可以通过特别的硬件支持,来做到这一点,我不知道。
那么在 X Window 的环境下呢? 我们知道,在 X Window 的环境下,一个 Emacs 的 frame 所在的区域就是一个 X Window 的“窗口( window )” 所占的区域。怎么样理解这个 窗口 呢?通俗一点说,你可以把它理解成 MS Windows 概念里的所谓 “桌面 (desktop)”,虽然并不十分准确。那么很显然,在合适硬件的支持下你可以把 这四台显示器配置成X window 的一个屏幕 ( display ),在这个巨大的虚拟屏幕之上,X window 的 窗口 也可以放大到四台物理显示器的范围之内。由此类推,运行于这个“窗口”里面的 Emacs frame 和 这个 Emacs frame 里面的 Emacs window 就顺理成章的也可以扩展到如此巨大的一个范围内了。下面就是一个我的 Emacs frame 在这种模式下扩展到两台显示器的一个示意图( 抱歉我没有四台显示器 :-p)。
在 X Window 环境下,还有另一种工作模式。就是在四台显示器上配置四个不同的屏幕 ( display ) ,当然,也可以是两个。然后这四个不同的 display 配置各自不同的 窗口( window )。在这种环境下,显然在任何一个窗口里面的 Emacs frame 都不能够超越他所在的 X window 窗口的尺寸。那么在这个时候你就可以选择在四台显示器的四个屏幕( display )上开四个 X window 窗口,每一个窗口里运行一个 Emacs frame 和一个 Emacs window,这样你总共还是 四个 Emacs window。或者你可以在 四台显示器的四个屏幕( display )上开四个 X window 窗口,每一个窗口里运行一个 Emacs frame 和四个 Emacs window,这样你总共拥有十六个 Emacs window。 :-D
当然了,世事无绝对。不管采用哪种方式,最终的目的都是为了有尽可能多的可用的(当然要足够大才能可用)的窗口让我们同时关照多个任务。所以如果你有够大的显示器,你就可以开足够多的 Emacs 窗口。没有什么技术上的障碍。只是仔细配置 X window 符合你的特定需求可能会比较麻烦一些。即便是使用我们所说的第一种模式,使用一个巨大的 display,就像下图这样,虽然截图看起来很过瘾,但在实际使用当中,当这些虚拟窗口跨越不同物理显示器的边缘的时候也会是非常难受的。
posted on 2010-08-12 17:02 David Young 杨博华 阅读(1222) 评论(1) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述