日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

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

X Window 系統(tǒng)使用指南--資訊與狀態(tài)程式

瀏覽:8日期:2024-02-01 17:34:07

第12章 資訊與狀態(tài)程式 第參部 定制系統(tǒng)

第12章 資訊與狀態(tài)程式

在本章,我們將討論一些提供視窗系統(tǒng)本身資訊和目前狀態(tài)的程式。 這包括了檢查系統(tǒng)上視窗各種性質(zhì) (property) 的工具,和一個(gè)觀察X 事件結(jié)構(gòu)是如何工作的程式。

這些程式有下列用途:

.當(dāng)你使用系統(tǒng)時(shí),這些工具程式所提供有關(guān)系統(tǒng)內(nèi)部組織和操作的資訊, 可以幫助你了解發(fā)生了什麼事。

.當(dāng)你要做某種處理時(shí),可以藉著所給的資訊來(lái)確認(rèn)系統(tǒng)的組件。(例如 你必須知道一個(gè)視窗的window-id,才可以用xwd 來(lái)傾印它。)

.你將經(jīng)常把從這些工具獲得的資訊,當(dāng)成定制系統(tǒng)工具程式的輸入(稍 後幾章會(huì)討論)。

12.1 列出你的Xserver的特徵 -- xdpyinfo

xdpyinfo列出有關(guān)你的Xserver和server所控制螢?zāi)恢鞣N項(xiàng)目的資訊, 一個(gè)典型的輸出見(jiàn)圖12-1(一個(gè)server在Sun 3/50單色工作站上執(zhí)行的結(jié)果)。

┌———————————————————┐ │ p134 fig 12.1 │ │ │ │ 圖12-1 典型的xdpyinfo工具程式的輸出 │ └———————————————————┘

12.2 獲取有關(guān)視窗的資訊

有三個(gè)程式可以提供目前在你顯示器上視窗的資訊。它們是從不同的角度 看系統(tǒng):

1. 列印視窗的階層 -- xlswins

2. 對(duì)單一視窗詳細(xì)的資訊 -- xwininfo

3. 列出視窗的性質(zhì) -- xprop

12.2.1 列印視窗的階層 -- xlswins

在第一部曾經(jīng)提過(guò),所有在系統(tǒng)上的視窗被安排成樹(shù)狀的階層,根視窗 (也叫背景(background)視窗)在最上層,在其下才是應(yīng)用視窗,每一個(gè)應(yīng)用 視窗可以擁有它自己的子視窗階層。

xlswins 列印出這個(gè)樹(shù)狀結(jié)構(gòu),從根視窗或所指定的視窗起至其下所有的 樹(shù)狀結(jié)構(gòu),對(duì)每一個(gè)視窗,xlswins 列出視窗的window-id 并用括弧括住它的 名稱(chēng)(如果有的話),子視窗則在下面的幾行依序以縮入(indent)兩格的方式 列出。下面的圖對(duì)xman應(yīng)用程式列出三個(gè)不同子樹(shù)的輸出,藉以展示xlswins 如何剖析系統(tǒng)的結(jié)構(gòu)。

圖12-2a 是xman主選單的樹(shù)。你可以看到在應(yīng)用視窗(0X600011)中含有另一 個(gè)視窗(0X600012),而(0X600012)又包含了四個(gè)視窗,不需要知道原始程式, 你也可以猜得到是一種視窗包含著視窗,而對(duì)子視窗做某種管理的情況。

圖12-2b 是xman手冊(cè)頁(yè)(manpage) 視窗的樹(shù)。比上一個(gè)例子復(fù)雜一些,而且 也無(wú)法在確定是否在這一頁(yè)手冊(cè)頁(yè)中總共就只有這麼多視窗和子視窗。所以 ...

