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

您的位置:首頁技術文章
文章詳情頁

X Window 系統使用指南--資訊與狀態程式

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

第12章 資訊與狀態程式 第參部 定制系統

第12章 資訊與狀態程式

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

這些程式有下列用途:

.當你使用系統時,這些工具程式所提供有關系統內部組織和操作的資訊, 可以幫助你了解發生了什麼事。

.當你要做某種處理時,可以藉著所給的資訊來確認系統的組件。(例如 你必須知道一個視窗的window-id,才可以用xwd 來傾印它。)

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

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

xdpyinfo列出有關你的Xserver和server所控制螢幕之各種項目的資訊, 一個典型的輸出見圖12-1(一個server在Sun 3/50單色工作站上執行的結果)。

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

12.2 獲取有關視窗的資訊

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

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

2. 對單一視窗詳細的資訊 -- xwininfo

3. 列出視窗的性質 -- xprop

12.2.1 列印視窗的階層 -- xlswins

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

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

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

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

圖12-2c 這是xlswins 更詳細的輸出,比上一個例子需要在命令列中多加 一個 -l 的選項,多出來的訊息為巢狀的深度(第幾層樹)、相對於父視窗的 幾何座標和大小、和視窗左上角距離根視窗的座標(也就是螢幕上的絕對座標) ,有了這些視窗的座標,你就能了解它們在螢幕上的位置,如果你還是搞不太 清楚,可以執行xwd ,指定xlswins 所輸出的window-id ,在本圖,我們發覺 視窗(0X60005d)是高而窄的,所以可能是一個卷動棒。我們可以試著用命令:

xwd -id 0x60005d | xwud

結果的確 xman 卷動棒的圖形出現了,這個命令我們在9.2.1 節有提過(只不 過這一次我們不把輸出送到檔案,而利用導管 (pipe) 的技巧直接當成另一程 式的輸入。)你可以用這種方法分析任何視窗。

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

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

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

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

12.2.2 關於單一視窗的詳細資訊 -- xwininfo

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

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

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

.交談式(預設):開始時,xwininfo給你一個十字線游標,你可以將 它移到你所需的視窗再碰觸滑鼠按鈕。

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

你所看到的資訊可分為以下幾類:

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

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

幾何細節:視窗的大小和位置,以及它的四個角的位置。

和server有關的重建構參數:像”gravity ”和”backing store ”這 些狀態(state) ,當視窗改變大小或從被遮蓋的狀態下重新顯 露出來時,server需要用到這些參數,這些參數你自己不會用到, 但可藉它了解系統如何運作。

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

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

12.2.3 列出視窗的性質 -- xprop

如同我們在系統概觀所提及的,一個”性質”(property)是指一小段有關 視窗的資料,xprop 讓你列出一個特定視窗的所有”性質”,你也可以列印 一個字型的性質。

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

顯示出來的格式為:對每一個性質,均有一個性質名稱,在其後用小括弧 括住的為性質的型態或格式,最後則為性質的值。大部份你所看到的性質型態 為STRING,性質的值用” ”括起來,其它的性質型態的格式是專屬的,從 性質的值很容易了解它的意義,對字型顯示的格式稍有不同,它沒有性質型態, 但性質的值意義也很明顯。

注意:xprop 的輸出相當的復雜,我們并不需要了解其所有的內容,端視需要而 定。

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

應用視窗的性質

圖12-4為xprop 對一個應用視窗的輸出,有些資訊你已經在xwininfo中看 到過,在此處你可以在名為WM_NORMAL_HINTS 和WM_HINTS的性質中看到。

┌——————————————————┐ │ p140 fig 12.4 │ │ │ │ 圖12-4 一個應用視窗的性質表列 │ └——————————————————┘

其它的性質如下:

WM_COMMAND:執行啟動這個應用程式的命令列,被切成一個個用雙引號括起來的 單字。

WM_CLIENT_MacHINE :執行這個client應用程式的機器名稱(這個例子應用程 式和server在同一部機器上執行,所以機器名稱為venus 。)。

WM_CLASS:顯示應用程式的instant name和class name,instant name是命令 列中-name 選項的值。

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

