우분투 12.04에서 톰보이 단축키가 안 먹히네요

우분투 12.04 설치하고 톰보이 사용하는데 단축키가 안 먹히네요.
KDE 환경에서도 Xubuntu 환경에서도 모두 안됩니다. alt, crtl, functionkey, 등 여러 가지 조합을 해 봤는데 안되네요… 구글링 해봤지만 적당한 답을 못 찾겠군요.

혹시 같은 환경에서도 단축키 잘 쓰고 계신 분 있나요?

[quote="pedrolee":unm6qknt]
혹시 같은 환경에서도 단축키 잘 쓰고 계신 분 있나요?[/quote:unm6qknt]

톰보이를 쓰다가 내부에서 단축키가 안먹힌다는걸 알고

지노트로 변경한뒤, 그곳에서 지정된 페이지를 띄우는 명령어를

단축키에 넣어 쓰고 있습니다.

[code:unm6qknt]gnote --open-note=제목[/code:unm6qknt]

이상하게 저게 톰보이에선 잘 안먹히더라구요.

아직 지노트가 add-in이 추가되는게 없어서

현재 톰보이와 지노트를 병행해서 쓰고 있습니다.

폴더는, 둘중 하나의 폴더를 지우고 심볼릭링크로 연결해서

하나의 폴더를 공유해 쓰고 있구요,

한쪽이 켜져있을때 다른 한쪽이 꺼저있으면 문제되는건

없어보이더라구요.

앞으로의 버전에선 톰보이대신 지노트로 대처가 된다고 들었는데

백업이나 싱크기능도 앞으로 지원이 되지 않을까 싶네요.

답변을 이제야 봤네요.

저만의 문제는 아니었다는게 위안이 되네요… 단축키 포기하고 마우스로 그냥 써야겠군요.

loscane님 답변 감사드립니다.

[quote="pedrolee":31mzxuwu]답변을 이제야 봤네요.

저만의 문제는 아니었다는게 위안이 되네요… 단축키 포기하고 마우스로 그냥 써야겠군요.

loscane님 답변 감사드립니다.[/quote:31mzxuwu]

저도 단축키가 안되는게 너무 아쉬워요.^^

[quote="loscane":2kcg2z6k]저도 단축키가 안되는게 너무 아쉬워요.^^[/quote:2kcg2z6k]
그렇죠… 한 번 단축키 맛을 본 후 못 쓰게 되니 처음에는 너무 불편하더군요… 지금은 뭐, 또 그냥 쓰고 있지요.

블로그에 올리신 톰보이 칭찬 잘 읽었습니다. 저도 그 자동링크 기능 때문에 톰보이를 포기 못하고 있지요. 그림 삽입 기능만 추가되면 자료 수집과 간단한 집필 도구로 이만한 게 없다는 생각을 하고 있습니다.

오랜만에 시간이 생겨 구글링을 해보니 이 문제가 이미 오래전에 버그로 등록되어 있네요. 코맨트들을 읽다가 운좋게 해결 방법을 찾았습니다.

[url:3fn9s4jo]https://bugs.launchpad.net/ubuntu/+source/tomboy/+bug/685309/comments/15[/url:3fn9s4jo]에 나온대로 python 스크립트를 만들고 일반 키보드 단축키로 설정해 주니 되는군요. 오랜 문제 하나가 해결되어 기쁩니다.

[quote="pedrolee":29y9lg1i]오랜만에 시간이 생겨 구글링을 해보니 이 문제가 이미 오래전에 버그로 등록되어 있네요. 코맨트들을 읽다가 운좋게 해결 방법을 찾았습니다.

[url:29y9lg1i]https://bugs.launchpad.net/ubuntu/+source/tomboy/+bug/685309/comments/15[/url:29y9lg1i]에 나온대로 python 스크립트를 만들고 일반 키보드 단축키로 설정해 주니 되는군요. 오랜 문제 하나가 해결되어 기쁩니다.[/quote:29y9lg1i]

파이선 스크립트에 단축키를 설정해서 사용해왔는데, 단점이…단축키로 창을 띄워도 창이 선택이 되지를 않습니다.

그래서 코드를 좀 수정해봤습니다.

검색창 띄우기

[code:29y9lg1i]
#!/usr/bin/env python

-- coding: UTF-8 --

import dbus, gobject, dbus.glib, subprocess
tomboy = dbus.Interface(dbus.SessionBus().get_object("org.gnome.Tomboy", "/org/gnome/Tomboy/RemoteControl"), "org.gnome.Tomboy.RemoteControl")
tomboy.DisplaySearch()
stopper=0
while True:
subprocess.call(["sleep", "0.1"])
stopper += 1
if subprocess.call(["xwininfo", "-name", "모든 쪽지 검색"]) is 0:
subprocess.call(["sleep", "0.1"])
subprocess.call(["xdotool", "search", "–name", "모든 쪽지 검색", "windowactivate"])
break
if (stopper >= 10):
break
[/code:29y9lg1i]