圖12-2c 這是xlswins 更詳細(xì)的輸出,比上一個(gè)例子需要在命令列中多加 一個(gè) -l 的選項(xiàng),多出來(lái)的訊息為巢狀的深度(第幾層樹(shù))、相對(duì)於父視窗的 幾何座標(biāo)和大小、和視窗左上角距離根視窗的座標(biāo)(也就是螢?zāi)簧系慕^對(duì)座標(biāo)) ,有了這些視窗的座標(biāo),你就能了解它們?cè)谖災(zāi)簧系奈恢茫绻氵€是搞不太 清楚,可以執(zhí)行xwd ,指定xlswins 所輸出的window-id ,在本圖,我們發(fā)覺(jué) 視窗(0X60005d)是高而窄的,所以可能是一個(gè)卷動(dòng)棒。我們可以試著用命令:

xwd -id 0x60005d | xwud

結(jié)果的確 xman 卷動(dòng)棒的圖形出現(xiàn)了,這個(gè)命令我們?cè)?.2.1 節(jié)有提過(guò)(只不 過(guò)這一次我們不把輸出送到檔案,而利用導(dǎo)管 (pipe) 的技巧直接當(dāng)成另一程 式的輸入。)你可以用這種方法分析任何視窗。

┌——————————————————┐ │ p136 fig 12.2 │ │ │ │ 圖12-2 三個(gè)xlswins 的輸出 │ └——————————————————┘

注意:并非所有的視窗都可列印出資訊,如果你碰到這種無(wú)資訊可供列印視窗 ,你將獲得類(lèi)似下面的訊息:

x Protocol error: BadMatch, invalid parameter attributes Major opcode of failed request: 73 (X_GetImage)

為了篇幅的關(guān)系,我們只列出了完整xlswins 輸出的三個(gè)小部份。如果在 你自己已經(jīng)有好幾個(gè)應(yīng)用程式的系統(tǒng)上,你將可以看到uwm 和xterm 選單所相 關(guān)的子樹(shù),或者是與 xmh和 xedit 的命令按鈕相關(guān)的子樹(shù)。

12.2.2 關(guān)於單一視窗的詳細(xì)資訊 -- xwininfo

xwininfo能夠針對(duì)特定的視窗給你大量的資訊,你可以藉著命令列的選項(xiàng) 告訴xwininfo你要哪一部份的資訊。圖12-3包含完整的列印輸出(用選項(xiàng)-all)

┌——————————————————┐ │ p138 fig 12.3 │ │ │ │ 圖12-3 典型的xwininfo輸出 │ └——————————————————┘

你可以用和xwd 相同的方法來(lái)指定你感興趣的視窗:

.交談式(預(yù)設(shè)):開(kāi)始時(shí),xwininfo給你一個(gè)十字線游標(biāo),你可以將 它移到你所需的視窗再碰觸滑鼠按鈕。

.使用命令列選項(xiàng):你可以用選項(xiàng)-root 指定根視窗,或用選項(xiàng)-id window-id 指定其它的視窗。

你所看到的資訊可分為以下幾類(lèi):

視窗的window-id :window-id 是視窗系統(tǒng)識(shí)別每一個(gè)視窗的參考,就如 同先前所看到的,幾個(gè)程式(包含xwininfo它本身)給你一個(gè)數(shù)字代 表window-id 。例如你要傾印一個(gè)視窗,你可以先執(zhí)行xwininfo得到 它的window-id,然後將此window-id 做為xwd 的id選項(xiàng)之引數(shù)。

階層的資訊:你可以看到這個(gè)視窗的父視窗的id,幾個(gè)子視窗的id,以及 根視窗的id,在xlswins 中可得到相同的資訊,但在這里只能得到最 近一層子視窗的id,并非整個(gè)子樹(shù)。

幾何細(xì)節(jié):視窗的大小和位置,以及它的四個(gè)角的位置。

和server有關(guān)的重建構(gòu)參數(shù):像”gravity ”和”backing store ”這 些狀態(tài)(state) ,當(dāng)視窗改變大小或從被遮蓋的狀態(tài)下重新顯 露出來(lái)時(shí),server需要用到這些參數(shù),這些參數(shù)你自己不會(huì)用到, 但可藉它了解系統(tǒng)如何運(yùn)作。

