荒木です:-)
Subject: [Mlterm-dev-ja] cut&paste from mlterm to kterm
From: Hironori Sakamoto <hs...@mt...>
Message-ID: <200...@ud...>
Date: Mon, 28 Jan 2002 15:01:14 +0900 (JST)
> mlterm (LANG=ja_JP.EUC, encoding=EUC-JP) から
> kterm (LANG=ja_JP.EUC, encoding=EUC-JP) へ cut&paste すると、
> ISO-2022-JP で paste されてしまうのですが、
> 現バージョンの仕様なんでしょうか?
添付のパッチで直ると思います。
そういえば、大昔も同じ罠に嵌って、添付のパッチのような対処をしたような
記憶がありますが、その後、XA_STRING atom にしか対応していないアプリケー
ションとの copy&paste に対応して云々といったことをしたときに、バグを埋め
こんでしまったようです _o_
# kterm は、TEXT atom => XA_STRING atom の順でセレクション要求を出して、
# COMPOUND_TEXT atom では要求してくれないんですが、一方、この戻りが
# COMPOUND_TEXT atom でなければ、CTEXT として処理してくれないんですよね。
# TEXT atom って特殊な意味があるんでしょうか ?
では
--
kiken
j00...@ip...
Index: ml_window.c
===================================================================
RCS file: /home/ken/cvsroot/mlterm/src/ml_window.c,v
retrieving revision 1.220
diff -u -r1.220 ml_window.c
--- ml_window.c 2002/01/27 03:28:14 1.220
+++ ml_window.c 2002/01/28 06:48:02
@@ -2619,14 +2619,27 @@
}
else if( event->type == SelectionRequest)
{
- if( event->xselectionrequest.target == XA_STRING ||
- event->xselectionrequest.target == xa_text ||
+ if( event->xselectionrequest.target == XA_STRING)
+ {
+ if( win->xct_selection_requested)
+ {
+ (*win->xct_selection_requested)( win , &event->xselectionrequest ,
+ event->xselectionrequest.target) ;
+ }
+ }
+ else if( event->xselectionrequest.target == xa_text ||
event->xselectionrequest.target == xa_compound_text)
{
if( win->xct_selection_requested)
{
+ /*
+ * kterm requests selection with "TEXT" atom , but
+ * wants it to be sent back with "COMPOUND_TEXT" atom.
+ * why ?
+ */
+
(*win->xct_selection_requested)( win , &event->xselectionrequest ,
- event->xselectionrequest.target) ;
+ xa_compound_text) ;
}
}
else if( event->xselectionrequest.target == xa_utf8_string)
|