国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

X Window 系統(tǒng)使用指南--視窗管理器基礎(chǔ)

瀏覽:5日期:2024-02-02 09:02:54

前一章我們看到了X系統(tǒng)只提供基本的視窗功能,但是實(shí)際上系統(tǒng)應(yīng)該需 要更多更方便及容易使用的功能,在X中,這些由視窗管理器 (Window manager) 提供,本章告訴你什麼是視窗管理器,以及如何使用MIT core版所提供的唯一的 視窗管理器 -- uwm 。

6.1 什麼是視窗管理器

我們很快的摘要說(shuō)明以便讓你了解視窗管理器的功能。系統(tǒng)最基本的部份 -- 也就是server,它只提供最基本的視窗功能,如建立視窗、在視窗中寫入 文字或畫圖形、控制鍵盤和滑鼠的輸入和去掉視窗等,Server它不提供使用者 介面,它只提供建立介面的基本結(jié)構(gòu)。

我們把使用者介面分為兩個(gè)部份 -- 管理介面和應(yīng)用介面,本章討論管理 介面,管理介面由視窗管理器控制,提供管理 '案頭' 的功能,例如建立應(yīng)用 視窗,在螢?zāi)簧弦苿?dòng)它們,重定大小等等。

你也需要能夠:

. 使一個(gè)原來(lái)被遮住的視窗重新顯現(xiàn)

. 方便地啟動(dòng)或中止應(yīng)用程式

. 更新 (refresh)螢?zāi)?

. 表徵圖化 (iconify)和解除表徵圖化 (de-iconify)

6.2 啟動(dòng) uwm

當(dāng)X被啟動(dòng)後,你可以在螢?zāi)簧系娜魏蝧hell 視窗啟動(dòng)uwm ,因?yàn)橐暣肮? 理器也只是一個(gè)普通程式而已,你可以在執(zhí)行X的任何期間內(nèi)啟動(dòng)uwm ,但通 常是在一開(kāi)始時(shí)。

現(xiàn)在你可以先啟動(dòng)X,接著在xterm 視窗內(nèi)輸入下列命令:

uwm &

uwm 執(zhí)行後會(huì)讓終端機(jī)的喇叭發(fā)出嗶聲表示它已初始化且準(zhǔn)備為你工作,但你 在螢?zāi)簧峡床坏接腥魏胃淖儯瑘?zhí)行一個(gè)ps a,你可以看到現(xiàn)在有一個(gè)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

現(xiàn)在我們有一個(gè)視窗管理器了,接下來(lái)我們將利用它完成一些基本的操作。

6.3 基本視窗操作 -- uwm 的選單

uwm 有一個(gè)選單的功能,可用來(lái)管理選單,其存取的方法如下:

1. 將指標(biāo)移到灰色螢?zāi)槐尘暗娜魏蔚胤健?

2. 按住滑鼠的中按鈕且保持按住,一個(gè)標(biāo)頭為 'WindowOps' 的下拉式 選單將會(huì)出現(xiàn),如圖 6 - 1

┌————————————————┐ │ │ │ p59 fig 6.1 │ │ ( 合并 p60 fig 6.2) │ │ │ │ │ │ │ │圖 6 - 1 uwm 的 WindowOps 選單 │ └————————————————┘

3. 繼續(xù)按住按鈕,上下移動(dòng)指標(biāo),被指標(biāo)指到的選項(xiàng)會(huì)以高亮度或反白 表示,當(dāng)你放松按鈕,表示此高亮度的選項(xiàng)被選擇。

如果你不想選擇,那就按一下滑鼠其它的鈕,或者將指標(biāo)移到選單的邊框 外面,則選單將會(huì)消失。

現(xiàn)在□試選擇Refresh Screen (更新螢?zāi)? ,并且放松按鈕,則螢?zāi)婚W動(dòng) 一下并完全重畫 (re-drawn) 。

本章剩馀的部份,將讓我們了解如何利用其它的選項(xiàng),滿足在上一章總結(jié) 中所述我們所需的功能。

6.4 移動(dòng)視窗

在螢?zāi)簧弦苿?dòng)一個(gè)視窗步驟如下:

1. 將指標(biāo)移至背景,按住滑鼠中按鈕,叫出uwm 的下拉式選單。