事件參數(shù):這些參數(shù)也是給server而非給使用者用的。

視窗管理器資訊:在系統(tǒng)概觀中,我們?cè)?jīng)提過(guò)應(yīng)用程式藉著給視窗管理 器一些提示”hints ”來(lái)達(dá)成通訊(這些提示包括應(yīng)用程式所希望視 窗的大小,以及重定大小時(shí)的限制等。),xwininfo在這個(gè)部份的輸 出便是告訴你這些”提示”的資料。Program supplIEd location 為 應(yīng)用程式建議它自己應(yīng)該擺哪里。如果你曾給過(guò)位置,不論是在命令 列或resource file ,都會(huì)在 User supplied location 出現(xiàn),在視 窗大小方面同理可推,resize increments 解釋了為什麼有些視窗( 例如xterm 和xfd )不能把大小定為任意數(shù)目的像素,因?yàn)閼?yīng)用程式 已經(jīng)告訴了視窗管理器在重定大小時(shí)按多少個(gè)像素的倍數(shù)放大或縮小 (xterm 和xfd 它們的大小和所使用的字型有關(guān)),你也可以由這個(gè) 參數(shù)知道目前視窗的位置,所以稍後你可以在同一位置上重建它。

12.2.3 列出視窗的性質(zhì) -- xprop

如同我們?cè)谙到y(tǒng)概觀所提及的,一個(gè)”性質(zhì)”(property)是指一小段有關(guān) 視窗的資料,xprop 讓你列出一個(gè)特定視窗的所有”性質(zhì)”,你也可以列印 一個(gè)字型的性質(zhì)。

你可以經(jīng)由常用的方式來(lái)選擇視窗(碰觸滑鼠按鈕或使用-root 或-id 選項(xiàng)) ,如果是指定字型,則用選項(xiàng)-font fontname。

顯示出來(lái)的格式為:對(duì)每一個(gè)性質(zhì),均有一個(gè)性質(zhì)名稱(chēng),在其後用小括弧 括住的為性質(zhì)的型態(tài)或格式,最後則為性質(zhì)的值。大部份你所看到的性質(zhì)型態(tài) 為STRING,性質(zhì)的值用” ”括起來(lái),其它的性質(zhì)型態(tài)的格式是專(zhuān)屬的,從 性質(zhì)的值很容易了解它的意義,對(duì)字型顯示的格式稍有不同,它沒(méi)有性質(zhì)型態(tài), 但性質(zhì)的值意義也很明顯。

注意:xprop 的輸出相當(dāng)?shù)膹?fù)雜,我們并不需要了解其所有的內(nèi)容,端視需要而 定。

以下讓我們看看從應(yīng)用視窗、根視窗、字型所獲得不同的輸出:

應(yīng)用視窗的性質(zhì)

圖12-4為xprop 對(duì)一個(gè)應(yīng)用視窗的輸出,有些資訊你已經(jīng)在xwininfo中看 到過(guò),在此處你可以在名為WM_NORMAL_HINTS 和WM_HINTS的性質(zhì)中看到。

┌——————————————————┐ │ p140 fig 12.4 │ │ │ │ 圖12-4 一個(gè)應(yīng)用視窗的性質(zhì)表列 │ └——————————————————┘

其它的性質(zhì)如下:

WM_COMMAND:執(zhí)行啟動(dòng)這個(gè)應(yīng)用程式的命令列,被切成一個(gè)個(gè)用雙引號(hào)括起來(lái)的 單字。

WM_CLIENT_MacHINE :執(zhí)行這個(gè)client應(yīng)用程式的機(jī)器名稱(chēng)(這個(gè)例子應(yīng)用程 式和server在同一部機(jī)器上執(zhí)行,所以機(jī)器名稱(chēng)為venus 。)。

