Commande pour déplacer une fenêtre sur tous les bureaux

8

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 -ls'affiche -1comme le numéro de bureau pour les fenêtres qui sont affichées sur tous les bureaux, mais le passage -1à -tne 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 wmctrlou toute autre chose.

Existe-t-il une autre façon de scripter ce comportement qui fonctionnera sous openbox?

intuition
la source
Ne fonctionne pas non plus avec Metacity 2.22.0. Il me semble que le développement de wmctrl est au point mort. La dernière entrée dans le Changelog date de 2005. Le problème est évident. Le programme a besoin d'un nouveau responsable. Si vous aimez le programme et si le programme doit être patché, faites-le. C'est ainsi que fonctionne l'open source.
ceving

Réponses:

4

Comme un utilisateur l'a dit dans les commentaires, wmctrln'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 changelog

n0pe
la source
1

Depuis wmctrl v1.07, -t -2fonctionne pour moi.

Tim Green
la source
1
Cela fonctionnait pour moi, mais ce n'est plus le cas (toujours sur la v1.07). Cependant, -b add,stickyça marche
David Fraser
ajouter, collant ne fonctionne pas sur le plasma kde sur kubuntu. Mais -t -2 a fait l'affaire, merci
Syco
Ni , -tni stickytravailler pour moi LXQt et Openbox.
Murphy
1

xdotool search --name xyz set_desktop_for_window 4294967295

Alastair Irvine
la source
4294967295 est -1 comme un entier 32 bits non signé. -1 ne peut pas être utilisé car xdotool set_desktop_for_window -1il est interprété comme une option, même s'il suit une commande et est la valeur renvoyée par xdotool get_desktop_for_window.
Alastair Irvine