Pendant que j'exécute un programme dans Terminal (ou iTerm2), lorsque le programme bifurque le processus, le bureau OS X bascule le focus de l'application actuelle vers le processus bifurqué. Lorsque cela se produit, le nom du processus bifurqué s'affiche dans la barre de menus OS X.
Cela est particulièrement gênant lors de l'utilisation du mode plein écran car il modifie l'espace de travail lorsque le processus forké reçoit le focus.
Comment puis-je empêcher ce changement de focus de se produire? Ces programmes terminaux interrompent le travail que je fais dans d'autres applications pendant leur exécution.
macos
mountain-lion
terminal
fullscreen
iterm
jdgilday
la source
la source
Réponses:
Dans mon cas, c'est le plugin Maven Failsafe qui a provoqué le vol de focus ennuyeux de la fenêtre de ForkedBooter, et la définition de la
JAVA_TOOL_OPTIONS
variable dans.bashrc
n'a pas aidé.Ce correctif s'applique à la fois à Failsafe et à Surefire (bien que dans mon cas, Surefire ne volait pas le focus).
Dans votre
pom.xml
, ajoutez une<argLine>-Djava.awt.headless=true</argLine>
ligne à l'intérieur du<configuration>
plug-in de sécurité (et / ou) infaillible.Il ressemblera à ceci:
la source
Comme l'a suggéré @patrix, il semble que je n'ai ce problème qu'avec les processus Java.
Cette réponse sur StackOverflow semble résoudre le problème
la source
Pouvez-vous exécuter votre programme de terminal en arrière-plan? Je pense que cela l'empêchera de se concentrer également sur le bureau. Ajoutez simplement '&' à la fin de la commande du terminal pour exécuter un processus en arrière-plan.
Donc, si votre commande de terminal était:
changez-le en:
Pour mettre un processus d'arrière-plan au premier plan dans le terminal, utilisez la commande:
la source