web-dev-qa-db-fra.com

Définition d'une commande à exécuter lors du basculement vers un bureau virtuel (ou une activité) dans KDE

Une commande peut-elle être configurée pour s'exécuter lors du basculement vers un bureau virtuel spécifique (ou une activité) dans un environnement KDE?

Je souhaite exécuter une commande pour un ordinateur de bureau (par exemple, desktop2) qui, lorsque je basculerai vers, changera la présentation de la langue en anglais américain. Donc, en passant à desktop2, la disposition de la langue sera anglais américain automatiquement.

3
user126106

Vous pouvez passer au bureau virtuel deux à l'aide de l'argument de ligne de commande suivant:

wmctrl -s 2

Ainsi exécutant

wmctrl -s 2 && setxkbmap en

devrait basculer vers le poste de travail 2 et changer votre langue en anglais comme suggéré dans votre exemple.

Vous pouvez utiliser un programme de raccourci clavier tel qu'autokey ou des raccourcis personnalisés KDE pour définir un raccourci clavier pour la commande ci-dessus. Vous pouvez également enregistrer la commande ci-dessus dans un fichier texte se terminant par .sh, puis rendre le fichier exécutable afin de disposer d'un script cliquable qui permute les ordinateurs de bureau et change de langue pour vous.

devrait basculer vers le poste de travail 2 et changer votre langue en anglais comme suggéré dans votre exemple.


Changer d'activité est une commande un peu plus longue.

Aller à la prochaine activité est assez simple en utilisant:

qdbus org.kde.kglobalaccel /component/plasma_desktop invokeShortcut "Next Activity"

Cependant, pour basculer vers une activité spécifique, vous devez d'abord savoir que c'est son identifiant qui peut être obtenu par:

qdbus org.kde.kactivitymanagerd /ActivityManager/Activities ListActivities

Une fois que vous connaissez l'identifiant de l'activité, vous pouvez passer à cette activité via:

qdbus org.kde.kactivitymanagerd /ActivityManager/Activities SetCurrentActivity activity-key-in-previous-step

ensuite, associez-le à l'aide de la commande '&& setxkbmap en', comme indiqué ci-dessus, lors de la commutation de bureaux virtuels afin que la commutation d'activité soit associée à un changement de langue.


Aussi à noter:

export LC_ALL=C

changera la langue du système en anglais

1
virtualxtc
  • Devil's Pie 2 vous permet de lancer un script lorsque cette fenêtre # n est créé, ce qui n’est pas tout à fait ce que vous vouliez, mais simple;
  • vous pouvez utiliser Autokey pour exécuter un script qui change de fenêtre, puis change de langue, puis lancez un autre script pour rétablir les paramètres d'origine, le tout par raccourci clavier ou
  • il existe également un outil de script compatible avec l'interface graphique appelé Sikuli qui pourrait vous intéresser.
2
K7AAY

Merci à virtualxtc réponse ci-dessus et à don_crissti's réponse . Pour changer la mise en page, téléchargez la page fichier zip liée dans this . Extrayez-le dans un dossier du dossier de départ. Ensuite, lancez terminal dans le dossier et lancez les commandes suivantes:

cmake CMakeLists.txt
make CMakeLists.txt
cmake CMakeLists.txt
Sudo make install CMakeLists.txt

(vous devrez peut-être installer make et cmake)

puis lancez cette commande pour passer en anglais:

xkb-switch -s us

et une combinaison peut être

wmctrl -s 1 && xkb-switch -s us

lequel on peut lui assigner un raccourci clavier pour basculer vers desktop2 et anglais.

1
user126106