시작 창

[code:29y9lg1i]#!/usr/bin/env python

-- coding: UTF-8 --

import dbus, gobject, dbus.glib, subprocess

start="start" ## 시작 쪽지 이름을 이곳에 적어주세요!!

tomboy = dbus.Interface(dbus.SessionBus().get_object("org.gnome.Tomboy", "/org/gnome/Tomboy/RemoteControl"), "org.gnome.Tomboy.RemoteControl")
tomboy.DisplayNote(tomboy.FindStartHereNote())

stopper = 0
while True:
subprocess.call(["sleep", "0.1"])
if subprocess.call(["xwininfo", "-name", "%s" %start]) is 0:
subprocess.call(["xdotool", "search", "–name", "%s" %start, "windowactivate"])
break
stopper += 1
if (stopper >= 10):
break

[/code:29y9lg1i]

새 쪽지 열기는 새로이 창을 띄우기 때문에 특별히 수정을 하지 않아도 됩니다.

허나, 검색 창이나 시작 창의 경우 열려있으면 단축키를 넣어도 선택이 되지 않더라구요. 번거로워서 수정했습니다.

수정하니 잘 되네요.

시작창의 경우 같은 키워드가 다른 창 제목에 포함되어져 있을 경우 다른 창이 선택되버리는 불상사가 초래되기도 합니다.

컴퓨터중에 구형 컴퓨터의 경우에는 창이 뜨는데 까지 시간이 소비되기 때문에 코드가 좀 길더라도 while을 걸어주었습니다. 1초 이상 안뜨면 포기하구요.

코드가 너무 지저분하다 싶으시면 while 걷어버리시고 각자 컴퓨터 환경에 맞게 sleep타임만 적절히 설정해주시면 될거 같습니다.

쓰실분 쓰세요. 톰보이 만쉐~!

loscane님, 14.04에서 혹시 단축키 써보셨나요?

저는 14.04 업데이트 한 후 톰보이 단축키를 못쓰고 있습니다. 단축키를 누르면 톰보이가 새로 실행됩니다. 검색 단축키를 누르면 창이 뜨는 게 아니라 패널에 톰보이가 하나 더 생기는거지요. 구글 검색해보니 아직 해결책은 없는 모양입니다.

[quote="pedrolee":1x4c8md4]loscane님, 14.04에서 혹시 단축키 써보셨나요?
[/quote:1x4c8md4]

집에 14.04가 없어서요…한대 나중에 만들어 해볼게요.

[quote="pedrolee":ob5lrw4k]loscane님, 14.04에서 혹시 단축키 써보셨나요?

저는 14.04 업데이트 한 후 톰보이 단축키를 못쓰고 있습니다. 단축키를 누르면 톰보이가 새로 실행됩니다. 검색 단축키를 누르면 창이 뜨는 게 아니라 패널에 톰보이가 하나 더 생기는거지요. 구글 검색해보니 아직 해결책은 없는 모양입니다.[/quote:ob5lrw4k]

14.04 새로 설치해서 테스트해본 결과 저는 이상이 없네요.

검색 단축키에서만 그러신가요? 그러실 경우에는 요렇게 해결을 할 수도 있을거 같습니다.

[code:ob5lrw4k]sudo apt-get install xdotool[/code:ob5lrw4k]
이걸 설치해주시구요.

[code:ob5lrw4k]
#!/usr/bin/env python

-- coding: UTF-8 --

import dbus, gobject, dbus.glib, subprocess
tomboy = dbus.Interface(dbus.SessionBus().get_object("org.gnome.Tomboy", "/org/gnome/Tomboy/RemoteControl"), "org.gnome.Tomboy.RemoteControl")

stopper = 0 ## 스토퍼 변수입니다. 10번 이상 시도하면 멈춥니다.
start = 0 ## 톰보이를 실행한 적이 있는지 확인하는 변수입니다.

while True:
stopper += 1
if subprocess.call(["xwininfo", "-name", "모든 쪽지 검색"]) is 0: # 톰보이 검색창이 떠있는지 먼저 확인합니다.
subprocess.call(["sleep", "0.1"])
subprocess.call(["xdotool", "search", "–name", "모든 쪽지 검색", "windowactivate"]) # 창을 택합니다.
break
else : # 톰보이 창이 떠있지 않으면
if start == 0: # 톰보이를 실행한적 있는지 확인합니다.
tomboy.DisplaySearch() #톰보이를 실행합니다.
start = 1
if (stopper >= 10): # 열번 이상 넘으면 브레이크로 넘깁니다.
break
[/code:ob5lrw4k]

