| |||||||
| adm | Find | login register | |||||
eliu 您好, 我大概看了程式,就我的理解,修改 gcin.cpp 主程式,再搭配 im-client 的函數,即可做到切換輸入法的開關狀態,甚至指定切換為開啟或關閉狀態。 但要偵測 gcin 是否在中文輸入狀態的話,看起來 `send_gcin_message` 沒有回傳值,我也沒有看到其他可以讀取狀態的函數? 另外其他輸入法或有用到 dbus 當 API 介面,不知道 gcin 有沒有這種功能? 我有粗略做了一版能切換開關狀態的 patch 如附件。 如果您有意願指點一二,或接受相關 patch ,將不勝感激! | |||||||||||
| |||||||||||
| |||||||||||
eliu 您好: 我加了指定切換為啟用或停用的功能,gcin-im-toggle 現在能接受 `-enable` `-disable` `-toggle` 三種參數,沒參數的話預設行為是 toggle 。 這個功能因為 toggle_im_enabled 的邏輯比較複雜,我是直接改寫原本的函數。 本來想改成可選參數,但對 C/C++ 不熟,不知道怎麼改……,就比較粗暴的改了函數的名字,再定義一個和原本用法一樣的。toggle_im_enabled 行為的變化上,我是都直接 return,但我看函數最後有呼叫 save_CS_current_to_temp ,不確定直接 return 會不會有問題(至少我跑了一個小時 gcin 沒有 crush) 然後我看來看去還是不知道怎麼偵測 gcin 目前的狀態 奉上 patch | |||||||||||
| |||||||
| adm | Find | login register | |||||