首先要先讀取哪些選項要顯示的
讀取
~/.config/menus/applications.menu
/etc/xdg/menus/applications.menu (一定會存在)
在/usr/share/desktop-directories/目錄中
可找到對應的.directory
即可得到對應選單的資訊
然後檢查/usr/share/applications
這目錄下的.desktop
就能得到所有的application的資訊
而icon大部份會存在
/usr/share/icons/
/usr/share/pixmaps/
這些目錄中
其他資訊參考這篇
http://library.gnome.org/admin/system-admin-guide/2.30/menustructure-0
2009年2月23日 星期一
[引用]OpenSync藍芽同步
來源: ChinaUnix博客 日期: 2008.07.06 21:39
http://blog.chinaunix.net/u2/72995/showart_1074534.html
誰再說Linux易用我要抽他了...
1,開啟手機藍牙
2,找到藍牙MAC和SyncMLClient的Chanel
hcitool scan
找到手機的藍牙位址,然後運行
sdptool browser
在結果中找到SyncMLClient一段:
Service Name: SyncMLClient
Service RecHandle: 0x10023
Service Class ID List:
UUID 128: 00000002-0000-1000-8000-0002ee000002
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 10
"OBEX" (0x0008)
Language Base Attr List:
code_ISO639: 0x454e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"" (0x00000002-0000-1000-8000-0002ee000002)
Version: 0x0100
注意其中的Channel 10
3,測試:
export MAC=藍牙地址
export CHANNEL=10
syncml-obex-client -b $MAC $CHANNEL --slow-sync text/x-vcard Contacts --wbxml --identifier "PC Suite"
syncml-obex-client -b $MAC $CHANNEL --slow-sync text/x-vcalendar Calendar --wbxml --identifier "PC Suite"
4,使用msynctool和evolution
msynctool --addgroup mysync
msynctool --addmember mysync syncml-obex-client
msynctool --addmember mysync evo2-sync
配置syncml-obex-client
msynctool --configure mysync 1
主要是修改:
填寫你的藍牙MAC
填寫10
在檔最後前面填寫這一段:
Contacts
contact
vcard30
Calendar
event
vevent20
evo2-plugin不需要配置,如果需要配置就用msynctool --configure mysync 2
5,發現syncobj,否則會提示錯誤:
msynctool --discover mysync 1
msynctool --discover mysync 2
6,同步
msynctool --sync
http://blog.chinaunix.net/u2/72995/showart_1074534.html
誰再說Linux易用我要抽他了...
1,開啟手機藍牙
2,找到藍牙MAC和SyncMLClient的Chanel
hcitool scan
找到手機的藍牙位址,然後運行
sdptool browser
在結果中找到SyncMLClient一段:
Service Name: SyncMLClient
Service RecHandle: 0x10023
Service Class ID List:
UUID 128: 00000002-0000-1000-8000-0002ee000002
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 10
"OBEX" (0x0008)
Language Base Attr List:
code_ISO639: 0x454e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"" (0x00000002-0000-1000-8000-0002ee000002)
Version: 0x0100
注意其中的Channel 10
3,測試:
export MAC=藍牙地址
export CHANNEL=10
syncml-obex-client -b $MAC $CHANNEL --slow-sync text/x-vcard Contacts --wbxml --identifier "PC Suite"
syncml-obex-client -b $MAC $CHANNEL --slow-sync text/x-vcalendar Calendar --wbxml --identifier "PC Suite"
4,使用msynctool和evolution
msynctool --addgroup mysync
msynctool --addmember mysync syncml-obex-client
msynctool --addmember mysync evo2-sync
配置syncml-obex-client
msynctool --configure mysync 1
主要是修改:
填寫你的藍牙MAC
填寫10
在檔最後前面填寫這一段:
Contacts
contact
vcard30
Calendar
event
vevent20
evo2-plugin不需要配置,如果需要配置就用msynctool --configure mysync 2
5,發現syncobj,否則會提示錯誤:
msynctool --discover mysync 1
msynctool --discover mysync 2
6,同步
msynctool --sync
2008年6月21日 星期六
[Python]Glade加Python的GUI設計入門
已經有一段時間沒有用Glade和Python寫程式了
為了怕自己忘記...所以還是記錄下來好了
首先在開始之前....要先安裝以下套件
Python....這是一定要的...不然程式不可能會Run
Glade3.... 這在開發階段是必須的...方便視窗的制作...當然還有別的方法可以做...那之後再討論
PyGtk.... 這也是必要的圖形介面的API
然後就是一步一步的開始程式設計
首先開啟Glade3

產生一個Frame

接著產生一個box(hbox或vbox都可以差別在直的排列或橫向排列)
設定切成幾份...這是切三份
然後放入元件...這邊放了一個Label和一個Text加一個hbox
在hbox中再放入兩個button...如此一來畫面就差不多完成了

接下來設定事件
這是完成的畫面...
為了怕自己忘記...所以還是記錄下來好了
首先在開始之前....要先安裝以下套件
Python....這是一定要的...不然程式不可能會Run
Glade3.... 這在開發階段是必須的...方便視窗的制作...當然還有別的方法可以做...那之後再討論
PyGtk.... 這也是必要的圖形介面的API
然後就是一步一步的開始程式設計
首先開啟Glade3

產生一個Frame

接著產生一個box(hbox或vbox都可以差別在直的排列或橫向排列)
設定切成幾份...這是切三份然後放入元件...這邊放了一個Label和一個Text加一個hbox

在hbox中再放入兩個button...如此一來畫面就差不多完成了

接下來設定事件

最後就可以開始程式設計了...
程式碼如下:
#!/bin/python
import gtk.glade
import gtk
import pygtk
class View:
def __init__(self):
#載入glade檔
self.UI = gtk.glade.XML("View.glade")
#載入視窗
self.window = self.UI.get_widget("window1")
#戴入元件
self.btn1 = self.UI.get_widget("eventbox1")
self.btn2 = self.UI.get_widget("eventbox2")
#顯示視窗畫面
self.window.show_all()
#設定事件
dic = {"on_window1_destroy": gtk.main_quit,
"on_btn1_button_press_event":self.on_btn1_button_press_event,
"on_btn2_button_press_event":self.on_btn2_button_press_event
}
#連接事件
self.UI.signal_autoconnect(dic)
#事件的Function
def on_btn1_button_press_event(self,widget,event):
print "hello"
def on_btn2_button_press_event(self,widget,event):
print "world"
#以下為程式進入點
def main():
gtk.main()
if __name__ == "__main__":
tvexample = View()
main()
這是完成的畫面...
訂閱:
文章 (Atom)