아. 만약…창 자체가 닫혀있을 경우에 톰보이가 실행되어져 있다면 저 스크립트가 통하지 않을 수도 있을텐데요.

톰보이를 실행하시고 검색창을 닫으신 뒤에, 터미널을 여셔서

[code:ob5lrw4k]tomboy --search[/code:ob5lrw4k]
라는 명령어를 넣어보시기 바랍니다.

만약, 이 명령어를 넣어서 실행되어져 있는 톰보이에 창이 뜨면 다음의 스크립트를 사용하시구요.

[code:ob5lrw4k]#!/usr/bin/env python

-- coding: UTF-8 --

import dbus, gobject, dbus.glib, subprocess
tomboy = dbus.Interface(dbus.SessionBus().get_object("org.gnome.Tomboy", "/org/gnome/Tomboy/RemoteControl"), "org.gnome.Tomboy.RemoteControl")

stopper = 0 ## 스토퍼 변수입니다. 10번 이상 시도하면 멈춥니다.
start = 0 ## 톰보이를 실행한 적이 있는지 확인하는 변수입니다.

while True:
stopper += 1
if subprocess.call(["xwininfo", "-name", "모든 쪽지 검색"]) is 0: # 톰보이 검색창이 떠있는지 먼저 확인합니다.
subprocess.call(["sleep", "0.1"])
subprocess.call(["xdotool", "search", "–name", "모든 쪽지 검색", "windowactivate"])
break
else :
if start == 0: # 톰보이를 실행한적 있는지 확인합니다.
subprocess.call(["tomboy", "–search"])
start = 1
if (stopper >= 10):
break
[/code:ob5lrw4k]

톰보이가 실행되어져 있는 상태에서 tomboy --search를 터미널에서 명령어에 넣었을 때 새로운 창이 뜬다면…

톰보이를 재설치 해보시고 그래도 안되면

새로이 14.04를 설치하시는게 쉬우실 수도 있을거 같습니다.

답변 감사합니다.

톰보이가 실행되어 있는 상태에서는 단축키 사용에 문제가 없군요.
예를 들어, 톰보이를 실행시킨 후 위에 올려 주신 코드를 tb.py 로 저장한 다음 터미널에서 실행하면.

[code:3nt1jg9l]
xwininfo: error: No window with name "모든 쪽지 검색" exists!
xwininfo: error: No window with name "모든 쪽지 검색" exists!
xwininfo: error: No window with name "모든 쪽지 검색" exists!
xwininfo: error: No window with name "모든 쪽지 검색" exists!
xwininfo: error: No window with name "모든 쪽지 검색" exists!
xwininfo: error: No window with name "모든 쪽지 검색" exists!
xwininfo: error: No window with name "모든 쪽지 검색" exists!
xwininfo: error: No window with name "모든 쪽지 검색" exists!
xwininfo: error: No window with name "모든 쪽지 검색" exists!
xwininfo: error: No window with name "모든 쪽지 검색" exists!
[/code:3nt1jg9l]
이라는 메시지가 뜨면서 톰보이 검색창이 열리지요. 에러메시지는 제가 한글 환경이 아니라서 그럴겁니다.

그런데 톰보이가 실행되어 있지 않은 상태에서 python tb.py를 실행하면

[code:3nt1jg9l]xwininfo: error: No window with name "모든 쪽지 검색" exists!
Traceback (most recent call last):
File "tb.py", line 17, in <module>
tomboy.DisplaySearch() #톰보이를 실행합니다.
File "/usr/lib/python2.7/dist-packages/dbus/proxies.py", line 70, in call
return self._proxy_method(*args, **keywords)
File "/usr/lib/python2.7/dist-packages/dbus/proxies.py", line 145, in call
**keywords)
File "/usr/lib/python2.7/dist-packages/dbus/connection.py", line 651, in call_blocking
message, timeout)
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoReply: Message did not receive a reply (timeout by message bus)
[/code:3nt1jg9l]
이런 메시지를 내보내고 톰보이 아이콘이 패널 오른쪽에 생깁니다. 이 아이콘 클릭해서 톰보이 검색도 열 수 있고, 새 문서도 작성할 수 있습니다. 그러나 단축키는 작동을 하지 않지요. 터미널에서 tb.py 를 한 번 더 실행시키면 같은 메시지가 나오면서 오른쪽 패널에 톰보이 아이콘이 두 개가 되지만, 톰보이 검색창은 열리지 않습니다.

원래 제가 쓰고 있던 py 파일로 시험해봐도 같은 결과가 나옵니다.

에러 메시지를 이해할 수 없어서 해결책은 모르지만, 톰보이를 먼저 실행시키면 문제가 없으니 14.04에서도 톰보이 단축키 쓰는데는 문제가 없네요.