本文說明在多顯示器併用的場合中,X Window 環境如何得知顯示範圍尺寸、實際啟用的顯示器數量、以及將視窗放置在指定的顯示器。
基本概念
在 X Window 系統中,對於顯示功能定義了幾個專有名詞,分別是 Display , Screen, Monitor, Window 。
它們之間的關係是 Display 包含 Screen ,Screen 包含 Monitor 與 Window 。
Monitor 代表實際的顯示器,Window 則是負責與使用者互動的部件。
在這些專有名詞中,只有 Monitor 和顯示器硬體是一對一關係,其他都是抽象的軟體概念。
每年慣例的 IBM 開發者大會記事,今年台灣場是 8月28日。
活動當天,我有推一些照片。今天想到該整理到部落格上了。
活動主頁見此「Innovate 2012 IBM開發者大會」(當天的活動簡報已經提供下載了)。今年的活動主題是「Next, NOW!」。今年的主角不意外,「Next」就是指「雲端+行動」。
Debian/Ubuntu 系統與 NVIDIA 視訊晶片的視訊加速播放功能。
第一次發布日期: 2010-09-09
最近更新日期: 2012-09-26
適用的 Linux 散佈版本: Debian 6.0 與 Ubuntu 10.04 。
我使用的 NVIDIA 視訊晶片是 GeForce 8600 。
關於薪資問題,有人說「拿出香蕉只請得起猴子」。但我相信批評現在年輕人傲慢自負不願接受兩萬薪水的獅子總裁嚴長壽,絕對不會只付兩萬薪水給他手下表現最好的員工 (參見「年輕人消極待業 嚴長壽:傲慢、自負的態度怎有未來?」)。但是現實中確實也存在著把員工的努力表現視為理所當然,不論員工表現如何就是只付兩萬的老闆。
身為一個日本動畫愛好者,碰到這次的釣魚台事件,自然會有人問我還看不看日本動畫。
和我有相同處境者,也有著被所謂愛國人士質疑其愛國心的狀況。
老實說,這兩者根本不抵觸,我兩個都要。
碰到這種問題,只需要拿出「釣魚台是中國的,蒼井空是世界的」這則標語就足夠了。
這則標語用粗俗點的口氣來說就是「這片漁場是我的,那個女人我也要」。這話覇氣側漏了。
一為食欲,一為性欲。「食色性也」,這兩種欲望並不互相抵觸,我兩個都要不行嗎?
根本沒必要選一邊。
圖片來源: 蘋果動新聞(http://www.youtube.com/watch?v=zatdQ01nSSo)
本來還想批批民族主義、團體主義的。這些人腦子很簡單,分不清各種本質與表象的差異。對於各種事物,他們的認知處理能力只能按照最顯著的標籤做出區分,標籤一樣的扎一堆。不過想想真要講的話實在太多,懶得說了。
gjs 相關的內容實在太散亂了。
一些不足以湊成單獨一篇文章的內容,我就統一放在這裡了。
目前有下列項目:
- ARGV - 取得命令列參數
- imports.gi.versions - 指定 GIRepository 資源版本
- 執行外部程式 - 如果想用 gjs 寫 shell script...
gjs 使用 imports.searchPath 屬性 (型態為陣列) 管理程式庫的資料夾。
因為那是一個陣列,所以用 push() 方法就可以往裡面增加程式庫資料夾。
加入資料夾路徑後,該資料夾與子資料夾內所有的 js 文件都會被載入。
文件名稱將成為 imports 的屬性名稱,而子資料夾階層可視為名稱空間。
我當天邊聽邊推文(#coscup2012),這裡是推文內容的備份,再加上一些後來才想到的內容。
當天議程內容,都有錄影並會放上 COSCUP 2012 網站。有興趣的自行觀看,我這就不談內容了。
幾位LZ既然在此高舉軟體業的旗幟,那就拿個實證給大家看看如何?
賴桑 回應
我沒碰過台灣高鐵哪麼大的案子,賴桑說的那幾個人我全不認識。
我只是個在log上抱怨的小員工,月薪比賴桑還低,別把我抬舉成拿旗子的。
不過賴桑說的事,牽涉到許多台面下的事,而且不是只存在於資訊軟體業。
很久以前,我已忘了是在哪本書看到的事(或許不只一本書)。書中說使用 switch..case.. 的場合,大部份都可以也應該改用查表方式代替。
這句話的意義也含括了一句程式設計領域的名言,即「資料結構 + 演算法 = 程式」。
大多數場合,連續的 switch..case.. 或 if..elseif.. 只是不斷複製類似的程式片段。
這種文章結構,沒有運用資料結構觀念,就連演算法的部份也很粗糙,是很糟糕的程式碼。
而在改用查表方式的重構過程中,規劃資料結構建「表」,並設計「查」的演算法,
就自然而然地實踐了「資料結構 + 演算法 = 程式」這句話,也提高了程式碼的品質。
示範如何在 Python 中使用 GObject event 、Python threading 與 Signal 進行非同步工作。
如果你自己製作了一個 GIRepository 資源,但是它的 typelib 文件沒有放在 GIRepository 預設的搜尋路徑中,那麼你可以用 prepend_search_path()
加入。
本文說明三種 PHP 透過 HTTP POST 方法上傳資料與檔案給 RESTful 服務的方法。
包括上傳 JSON 文件給 RESTful 服務的情形。
以 Debian 6 與 Ubuntu 10.04 / 12.04 為基礎,說明如何訂製 X 視窗環境。
相關內容:
- GDM
- startx
- Xsession
- openvt - no GDM
- OpenBox
以往在 Debian 5 或 Ubuntu 10.04 中,我們使用下列指令所示範的內容,新增系統啟動程式:
# update-rc.d hello defaults NN
其中的 NN 可以指定啟動順序,例如 90 。
但是在 Debian 6 使用此指令時,我們將發現 NN 不作用了。這是因為 Debian 6 現在參考 LSB (Linux Standard Base) 制定的「System Initialization」規範,以啟動指令稿內的 INIT 敘述區塊決定啟動順序,不再理會參數指定的數字。同時,Debian 6 也改用 insserv 指令取代 update-rc.d 。
JavaScript 的下一版規格 ECMAScript6 提出了 Name object 的規範。
這是一種少見的語言功能。
由於這個功能值得玩味,所以我寫了這篇文章。
這是一篇躺在我草稿資料夾深處,差點被我遺忘的文章。不過內容沒有時效性,想了想還是發佈吧。
外籍勞工薪資與基本工資脫鈎(參考新聞: 反對外勞薪資與基本工資脫鉤),外籍配偶造成台灣剩女多(參考新聞: 台湾剩女多,与外配何关? )。
這兩件事在我眼中都是同一件事,就是種族歧視嘛。
上個月到日本賞櫻時,晚上在書店稍微翻看了三浦しをん的『舟を編む』。
這本是日本「2012年本屋大賞」作品,故事主角的工作與興趣是編字典。
這讓我想起日本「2010年本屋大賞」的作品『天地明察』,那部主角的工作是編曆法。
不管是編字典,還是編曆法,在大部份人眼中,都是既枯橾又冗長,還必須長時間專注工作的事。
Debian 6 GNOME 桌面環境預設的音訊模組是 ALSA 。
它在大部份情形下都工作得很好,但是對於有電腦上裝有多張音效卡的使用者來說,不太方便。
以我的情形來說,電腦裝兩張音效卡是很平常的事。所以我有時候會根據我的需求,在播放媒體時切換音訊輸出的裝置。例如我需要指定瀏覽器看 Youtube 時從 A 音效卡輸出聲音,而影片播放程式則從 B 音效卡輸出聲音。
就像我在「使用 PulseAudio 命令列工具切換應用程式使用的音效設備」這篇文章中要做的事。然而 ALSA 在這一點上並不方便。