Re: [問題] skype 2.0.0.72-0medibuntu1
好吧~自己回一下自己的問題吧。
反正目前查完的結果是,想達到skype ap的single instance,
應該是只能用skype自己提供的API來達成,其它的xlib之類的都會被攔掉。
skype API目前只實作了dbus版本,xlib版本還在進行中。
1.送 NAME test
2.送 PROTOCOL
3.送 FOCUS 即可,就會看到縮到system tray的skype ap 彈回桌面。
只是以上僅限於已經有登號登錄的skype ap。
就是如果只開一個skype ap 但不登入任何帳號的話,
在步驟一就會得到DISCONNECT的訊息,無法再由步驟二建立通訊。
reference: https://developer.skype.com/Docs/ApiDoc
※ 引述《bombilla (地板別打我!>"<)》之銘言:
: 各位好,
: 我的問題是,有什麼方法可以【只執行一個skype application】。
: 就是single skype instance。不管我點幾次圖示去執行skype application,
: 都最多只會一個skype application的存在,不會再執行第二個skype。
: 步驟:
: 1.點skype圖示啟動一個skype。
: 2.再點skype圖示,這時候它總是會跳出另一個skype。
: 但我不要有第二個skype跳出來,這時候我希望的動作是把先前的skype show
: 回到桌面上。
: 就像MSN那樣,同一時間只會有一個MSN的存在,儘管使用者再去開始功能表裡頭
: 點了MSN的圖示,系統也只是把原先已執行的MSN叫回到top level而已,而不會再
: 執行第二個MSN。
: 我試過以下的方式:
: 1.用libwnck去聽window open signal,然後紀錄下skype的xid,
: 然後企圖在執行第二個skype時用之前存下的xid把之前的skype叫回來,
: 但是問題是如果我是按叉叉把skype縮到system tray的話,
: libwnck會認為skype已經關掉了!!
: 所以企圖執行第二個skype的話就會成功了!!
: 2. 我用xid去找到GdkWindow, 然後再用gdk_window_deiconfy ()試圖叫回來,
: 但這時候只會叫回類似skype畫面的東西…感覺得出來是skype的畫面,
: 但只是一半的畫面…還是不能work!!
: 3. 我用xlib的API傳送了一個"_NET_ACTIVE_WINDOW"的client message過去,
: 但還是沒用,吐回來的都是沒有錯誤。
: 我原本想說既然叫不回來,那就保証按到叉叉時不會縮到系統列,但是…
: 如果我去點系統列的小圖示的時候,libwnck也會接到close window的event!!
: 這樣我就不能用kill pid了!
: 想請問我還有什麼方向可以嘗試的嗎??
: 感謝各位的觀看~~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.217.145.112
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
LinuxDev 近期熱門文章
PTT數位生活區 即時熱門文章