2010-03-10 2 views
3
나는 시스템 클립 보드를 취소하려고 다음과 같은 함수를 호출하고있어

에서 GTK lib 디렉토리를 사용하여 시스템 클립 보드 : 그것은 아무것도 청소 아니에요 그러나클리어 C

GtkClipboard *clipboard; 

clipboard = gtk_clipboard_get(GDK_SELECTION_CLIPBOARD); 
gtk_clipboard_clear(clipboard); 

. Gnome과 GTK + 문서 및 무수한 샘플 코드 스 니펫을 검색했으며이를 수행하는 방법을 모릅니다.

내 질문에 어떻게 시스템 (리눅스, 그놈) 클립 보드에서 코드를 지우시겠습니까? 감사합니다.

답변

2

나는이 필요하지만이 코드가 작동하는 것 같다 왜 자신을 확실 해요, 당신이 완전히 취소 실제로 길이 제로의 텍스트를 설정해야합니다 믿습니다

clipboard = gtk_clipboard_get(GDK_SELECTION_PRIMARY);                
gtk_clipboard_clear(clipboard);                     
gtk_clipboard_set_text(clipboard, "", 0);                   

clipboard = gtk_clipboard_get(GDK_SELECTION_CLIPBOARD);               
gtk_clipboard_clear(clipboard);                     
gtk_clipboard_set_text(clipboard, "", 0); 

주 그 때 GTK + 실제로 X11에서 실행 중이면 GTK (GDK_SELECTION_CLIPBOARD)와 X11 (GDK_SELECTION_PRIMARY)이라는 두 개의 '클립 보드'가 실제로 있습니다. Windows에서 GDK_SELECTION_PRIMARY에 대한 작업은 아무 것도하지 않는다고 생각합니다.

+1

좋은 답변이지만 한 가지 명확한 설명 : 실제로 두 개의 다른 클립 보드가 없습니다. '클립 보드'는 응용 프로그램에서 알 수있는 클립 보드입니다. X11 클립 보드 ('PRIMARY')에는 마지막으로 선택한 텍스트가 포함되어 있습니다. 대부분의 X11 환경에서는 마우스 가운데 버튼을 클릭하여 붙여 넣을 수 있습니다. – ptomato

관련 문제