WM_NAME :很奇怪的,這不是應用程式的名稱,而是由-title選項指定的視窗 標題名稱,有些視窗管理器會把標題名稱顯示在應用視窗的標題 棒上。

注意:上述命令列中-name 和-title兩個選項使用得很廣,但它并非通用 (universal) 的選項,應用程式在撰寫時必需要使用到X Toolkit(工 具箱)才能把這兩個選項當成標準選項來用。(參見第15章)

根視窗的性質

圖12-5是xprop 對根視窗的輸出,顯而易見的是,它不會含有任何視窗管 理器的性質,因為視窗管理器絕不可能重新建構根視窗。

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

有趣的選項如下:

RESOURCE_MANAGER:這個根視窗性質是resource結構的輸入源之一,我們將在 第11章詳細地討論它。

幾個CUT_BUFFER:當你切取一段本文(做剪貼動作常用),這段被切取的本文 被放在一個切取緩沖器(cut buffer)中,這些緩沖器被當作是根 視窗的性質來儲存,對於切取,緩沖器是循環使用的,例如上次 用5 號緩沖器,則下次用6 號,接下來7 號、0 號、1 號等等, 但是黏貼則一定使用上次切取動作所用的緩沖器。

字型性質

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

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

12.3 觀察X的事件 -- xev

”事件”或多或少驅動著整個視窗系統,所有的輸入,不論是滑鼠或鍵盤, 均由”事件”來掌握,”事件”也被用來驅動視窗的重新建構和展現。xev 程 式讓你看到當不同的動作發生時,會產生什麼”事件”,以及和”事件”有關 的資訊。

當xev 啟動,它會建一個類似圖12-7的視窗,而在這視窗中,會開始列出 類似圖12-8的有關事件的細節部份。

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

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

由於 xev提供大量的系統內部操作細節,你如果想要”實驗”系統,這是一個 很有用的程式,有兩個說明手冊上未提到的選項可以影響到xev 的行為:

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

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

12.3.1 xev 和鍵盤

如果你將指標移入xev 視窗且按下你的鍵盤上的某一個鍵,則一個(或多 個)鍵盤”事件”會發生,”事件”的資訊包含了keycode 和keysym,這是最 容易觀察你的機器上某一個鍵是什麼鍵碼(keycode) 的方法:執行xev ,按一 個鍵,xev 便會給你資訊,這對定制你的鍵盤非常有用,見18章。

12.4 結論

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

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