2. 選擇 'Move' 選項(xiàng)并松開(kāi)按鈕,此時(shí)游標(biāo)改變成 '手指' (pointing hand) 形,見(jiàn)圖 6 - 2

┌——————————————┐ │ │ │ p60 fig 6.3 │ │ │ │ │ │ │ │圖 6 - 2 手指形游標(biāo) │ └——————————————┘

3. 將 '手指' 移動(dòng)到你打算移動(dòng)的視窗中,按下任何按鈕,保持按住的 狀態(tài),視窗上出現(xiàn)了九宮格,且游標(biāo)變成十字箭頭 (arrow cross)形, 見(jiàn)圖 6 - 3

┌——————————————┐ │ │ │ p60 fig 6.4 │ │ │ │ │ │ │ │圖 6 - 3 十字箭頭形游標(biāo) │ └——————————————┘

4. 繼續(xù)保持按住按鈕,移動(dòng)游標(biāo),將九宮格拖拽至你想擺放視窗的新位 置。

5. 松開(kāi)按鈕,視窗會(huì)跳到新的位置,同時(shí)九宮格消失。

以上步驟的示意圖見(jiàn)圖6 - 4 ,現(xiàn)在你可以自己□試將視窗移至螢?zāi)挥蚁陆恰?

┌——————————————┐ │ │ │ p61 fig 6.5 (???) │ │ │ │ │ │ │ │圖 6 - 4 移動(dòng)視窗示意圖 │ └——————————————┘

注意:你可以移動(dòng)視窗使其部份因超過(guò)螢?zāi)贿吙蚨В绻儗僖馔獾? 話,再作一次 'Move' 動(dòng)作即可。

6.5 重定視窗大小

你可以在一度空間 (one dimension)或兩度空間重定視窗大小,例如:你 可以只把視窗加寬,或同時(shí)將視窗變高及變窄。重定視窗大小步驟如下:

1. 叫出uwm 的下拉式選單,選擇 'Resize' 選項(xiàng),如同移動(dòng)視窗,你的 游標(biāo)變成 '手指' 形。

2. 移動(dòng)游標(biāo)到欲重定大小之視窗的右下角。

3. 按住滑鼠按鈕,保持按住狀態(tài),有三種變化發(fā)生。

. 游標(biāo)變成 '十字箭頭' 形 . 九宮格出現(xiàn),但不像前節(jié)和視窗一樣大,它比較小。 . 出現(xiàn)一個(gè)長(zhǎng)方盒,顯示目前視窗的大小 (見(jiàn)圖6 - 5)

┌——————————————┐ │ │ │ p62 fig 6.6 │ │ │ │ │ │ │ │圖 6 - 5 重定視窗大小操作時(shí),│ │ 顯示視窗大小的長(zhǎng)方盒 │ └——————————————┘

4. 移動(dòng)游標(biāo),延展或擠壓九宮格直到大小合乎需求。

5. 放松滑鼠按鈕,視窗改變大小將和九宮格一致,同時(shí)九宮格消失。

以上步驟的示意圖見(jiàn)圖 6 - 6,你亦可用xterm 視窗練習(xí)重定大小。

┌——————————————┐ │ │ │ p63 fig 6.7 (???) │ │ │ │ │ │ │ │圖 6 - 6 重定視窗大小示意圖 │ └——————————————┘

6.5.1 九宮格的目的

在重定大小的操作中,九宮格具有讓你預(yù)先看到重定視窗的大小,而當(dāng)你 在步驟 3按下按鈕時(shí),當(dāng)時(shí)游標(biāo)在九宮格的位置決定了你的動(dòng)作:

. 當(dāng)你在九宮格的四個(gè)角的格子或最中間那一格按下按鈕,你可以任意水 平或垂直改變視窗的大小。

. 當(dāng)你在九宮格四邊中間那一格按下按鈕,你就只能在一度空間改變大小, 你只能移動(dòng)視窗最接近你按下按鈕的格子的那一邊。

6.5.2 大小限制

那個(gè)顯示目前視窗大小的長(zhǎng)方盒,其大小的單位視情況有所不同,文字視 窗,其意義為若干行乘若干列字元 (例如xterm 通常為80x24 字元大小) ,圖 形視窗,其單位則為像素 (例如xclock預(yù)設(shè)的大小為150x150 像素) 。

