分享
 
 
 

X Window 系统使用指南--视窗管理器基础

王朝system·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

前一章我们看到了X系统只提供基本的视窗功能,但是实际上系统应该需

要更多更方便及容易使用的功能,在X中,这些由视窗管理器 (Window manager)

提供,本章告诉你什麽是视窗管理器,以及如何使用MIT core版所提供的唯一的

视窗管理器 -- uwm 。

6.1 什麽是视窗管理器 我们很快的摘要说明以便让你了解视窗管理器的功能。系统最基本的部份

-- 也就是server,它只提供最基本的视窗功能,如建立视窗、在视窗中写入

文字或画图形、控制键盘和滑鼠的输入和去掉视窗等,Server它不提供使用者

介面,它只提供建立介面的基本结构。 我们把使用者介面分为两个部份 -- 管理介面和应用介面,本章讨论管理

介面,管理介面由视窗管理器控制,提供管理 "案头" 的功能,例如建立应用

视窗,在萤幕上移动它们,重定大小等等。 你也需要能够: . 使一个原来被遮住的视窗重新显现 . 方便地启动或中止应用程式 . 更新 (refresh)萤幕 . 表徵图化 (iconify)和解除表徵图化 (de-iconify)

6.2 启动 uwm 当X被启动後,你可以在萤幕上的任何shell 视窗启动uwm ,因为视窗管

理器也只是一个普通程式而已,你可以在执行X的任何期间内启动uwm ,但通

常是在一开始时。 现在你可以先启动X,接著在xterm 视窗内输入下列命令: uwm & uwm 执行後会让终端机的喇叭发出哔声表示它已初始化且准备为你工作,但你

在萤幕上看不到有任何改变,执行一个ps a,你可以看到现在有一个uwm 程式

如下: PID TT STAT TIME COMMAND

1900 co S 0:00 xinit

1901 co S 0:01 x:0

1902 co S 0:01 xterm -geometry +1+1 -n login -display unix:0 -c

1903 p1 S 0:00 -sh (csh)

1904 p1 I 0:00 uwm

1905 p1 R 0:00 ps 现在我们有一个视窗管理器了,接下来我们将利用它完成一些基本的操作。

6.3 基本视窗操作 -- uwm 的选单 uwm 有一个选单的功能,可用来管理选单,其存取的方法如下: 1. 将指标移到灰色萤幕背景的任何地方。 2. 按住滑鼠的中按钮且保持按住,一个标头为 "WindowOps" 的下拉式

选单将会出现,如图 6 - 1 ┌————————————————┐

│ │

│ p59 fig 6.1 │

│ ( 合并 p60 fig 6.2) │

│ │

│ │

│ │

│图 6 - 1 uwm 的 WindowOps 选单 │

└————————————————┘ 3. 继续按住按钮,上下移动指标,被指标指到的选项会以高亮度或反白

表示,当你放松按钮,表示此高亮度的选项被选择。 如果你不想选择,那就按一下滑鼠其它的钮,或者将指标移到选单的边框

外面,则选单将会消失。 现在□试选择Refresh Screen (更新萤幕) ,并且放松按钮,则萤幕闪动

一下并完全重画 (re-drawn) 。 本章剩馀的部份,将让我们了解如何利用其它的选项,满足在上一章总结

中所述我们所需的功能。

6.4 移动视窗 在萤幕上移动一个视窗步骤如下: 1. 将指标移至背景,按住滑鼠中按钮,叫出uwm 的下拉式选单。 2. 选择 "Move" 选项并松开按钮,此时游标改变成 "手指" (pointing hand)

形,见图 6 - 2 ┌——————————————┐

│ │

│ p60 fig 6.3 │

│ │

│ │

│ │

│图 6 - 2 手指形游标 │

└——————————————┘ 3. 将 "手指" 移动到你打算移动的视窗中,按下任何按钮,保持按住的

状态,视窗上出现了九宫格,且游标变成十字箭头 (arrow cross)形,

见图 6 - 3 ┌——————————————┐

│ │

│ p60 fig 6.4 │

│ │

│ │

│ │

│图 6 - 3 十字箭头形游标 │

