[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[Update] xcin-2.5.2-pre5



各位好:

有興趣的朋友請試試這一版:

ftp://xcin.linux.org.tw/pub/xcin/xcin/devel/xcin-2.5.2-pre5.tar.gz
ftp://xcin.linux.org.tw/pub/xcin/xcin/patch/2.5.2-pre4_2.5.2-pre5.diff.gz

這一版有一些 OverTheSpot 外觀上的改變,其實只是將積欠了很久的功能
寫出來而已。大家可以看看這兩個 screen shot:

http://xcin.linux.org.tw/xcin-2.5/overspot1.png
http://xcin.linux.org.tw/xcin-2.5/overspot2.png

相對應地, xcinrc 中的選項也有了更動:

1. OVERSPOT_DRAW_AREA3 與 OVERSPOT_DRAW_LCCH 刪除,以後這兩項永遠都是
   開啟的。

2. 新增 OVERSPOT_USE_USRFONTSET 與 OVERSPOT_FONTSET,其中前者可以指定
   OverTheSpot 視窗所用的字型,後者可以設定是否直接使用前者所指定的字
   型。預設是不使用。由於在某些情況下, XIM client 可能不會提供可用的
   fontset 給 OverTheSpot 視窗,故 OverTheSpot 就會用 OVERSPOT_FONTSET
   所指定的 fontset 來畫字,否則的話就用 client 所提供的。如果您希望
   OverTheSpot 永遠使用 OVERSPOT_FONTSET 的字型的話,您就要將
   OVERSPOT_USE_USRFONTSET 開啟。

3. 新增 START_MAINWIN2 以及 MAINWIN2_GEOMETRY 選項。請注意,這目前仍需
   要時間考驗,因此預設是關閉的。您若發現使用上有任何問題,請立即回報。

   這是什麼玩意兒?簡單地說, xcin 主視窗有雙胞兄弟了。各位在第一個 
   screen shot 見到是原來的主視窗,如果打開 START_MAINWIN2 後,另一個
   較小的主視窗就會啟動,直接取代原來那個大的,也就是各位在第二個 screen
   shot 中見到的情況。而原來那個大的則只有在遇到使用 Root input style
   的 client 時才會啟動。

   很多人認為原來的大視窗很礙眼,特別是在 OverTheSpot 的情況,故才有這
   樣的設計。有興趣的朋友不妨試試。若您希望改變預設小視窗的大小位置時,
   可以改變 MAINWIN2_GEOMETRY 的值。

除此之外,還有許多看不見的改變及 bug 修正,就不多說了,有興趣的朋友請自
行看看 Change log。

希望這一版可以是最後的功能敲定了。接下來需要完成的工作有:

1. gen_inp pinyin.cin (Big5) review

2. 繼續補齊 doc

3. 加入 man page

4. Update po & Big5 translation


Change log:
=======================================================================
xcin-2.5.2-pre5:  2000/08/25
------------------------------
1. IM module change: add a terminate() function all.

2. Add signal catch: SIGTERM, SIGQUIT, SIGINT.

3. XCIN termination now change to the following processes:
   1. Call xim_close(), turn on XCIN_RUN_EXIT flag, and check if currently
      there is an IC on focus:

      if yes: Send XIM Sync signal to the client, and waits for the reply.
      if no:  turn on XCIN_RUN_EXITALL flag.

   2. If XCIN_RUN_EXIT on, turn off any XIM action (do nothing but only
      return True), but loop continuous, untill the reply for the Sync
      signal from the client to xim_sync_reply_handler(). Then call
      IMCloseIM() and turn on XCIN_RUN_EXITALL flag.

   3. If XCIN_RUN_EXITALL on, stop the loop and terminate the XIM engine
      and all the IM modules. Then exits.

4. Mozilla M16 work-around: 
   a. xim_IC.c: ignore get_ic_value & set_ic_value for null name/value. 
      Also modify the set_ic_value: XNFontSet part.

   b. Fix bug in gui_overspot.c fontset updating part.

   c. Add get_ic_value(): XNPreeditState handler.

   Thanks to "Huei_ru, Chen (Cathy Chen)" <cathy@mitux.tatung.com.tw>
             Yung-Fong Tang <ftang@netscape.com>
             Masaki Katakai <Masaki.Katakai@Japan.Sun.COM>
             <CyberMax.bbs@openbazaar.net>

5. Fix bug in call_switch_out(): When IM_2BYTES on & switch between clients,
   the IM_2BYTES state of xcin window cannot update.

6. IMdkit, i18nPtHdr.c: add include config.h.

7. Remove xcin_mode flag: XCIN_RUN_FIRSTIM. Use static variable to indecate
   the "first call" of that function in Change_IM() & ic_create().

   Add IC_FOCUS check in xim_set_focus_handler() & xim_unset_focus_handler()
   Thanks to Chuang Ming-Che <r8921131@ms1.cc.ntu.edu.tw>

8. Fix bug in gen_inp: fillpage(): inpinfo->mcch_pgstate assignment.

9. Fix bug in IMdkit: During the operation of xcin and the XIM clients, the 
   X-Atoms generated by xcin will continuously increase. Now using the garbage
   collection mechanism IMdkit will reuse the free connect_id and the 
   "_server%d_%d" X-Atoms will not increase indefinitely.
   Thanks to Cheng, Yuan Chen <ycheng@sinica.edu.tw>.

10. Documentation updation.

11. Remove big5/cantonese.cin & gb/zhiranma.cin & gb/biaoxingma.cin tables 
    because of potentially license problem.
    Thanks to Anthony Fok <foka@debian.org>, zhaoway <zw@zhaoway.com>, 
              hashao <hashao@china.com>, Ben Luo <benluo@etang.com>

12. Add fontset resource management functions.

13. OverTheSpot improvement: 
    a. Add OVERSPOT_USE_USRFONTSET and OVERSPOT_FONTSET options in xcinrc, 
       such that the user can specify the fontset of overspot window.
       Thanks to suggestion of zhaoway <zw@zhaoway.com>.
    b. Remove OVERSPOT_DRAW_AREA3 and OVERSPOT_DRAW_LCCH options. They will 
       always be enabled.
    c. Change the drawing for lcch to "lcch [preedit keystroke]" style.
       Thanks to suggestion of KIRIN <kirin@ms7.url.com.tw>.
    d. Add draw_lcch_grouping function.

14. a, Merge the functional of WIN_CHANGE_IM_CONTEXT & WIN_CHANGE_IM, and add
       new flag WIN_CHANGE_REDRAW, and simplify the updation of gui_mainwin.
    b. Also, to work around the problem of IC focus change of Mozilla, the
       xim_set_focus_handler() & xim_unset_focus_handler will always set
       WIN_CHANGE_REDRAW flag. The side effect is when the clients are in 
       English mode, changing the input focus will always result the redrawing
       of xcin main window.

15. Add xcin_mainwin2, and if it is enabled, it will replace the original
    xcin_mainwin to take care all the operations, and xcin_mainwin will only
    be active in Root input style in this situation.

16. In trigger key handler, it will set xccore->ic and xccore->ic->ic_state
    IC_FOCUS will enabled. Then the focus window checking in ic_create() can
    be removed (it is useless).



T.H.Hsieh



Reply to: