5

В настоящее время я настраиваю новую среду Cinnamon, и все мои ярлыки работают правильно. Мне удалось найти этот скрипт в Интернете, который я позволил мне перемещать окна между мониторами:

#!/bin/bash

#get the window geometry
widthHeight=( $(wmctrl -l  -G | grep -v ' \-1 ' | awk 'END{print $5,$6}' ))

#toggle if $1 is set and set to left - move window to left
if [[ ! -z $1 ]]; then
        if [[ $1 == "left" ]]; then
        #this window is in another screen
            wmctrl -r ":ACTIVE:" -e 0,0,0,${widthHeight[0]},${widthHeight[1]}
    else
            wmctrl -r ":ACTIVE:" -e 0,1920,0,${widthHeight[0]},${widthHeight[1]}
        fi  
fi

Однако это не работает, если окно развернуто или привязано к любой из сторон монитора. Кто-нибудь знает, как изменить этот скрипт, чтобы он ВСЕГДА перемещал окно к следующему монитору?

2 ответа2

1

Некоторое время назад я задал тот же вопрос в Интернете и нашел несколько лучший ответ в Github-репозитории ntowbinj:

https://github.com/ntowbinj/switch-monitor

Скрипт работает как с развернутыми окнами, так и с полноэкранными. Вам может понадобиться установить xdotools и wmctrl (у меня были), последний требуется для отмены / повторного применения максимизации и полноэкранного режима.

Я решил НЕ копировать / вставлять код здесь, несмотря на знание ответов только для ссылок. Причина: 161 дополнительная строка не сделает это более ясным / лучшим ответом, и возможные обновления, чтобы сделать это устойчивым ко времени, скорее всего, произойдут на GitHub, а не здесь, или на PasteBin (где другие сайты SE, которые я поощрял размещать такие длинные пасты). Чтобы восполнить это, я в общих чертах обрисовал, как будет работать скрипт.

1

Корица может сделать это изначально прямо сейчас, вам не нужен скрипт для этого.

По умолчанию это Shift + Windows + стрелка .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .