2017-09-06 8 views
0

J'utilise i3wm et Keepassx2 sur une installation Arch-Linux. J'ai configuré i3 pour déplacer automatiquement une fenêtre avec la classe de fenêtre "Keepassx2" vers un certain espace de travail $WSKP. J'ai également configuré $mod+P pour exécuter Keepassx2. Maintenant, je voudrais écrire un script personnalisé qui est exécuté par $mod+P à la place. Ce script doit:Agrandir une fenêtre (Keepassx2) à partir de la ligne de commande

  • lancement Keepassx2 quand aucune autre instance de il est actuellement en cours d'exécution
  • maximiser Keepassx2 et déplacer le focus sur l'espace de travail spécifique $WSKP quand il y a déjà une instance en cours d'exécution

Je veux que ce parce que je n'ai pas besoin que l'espace de travail Keepass reste ouvert tout le temps et qu'il faut une autre pression inutile sur les espaces de travail.

Vérifier s'il y a déjà une instance en cours d'exécution est facile:

if [ $(pidof keepassx2) ]; then 
    # maximize the running instance and move focus with i3-msg 
fi; 

Mais comment puis-je accomplir maximiser l'instance en cours d'exécution?

Répondre

0

Vous pouvez utiliser i3-msg pour envoyer des commandes à partir d'un script. Pour agrandir une fenêtre vous pouvez utiliser:

i3-msg fullscreen toggle 

Son manpage est utile, et d'autres maniplations de mise en page sont here. Vous pouvez également l'appeler (et d'autres commandes) à partir de votre shell pour le test .

+0

Ceci ne maximise pas la fenêtre, il la complète. Ce sont deux choses différentes. i3 n'implémente pas la maximisation des fenêtres, car nous ne pensons pas que l'usecase soit assez fort dans un environnement en mosaïque. –