Перераспределение окон между мониторами после выхода из спящего режима +15


AliExpress RU&CIS

У вас 2-3 монитора, на одном браузер и редактор кода, на втором мануал, на третьем почта, вы рассортировали окна как нужно. Далее пошли налить чашечку кофе, монитор выключился, вы пришли, подергали мышкой и вдруг все окна оказались на одном главном мониторе, всё в кучу, вы снова раскидываете окна и ситуация каждый раз повторяется.

Данная тема обсуждается на многих ресурсах, в том числе и на форуме Microsoft, но решение и четкое описание проблемы найти сложно.

Такой проблемы могут не наблюдать обладатели мониторов без двухсторонней связи или с выключенным по умолчанию DDC/CI (на предыдущем DELL такого не было, там в меню выключено было). Если у вас только один монитор, то окна тоже не перестраиваются.

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

При подключении монитора по DisplayPort, когда он уходит в спящий режим — система думает что его нет, все окошки перекидываются при пробуждении на другой монитор, а когда этот основной монитор определяется через доли секунды — все окошки на него улетают. Неприятное явление.

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

Некоторые люди даже на форуме майкрософт просят сделать такую настройку, при которой после отключения монитора окна останутся на нем, либо перекинутся на другой дисплей.

Решений тут много, если монитор поддерживает отключение DDC, то можно так и сделать.
Можно контакт перерубить, но это тоже какое-то жестокое решение.

У меня не было возможности посмотреть как это на видеокартах Nvidia, но на AMD достаточно просто выключить в службах «AMD External Events Utility», для Nvidia отключается служба «NVIDIA Update Service Deamon».

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

И еще такой момент, у меня второй монитор китайским шнурком подключен DVI-HDMI, и он всегда раньше именно так себя и проявлял, на втором мониторе у меня запущен код и что-то по работе, а на основном 34 дюймовом я смотрю фильмы, когда усаживаюсь на диван то совсем не хочу чтобы второй монитор меня отвлекал, выключаю его и окна не перестраиваются, видимо, на этом шнурке не реализован тот самый DDC/CI.

Просьба не судить строго и было бы полезным, если бы вы добавили свои варианты решения подобных проблем.

Спасибо за внимание, надеюсь кому-то это будет полезным.

UPD: Когда окна не собираются на один монитор, а остались на выключенном — можно нажать WIN+P и вместо «расширить» выбрать «только экран компьютера» или «только второй монитор».

Можно еще через Alt+TAB выбрать окно, а дальше через WIN+стрелочка (вправо/влево) сдвинуть его на монитор, зависит от расположения мониторов в настройках.




