テキスト問題の選択/強調表示

テキスト問題の選択/強調表示

私はバックトラック5を使用しています。 Ubuntu 10.04に基づいているので、ここに質問を投稿することにしました。

マウスを使ってテキストを選択するのに問題があります。たとえば、フォルダの名前を変更しようとすると、テキストを正常に強調表示できますが、マウスボタンを離すと強調表示されなくなります。時には、私が望むテキスト部分を正常に強調表示すらできないこともあります。実際に選択したテキストをある程度強調表示します。

最初は私のマウスに問題があると思いましたが、別のマウスを試してみましたが、問題は続いていました。この問題はオンラインで私を本当に悩ませています。私を助けてくれますか?

答え1

X選択を盗むことがあるかもしれません。来て、それが誰であるかを調べてください。次のようにコンパイルできます。

#include <stdio.h>
#include <X11/Xlib.h>
#include <X11/Xatom.h>

int main() {
  printf("%#lx\n", XGetSelectionOwner (XOpenDisplay(0), XA_PRIMARY));
  return 0;
}

そして:

gcc that-file.c -lX11

このコードは、X選択所有者のウィンドウIDを返すために使用されますPRIMARY。その後、次を使用してウィンドウを所有するプロセスのPIDを取得できますxdotool。 (ウィンドウがローカルクライアントから提供され、ウィンドウマネージャがそのPIDを知ることができると仮定):

ps -fp "$(xdotool getwindowpid "$(./a.out)")"

そのウィンドウIDがない場合は、xdotool難しい方法で実行できます。出力で適切なウィンドウIDを見つけることができますxwininfo -root -all

xwininfo -root -all | less "+/$(./a.out)"

選択項目を所有するウィンドウには名前がない場合がありますが、そのウィンドウの親または祖先を見ると、より多くの手がかりを得ることができます。ウィンドウマネージャが管理する親エントリを見つけたら、次を使用してプロセスIDを取得できます(ウィンドウがローカルプロセスから来ていると仮定)。

xprop -id that-id _NET_WM_PID

例:

$ xwininfo -root -wm -tree | grep -B3 "$(./a.out)"
        24 children:
        0x2800024 "Sun 12 May - 21:40 -      zsh (2)": ("xterm" "XTerm")  1920x1059+0+19  +0+19
           1 child:
           0x280002f (has no name): ()  1920x1059+0+0  +0+19

0x280002fにはPRIMARY選択があり、その親は「xterm」です(0x2800024はウィンドウマネージャによって管理されます)。

$ xprop -id 0x2800024 _NET_WM_PID
_NET_WM_PID(CARDINAL) = 9707

$ ps -fp 9707
UID        PID  PPID  C STIME TTY          TIME CMD
chazelas  9707     1  0 08:50 ?        00:00:02 xterm

これがpidです。

誰が選択肢を持っているのかを知ると、何が起こっているのかをより明確にします。

関連情報