WM_CLASS:顯示應(yīng)用程式的instant name和class name,instant name是命令 列中-name 選項(xiàng)的值。

WM_ICON_NAME:應(yīng)用程式的表徵圖所要顯示出來(lái)的名稱(chēng)(你的視窗管理器必須 能夠支援方可)。

WM_NAME :很奇怪的,這不是應(yīng)用程式的名稱(chēng),而是由-title選項(xiàng)指定的視窗 標(biāo)題名稱(chēng),有些視窗管理器會(huì)把標(biāo)題名稱(chēng)顯示在應(yīng)用視窗的標(biāo)題 棒上。

注意:上述命令列中-name 和-title兩個(gè)選項(xiàng)使用得很廣,但它并非通用 (universal) 的選項(xiàng),應(yīng)用程式在撰寫(xiě)時(shí)必需要使用到X Toolkit(工 具箱)才能把這兩個(gè)選項(xiàng)當(dāng)成標(biāo)準(zhǔn)選項(xiàng)來(lái)用。(參見(jiàn)第15章)

根視窗的性質(zhì)

圖12-5是xprop 對(duì)根視窗的輸出,顯而易見(jiàn)的是,它不會(huì)含有任何視窗管 理器的性質(zhì),因?yàn)橐暣肮芾砥鹘^不可能重新建構(gòu)根視窗。

┌——————————————————┐ │ p141 fig 12.5 │ │ │ │ 圖12-5 根視窗的性質(zhì)表列 │ └——————————————————┘

有趣的選項(xiàng)如下:

RESOURCE_MANAGER:這個(gè)根視窗性質(zhì)是resource結(jié)構(gòu)的輸入源之一,我們將在 第11章詳細(xì)地討論它。

幾個(gè)CUT_BUFFER:當(dāng)你切取一段本文(做剪貼動(dòng)作常用),這段被切取的本文 被放在一個(gè)切取緩沖器(cut buffer)中,這些緩沖器被當(dāng)作是根 視窗的性質(zhì)來(lái)儲(chǔ)存,對(duì)於切取,緩沖器是循環(huán)使用的,例如上次 用5 號(hào)緩沖器,則下次用6 號(hào),接下來(lái)7 號(hào)、0 號(hào)、1 號(hào)等等, 但是黏貼則一定使用上次切取動(dòng)作所用的緩沖器。

字型性質(zhì)

圖12-6列出當(dāng)我們指定*times*bold*-i-*-180-*的字型性質(zhì),大部份的資 訊我們都不需關(guān)心,你可能只對(duì)FULL_NAME 和POINT_SIZE有興趣。

┌——————————————————┐ │ p142 fig 12.6 │ │ │ │ 圖12-6 字型的性質(zhì)表列 │ └——————————————————┘

12.3 觀察X的事件 -- xev

”事件”或多或少驅(qū)動(dòng)著整個(gè)視窗系統(tǒng),所有的輸入,不論是滑鼠或鍵盤(pán), 均由”事件”來(lái)掌握,”事件”也被用來(lái)驅(qū)動(dòng)視窗的重新建構(gòu)和展現(xiàn)。xev 程 式讓你看到當(dāng)不同的動(dòng)作發(fā)生時(shí),會(huì)產(chǎn)生什麼”事件”,以及和”事件”有關(guān) 的資訊。

當(dāng)xev 啟動(dòng),它會(huì)建一個(gè)類(lèi)似圖12-7的視窗,而在這視窗中,會(huì)開(kāi)始列出 類(lèi)似圖12-8的有關(guān)事件的細(xì)節(jié)部份。

┌——————————————————┐ │ p143 fig 12.7 │ │ │ │ 圖12-7 xev 視窗 │ └——————————————————┘

┌——————————————————┐ │ p143 fig 12.8 │ │ │ │ 圖12-8 xev 的輸出 │ └——————————————————┘

