Назад | Перейти на главную страницу

экран: как мне переместить окно между двумя другими окнами

В экран есть ли способ поместить окно между двумя другими вместо обмена?

Вот что у меня есть

1 - I want this to become #2
2 - I want this to become #3
3 - I want this to become #1

Если я перейду на экран №3 и введу команду «: номер 1», новый порядок будет

1 - I want this to become #1
2 - I want this to become #3
3 - I want this to become #2

Очевидно, что с помощью еще одной команды я могу получить то, что хочу. Однако когда у меня 15 окон, это большая проблема.

Похоже, что для этого не существует единой экранной команды. Однако я придумал этот сценарий, который может сделать это, выполнив достаточно number команды подряд для этого:

#!/bin/bash

L="$1"
for N in $(eval echo "{$1..$2}")
do
    screen -X at "$L" number "$N"
    L="$N"
done

Это может быть запущено из любого окна на экране и принимает два аргумента: исходный и целевой номер окна, которое нужно переместить. Исходное или целевое окно может соответствовать вашему текущему номеру окна.

Я не мог найти способ запросить экран об активных и существующих номерах окон из сценария. Поэтому я не мог сделать скрипт по умолчанию для перемещения активного окна.