2009/08/28

Sharp 發表 ARM netbook - NetWalker

Sharp 發表 ARM netbook - NetWalker, 採用 Freescale solution, 而且作業系統看起來是 Canonical 的 Ubuntu!

main

規格如下:

仕様一覧 | NetWalker:シャープ

AppCentre 正式命名為 Ubuntu Software Store

也是在 Phoronix 上看到的新聞,不過看起來還不夠優阿…我看要到 10.04 才堪用吧。

詳見新聞:Canonical Unveils The Ubuntu Software Store

Ubuntu 9.10 新開機程序 - xsplash

今天早上起來看到 Ubuntu 新的開機程序 xsplash。我怎麼覺得開機好像又要變慢了 = =



新聞請見 Ubuntu 9.10 Gets A New Splash Screen, Not Plymouth

2009/08/24

Ubuntu 的 App Store -- AppCentre (codename)

剛剛 digg 上看到了這則新聞,去查了一下,Ubuntu wiki 上已經有設計草稿
1.0-available-category
取自 Ubuntu Wiki

上網搜尋一下,有更完整的使用者介面展示:
appcenter
取自 Ubuntu AppStore in the workings?

看起來 9.10 應該會 release, 10.04 會取代 gdebi, software-properties, synaptic, 讚。

2009/08/19

關於 glib signal 的 callback 參數

當你自訂了一個信號時,會需要定義 callback 的參數為何。平常寫 GTK+ 時的 callback function 通常長這樣:
gboolean callback (GtkWidget *widget, GdkEvent *event, gpointer data);
所以我剛開始實作完 signal 之後,我還以為所有 callback 都長這樣 XD,但其實不是的,callback 的參數為何,其實是看 g_signal_new 時傳入的 marshaller 為何。關於 gobject marshaller 的部份可以參考 olv 長輩的《gobject 的 marshaller》。而我是直接使用 glib 給的 marshaller。我用的是 g_cclosure_marshal_VOID__VOID,而查詢 API 手冊後可得知他的 callback 參數為
void (*callback) (gpointer instance, gpointer user_data)
所以調用的的時候傳入這種參數即可,不需要 GdkEvent,因為有 GdkEvent 參數是 gtk 自行定義的 marshaller。

2009/08/14

Ubuntu 9.10 變更 acpi hotkey 存取方式

今天在研究 Ubuntu 9.10 時,發現了 Ubuntu 9.10 對 acpi hotkey 存取的部份使用不同的方式存取。

Screenshot-Hotkeys-Architecture - Ubuntu Wiki - Google 瀏覽器

這樣的架構看起來,以後掛上 hal-addon-acpi 後就可以直接從 hal 獲得 acpi hotkey 的訊息,而不需要像以前一樣存取 /proc/acpi/event 或 acpid 的 socket。另外我想 9.10 之後就會改用 DeviceKit 取代原本的 hal 吧?

參考資料:

2009/08/13

在 GtkEventBox 使用背景圖片

沒想到在網頁程式裏面這麼簡單的事情,在 GTK 上弄還真麻煩 :P

如果想在 GTK 的元件中使用自己的背景圖時,主要的方法有兩種
  1. 用 expose_event 繪製
  2. 至換元件的 style
我自己使用第一個方法時有點詭異,如果在 Container 加入其他元件時,這些子元件都無法正確顯示。所以就用了第2種方法。


參考資料
參考資料都是用 PHP,我是參考他的方法用 C 重新實現

2009/08/12

Google Chrome Browser 整合 window manager title bar...

今天早上,突然發現我的 google chrome browser 的 window title 被整合進去了!

Google Chrome 整合 window title

這個在 Windows 版本上剛開始就有的功能,終於也在 Linux 版本上面提供。這樣在閱讀上省了一些空間 :P

版本是 3.0.197.11。

2009/08/04

GObject 產生器

好久沒 Post 了 XD

今天寫了個 GObject 產生器,後來無聊一查才知道早就有人寫了 囧
真是白費工夫…不過還是丟出來,寫都寫了…。

[使用方式]
./gobjgen

接下來會問 namespace, class name 跟 parent object,格式都統一用 dash "-" 來區分,比如說我想要一個 LazyscriptsController,就在 class name 的地方輸入 lazyscripts-controller。所以如果你要繼承自 GObject,就必須鍵入 g-object。

回答完 namespace, class name & parent object 後,你可以決定需不需要一個 main function 作為測試。全部完成後就會有兩個像 lazyscripts-controller.h, lazyscripts-controller.c 這樣的檔案,如果剛剛有選 main function for test,就可以直接編譯來看看可不可以用。

gcc -g -Wall `pkg-config --libs --cflags glib-2.0 gobject-2.0` example-namespace-lazyscripts-controller.c

理論上應該是可以用的 XD


[源碼]
放在 bitbucket 上,用以下指令下載源碼:

hg clone http://bitbucket.org/yurenju/gobjgen/

[其他相關]