J'aimerais pouvoir déplacer (épingler) une fenêtre existante sur tous les bureaux à l'aide d'une commande scriptable, plutôt que via le menu de la fenêtre.
wmctrl -r <WIN> -t <DESK>
va déplacer une fenêtre vers un autre bureau, mais je n'ai pas trouvé de moyen de l'utiliser pour que la fenêtre soit affichée sur tous les bureaux. wmctrl -l
s'affiche -1
comme le numéro de bureau pour les fenêtres qui sont affichées sur tous les bureaux, mais le passage -1
à -t
ne fonctionne pas.
Un rapport de bogue Fedora non résolu semble résoudre ce problème: apparemment, la valeur -1 est utilisée en interne par wmctrl
, et pour cette raison, ne peut pas être transmise à -t
. Le rapport de bogue mentionne également que la fenêtre peut être épinglée avec certains gestionnaires de fenêtres en donnant à la fenêtre cible la propriété collante . Cependant, j'utilise openbox et cette approche ne semble pas fonctionner pour moi. Il y a en fait un correctif publié dans ce rapport de bogue; Je n'ai pas essayé de l'utiliser. C'est à partir de 2009. Je préfère éviter les correctifs wmctrl
ou toute autre chose.
Existe-t-il une autre façon de scripter ce comportement qui fonctionnera sous openbox?
Réponses:
Comme un utilisateur l'a dit dans les commentaires,
wmctrl
n'a pas été touché depuis octobre 2005. Il est très possible que la fonctionnalité ait fonctionné à l'époque et ait depuis été brisée en raison des changements de packages qui l'entourent.Voici le
wmctrl
changelogla source
Depuis wmctrl v1.07,
-t -2
fonctionne pour moi.la source
-b add,sticky
ça marche-t
nisticky
travailler pour moi LXQt et Openbox.xdotool search --name xyz set_desktop_for_window 4294967295
la source
xdotool set_desktop_for_window -1
il est interprété comme une option, même s'il suit une commande et est la valeur renvoyée parxdotool get_desktop_for_window
.