有些視窗會(huì)被限制外形或大小,例如xcalc 有最小尺寸的限制:它不允許 你把視窗縮小到連計(jì)算器上按鈕都無(wú)法顯示的地步,xterm 雖然可以任意重定 大小,但它以字元為單位,它不會(huì)允許視窗最下一行字元只出現(xiàn)一半的情況發(fā) 生,相對(duì)的;xclock幾乎對(duì)任意大小或外形均不受限制。

6.6 建立新視窗

利用視窗管理器uwm 的 'NewWindow'選項(xiàng),我們可以很容易的建立一個(gè)新 視窗,我們?cè)诒竟?jié)內(nèi)描述如何啟動(dòng)一個(gè)新的xterm ,uwm 如何幫助你啟動(dòng)其它 的應(yīng)用程式,以及你如何控制應(yīng)用視窗的起始位置和大小。

6.6.1 建立一個(gè)新的xterm 視窗

建立一個(gè)新的xterm 視窗步驟如下:

1. 移動(dòng)游標(biāo)到背景視窗,叫出uwm 的下拉式選單,選擇 'New Window' 選項(xiàng),在松開(kāi)按鈕的一瞬間,有三種變化發(fā)生:(不需按住滑鼠按鈕)

. 游標(biāo)改變成 '左上角' 形 (見(jiàn)圖6 - 7)。 . 一個(gè)閃動(dòng)的新視窗邊框出現(xiàn)了,游標(biāo)在左上角。 . 一個(gè)類似我們前節(jié)看過(guò)表示視窗大小的長(zhǎng)方盒出現(xiàn),和以前不同的 是,它比以前多了視窗的名稱 (見(jiàn)圖6 - 8)。

┌——————————————┐ │ │ │ p64 fig 6.8 │ │ │ │ │ │ │ │圖6 - 7 '左上角' 形游標(biāo) │ └——————————————┘

┌———————————————┐ │ │ │ p65 fig 6.9 │ │ │ │ │ │ │ │圖6 - 8 當(dāng)建立新視窗時(shí), 出現(xiàn) │ │ 顯示視窗名稱和大小的長(zhǎng)方盒 │ └———————————————┘

2. 移動(dòng)游標(biāo)使得新視窗的左上角移到你所需要的位置。

3. 碰觸一下左按鈕,一個(gè)新的視窗便產(chǎn)生了,顯示視窗大小的長(zhǎng)方盒和 閃動(dòng)的邊框同時(shí)消失。

你可以像使用原始xterm 視窗一樣地使用這個(gè)新視窗來(lái)執(zhí)行普通或X的應(yīng) 用程式。

注意 1:如果你在步驟 3碰觸的不是左按鈕,則視窗的大小會(huì)有所不同, 特別是你碰觸的如果是中按鈕,則你的新視窗會(huì)小到幾乎看不到 的地步,如果發(fā)生這種情況,你可以用前節(jié)重定視窗大小的方法 改善 (細(xì)節(jié)部份稍後會(huì)提及) 。

注意 2:如果你把視窗的一部份移到螢?zāi)恢猓瑢?huì)使得視窗的一部份無(wú) 法看見(jiàn),若你并不是故意如此,可以用選項(xiàng) 'Move' 改善。

6.6.2 建一個(gè)供任何應(yīng)用程式使用的視窗

我們?nèi)匀豢捎靡郧暗姆椒?-- 在xterm 視窗的shell 中輸入一行命令來(lái)啟 動(dòng)應(yīng)用程式,但是現(xiàn)在你有視窗管理器程式在執(zhí)行,所以你可以用交談的方式 來(lái)控制視窗的起始位置,而不需在命令列中設(shè)定geometry參數(shù)。 (事實(shí)上,uwm 也可控制視窗起始的大小,我們會(huì)在下節(jié)描述。)

舉一個(gè)例子,假設(shè)我們要在螢?zāi)坏挠疑辖菃?dòng)xclock:

1. 在xterm 視窗中,輸入命令列:

xclock &