由於 xev提供大量的系統(tǒng)內(nèi)部操作細(xì)節(jié),你如果想要”實(shí)驗(yàn)”系統(tǒng),這是一個(gè) 很有用的程式,有兩個(gè)說(shuō)明手冊(cè)上未提到的選項(xiàng)可以影響到xev 的行為:

-bs option:此選項(xiàng)改變xev 對(duì)server是否使用backing store (見(jiàn)第2章), 使用backing store 將減少曝光”事件”的次數(shù)(也就是減少應(yīng) 用程式重新更新它自己視窗的次數(shù)),正確的選項(xiàng)內(nèi)容為always, whenmapped和notuseful 。

-s:使用save-unders (見(jiàn)第2章),也就是說(shuō),要求server保存那些被xev 的視窗遮蓋之視窗的內(nèi)容。

12.3.1 xev 和鍵盤(pán)

如果你將指標(biāo)移入xev 視窗且按下你的鍵盤(pán)上的某一個(gè)鍵,則一個(gè)(或多 個(gè))鍵盤(pán)”事件”會(huì)發(fā)生,”事件”的資訊包含了keycode 和keysym,這是最 容易觀察你的機(jī)器上某一個(gè)鍵是什麼鍵碼(keycode) 的方法:執(zhí)行xev ,按一 個(gè)鍵,xev 便會(huì)給你資訊,這對(duì)定制你的鍵盤(pán)非常有用,見(jiàn)18章。

12.4 結(jié)論

本章所述的這些程式,讓你觀察系統(tǒng)的內(nèi)部;獲得它的操作細(xì)節(jié);和它的 視窗及其它成員特定的資訊.對(duì)這些程式本身而言,它們能幫助你了解系統(tǒng), 但它們最大的用途可能是用來(lái)連接那些定制系統(tǒng)的程式。以下的幾章在說(shuō)明如 何定制和設(shè)定你的系統(tǒng),好讓系統(tǒng)更適合你工作的習(xí)慣。

下一章討論處理字型和顏色,及如何使用它們。