└——————————————┘ 4. 继续保持按住按钮,移动游标,将九宫格拖拽至你想摆放视窗的新位

置。 5. 松开按钮,视窗会跳到新的位置,同时九宫格消失。 以上步骤的示意图见图6 - 4 ,现在你可以自己□试将视窗移至萤幕右下角。 ┌——————————————┐

│ │

│ p61 fig 6.5 (???) │

│ │

│ │

│ │

│图 6 - 4 移动视窗示意图 │

└——————————————┘ 注意:你可以移动视窗使其部份因超过萤幕边框而消失,如果纯属意外的

话,再作一次 "Move" 动作即可。

6.5 重定视窗大小 你可以在一度空间 (one dimension)或两度空间重定视窗大小,例如:你

可以只把视窗加宽,或同时将视窗变高及变窄。重定视窗大小步骤如下: 1. 叫出uwm 的下拉式选单,选择 "Resize" 选项,如同移动视窗,你的

游标变成 "手指" 形。 2. 移动游标到欲重定大小之视窗的右下角。 3. 按住滑鼠按钮,保持按住状态,有三种变化发生。 . 游标变成 "十字箭头" 形

. 九宫格出现,但不像前节和视窗一样大,它比较小。

. 出现一个长方盒,显示目前视窗的大小 (见图6 - 5) ┌——————————————┐

│ │

│ p62 fig 6.6 │

│ │

│ │

│ │

│图 6 - 5 重定视窗大小操作时,│

│ 显示视窗大小的长方盒 │

└——————————————┘ 4. 移动游标,延展或挤压九宫格直到大小合乎需求。 5. 放松滑鼠按钮,视窗改变大小将和九宫格一致,同时九宫格消失。 以上步骤的示意图见图 6 - 6,你亦可用xterm 视窗练习重定大小。 ┌——————————————┐

│ │

│ p63 fig 6.7 (???) │

│ │

│ │

│ │

│图 6 - 6 重定视窗大小示意图 │

└——————————————┘

6.5.1 九宫格的目的 在重定大小的操作中,九宫格具有让你预先看到重定视窗的大小,而当你

在步骤 3按下按钮时,当时游标在九宫格的位置决定了你的动作: . 当你在九宫格的四个角的格子或最中间那一格按下按钮,你可以任意水

平或垂直改变视窗的大小。 . 当你在九宫格四边中间那一格按下按钮,你就只能在一度空间改变大小,

你只能移动视窗最接近你按下按钮的格子的那一边。

6.5.2 大小限制 那个显示目前视窗大小的长方盒,其大小的单位视情况有所不同,文字视

窗,其意义为若干行乘若干列字元 (例如xterm 通常为80x24 字元大小) ,图

形视窗,其单位则为像素 (例如xclock预设的大小为150x150 像素) 。 有些视窗会被限制外形或大小,例如xcalc 有最小尺寸的限制:它不允许

你把视窗缩小到连计算器上按钮都无法显示的地步,xterm 虽然可以任意重定

大小,但它以字元为单位,它不会允许视窗最下一行字元只出现一半的情况发

生,相对的;xclock几乎对任意大小或外形均不受限制。

6.6 建立新视窗 利用视窗管理器uwm 的 "NewWindow"选项,我们可以很容易的建立一个新

视窗,我们在本节内描述如何启动一个新的xterm ,uwm 如何帮助你启动其它

的应用程式,以及你如何控制应用视窗的起始位置和大小。

6.6.1 建立一个新的xterm 视窗 建立一个新的xterm 视窗步骤如下: 1. 移动游标到背景视窗,叫出uwm 的下拉式选单,选择 "New Window"

选项,在松开按钮的一瞬间,有三种变化发生:(不需按住滑鼠按钮) . 游标改变成 "左上角" 形 (见图6 - 7)。

. 一个闪动的新视窗边框出现了,游标在左上角。

. 一个类似我们前节看过表示视窗大小的长方盒出现,和以前不同的

是,它比以前多了视窗的名称 (见图6 - 8)。 ┌——————————————┐

│ │

│ p64 fig 6.8 │

│ │

│ │

│ │

│图6 - 7 "左上角" 形游标 │

└——————————————┘ ┌———————————————┐

│ │

│ p65 fig 6.9 │

