§ Posté le 19/09/2014 à 22h 33m 49
Je commence tout doucement à remettre en place les bibliothèques de base qui me serviront pour l'ensemble des outils du projet. En particulier, je viens de commiter la mise en place d'une bibliothèque permettant de faire en sorte que plusieurs lancements d'une même appli soient regroupées au sein d'un même processus plutôt que chacune dans son coin.
Les utilitaires déjà présents (systabs, syswall, sysclip et sysdock) ont été dûment modifiés pour utiliser cette bibliothèque, et les applications à venir l'utiliseront également.
Entre autres choses, ça permet d'avoir quelques options prédéfinies : --stop
déclenche la fermeture d'une instance précédente et se termine, tandis que --replace
déclenche la fermeture d'une instance précédente et prend sa place. Voir aussi les deux options liées au mode « tortue ».
Si vous désirez lancer une instance séparée, qui ne communiquera absolument pas avec les autres (comme ce que fait l'option -no-remote
de Firefox), vous pouvez le faire via l'option --standalone
.
Petite fonctionnalité supplémentaire par rapport à ce qui se fait ailleurs : dans Touhy, tout lancement d'une nouvelle commande ouvre généralement un nouveau « livre » (une fenêtre à onglets, la plupart du temps). Du coup, j'ai rajouté une option --wait
. Quand vous l'utilisez, la commande que vous lancez, même si elle est récupérée par une instance précédente, continue de tourner jusqu'à ce que le livre en question ait été fermé. De cette manière, un script qui aurait besoin d'attendre la fin d'une commande particulière pour continuer fonctionnera correctement dans tous les cas.
Sinon, niveau technique : cette fonctionnalité repose sur l'utilisation d'un presse-papier spécifique, dans lequel les arguments et autres informations utiles sont copiés pour que l'autre instance les récupère. Je ne suis pas sûr que ce soit comme ça que c'est censé fonctionner, mais c'était simple, et ça marche bien.