web-dev-qa-db-fra.com

xdotool: déplacement de la fenêtre "au-dessus" 0 0

Selon le titre. Quand je fais

xdotool getactivewindow windowmove 0 0 windowsize 1200 $height_first_monitor

xdotool déplace la fenêtre. Mais quand je fais

xdotool getactivewindow windowmove -40 0 windowsize 1200 $height_first_monitor

J'ai un windowmove: unrecognized option '-40'

Les recherches Google pour "xdotool move above 0 0" et "xdotool move negative" et similaire n'ont donné aucun résultat utile

4
josinalvo

Cela semblerait être un bug, mais depuis si longtemps, il pourrait maintenant être appelé une fonctionnalité . Pour utiliser des nombres négatifs à certains endroits, vous devrez ajouter le marqueur de fin d'argument --. Par exemple, vous pouvez faire

xdotool getactivewindow windowmove 0 -10

mais tu dois faire

xdotool getactivewindow windowmove -- -10 0

En effet, windowmove peut prendre des arguments facultatifs --sync Et --relative, Mais aussi (probablement pour des raisons de compatibilité descendante) de la même manière avec un seul tiret: -sync Et -relative . Malheureusement, -10 Est alors confondu avec un tel argument (inattendu).

En regardant sources pour windowmove, vous pouvez voir qu'il utilise la fonction de bibliothèque C standard getopt_long_only () . Cette fonction recherche les arguments longs commençant par -- Ou -. L'alternative getopt_long() ne ferait que rechercher les arguments longs de --.

Je ne sais pas si le lien ci-dessus est vers les sources définitives, mais cette fonctionnalité semble exister avant 2010.

2
meuh