Рейтинг:0

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

флаг kr

Я использую два монитора: один прямо передо мной и один справа. Часто бывает, что я хочу переместить все содержимое правого экрана на центральный экран и наоборот. Лучший метод, который я нашел до сих пор, — это использование комбинации (функция + сдвиг + влево/вправо). Однако с помощью этого метода мне нужно сделать это с каждым окном.

Есть ли встроенная функция в Ubuntu или приложение для реализации этой функции?

Если нет, то какой был бы эффективный подход к реализации этого самостоятельно?

Спасибо за любую помощь в этом,

Ваше здоровье

Рейтинг:0
флаг cn

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


У меня нет двух мониторов в моей среде, однако я определил две рабочие области в своей среде GNOME:

$ вмктрл -д
0 * DG: 1920x1080 VP: 0,0 WA: 0,0 1920x1046 Рабочая область 1
1 - DG: 1920x1080 VP: Н/Д WA: 0,0 1920x1046 Рабочая область 2

Я создал следующий скрипт для перемещения всех окон из одной рабочей области в другую:

#!/бин/баш
wmctrl -l | пока читаешь, побеждаешь на столе отдыхаешь; делать
  пусть ndesk=1-desk
  echo $win $desk $ndesk
  wmctrl -i -r $win -t $ndesk
сделано

Не знаю, относится ли это и к мониторам. Можете ли вы сначала попробовать команду wmctrl -d и комментарий? Примечание. Вы можете установить wmctrl команда с использованием sudo apt установить wmctrl.

kiliank avatar
флаг kr
Спасибо за ответ! Вывод `wmctrl -d`: `0 * DG: 1920x1080 VP: 0,0 WA: 72,27 1848x1053 Рабочая область 1 1 - DG: 1920x1080 VP: N/A WA: 72,27 1848x1053`
FedKad avatar
флаг cn
Так ты тоже смог попробовать мой сценарий?
kiliank avatar
флаг kr
Я сделал ошибку, правильный вывод wmctrl -d: `0 * DG: 3840x1200 VP: 0,0 WA: 72,27 3768x1173 Рабочая область 1 1 - DG: 3840x1200 VP: N/A WA: 72,27 3768x117` Вроде бы скрипт перемещает вещи в другую рабочую область, но не меняет содержимое экранов. Есть ли способ назначить экраны конкретным рабочим местам?
FedKad avatar
флаг cn
Я предполагаю, что перечисленные выше рабочие области предназначены для каждого экрана (монитора). Таким образом, `wmctrl` перемещает окна между рабочими пространствами _одного и того же экрана_, но не между экранами. Возможно, нам придется изучить другие варианты. :(
kiliank avatar
флаг kr
Но спасибо за упоминание wmctrl. С этим я мог найти этот пост: https://askubuntu.com/questions/702071/move-windows-to-specific-screens-using-the-command-line, и я мог бы быть решением. Но сначала мне нужно понять, что именно там происходит...
FedKad avatar
флаг cn
Да. В этих вопросах и ответах упоминается опция `-e` команды `wmctrl`, которая связана с выводом (списком мониторов), создаваемым `xrandr`. Это может привести к решению вашего вопроса.
kiliank avatar
флаг kr
Также глядя на разрешения (3840x1200), которые я получил от wmctrl -d, похоже, что Ubuntu на самом деле не имеет концепции двух разных экранов, а просто объединяет все пространство экрана в большой виртуальный экран. Таким образом, изменение содержимого экрана сводится к перемещению окон в определенные позиции на «объединенном экране». Возможно, поэтому для него нет одной простой команды.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.