Impossible de ne pas avoir de fenêtres dispersées dans Screen par .Xresources
-
03-07-2019 - |
Question
Problème initial: ne pas avoir de fenêtres éparses lorsque j'utilise vspilt dans Vim à l'intérieur de l'écran
Tentative de résolution du problème:
- Impossible: d'augmenter le taux de rafraîchissement de l'affichage pour le code du terminal Mac
- ajouter quelque chose à .Xresources
texte de remplacement http://dl.getdropbox.com/u/175564/bugWithScreen .png
Unix Power Tools -book dit que le problème peut être résolu en .Xresources. Cependant, il ne précise pas exactement comment.
J'ai collecté les codes suivants dans mes ressources .X
mrxvt*scrollBar: true
mrxvt*loginShell: true
mrxvt*syncTabTitle: true
mrxvt*font: Monaco
mrxvt*faceSize: 11
mrxvt*xft: True
mrxvt*xftFont: Monaco
mrxvt*xftSize: 12
mrxvt*xftAntialias: True
mrxvt*termName: xterm-256color
XTerm*VT100.metaSendsEscape: True
# translations used to coordinate xterm with xcilpboard
# Unix Power Tools: p.117
*VT100.Translations: #override\
Button1 <Btn3Down>: select-end(primary,CUT_BUFFER0,CLIPBOARD)\n\
!Shift <Btn2Up>: insert-selection(CLIPBOARD)\n\
~Shift ~Ctrl ~Meta <Btn2Up>: insert-selection(primary,CUT_BUFFER0)
La solution
L'analyse de ~ / .Xresources est effectuée au démarrage du serveur X11, dans le cadre des scripts d'initialisation de session X11. Si vous éditez ~ / .Xresources, vous devez utiliser xrdb (1) pour charger le nouveau fichier afin d'informer le serveur X11 en cours d'exécution des modifications.
PRENEZ GARDE que xrdb (1), par défaut, remplacera les ressources actuelles au lieu de les écraser et que lire à partir de stdin est la valeur par défaut. Ne l'invoquez donc pas sans paramètre! Donc, vous voulez utiliser
xrdb -merge ~/.Xresources
pour charger le fichier modifié. Vous pouvez utiliser
xrdb -query
pour voir ce qui est déjà chargé.
Pour le Mac, je ne sais pas quoi, où et quand, à la recherche de ~ / .Xresources; Parce que le logiciel X11 est un programme exécuté pour utiliser l'affichage plutôt que le maître de tout ce qui est graphique, il peut être plutôt minimal et ne pas le faire par défaut. xrdb -query vous aidera.
Une solution possible serait de définir XAPPLRESDIR en tant que variable shell exportée. il y a un bouton quelque part dans MacOS permettant de définir les variables d'environnement comme une session, visibles par tous les programmes sans toucher le shell de l'utilisateur, mais j'oublie où (trouvé ce réglage lors de la configuration du SSH Keychain une fois). XAPPLRESDIR est une variable variable env pour pointer sur les remplacements par l'utilisateur des ressources de l'application. Sa valeur devrait être un répertoire ($ HOME / share / xapps / par exemple). Chaque application X11 liée à la bibliothèque X Intrinsics ( libXt ) recherchera, au moment de l’initialisation X11, les fichiers correspondant au nom de la classe d’application. De cette façon, vous n'avez pas à vous soucier du chargement des ressources, etc. éditez le fichier d'application, lancez le programme.
Donc, les ressources pour xterm vont dans un fichier XTerm, etc. Pour connaître la classe d'un programme arbitraire, vous pouvez utiliser xprop (1) sans arguments, cliquez dans la fenêtre cible pendant que le pointeur est un réticule, puis examinez stdout à partir de xprop pour la propriété WM_CLASS. Pour certains outils plus anciens tels que xterm, vous pouvez également utiliser editres (1) pour pouvoir visualiser de manière interactive les widgets d’une application X en cours d’exécution via un contrôle à distance; un élément de menu Obtenir un arbre vous permet de cliquer sur l'application cible et un autre élément de menu pour afficher les noms de classe.
Moi-même, mon fichier ~ / share / xapps / XTerm définit la couleur d'arrière-plan du menu sur un jaune hideux; Ainsi, lorsque je contrôle - < left | middle | right > -click dans un XTerm, je sais immédiatement si quelque chose ne va pas et si mes ressources ne sont pas chargées.
#ifdef COLOR XTerm.SimpleMenu*background: yellow #endif
Autres conseils
Cela se produit-il lorsque vous exécutez Tlist ou lorsque vous vous reconnectez à une session précédemment ouverte?
S'il s'agit de la dernière (et que la taille de votre fenêtre varie), cela peut être dû au fait que l'écran des options a été lancé avec. Essayez de lancer l'écran avec ces options & "; -AADR &"; " -a " et " -A " forcera l'écran à redessiner lors de la reconnexion.