GNU/Linux >> Tutoriels Linux >  >> Linux

Problème de sélection/mise en surbrillance du texte ?

J'utilise Backtrack 5. Comme il est basé sur Ubuntu 10.04, j'ai décidé de poser ma question ici :

J'ai des problèmes pour sélectionner du texte avec ma souris. Par exemple, lorsque j'essaie de renommer un dossier, j'arrive parfois à mettre en surbrillance le texte, mais lorsque je relâche le bouton de la souris, il n'est plus mis en surbrillance. Parfois, je ne peux même pas mettre en évidence avec succès la partie du texte que je veux. Il met en surbrillance plus ou moins le texte alors réellement sélectionné.

J'ai d'abord pensé que c'était un problème causé par ma souris, cependant, j'ai essayé une autre souris et le problème persiste. Ce problème me dérange vraiment en surfant sur le net. Pourriez-vous m'aider s'il vous plaît ?

Réponse acceptée :

Peut-être que quelque chose vole constamment la sélection X. Pour savoir de qui il s'agit. Vous pouvez compiler ceci :

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

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

Avec :

gcc that-file.c -lX11

Ce code doit renvoyer l'ID de fenêtre du propriétaire du PRIMARY X sélection. Ensuite, vous pouvez utiliser xdotool pour obtenir le PID du processus propriétaire de cette fenêtre (en supposant que la fenêtre provient d'un client local et qu'elle permette au gestionnaire de fenêtres de connaître son PID) :

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

Si vous n'avez pas xdotool , vous pouvez le faire à la dure :vous pouvez rechercher cet ID de fenêtre dans la sortie de xwininfo -root -all :

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

La fenêtre qui possède la sélection peut ne pas avoir de nom, mais vous pouvez regarder son parent ou grand-parent pour plus d'indices. Une fois que vous avez trouvé l'ancêtre géré par le gestionnaire de fenêtres, vous pouvez obtenir l'ID du processus (en supposant que la fenêtre provient d'un processus local) avec :

xprop -id that-id _NET_WM_PID

Exemple :

$ 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 possède la sélection PRIMARY, dont le parent est "xterm" (0x2800024 géré par le gestionnaire de fenêtres).

$ 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

Et c'est son pid.

Une fois que vous savez à qui appartient cette sélection, ce qui se passe peut devenir plus clair.

En relation :Linux – Urxvt dessine des lignes lentement ?
Linux
  1. Éditeurs de texte en ligne de commande sous Linux

  2. Titre de l'application Qt

  3. Maximiser la fenêtre dans tmux

  4. Comment dérouler un texte de 80 caractères

  5. ffmpeg x11grab une seule fenêtre

Essayez l'éditeur de texte e3 Linux

Comment ouvrir une fenêtre de terminal Linux

Connexion texte

Guide de l'éditeur de texte ViM 101

Activer la coloration syntaxique dans Vim

Obtenir le titre de la fenêtre active dans X