gaim 마지막글자까지 보내기

happibum의 이미지

아... 지저분한 팁입니다.
gaim에서 return을 치면 ' 엉뚱한키 + return '을 보내서 마지막 글자를
preedit상태에서 벗어나게 하는 방법입니다.
제경우 음소거 버튼이 어디서도 어떤 작용도 하지않기때문에
이놈을 엉뚱한키로 이용했습니다.
아, sawfish 에서 동작합니다.
아래를 ~/.sawfishrc에다 넣으세요.

(defun return-wrapper (w)
  (if (string-match "^Gaim" (window-class w))
      (progn (synthesize-event "XF86AudioMute" w)
	     (synthesize-event "RET" w))
    (synthesize-event "RET" w)))
(bind-keys global-keymap "RET" '(return-wrapper (input-focus)))

깔끔한 방법이 있을거 같은데 아시는 분은 좀 알려주시길...
(질문인지 팁인지.... ㅡ,.ㅡ)

Forums: 
ironiris의 이미지

전 항상 타이핑시 마침표를....
무전기 쓸때 오바~ 하고 말하는 것처럼요.. :)

inhosens의 이미지

제가 원하는 팁이었네요 :D
이전에 사용시에도 오른쪽 화살표 키를 누르고 엔터를 누르는 식으로 썼었습니다.

XF86AudioMute 대신에 Right 를 넣어서 원하는 대로 사용하게 되었네요 :lol:

happibum wrote:
아... 지저분한 팁입니다.
gaim에서 return을 치면 ' 엉뚱한키 + return '을 보내서 마지막 글자를
preedit상태에서 벗어나게 하는 방법입니다.
제경우 음소거 버튼이 어디서도 어떤 작용도 하지않기때문에
이놈을 엉뚱한키로 이용했습니다.
아, sawfish 에서 동작합니다.
아래를 ~/.sawfishrc에다 넣으세요.

(defun return-wrapper (w)
  (if (string-match "^Gaim" (window-class w))
      (progn (synthesize-event "XF86AudioMute" w)
	     (synthesize-event "RET" w))
    (synthesize-event "RET" w)))
(bind-keys global-keymap "RET" '(return-wrapper (input-focus)))

깔끔한 방법이 있을거 같은데 아시는 분은 좀 알려주시길...
(질문인지 팁인지.... ㅡ,.ㅡ)

inhosens의 이미지

켁 근데.. 그렇게 하니까 Eterm에서도 RET이 이상하게 동작하네요 -_-;

이거 뭐가 문제인지 모르겠네요.

magellan의 이미지

0.75버젼 기준으로 src/gtkconv.c 의 365번째 줄

gtkconv = GAIM_GTK_CONVERSATION(conv);

다음에

gtk_im_context_reset(GTK_TEXT_VIEW(gtkconv->entry)->im_context) ;

이거 넣고 컴파일 하면 됩니다.

======
comeng

inhosens의 이미지

0.76 버전에서 해봤는데 잘 되는군요.
send_cb에서 보내기 전에 입력기에 리셋을 한번 때려주는 거 같은데 깔끔하게 해결되는 거 같아 좋아요 :) 감사합니다. 데비안에서 소스 받아서 패키지 다시 만드는 걸 첨해봐서 좀 시간이 걸렸군요. -_-;;

magellan wrote:
0.75버젼 기준으로 src/gtkconv.c 의 365번째 줄

gtkconv = GAIM_GTK_CONVERSATION(conv);

다음에

gtk_im_context_reset(GTK_TEXT_VIEW(gtkconv->entry)->im_context) ;

이거 넣고 컴파일 하면 됩니다.

Prentice의 이미지

Upstream에 패치 보내신 분 아직 안계신가요..? ^^;;

Prentice의 이미지

CVS에 맞게 한줄 패치를 만들어 sourceforge에 등록했습니다. 다음 버젼에서는 고쳐졌으면 좋겠네요.. : )

inhosens의 이미지

L-SN에 보니 정태영님이 enter를 커밋으로 하는 유사한 내용의 CJK패치가 젠투에 있다는 말씀을 하시더군요.

diff -urN gaim-0.75.99-20040318cvs.orig/src/gtkconv.c gaim-0.75.99-20040318cvs/src/gtkconv.c
--- gaim-0.75.99-20040318cvs.orig/src/gtkconv.c 2004-03-16 10:31:48.000000000 -1000
+++ gaim-0.75.99-20040318cvs/src/gtkconv.c 2004-03-16 12:50:59.689509499 -1000
@@ -1390,6 +1390,11 @@
if (!(event->state & (GDK_SHIFT_MASK | GDK_CONTROL_MASK)) &&
gaim_prefs_get_bool("/gaim/gtk/conversations/enter_sends"))
{
+ if (gtk_im_context_filter_keypress (GTK_TEXT_VIEW (entry)->im_context, event))
+ {
+ GTK_TEXT_VIEW (entry)->need_im_reset = TRUE;
+ return TRUE;
+ }
send_cb(NULL, conv);
return TRUE;
}

enter 에 동작하는 거라 send 버튼에는 안먹을지 모르겠지만 이런 패치가 진작에 있었던 걸로 봐서 쉽게 적용되지 않을지도 모르겠군요. -_-;;;

hey의 이미지

0.70 초반대부터 일본과 한국에서 계속 패치 제공이 있었는데, 안들어갔어요.


----------------------------
May the F/OSS be with you..


Prentice의 이미지

http://bugzilla.gnome.org/show_bug.cgi?id=62948

여기를 보니 해결책이 몇가지 나온 것 같습니다. Owen Taylor는 한줄 짜리 패치에서 사용된 방법이 안좋다고 하는데 정말 안좋은 것인가요?

http://sourceforge.net/tracker/index.php?func=detail&aid=952002&group_id=235&atid=300235

현재 Ethan Blanton에게 버그가 맡겨졌는데 예전에 "GTK 버그로 추측된다"면서 버그를 닫아버린 적이 있는 사람입니다. 이번에도 안된다고 하면 Gentoo에서 쓰는 패치를 제출해야 할까요..?

krisna의 이미지

위에 제시한 한줄 짜리 패치는 app programmer가 하는 것으로 Owen Taylor가 제시한 방법중
두번째에 해당하는 것입니다.

Owen Taylor가 말하는 문제점은 Gtk의 API중에 GtkEntry의 스트링을
가져오는 함수가 GtkEntry를 변경해서 되겠느냐는 겁니다. 일반적으로 OOP에서는 그런것을
좋지 않게 보니까 그런 말을 한 걸겁니다. 그 방법은 Gtk 수준에서 처리하게 되는 것으로
app programmer는 신경 안써도 작동하게 한다는 뜻입니다.

lacovnk의 이미지

inhosens wrote:
L-SN에 보니 정태영님이 enter를 커밋으로 하는 유사한 내용의 CJK패치가 젠투에 있다는 말씀을 하시더군요.

enter 에 동작하는 거라 send 버튼에는 안먹을지 모르겠지만 이런 패치가 진작에 있었던 걸로 봐서 쉽게 적용되지 않을지도 모르겠군요. -_-;;;

엔터버튼은 되고, send버튼으로 하면 마지막이 짤리는군요 :)

0.77 입니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.