就如同 'NewWindow'選項(xiàng)一般,你可以看到一個(gè)描述視窗大小的長(zhǎng) 方盒,一個(gè) '左上角' 形游標(biāo),一個(gè)和時(shí)鐘同樣大小的閃動(dòng)邊框。

2. 不要按任何鈕,只要把邊框拖拽到任何你想要擺放的位置。

3. 碰觸左按鈕,一個(gè)時(shí)鐘取代了閃動(dòng)邊框出現(xiàn)。

注意:如果在步驟 3你碰觸的不是左按鈕,則時(shí)鐘的大小會(huì)不同,但不致 於像xterm 那麼夸張。

6.6.3 指定新視窗的大小

前面提到當(dāng)你建立新視窗時(shí),若你碰觸的不是左按鈕,會(huì)有一些奇怪的情 況發(fā)生,事實(shí)上三個(gè)按鈕各有不同的意義,你可以依需要做適當(dāng)?shù)倪x擇:

1. 左按鈕:碰觸左按鈕會(huì)使得:

位置:將視窗左上角的位置依目前游標(biāo)的位置決定。 大小:應(yīng)用程式本身原先預(yù)設(shè)的大小。

2. 中按鈕:你不應(yīng)該碰觸中按鈕,但如果你壓住不放的話,你可以藉著 改變視窗的右下角來(lái)改變視窗的大小,然後松開(kāi)按鈕:

位置:視窗左上角的位置依你壓下中按鈕時(shí)游標(biāo)的位置決定,右下 角則根據(jù)你放松按鈕時(shí)決定,壓住按鈕的期間,視窗的邊框 就像橡皮筋般可延展或壓縮。 大小:根據(jù)松開(kāi)按鈕時(shí)的右下角決定。

如果應(yīng)用程式指定了視窗最小的尺寸限制,則橡皮筋邊框被壓縮到比 最小視窗還小時(shí)會(huì)自動(dòng)消失,確保你無(wú)法建立一個(gè)比最小視窗限制還 小的視窗。

注意:如果你讓視窗的面積為零,會(huì)有一些奇怪的情況發(fā)生,例如你在啟 動(dòng)xclock時(shí),碰觸中按鈕,則xclock視窗會(huì)跑到螢?zāi)蛔笊辖牵笮? 為預(yù)設(shè)的大小。

3. 右按鈕:碰觸右按鈕會(huì)使得:

位置:視窗左上角依目前游標(biāo)的位置決定。 大小:視窗的寬度為預(yù)設(shè)的寬度,視窗的高度由游標(biāo)的位置直到螢 幕的底邊,如果大小低於應(yīng)用程式預(yù)設(shè)之最小視窗限制的話, 則用預(yù)設(shè)的高度來(lái)代替。當(dāng)然,這也意味著會(huì)有一部份的視 窗超出螢?zāi)唬詿o(wú)法看到。

6.6.4 更多的有關(guān)於geometry參數(shù)的設(shè)定

關(guān)於geometry參數(shù)的設(shè)定,過(guò)去我們都是用視窗左上角的位置相對(duì)於螢?zāi)? 左上角位置的方式設(shè)定,其實(shí),我們可以用視窗的任何一個(gè)角來(lái)決定視窗位置 ,先復(fù)習(xí)一下geometry的設(shè)定方式:

width x height <xpos> <ypos> 寬度 x 高度 <x位置><y位置>

<xpos> 決定了視窗水平的座標(biāo),可用下列方式表示:

+offset :表示視窗的左邊位於距離螢?zāi)蛔筮卭ffset個(gè)像素的位置。 -offset :表示視窗的右邊位於距離螢?zāi)挥疫卭ffset個(gè)像素的位置。

<ypos> 決定了視窗垂直的座標(biāo),同樣地也可用下列方式表示:

+offset :表示視窗的上邊位於距離螢?zāi)簧线卭ffset個(gè)像素的位置。 -offset :表示視窗的下邊位於距離螢?zāi)幌逻卭ffset個(gè)像素的位置。

以下有幾個(gè)□例:

100x100+50+60 :這是我們過(guò)去用的方式,視窗的左上角位於距離螢?zāi)? 左邊50個(gè)像素,上邊60個(gè)像素。

100x100-0-0 :視窗的右下角位於螢?zāi)坏挠蚁陆恰?

