클립보드 내용 변경에 대한 알림 받기

클립보드 내용 변경에 대한 알림 받기

inotify파일을 감시하는 것과 유사한 방식으로 클립보드를 감시하여 tmux 상태 표시줄이나 내 시스템의 다른 사용자 정의 GUI에 실제 클립보드 내용을 표시할 수 있도록 하고 싶습니다 . 폴링은 시스템을 로드하고 반응이 좋지 않기 때문에 폴링을 좋아하지 않습니다. 저는 GNOME/X11을 사용하고 있습니다. 어떤 방법이 존재하나요?

답변1

답변이 없이 너무 오랜 시간이 지났기 때문에, 일단 이 문제를 다루겠습니다.

첫째, 여론조사는 쉽지만 그렇게 하고 싶지 않다고 하셨습니다.

실제 클립보드를 제공하는 프로그램이 무엇인지 알아보고, 해당 프로그램을 종료한 다음 strace로 실행하고 몇 가지 간단한 클립보드 작업을 수행하여 수행되는 작업을 확인하세요. 이를 통해 새 데이터를 저장하는 방법과 위치에 대한 단서를 얻을 수 있기를 바랍니다. 일단 그것을 알게 되면, 무엇을 탐지하려고 하는지 구체적으로 알게 될 것입니다.

답변2

클립노티파이클립보드의 변경 사항이 감지되면 응답하는 간단한 프로그램입니다.

추신. 원하지 않을 수도 있는 기본 클립보드 이벤트(텍스트 선택)도 모니터링합니다. 한 줄을 주석 처리하면 쉽게 피할 수 있습니다.

XFixesSelectSelectionInput(disp, root, XA_PRIMARY, XFixesSetSelectionOwnerNotifyMask);

소스 코드 파일에서 clipnotify.c(댓글에 대한 모든 크레딧은또 다른 stackexchange 답변이름이 사용자에 의해 만들어졌습니다.아킬이 해결 방법을 제안해주셔서.. 덕분에 많은 문제가 해결되었습니다.)

추신. Clipnotify를 설치하려면 github 저장소를 복제하고 make복제된 디렉터리에서 명령을 실행하면 됩니다. 프로그램을 실행하기 위해 실행될 디렉터리에 새 실행 파일이 생성됩니다.

관련 정보