Открытие и расположение (повторяющихся )окон в GNOME из скрипта

У меня было точно такое же требование для сценария оболочки POSIX, где все помощники (usleep, GNUsleep, sleepenh,... )недоступны.

см.:https://stackoverflow.com/a/54494216

#!/bin/sh

get_up()
{
        read -r UP REST 

0
21.04.2020, 17:38
1 ответ

Подумал об этом решении, когда вопрос уже был почти готов, поэтому решил -ответить сам. Это работает надежно, но может быть более простой способ. Если есть способ сделать то, что я спросил напрямую, не стесняйтесь оставлять еще один ответ.

Как перемещать и изменять размер любого приложения с помощью скрипта:

Этот пример кода должен быть -понятным (с комментариями):

#!/bin/bash
DISPLAY=:0 gnome-calculator & # start app
cpid=$! # get process ID of said app
sleep 1 # give it a second to open the window (adjust to needs)
cwid=$(wmctrl -lp | grep " $cpid " | cut -d " " -f 1) # get window ID
wmctrl -i -r "$cwid" -e "0,3200,572,396,415" # move and resize!
# start the 2nd application...
DISPLAY=:0 sol &
cpid=$!
sleep 1
cwid=$(wmctrl -lp | grep " $cpid " | cut -d " " -f 1)
wmctrl -i -r "$cwid" -b "remove,maximized_vert,maximized_horz" # un-maximize
wmctrl -i -r "$cwid" -t 1 # move to desktop 1 (2nd workspace)
wmctrl -i -r "$cwid" -e "0,1497,525,1342,860"

Просто повторите для столько приложений, сколько вам нужно, вы можете использовать wmctrl -l, чтобы узнать текущую геометрию приложений, чтобы вы знали, что вы хотите передать в аргумент -e.

Аргумент -eимеет следующий формат::<gravity>,<X_pos>,<Y_pos>,<width>,<height>.

0
19.03.2021, 02:27

Теги

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