100x100-80+160 :視窗的右上角位於距離螢?zāi)挥疫?0個(gè)像素,螢?zāi)簧线? 160 個(gè)像素。

100x100+20-40 :視窗的左下角位於距離螢?zāi)蛔筮?0個(gè)像素,螢?zāi)幌逻? 40個(gè)像素。

上述例子的正負(fù)號(hào)代表了視窗的邊和螢?zāi)坏倪叺年P(guān)系,而不是偏移量的正 負(fù)號(hào),事實(shí)上偏移量有它自己的正負(fù)號(hào),例如:

100x100+600+-50 :視窗位於螢?zāi)坏闹猩戏剑乙暣暗纳习氩砍鑫災(zāi)弧?

100x100--50-+20 :視窗位於螢?zāi)坏挠蚁陆牵乙暣暗南逻吘辔災(zāi)?0個(gè)像 素,視窗的右半部超出螢?zāi)弧?

6.7 管理你的螢?zāi)豢臻g

現(xiàn)在你可以啟動(dòng)許多的應(yīng)用程式,建立許多的視窗,這些視窗很可能會(huì)互 相重疊,但是你有三種方法可以用來(lái)管理你的視窗,使你更方便地存取它們:

. 把視窗縮小,利用前述的 'Resize' 選項(xiàng)。

. 把視窗 '堆疊(stack)'起來(lái),你現(xiàn)在需要的視窗擺到堆疊最上層,其它 的放在比較下層,你可以用選單上的 'Raise' 'Lower' 'CircUp' 和 'CircDown'來(lái)改變堆疊次序。

. 把視窗換成非常小的視窗,稱為 '表徵圖(icons)',因此所占的螢?zāi)豢? 間極小,但只要需要你隨時(shí)可還原它們,你可以利用選單上的'NewIconify' 和'AutoIconify' 選項(xiàng)來(lái)辦到。

6.7.1 變動(dòng)堆疊中視窗的次序

視窗在螢?zāi)簧希腿缤募谀阕烂嫔希梢曰ハ嘀丿B,( 如圖6 - 9)

┌——————————————┐ │ │ │ p69 fig 6.10 │ │ │ │ │ │ │ │圖6 - 9 相互重疊的視窗 │ └——————————————┘

為了讓你容易獲得你想要的視窗,uwm 允許你:

. 將一個(gè)視窗移到堆疊最上層,不管它現(xiàn)在在堆疊的哪個(gè)位置。

. 將一個(gè)視窗移到堆疊最下層,不管它現(xiàn)在在堆疊的哪個(gè)位置。

. 循環(huán)堆疊,將所有在堆疊中的視窗移動(dòng)一層,將最後一層的視窗移到 堆疊另一端開(kāi)頭,你可以向上或向下循環(huán)。

1. 將一個(gè)視窗移到堆疊最上層 -- Raise

Raise 選項(xiàng)將一個(gè)視窗移到堆疊最上層,所以這個(gè)視窗應(yīng)該變成全部 可見(jiàn),你可以Raise 任何視窗而不管它目前在堆疊何處。Raise 一個(gè) 視窗的步驟:

1). 從選單中選取 'Raise'選項(xiàng),游標(biāo)變成手指狀。 2). 將游標(biāo)移到你想要Raise 的視窗上。 3). 碰觸任意一個(gè)滑鼠按鈕,視窗保持在原來(lái)的位置,但那些原來(lái)被 其它的視窗遮住的部份均會(huì)重現(xiàn),其它的視窗則被蓋在下面。

2. 將一個(gè)視窗移到堆疊最下層 -- Lower.

Lower 選項(xiàng)可將一個(gè)視窗移到堆疊的最下層,你可以Lower 任何視窗 而不管它目前在堆疊何處。Lower 一個(gè)視窗的步驟:

1). 從選單中選取 'Lower'選項(xiàng),游標(biāo)變成手指狀。 2). 將游標(biāo)移到你想要Lower 的視窗上。 3). 碰觸任意一個(gè)滑鼠按鈕,視窗保持在原來(lái)的位置,其它原來(lái)被它 遮住的視窗會(huì)顯現(xiàn)出來(lái),而它本身的部份則被這些視窗遮住。

3. 循環(huán)堆疊 -- CircUp和CircDown