│ │

│ │

│ │

│图6 - 8 当建立新视窗时, 出现 │

│ 显示视窗名称和大小的长方盒 │

└———————————————┘ 2. 移动游标使得新视窗的左上角移到你所需要的位置。 3. 碰触一下左按钮,一个新的视窗便产生了,显示视窗大小的长方盒和

闪动的边框同时消失。 你可以像使用原始xterm 视窗一样地使用这个新视窗来执行普通或X的应

用程式。 注意 1:如果你在步骤 3碰触的不是左按钮,则视窗的大小会有所不同,

特别是你碰触的如果是中按钮,则你的新视窗会小到几乎看不到

的地步,如果发生这种情况,你可以用前节重定视窗大小的方法

改善 (细节部份稍後会提及) 。 注意 2:如果你把视窗的一部份移到萤幕之外,将会使得视窗的一部份无

法看见,若你并不是故意如此,可以用选项 "Move" 改善。

6.6.2 建一个供任何应用程式使用的视窗 我们仍然可用以前的方法 -- 在xterm 视窗的shell 中输入一行命令来启

动应用程式,但是现在你有视窗管理器程式在执行,所以你可以用交谈的方式

来控制视窗的起始位置,而不需在命令列中设定geometry参数。 (事实上,uwm

也可控制视窗起始的大小,我们会在下节描述。) 举一个例子,假设我们要在萤幕的右上角启动xclock: 1. 在xterm 视窗中,输入命令列: xclock & 就如同 "NewWindow"选项一般,你可以看到一个描述视窗大小的长

方盒,一个 "左上角" 形游标,一个和时钟同样大小的闪动边框。 2. 不要按任何钮,只要把边框拖拽到任何你想要摆放的位置。 3. 碰触左按钮,一个时钟取代了闪动边框出现。 注意:如果在步骤 3你碰触的不是左按钮,则时钟的大小会不同,但不致

於像xterm 那麽夸张。

6.6.3 指定新视窗的大小 前面提到当你建立新视窗时,若你碰触的不是左按钮,会有一些奇怪的情

况发生,事实上三个按钮各有不同的意义,你可以依需要做适当的选择: 1. 左按钮:碰触左按钮会使得: 位置:将视窗左上角的位置依目前游标的位置决定。

大小:应用程式本身原先预设的大小。 2. 中按钮:你不应该碰触中按钮,但如果你压住不放的话,你可以藉著

改变视窗的右下角来改变视窗的大小,然後松开按钮: 位置:视窗左上角的位置依你压下中按钮时游标的位置决定,右下

角则根据你放松按钮时决定,压住按钮的期间,视窗的边框

就像橡皮筋般可延展或压缩。

大小:根据松开按钮时的右下角决定。 如果应用程式指定了视窗最小的尺寸限制,则橡皮筋边框被压缩到比

最小视窗还小时会自动消失,确保你无法建立一个比最小视窗限制还

小的视窗。 注意:如果你让视窗的面积为零,会有一些奇怪的情况发生,例如你在启

动xclock时,碰触中按钮,则xclock视窗会跑到萤幕左上角,大小

为预设的大小。 3. 右按钮:碰触右按钮会使得: 位置:视窗左上角依目前游标的位置决定。

大小:视窗的宽度为预设的宽度,视窗的高度由游标的位置直到萤

幕的底边,如果大小低於应用程式预设之最小视窗限制的话,

则用预设的高度来代替。当然,这也意味著会有一部份的视

窗超出萤幕,所以无法看到。

6.6.4 更多的有关於geometry参数的设定 关於geometry参数的设定,过去我们都是用视窗左上角的位置相对於萤幕

左上角位置的方式设定,其实,我们可以用视窗的任何一个角来决定视窗位置

,先复习一下geometry的设定方式: width x height <xpos> <ypos>

宽度 x 高度 <x位置><y位置> <xpos> 决定了视窗水平的座标,可用下列方式表示: +offset :表示视窗的左边位於距离萤幕左边offset个像素的位置。

-offset :表示视窗的右边位於距离萤幕右边offset个像素的位置。 <ypos> 决定了视窗垂直的座标,同样地也可用下列方式表示: +offset :表示视窗的上边位於距离萤幕上边offset个像素的位置。