Комментарии (38):

  1. Carduelis
    /#19632676

    Было бы здорово дополнить пост еще и способом возврата окон на основной монитор. Ну, например, мы выключили сервис, теперь окна не возвращаются на первый монитор, как их туда насильно пихнуть?

    • UnhappyPanda
      /#19639914

      Сделать приложение активным выбрав его в панели задач, и хоткеем Win+Space+[cursor arrow] переместить на нужный экран.

  2. ButscH
    /#19632706

    Ох, если бы только на Windows. У меня такая же проблема на Ubuntu 18… с двумя мониторами. HDMI + DisplayPort, самое обидное то, что при выходе из спящего режима DisplayPort монитор не всегда просыпается и приходится руками выключать и включать на кнопку.

    • zbestr
      /#19634482

      Данный скрипт переносит окно Brackets на правый экран, а окно копирования Nautilus в правый угол и фокусирует его.

      При желании поправить под себя и закинуть в автозагрузку.

      Можно управлять окнами как хочется и забыть про перенос ручками.

      activate_nautilus_files_window
      #!/bin/bash
      
      # kill previous instances
      for pid in $(pidof -x activate_nautilus_files_window); do
          if [ $pid != $$ ]; then
              kill -9 $pid
          fi 
      done
      
      # continuous loop
      while :
      do
      	wid=$(xdotool search --onlyvisible --name 'Действия над файлами' getwindowpid);
      	if [[ -n "$wid" ]]; then
      
      		xdotool search --onlyvisible --name 'Действия над файлами' windowmove 4000 2000 windowraise #windowactivate
      
      	fi
      
      	# maximize and move to left screen Brackets
      	wid=$(xdotool search --onlyvisible --class 'Brackets' getwindowpid);
      	left=$(xdotool search --onlyvisible --class 'Brackets' getwindowgeometry | grep Pos | cut  -d' ' -f4| cut -d',' -f1)
      	if [[ -n "$wid" && $left < 1920 ]]; then
      
      		xdotool search --onlyvisible --classname 'Brackets'    windowfocus    windowmove 1920 y    windowsize 100% 100%
      
      	fi
      
      #	sleep 0.5
      	sleep 1
      done
      


    • zmd
      /#19634686

      xrandr — to control displays
      wmctrl — to move windows around displays
      bash — to make a wrappers (laptop vs. laptop+display[1-N] )

    • acmnu
      /#19638988

      А это не на XFCE такая проблема? А то я сталкивался несколько лет назад.

  3. ClearAirTurbulence
    /#19632834

    Есть такая штука как Actual Window Manager, а еще есть Actual Multiple Monitors. То ли одна, то ли обе из них умеют закреплять, на каком мониторе и в каких его местах с точностью до пикселя должно появляться нужное окно. Не говоря о сотнях других настроек.

    • PavelBelyaev
      /#19632868

      А не подскажите, есть какая-то кастомизация может виртуальных рабочих столов вин10? После мака очень хочется чтобы на каждом мониторе они отдельно переключались и чтобы были хоткеи переключения, чтобы сразу с 1го на 4й перепрыгнуть, а не листать последовательно…

    • vagon333
      /#19632998

      Использую Actual Multiple Monitors.
      Подтверждаю.
      Еще использую это приложение чтоб нарезать 4к на 48" скрине на кусочки и каждое приложение размещать в своем кусочке.

    • Bonio
      /#19635558

      Тоже уже давно использую Actual Multiple Monitors. Не представляю, как без нее можно жить с несколькими мониторами.

  4. amarao
    /#19632950

    В некоторых window-manager'ах есть опция для окон 'move to other monitor', 'move all windows to this monitor'.

  5. Slavik_Kenny
    /#19632984

    Просьба не судить строго и было бы полезным, если бы вы добавили свои варианты решения подобных проблем.

    С удивлением узнал что есть такая проблема…
    Дома 3 монитора, на работе 2, все по DP подключены — никогда не убегали окна ни при выключении монитора ни от спячки…

    • PavelBelyaev
      /#19633012

      А если один монитор кнопочкой выключить — окна там и остаются?
      У меня до этого было 2 монитора DELL U2717DA по DP, дак вот, они не сбивались, но я там в меню видел параметр DDC/CI disabled, думал что же это такое, но не включал его.
      А сейчас монитор LG с FreeSync, утилитой которая с компа может крутить настройки монитора, чтобы в меню не ползать, ну и все эти преимущества заставили производителя железно включить двухсторонний обмен данными.

      • Slavik_Kenny
        /#19633322

        В том-то и дело что да.
        Иногда это вызывает проблемы, когда монитор выключен, а я ищу где нужное окно находится — приходится включать, чтоб окно вытащить :)

        Хотя… Кнопочка не решает, но решает обесточивание… Комп на упсе сидит, а телевизор нет — если свет в квартире отрубается, то фильм с телика на монитор вылазит…
        но телевизор по HDMI подключен…
        Надо будет именно с мониторами проверить :)

        • Slavik_Kenny
          /#19633416

          проверил — при обесточивании дополнительного монитора окно все-таки перелезает на основное.
          Все же при выключении кнопочкой комп продолжает видеть что что-то подключено и окна не трогает…

      • foal
        /#19633610

        Dell по DP — по кнопочк, окно остается, по питанию (выдернуть из розетки) переползает не основной. DDC/CI enabled.

      • DmitryMry
        /#19639014

        Проверил опцию DDC/CI disabled на своём основном Dell — не помогает, при выключении питания монитора кнопкой, окна перескакивают на второй монитор.

        • PavelBelyaev
          /#19639044

          Может дело во втором мониторе? Они перестраиваются при любом изменении конфигурации экранов, типа размер расширенного экрана скачет. Я тут смотрю для hdmi, dvi и dp продаются переходники HotPlugKiller.

          • DmitryMry
            /#19639058

            Второй у меня подключен по HDMI и с ним проблем нет. В связке с предыдущим монитором проблемы тоже не было, а как заменил на Dell, подключенный через DP — вылезло.

            • PavelBelyaev
              /#19639082

              А у меня наоборот на DELL не было по DP, а вот на LG появилось по тому же порту… Вероятно, особенности каждого монитора уникальны.

    • red75prim
      /#19634484

      Видеокарта AMD? Они правильно проигнорировали идиотское требование стандарта Display port сообщать компьютеру об отключении монитора при его уходе в спящий режим.


      Nvidia не так давно выпустила утилиту для обновления прошивок видеокарт, которая решает и эту проблему. https://www.nvidia.com/object/nv-uefi-update-x64.html

  6. helg1978
    /#19633018

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

  7. longtolik
    /#19633086

    Один 4К монитор по DP — после выключения-включения кнопкой окна сбиваются в левый верхний угол. Intel Core-i-7, 8550U и UHD 620. Привык уже к таким штукам, чего ожидать ещё от Microsoft.
    И Chrome тоже никак не открывает https сайты, меняю настройки, работает, а потом опять за своё. И ещё около 30% процессорного времени тратит. Пока Edge использую, но и в нем все не так, не сохраняет страницы, например. Microsoft. спрашивать — себе дороже, скажут перезагрузить или в этом роде. :)

    • PavelBelyaev
      /#19633108

      Там есть еще одна проблема такая, когда при инициализации монитора сперва думает что у него вот такое разрешение, а потом читает EDID и ставит большое, можете погуглить, но там либо в реестре снести из ветки конфигураций мониторы, перегрузить и потом вписать правильное разрешение, либо еще в тех же Nvidia Settings можно экспортировать EDID и указать чтобы явно из файла грузило, а не из монитора. Ну иногда просто установка драйвера на монитор помогает, чтобы не было универсальный pnp монитор.

  8. zuborg
    /#19633182

    Далее пошли налить чашечку кофе, монитор выключился, ...
    Монитор выключается не сам по себе — сигнал с кабеля снимает ОС (условно говоря, там наверняка более сложный обмен сообщениями), а уже потом монитор это видит и уходит в спячку. Соответственно, возвращение сигнала на кабель с последующим включением монитора полностью контролируется ОС, осталось только делать это правильно )
    Имхо, тут вообще не надо городить решение, требующее действий от пользователя, вся проблема в том, что ОС решает перенести окна до того как монитор успевает включиться. Всего-то надо после подачи сигнала на кабель подождать секунду-другую — если окажется что монитора на нем уже нет, тогда и переносить окна.

    • PavelBelyaev
      /#19633208

      Ну первые упоминания таких проблем еще с семерки тянутся, ничего не делать и ждать пока они это решат на уровне ОС нет возможности, работать нужно сейчас, поэтому приходится всякие костыли использовать…

    • red75prim
      /#19634486 / +1

      Сообщать об отключении монитора при его переходе в спящий режим — это требование стандарта display port (идиотское). АМД давно забила на это требование. Nvidia — недавно: www.nvidia.com/object/nv-uefi-update-x64.html

      • PavelBelyaev
        /#19634572

        Т.е. я могу запросить у производителя обновление видеобиоса с такими фиксами? У меня AMD, когда то мне по запросу для фастбута присылали обнову…

  9. pnetmon
    /#19633368 / +3

    Перенос окон между мониторами в Windows 10: Win+Shift + стрелка влево/вправо
    , а дальше через WIN+стрелочка (вправо/влево) сдвинуть его на монитор — это у меня перенос окна в размере экрана монитора влево или вправо.

    • arheops
      /#19633852

      Если у вас ide типа PyCharm приходится отключать. Там на эту комбинацию возврат, и не переназначается вроде.

  10. Stas911
    /#19633684

    У меня такая штука была на Маке в прошлом году — пропадали окна при отключении внешнего монитора, пофиксилось каким-то из апдейтов

  11. Denai
    /#19633996

    У меня несколько иная проблема, окна никуда не перескакивают, но 1 раз из примерно 5 монитор подключенный по DP просто не включается. Либо его физически отключаешь и включаешь, либо перезагружаешься. Иначе остаётся один. Под виндой ловлю такое постоянно, под Linux пока не замечал, но и пользуюсь этой ОС значительно реже.

  12. robert_ayrapetyan
    /#19634140

    Расскажите какое преимущество нескольких физ. мониторов перед виртуальными.

    • PavelBelyaev
      /#19634330 / +1

      Когда нужно, например, видеть сразу два окна.
      1. Пишу отчет о проделанной работе — на первом окне браузер, на втором почтовик, я сразу там скрины делаю, сюда вставляю.
      2. Смотришь на характеристики товара или сразу трех и одновременно печатаешь ответ клиенту.
      3. Можно отдельным окном вытащить рядом консоль разработчика браузера, обновлять, тыкать по кнопочкам аяксовым и сразу видеть что там куда отправляется.
      4. Кто видео монтирует, тем тоже удобно тут во всю ширину и высоту видеть кусочки фрагментов, а на втором мониторе сам результат.

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

      Но я лично совмещаю и то и другое, на первом рабочем столе например редактор и браузер, а на втором аська и стратегия браузерная…

  13. AlexGluck
    /#19636102

    Это поведение настраивается на линуксе. Я бы от майкрософт потребовал исправление в течении 45 дней или возврат средств за ОС. Но я конечно с мелкомягкими-ушлёпками не работаю, на федоре лучше работается.