CircUp和CircDown選項(xiàng)用來(lái)旋轉(zhuǎn)堆疊內(nèi)的視窗,所差別的只是它的 '方向' 而已。循環(huán)向下(circulate down)的步驟為:

從選單中選取'CircDown'選項(xiàng),所有在螢?zāi)簧系囊暣拔恢镁蛔儯? 但原來(lái)在最上層的視窗被移至最下層,所有原來(lái)被它遮住的視窗 現(xiàn)在變成遮住它。

CircUp和上述成對(duì)比,它把原來(lái)最下層的視窗移至最上層,遮住那些 原來(lái)遮住它的視窗。

6.7.2 表徵圖化一個(gè)視窗

雖然你可以靠著Raise 或Lower 變動(dòng)視窗的順序,但有時(shí)視窗實(shí)在太多了, 為了給你自己更多的螢?zāi)豢臻g,你可以將那些目前不需要的視窗 '表徵圖化' (iconify) 。 '表徵圖化' 的意義是把應(yīng)用視窗換成一個(gè)非常小的視窗後擺在 一邊,直到再度需要用它們?yōu)橹埂S行?yīng)用程式擁有它們特別的 '表徵圖' , 但是大部份都是讓視窗管理器去建一個(gè),uwm 的預(yù)設(shè)表徵圖是一個(gè)把應(yīng)用程式 名稱擺在中間的灰色長(zhǎng)方形。正常的xterm 的表徵圖見(jiàn)圖6 - 10

┌———————————————┐ │ │ │ p71 fig 6.14 │ │ │ │ │ │ │ │圖6 - 10 正常的xterm 的表徵圖 │ └———————————————┘

共有兩種方法可以表徵圖化一個(gè)視窗,第一種特別適合尚未表徵圖化的視 窗,第二種適合曾經(jīng)表徵圖化的視窗。

1. 表徵圖化一個(gè)新視窗 -- NewIconify

1). 從選單上選取'NewIconify'選項(xiàng),出現(xiàn) '手指狀'游標(biāo)。 2). 將游標(biāo)移到需要表徵圖化的視窗。 3). 按下滑鼠任意鈕,保持按住狀態(tài),游標(biāo)變成 '十字箭頭' 形,且 出現(xiàn)一個(gè)小九宮格,這個(gè)九宮格代表未來(lái)的表徵圖。 4). 保持按住按鈕,將九宮格拖拽至你想要的位置。 5). 松開(kāi)按鈕,九宮格會(huì)被表徵圖取代,原來(lái)的視窗消失。

因?yàn)镹ewIconify讓你選擇表徵圖的位置,所以它適合新的視窗;當(dāng)然對(duì)任 何應(yīng)用視窗均可使用,特別是你想改變表徵圖位置的時(shí)候。

2. 表徵圖化一個(gè) '舊' 的視窗 -- AutoIconify

AutoIconify 會(huì)將表徵圖放在上一次出現(xiàn)的位置,如果這個(gè)視窗未曾表 徵圖化過(guò),則放在游標(biāo)所在的位置。

1). 從選單上選取'AutoIconify'選項(xiàng),出現(xiàn) '手指狀'游標(biāo)。 2). 將游標(biāo)移到需要表徵圖化的視窗。 3). 碰觸任何按鈕,原來(lái)的視窗消失,表徵圖出現(xiàn)在上一次出現(xiàn)的位 置,若這個(gè)視窗是第一次表徵圖化,則表徵圖出現(xiàn)在目前游標(biāo)所 在的位置。

移動(dòng)一個(gè)表徵圖

一個(gè)表徵圖就像一個(gè)視窗,因此你可以利用'Move'選項(xiàng),像移動(dòng)視窗一樣 移動(dòng)表徵圖。

6.7.3 解除表徵圖化 -- 將表徵圖還原成一個(gè)視窗

將表徵圖還原成一個(gè)正常的視窗,它的步驟和表徵圖化類似,甚至在選單 上,使用相同的選項(xiàng),換句話說(shuō),'AutoIconify' 和'NewIconify'這兩個(gè)選項(xiàng), 如果是在視窗的狀況下選擇,會(huì)變成表徵圖,反之如果是表徵圖,則會(huì)變成視 窗。

