Selecionando / realçando o problema do texto

2

Estou usando o Backtrack 5. Como é baseado no Ubuntu 10.04, decidi fazer minha pergunta aqui:

Estou com problemas para selecionar texto com meu mouse. Por exemplo, quando eu tento renomear uma pasta, às vezes eu posso destacar com sucesso o texto, mas quando eu solto o botão do mouse, ele não é mais destacado. Às vezes, não consigo destacar com êxito a parte do texto que desejo. Realça mais ou menos o texto então selecionado de fato.

Primeiro, pensei que era um problema causado pelo meu mouse, no entanto, tentei outro mouse e o problema continua. Este problema realmente me incomoda enquanto navega na net. Você poderia por favor me ajudar?

    
por Xentius 12.05.2013 / 18:28

1 resposta

11

Possivelmente, algo está constantemente roubando a seleção X. Para descobrir quem é. Você poderia compilar isso:

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

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

Com:

gcc that-file.c -lX11

Esse código é retornar o ID da janela do proprietário da seleção PRIMARY X. Em seguida, você pode usar xdotool para obter o PID do processo que possui essa janela (supondo que Window seja de um cliente local e que ele permita que o Gerenciador de Janelas saiba seu PID):

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

Se você não tem xdotool , pode fazê-lo da maneira mais difícil: você pode procurar essa ID de janela na saída de xwininfo -root -all :

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

A janela que possui a seleção pode não ter um nome, mas você pode ver seu pai ou avô para obter mais dicas. Depois de encontrar o ancestral que é gerenciado pelo gerenciador de janelas, você pode obter o ID do processo (supondo que a janela seja exibida por um processo local) com:

xprop -id that-id _NET_WM_PID

Exemplo:

$ 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 possui a seleção PRIMARY, cujo pai é "xterm" (0x2800024 gerenciado pelo Gerenciador de Janelas).

$ 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

E esse é o seu pid.

Depois de saber quem é o proprietário dessa seleção, pode ficar mais claro o que está acontecendo.

    
por 12.05.2013 / 22:45