標簽: Windows系統
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产精品久久777777毛茸茸| 播放一区二区| 亚洲精品极品少妇16p| 国产一区二区三区四区二区| 日韩激情视频网站| 日韩高清一级| 国产调教一区二区三区| 国产精品亚洲产品| 国产精品一国产精品| 国产日韩免费| 国产欧美日韩亚洲一区二区三区| 日韩av有码| 国产精品大片免费观看| 国产精品**亚洲精品| 日本亚洲不卡| 国产日韩欧美一区二区三区 | 在线 亚洲欧美在线综合一区| 欧美sm一区| 国产毛片精品| 国产激情精品一区二区三区| 麻豆精品在线观看| 日韩成人精品一区| 日韩精品欧美激情一区二区| 中国字幕a在线看韩国电影| 日韩电影免费在线观看| 亚洲成人精品| 日韩在线观看一区二区| 日韩av资源网| 久久精品日韩欧美| 国产综合色区在线观看| 亚洲精品午夜av福利久久蜜桃| 欧美日本不卡高清| 日韩国产欧美三级| 国产精品久久久久久久久久白浆| 亚洲午夜视频| 国产精品普通话对白| 亚洲精品一二| 国产精品三级| 久久精品色播| 一区二区三区视频免费观看| 视频一区二区不卡| 国产高清日韩| 久久精品国产www456c0m| 蜜臀a∨国产成人精品| 国产伦精品一区二区三区视频| 99精品电影| 亚洲二区三区不卡| 日韩精品亚洲专区在线观看| 久久精品毛片| 亚洲免费激情| 欧美日一区二区| 亚洲精品在线a| 电影91久久久| 成人av二区| 日本成人在线一区| 国产欧美一区二区三区精品酒店| 国产精品视频一区二区三区 | 日韩大片免费观看| 欧美精品一二| 涩涩涩久久久成人精品| 水蜜桃精品av一区二区| 亚洲免费毛片| 在线一区视频观看| 日本午夜精品久久久久| 99热精品久久| 国产精品极品国产中出| 亚洲激情二区| 国产一区二区三区四区| 亚洲欧美网站在线观看| 日韩欧美一区二区三区在线观看| 日韩中文字幕高清在线观看| 性色一区二区| 久久精品二区亚洲w码 | 亚州国产精品| 国产粉嫩在线观看| 日韩一区网站| 99久久夜色精品国产亚洲狼| 国产精品一卡| 美女久久一区| 九九色在线视频| 国产精品白丝久久av网站| 欧美一区二区三区激情视频| 国产精品亚洲片在线播放| 模特精品在线| 999久久久国产精品| 精品三级国产| 亚洲制服一区| 欧美午夜精彩| 中文在线а√天堂| 国产精品久久久久9999高清| 只有精品亚洲| 婷婷亚洲五月| 欧美日韩免费观看视频| 久久精品色播| 国产精品一区三区在线观看| 中文字幕av一区二区三区人| 亚洲福利国产| 日本在线高清| 精品视频97| 国产午夜一区| 日韩精选在线| 日韩精品一级二级| 99久久精品费精品国产| 成人亚洲精品| 中文字幕一区二区三区四区久久 | 国产精品普通话对白| 欧美激情福利| 97久久中文字幕| 亚洲乱码一区| 蜜桃久久av一区| 亚洲一区欧美激情| 九一成人免费视频| 日韩欧美另类一区二区| 精品国产欧美日韩| 精品一区二区三区四区五区| 日本午夜精品久久久久| 亚洲欧美日本国产| 综合亚洲色图| 中文字幕一区二区精品区| 久久国产精品毛片| 日韩午夜av| 在线亚洲观看| 亚洲综合另类| 手机精品视频在线观看| 国产午夜久久| 久久福利精品| 热久久久久久久| 香蕉久久夜色精品国产| 日韩午夜黄色| 亚洲专区视频| 日韩激情一区二区| 国产日韩在线观看视频| 国产欧美日韩视频在线| 美日韩一区二区三区| 久久影院资源站| 视频在线不卡免费观看| se01亚洲视频| 亚洲第一精品影视| 亚洲黄页一区| 婷婷综合成人| 日本在线观看不卡视频| 欧美片网站免费| 国产精品亚洲人成在99www | 亚洲综合电影| 国产精品99视频| 欧美成人精品三级网站| 亚洲国产综合在线看不卡| 在线一区视频| 日韩精品a在线观看91| 国产乱人伦丫前精品视频| 免费视频一区二区三区在线观看 | 日韩在线卡一卡二| 亚洲色图国产| 国产精品xxx| 国产激情综合| 一区二区三区四区日本视频| 久久五月天小说| 中文字幕日本一区| 久久成人av| 欧洲一级精品| 三级欧美韩日大片在线看| 日本不卡中文字幕| 成人在线免费观看网站| 欧美午夜精彩| 四虎精品一区二区免费| 国产精品高清一区二区| www.com.cn成人| 亚洲欧美日韩国产一区二区| 欧美日一区二区三区在线观看国产免 | 免费日韩精品中文字幕视频在线| 美女久久99| 中文字幕在线视频网站| 黄色欧美日韩| 国产欧美日韩| 久久久久久久久久久9不雅视频| 久久久久久亚洲精品美女| 老牛影视精品| 亚洲我射av| 国产一区二区三区探花| 国产一区二区高清| 久久影院一区二区三区| 久久九九精品| 免费人成精品欧美精品| 欧美黄页在线免费观看| 五月天综合网站| 国产精品国产三级在线观看| 欧美一区二区三区激情视频 | 久久久精品日韩| 国产免费成人| 久久99精品久久久野外观看| 美女网站一区| 国产亚洲字幕| 在线日韩中文| 日韩av黄色在线| 亚洲a在线视频| 日韩av午夜在线观看| 一区二区三区视频免费观看| 国产亚洲高清一区| 国产午夜久久| 日韩免费在线|