對(duì)於位置的處理也是同理可推,使用 'AutoIconify'時(shí),當(dāng)你在表徵圖上 碰觸按鈕,原來(lái)的視窗會(huì)在原來(lái)的位置出現(xiàn)。如果用'NewIconify'選項(xiàng),按住 按鈕則會(huì)出現(xiàn)和原視窗大小相同的九宮格,你可以拖拽九宮格至你要擺放視窗 的位置,松開(kāi)按鈕則在選定的位置上出現(xiàn)原來(lái)的視窗。

6.8 中止應(yīng)用程式視窗

uwm 選單有一個(gè)選項(xiàng)讓你殺掉一個(gè)應(yīng)用程式視窗,當(dāng)你決定不再需要或是 想要去掉一個(gè)視窗時(shí),殺掉的步驟如下:

1. 從選單上選取'KillWindow'選項(xiàng),游標(biāo)變成 '手指狀' 。

2. 將游標(biāo)移到你想要去除的視窗上。

3. 碰觸一下滑鼠任何按鈕,視窗消失,內(nèi)含的應(yīng)用程式隨之中止執(zhí) 行。

當(dāng)視窗消失後,你可以在原來(lái)下命令的xterm 視窗看到和前一章使用xkill 後類似的訊息。

注意 1:如果你殺掉最原始的xterm 視窗,xinit 會(huì)查覺(jué)到并關(guān)閉server( 與 前一章相同)。

注意 2:如果你殺掉一個(gè)表徵圖視窗,這樣做會(huì)中止視窗管理器,所有的小圖 形都會(huì)還原成視窗,這是合理的行為,因?yàn)橹挥幸暣肮芾砥鞑拍軗碛? 表徵圖視窗。

6.9 叫用uwm 選單的其它方式

截至目前為止,我們叫用uwm 選單唯一的方法就是將游標(biāo)移到螢?zāi)坏谋尘? 上且按住滑鼠的中按鈕,但是如果一個(gè)應(yīng)用視窗占用了整個(gè)螢?zāi)唬窃撛觞N辦? 你會(huì)因?yàn)檎也坏轿災(zāi)槐尘岸鵁o(wú)法叫用選單,以致什麼事都不能做嗎?

答案很簡(jiǎn)單,有另外的辦法叫用選單:

1. 同時(shí)按下META和SHIFT 鍵,保持按住。

2. 按住滑鼠的中按鈕,uwm 選單即可出現(xiàn) (你可以現(xiàn)在或稍後放開(kāi)META 和SHIFT鍵)。

3. 像前幾節(jié)的方法一樣選擇選項(xiàng)。

選單的操作方法和以前一樣,只有一點(diǎn)不同:如果你把游標(biāo)移出選單的邊 ,選單不僅是消失而已,一個(gè)標(biāo)頭為Preferences(喜好) 的選單出現(xiàn)了,你可 以利用這個(gè)選單來(lái)設(shè)定一些參數(shù)。例如鍵盤被按時(shí)會(huì)不會(huì)有聲音(keyclick), 喇叭的音量等等。如果你并不需要設(shè)定,將游標(biāo)移出選單,或者碰觸滑鼠的任 一按鈕即可離開(kāi)選單。

6.10 摘要

在本章,你學(xué)會(huì)如何啟動(dòng)和使用uwm 視窗管理器:利用uwm 的選單,你可 以新建一個(gè)應(yīng)用視窗、移動(dòng)視窗和重定一個(gè)視窗的大小、將視窗轉(zhuǎn)成表徵圖或 還原、殺掉一個(gè)clIEnt應(yīng)用視窗,這些功能已涵蓋了大部份的應(yīng)用需求。

uwm 只是許多視窗管理器中的一個(gè)而已,你可以換一個(gè)別的來(lái)使用。MIT core 版沒(méi)有提供其它的視窗管理器,但是contrib 版則包含了好幾個(gè)由第三 集團(tuán)所提供的視窗管理器,幾乎使得MIT 版的視窗管理器成為半荒廢的狀態(tài), 所以你可以選擇各種不同形式的介面程式,甚至對(duì)我們前數(shù)章所提的介面程式, 一個(gè)也不用。

有二個(gè)視窗管理器特別值得一提:

