xdotool: перемещение окна «выше» 0 0

Согласно названию. Когда я сделаю

xdotool getactivewindow windowmove 0 0 windowsize 1200 $height_first_monitor

xdotool, переместите окно. Но когда я делаю

xdotool getactivewindow windowmove -40 0 windowsize 1200 $height_first_monitor

, я получаю windowmove: unrecognized option '-40'

, Google ищет «xdotool move выше 0 0» и «xdotool move отрицательный», и подобное не дало никакого полезного результата

3
задан 19 October 2019 в 23:55

1 ответ

Это, казалось бы, было бы ошибкой, но от так давно этого мог бы теперь быть назван функцией. Для использования отрицательных чисел в определенных местах, необходимо будет добавить маркер конца аргументов --. Например, можно сделать

xdotool getactivewindow windowmove 0 -10

но необходимо сделать

xdotool getactivewindow windowmove -- -10 0

Это вызвано тем, что windowmove может взять дополнительные аргументы --sync и --relative, но также и (вероятно, для назад совместимости) то же с единственным тире: -sync и -relative. К сожалению, -10 затем принят за такой (неожиданный) аргумент.

Смотря на источники для windowmove, Вы видите, что он использует функцию стандартной библиотеки для C getopt_long_only (). Эта функция ищет длинные споры, которые начинаются -- или -. Альтернатива getopt_long() просто искал бы -- длинные споры.

Я не уверен, ли вышеупомянутая ссылка к категорическим источникам, но эта функция, кажется, вокруг до 2010.

2
ответ дан 1 December 2019 в 16:49

Другие вопросы по тегам:

Похожие вопросы: