Archive for พฤศจิกายน 1st, 2007
เพิ่ม menu ให้กับ menu popup บน ubuntu
หน้า desktop ของ ubuntu นั้นถูกควบคุมด้วยโปรแกรม nautilus เมื่อเราคลิ๊กขวาจะเห็น menu popup ขึ้นมา
ถ้าลงปกติก็จะเห็นว่ามันมีเมนู
![]()
ต่อไปผมจะทำการเพิ่ม menu ลงไปอีกอันคือ Display Setting ซึ่งผมจะให้มันเรียกโปรแกรม displayconfig-gtk ซึ่งเป็นโปรแกรมในการ ตั้งค่าต่างๆของ จอ เริ่มแรกก็ทำการโหลด source code ของ nautilus มาก่อนด้วยคำสั่ง
sudo apt-get source nautilus
แล้วก็ทำการโหลด เครื่องมือที่จำเป็นในการ build ผ่านทางคำสั่ง
sudo apt-get build-dep nautilus
แล้วก็เข้าไปแก้โค้ดที่ nautilus-2.20.0/src/file-manager/fm-desktop-icon-view.c
โดยจะทำการเพิ่มโค้ดฟังก์ชัน ที่จะเป็น callback โดยจะถูกเรียกใช้งานเมื่อเมนูถูกคลิ๊ก ดังนี้
static void
action_display_setting_callback (GtkAction *action,
gpointer data)
{
g_assert (FM_DIRECTORY_VIEW (data));
nautilus_launch_application_from_command (gtk_widget_get_screen (GTK_WIDGET (data)),
_(“Display Setting”),
“gksudo displayconfig-gtk”,
NULL,
FALSE);
}
จากนั้นให้ทำการเพิ่ง ข้อมูลลงไปใน อาเรย์ desktop_view_entries ดังนี้
/* name, stock id */
{ “Display Setting”, NULL,
/* label, accelerator */
N_(“Display Setting”), NULL,
/* tooltip */
N_(“Setting a display properties”),
G_CALLBACK (action_display_setting_callback) },
เสร็จแล้วก็เซฟไฟล์นี้
ต่อไปจะไปแก้ที่ไฟล์ nautilus-2.20.0/src/file-manager/nautilus-desktop-icon-view-ui.xml
โดยเพิ่ม tag ต่อไปนี้ลงไปใน tag <popup name=”background”>
<placeholder name=“After Zoom Items”>
<placeholder name=“Display Items”>
<menuitem name=“Display Setting” action=“Display Setting”/>
</placeholder>
</placeholder>
แล้วก็ เซฟไฟล์ แล้วแล้วก็ทำการ
./configure
make
sudo make install
ตามลำดับ ก็จะได้ nautilus อันใหม่ที่มี menu popup บน desktop ที่มี menu ใหม่เพิ่มขึ้นมาดังรูป
2 comments พฤศจิกายน 1, 2007