-offset :表示视窗的下边位於距离萤幕下边offset个像素的位置。 以下有几个□例: 100x100+50+60 :这是我们过去用的方式,视窗的左上角位於距离萤幕

左边50个像素,上边60个像素。 100x100-0-0 :视窗的右下角位於萤幕的右下角。 100x100-80+160 :视窗的右上角位於距离萤幕右边80个像素,萤幕上边

160 个像素。 100x100+20-40 :视窗的左下角位於距离萤幕左边20个像素,萤幕下边

40个像素。 上述例子的正负号代表了视窗的边和萤幕的边的关系,而不是偏移量的正

负号,事实上偏移量有它自己的正负号,例如: 100x100+600+-50 :视窗位於萤幕的中上方,且视窗的上半部超出萤幕。 100x100--50-+20 :视窗位於萤幕的右下角,且视窗的下边距萤幕20个像

素,视窗的右半部超出萤幕。

6.7 管理你的萤幕空间 现在你可以启动许多的应用程式,建立许多的视窗,这些视窗很可能会互

相重叠,但是你有三种方法可以用来管理你的视窗,使你更方便地存取它们: . 把视窗缩小,利用前述的 "Resize" 选项。 . 把视窗 "堆叠(stack)"起来,你现在需要的视窗摆到堆叠最上层,其它

的放在比较下层,你可以用选单上的 "Raise" "Lower" "CircUp" 和

"CircDown"来改变堆叠次序。 . 把视窗换成非常小的视窗,称为 "表徵图(icons)",因此所占的萤幕空

间极小,但只要需要你随时可还原它们,你可以利用选单上的"NewIconify"

和"AutoIconify" 选项来办到。

6.7.1 变动堆叠中视窗的次序 视窗在萤幕上,就如同文件在你桌面上,可以互相重叠,( 如图6 - 9) ┌——————————————┐

│ │

│ p69 fig 6.10 │

│ │

│ │

│ │

│图6 - 9 相互重叠的视窗 │

└——————————————┘ 为了让你容易获得你想要的视窗,uwm 允许你: . 将一个视窗移到堆叠最上层,不管它现在在堆叠的哪个位置。 . 将一个视窗移到堆叠最下层,不管它现在在堆叠的哪个位置。 . 循环堆叠,将所有在堆叠中的视窗移动一层,将最後一层的视窗移到

堆叠另一端开头,你可以向上或向下循环。 1. 将一个视窗移到堆叠最上层 -- Raise Raise 选项将一个视窗移到堆叠最上层,所以这个视窗应该变成全部

可见,你可以Raise 任何视窗而不管它目前在堆叠何处。Raise 一个

视窗的步骤: 1). 从选单中选取 "Raise"选项,游标变成手指状。

2). 将游标移到你想要Raise 的视窗上。

3). 碰触任意一个滑鼠按钮,视窗保持在原来的位置,但那些原来被

其它的视窗遮住的部份均会重现,其它的视窗则被盖在下面。 2. 将一个视窗移到堆叠最下层 -- Lower. Lower 选项可将一个视窗移到堆叠的最下层,你可以Lower 任何视窗

而不管它目前在堆叠何处。Lower 一个视窗的步骤: 1). 从选单中选取 "Lower"选项,游标变成手指状。

2). 将游标移到你想要Lower 的视窗上。

3). 碰触任意一个滑鼠按钮,视窗保持在原来的位置,其它原来被它

遮住的视窗会显现出来,而它本身的部份则被这些视窗遮住。 3. 循环堆叠 -- CircUp和CircDown CircUp和CircDown选项用来旋转堆叠内的视窗,所差别的只是它的

"方向" 而已。循环向下(circulate down)的步骤为: 从选单中选取"CircDown"选项,所有在萤幕上的视窗位置均不变,

但原来在最上层的视窗被移至最下层,所有原来被它遮住的视窗

现在变成遮住它。 CircUp和上述成对比,它把原来最下层的视窗移至最上层,遮住那些

原来遮住它的视窗。

6.7.2 表徵图化一个视窗 虽然你可以靠著Raise 或L

[1] [2] 下一页

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有