Existe-t-il un moyen pour un script bash de rechercher le nom de l'espace de travail actuel (bureau virtuel)?
Cela semble vraiment utile pour des choses comme la personnalisation des comportements dans mon fichier .bashrc en fonction du bureau sur lequel le shell a été créé.
wmctrl -d | grep '*' | sed 's/.* //g'
Réponses:
Vous pouvez le faire avec
wmctrl -d
pour répertorier tous les espaces de travail. Le*
représente l'espace de travail actuel:Donc, pour obtenir uniquement le courant, grep pour le
*
:J'espère que cela t'aides!
la source
wmctrl -d
wmctrl -d
.Fenêtres dans Unity
Si vous utilisez Unity , la fenêtre actuelle ne peut pas être récupérée directement à partir de
car Unity possède des fenêtres qui ne sont pas détectées directement par
wmctrl -d
. La sortie n'affichera qu'un seul espace de travail:xrandr
)5040x2100
. Soit des fenêtres 3x2: 5040/1680 = 3 et 2100/1050 = 2.1680,1050
(x, y)Le script ci-dessous calcule la fenêtre actuelle à partir de ces informations:
Utiliser:
Installer
wmctrl
Exécutez-le par la commande
Il affichera 1, 2, 3 ou quelle que soit la fenêtre courante. Il compte automatiquement les lignes / colonnes que votre configuration de fenêtre peut inclure.
Explication
Le scénario
xrandr
, y compris les éventuels moniteurs supplémentaires.la source
Au moins dans le shell Gnome, mais probablement dans d'autres WM aussi, vous pouvez demander directement au Xserver (si dans Wayland, aucune idée).
Fondamentalement, la commande
xprop
retournerapuis vous pouvez masser un peu les informations pour obtenir ce dont vous avez besoin.
la source
_NET_DESKTOP_NAMES
.