twn 是一個(gè)在應(yīng)用視窗上方有標(biāo)題棒(title bar) 的視窗管理器,藉著碰 觸或拖拽標(biāo)題棒的一部份來(lái)管理視窗,介面的方式非常類似Apple 公司Macintoch 電腦,一個(gè)twn 的控制棒如圖6 - 11。

┌———————————————┐ │ │ │ p74 fig 6.15 │ │ │ │ │ │ │ │圖6 - 11 一個(gè)由twn 視窗管理器 │ │所建立含有控制棒的視窗 │ └———————————————┘

rtl 是一個(gè)絕不讓視窗彼此重疊的視窗管理器,它會(huì)讓一個(gè)視窗盡量占住 最多的螢?zāi)豢臻g;稍後,如果你擴(kuò)張一個(gè)視窗,它會(huì)壓縮鄰近的視窗以挪出空 間。典型的rtl 畫面如圖6 - 12。

┌——————————————┐ │ │ │ p75 fig 6.16 │ │ │ │ │ │圖6 - 12 由 rtl視窗管理器 │ │ 控制的螢?zāi)?│ └——————————————┘

如果有需要,你可以使用時(shí)將視窗管理器半途切換到另一個(gè)視窗管理器, 也就是殺掉一個(gè),啟動(dòng)另一個(gè),以下的步驟可當(dāng)作一個(gè)練習(xí):建立數(shù)個(gè)視窗, 將它們表徵圖化,利用前章所述PS和kill命令殺掉uwm ,或者利用uwm 選單中 的'Exit'選項(xiàng)也可以,你會(huì)發(fā)現(xiàn)所有的表徵圖都消失且還原成應(yīng)用視窗,但你 目前全然無(wú)法控制;如果你再啟動(dòng)uwm ,你又可以管理它們了,但是你必須將 那些應(yīng)用視窗重新表徵圖化才會(huì)變成表徵圖。如果你想要換用其它的視窗管理 器程式,同樣地,你可以在殺掉前一個(gè)視窗管理器後啟動(dòng)它。

在以後的章節(jié),我們會(huì)更深入的討論uwm ,告訴你那些在本章中未曾討論 的選項(xiàng)功用,我們也會(huì)告訴你如何利用uwm 而不叫用它的選單,更快更方便地 直接管理視窗。

視窗管理器只決定管理介面,另一半的使用者介面為應(yīng)用介面 -- 如何和 應(yīng)用程式交談和利用滑鼠或鍵盤控制它們。在第8章我們會(huì)以xterm 為例,看 到許多它的應(yīng)用介面的面貌。但在這之前,我們先岔開(kāi)來(lái)討論X的網(wǎng)路能力, 以便你能盡快用到大部份的系統(tǒng)功能。

標(biāo)簽: Windows系統(tǒng)
主站蜘蛛池模板: 美女黄色免费看 | 欧美性色网 | 国产三级日本三级日产三 | 国产一区二区免费不卡在线播放 | 国产精品偷伦费观看 | 免费日韩一级片 | 性欧美一级毛片 | 亚洲不卡影院 | 国产亚洲一区二区精品 | 91国在线啪精品一区 | 欧美在线一级va免费观看 | 欧美一级片a | 67194成人在线观看 | 可以免费看黄的网址 | 成人a毛片免费全部播放 | www.av视频在线 | 亚洲国产天堂久久精品网 | 久久99精品国产免费观看 | 午夜伦y4480影院中文字幕 | 日韩中文字幕在线观看视频 | 国产高清晰在线播放 | 久久超级碰 | 久久国产精品久久精品国产 | 久视频免费精品6 | 99国内精品 | 在线观看国产日韩 | 欧美成人a大片 | 亚洲精品国产经典一区二区 | 黄网在线观看免费 | 最新欧美精品一区二区三区 | 国产精品免费精品自在线观看 | 欧美成人吃奶高清视频 | 成人午夜大片免费看爽爽爽 | 波多野结衣中文在线 | 美女拍拍拍爽爽爽爽爽爽 | 亚洲精品一区二区四季 | 国产一区二区免费在线观看 | 一级成人a毛片免费播放 | 久久五月女厕所一区二区 | 久久成人亚洲 | 欧美精品 日韩 |