標(biāo)簽: Windows系統(tǒng)
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产精品一页| 亚洲精品在线观看91| 国产亚洲精品v| 久久久久久夜| 另类中文字幕国产精品| 五月精品视频| 日韩三区四区| 麻豆视频一区二区| 999久久久91| 日韩在线播放一区二区| 欧美天堂一区二区| 国产成人免费av一区二区午夜| 成人片免费看| 久久亚洲风情| 国产精品xxx| 久久久久午夜电影| 亚洲一区欧美| 精品一区91| 日韩精品网站| 亚洲精品日韩久久| 日韩不卡一区| 免费在线观看成人| 美腿丝袜亚洲一区| 欧美日韩免费观看一区=区三区 | 日韩高清不卡在线| 欧美aa在线视频| 99成人超碰| 最新亚洲国产| sm久久捆绑调教精品一区| 亚洲成人免费| 国产精品99精品一区二区三区∴| 欧美好骚综合网| 欧美一区=区| 九九99久久精品在免费线bt| 日韩视频精品在线观看| 国产一区 二区| 久久男女视频| 欧美天堂一区| 亚洲少妇在线| 九九久久国产| 中文字幕一区二区av| 黄毛片在线观看| 日韩和欧美的一区| 91久久久精品国产| 久久久久久色| 亚洲91视频| 日韩精品第二页| 波多视频一区| 日韩高清一区二区| 国产99精品一区| 久久99精品久久久野外观看| 性色av一区二区怡红| 亚洲女同av| 国产精品成人国产| 亚洲啊v在线免费视频| 精品欧美久久| 新版的欧美在线视频| 国产精品一卡| 亚洲69av| 亚洲综合丁香| 韩国三级一区| 精品视频一区二区三区四区五区| 蜜桃视频在线观看一区二区| 亚洲成av在线| 国产成人免费视频网站视频社区| 日韩avvvv在线播放| 丝袜美腿亚洲一区二区图片| 久久精品123| 伊人久久在线| 国产一区二区三区天码| 欧美日韩一区二区国产| 免费在线观看日韩欧美| 狠狠爱成人网| 欧美综合另类| 性感美女一区二区在线观看| 精品高清久久| 久久精品国产成人一区二区三区| 中文字幕av一区二区三区人| 日韩视频在线一区二区三区 | 麻豆成人av在线| 97精品久久| 亚洲欧美日本国产 | 免费看精品久久片| 国产亚洲永久域名| 在线亚洲免费| 在线亚洲欧美| 日韩视频久久| 夜久久久久久| 亚洲精品97| 狠狠操综合网| 欧美午夜不卡| 日韩制服丝袜av| 免费精品视频在线| 日本aⅴ亚洲精品中文乱码| 综合激情在线| 中文字幕亚洲影视| 亚洲欧美一级| 国产剧情在线观看一区| 国产乱码精品一区二区三区四区| 国产欧美日韩精品一区二区免费| 欧美日韩午夜电影网| 欧美综合社区国产| 国产日韩欧美一区在线| 91成人精品观看| 日韩不卡免费视频| 国产精品jk白丝蜜臀av小说| 国产精品毛片aⅴ一区二区三区| 97久久精品| 美女视频黄免费的久久| 国产精品yjizz视频网| 国产99在线| 麻豆精品蜜桃| 久久电影一区| 欧美日韩a区| 国产成人久久| 亚洲国产日韩欧美在线| 亚洲精品激情| 麻豆91小视频| 亚洲人成在线网站| 免费久久精品| 日韩精品亚洲专区| 精品中文字幕一区二区三区| 久久裸体视频| 日韩1区2区3区| 国产一区丝袜| 狠狠色综合网| 国产探花一区| 久久精品观看| 日韩一区二区三区四区五区| 国产精品亚洲综合色区韩国 | 精品久久精品| 欧美日韩国产一区精品一区| 丝袜美腿一区二区三区| 久久99精品久久久久久园产越南 | 日韩午夜精品| 国产精品多人| 日韩成人亚洲| 亚洲日本国产| 国产一区二区三区不卡视频网站 | 精品国产欧美| 国产精品腿扒开做爽爽爽挤奶网站| 日韩av网站在线免费观看| 欧美日韩在线观看首页| 亚洲最新av| 日韩理论视频| 日韩欧美中文在线观看| 麻豆91精品视频| 免费日韩精品中文字幕视频在线| 国产精品久久久久久模特 | 久久三级福利| 久久国产生活片100| 欧美粗暴jizz性欧美20| 国产欧美亚洲精品a| 99视频精品全国免费| 日韩av电影一区| 国产一区日韩一区| 国产精品xxx| 蜜臀va亚洲va欧美va天堂| 精品少妇一区| 亚洲精选av| 色综合www| 国产一区 二区| 亚洲综合日韩| 亚洲黄色免费av| 欧美久久久网站| 久久aⅴ国产紧身牛仔裤| 久久久久久色| 亚洲深夜福利| 久久久久国产精品一区三寸| 欧美国产另类| 日韩不卡在线观看日韩不卡视频| 欧美精品自拍| 久久精品亚洲人成影院 | 国产亚洲在线观看| 久久久精品久久久久久96 | 男女男精品视频网| 亚洲小说欧美另类婷婷| 久久中文字幕一区二区| 日日夜夜免费精品| 国产农村妇女精品一二区| 日韩欧美精品| 国产va免费精品观看精品视频| 视频一区日韩精品| 亚洲激情二区| 欧美一区二区性| 久久久久久黄| 日韩中文首页| 国产aa精品| 麻豆极品一区二区三区| 欧美一区久久| 日韩精品亚洲aⅴ在线影院| 视频在线观看国产精品| 国产伊人精品| 99精品在线免费在线观看| 日韩精品91| 亚洲性色av| 久久青草久久| 国产伦久视频在线观看| 日韩成人a**站| 91亚洲一区|