Как стать автором
Обновить

Комментарии 43

Было бы здорово дополнить пост еще и способом возврата окон на основной монитор. Ну, например, мы выключили сервис, теперь окна не возвращаются на первый монитор, как их туда насильно пихнуть?
Сделать приложение активным выбрав его в панели задач, и хоткеем Win+Space+[cursor arrow] переместить на нужный экран.
Ох, если бы только на Windows. У меня такая же проблема на Ubuntu 18… с двумя мониторами. HDMI + DisplayPort, самое обидное то, что при выходе из спящего режима DisplayPort монитор не всегда просыпается и приходится руками выключать и включать на кнопку.
Данный скрипт переносит окно 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


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

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

НЛО прилетело и опубликовало эту надпись здесь
А не подскажите, есть какая-то кастомизация может виртуальных рабочих столов вин10? После мака очень хочется чтобы на каждом мониторе они отдельно переключались и чтобы были хоткеи переключения, чтобы сразу с 1го на 4й перепрыгнуть, а не листать последовательно…
Использую Actual Multiple Monitors.
Подтверждаю.
Еще использую это приложение чтоб нарезать 4к на 48" скрине на кусочки и каждое приложение размещать в своем кусочке.
Тоже уже давно использую Actual Multiple Monitors. Не представляю, как без нее можно жить с несколькими мониторами.
В некоторых window-manager'ах есть опция для окон 'move to other monitor', 'move all windows to this monitor'.
Просьба не судить строго и было бы полезным, если бы вы добавили свои варианты решения подобных проблем.

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

Хотя… Кнопочка не решает, но решает обесточивание… Комп на упсе сидит, а телевизор нет — если свет в квартире отрубается, то фильм с телика на монитор вылазит…
но телевизор по HDMI подключен…
Надо будет именно с мониторами проверить :)
проверил — при обесточивании дополнительного монитора окно все-таки перелезает на основное.
Все же при выключении кнопочкой комп продолжает видеть что что-то подключено и окна не трогает…
Dell по DP — по кнопочк, окно остается, по питанию (выдернуть из розетки) переползает не основной. DDC/CI enabled.
Проверил опцию DDC/CI disabled на своём основном Dell — не помогает, при выключении питания монитора кнопкой, окна перескакивают на второй монитор.
Может дело во втором мониторе? Они перестраиваются при любом изменении конфигурации экранов, типа размер расширенного экрана скачет. Я тут смотрю для hdmi, dvi и dp продаются переходники HotPlugKiller.
Второй у меня подключен по HDMI и с ним проблем нет. В связке с предыдущим монитором проблемы тоже не было, а как заменил на Dell, подключенный через DP — вылезло.
А у меня наоборот на DELL не было по DP, а вот на LG появилось по тому же порту… Вероятно, особенности каждого монитора уникальны.

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


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

Что-то не помогло мне это обновление. При отключении кнопки питания монитора, всё перескакивает на другой монитор.
Это работает только для мониторов уходящих в режим сна. Для физически отключенных мониторов (кнопка питания или отключенный видеокабель) решения вроде бы нет.
особенно раздражает, когда по тимвьюверу подключаешься к ноуту, и просыпается встроенный HD монитор а не 4К, на котором все открыто. В итоге Виндовс переносит все окна на него, но оставляет огромные контролы, и панели инструментов.

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

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

Спасибо, драйвер самый последний для Intel, тут прочитал:
https://m.windowscentral.com/how-install-intel-graphics-windows-dch-drivers-windows-10
Не проблема всё это, время будет, разберусь. В Windows много чего ещё неправильно работает.

Далее пошли налить чашечку кофе, монитор выключился, ...
Монитор выключается не сам по себе — сигнал с кабеля снимает ОС (условно говоря, там наверняка более сложный обмен сообщениями), а уже потом монитор это видит и уходит в спячку. Соответственно, возвращение сигнала на кабель с последующим включением монитора полностью контролируется ОС, осталось только делать это правильно )
Имхо, тут вообще не надо городить решение, требующее действий от пользователя, вся проблема в том, что ОС решает перенести окна до того как монитор успевает включиться. Всего-то надо после подачи сигнала на кабель подождать секунду-другую — если окажется что монитора на нем уже нет, тогда и переносить окна.
Ну первые упоминания таких проблем еще с семерки тянутся, ничего не делать и ждать пока они это решат на уровне ОС нет возможности, работать нужно сейчас, поэтому приходится всякие костыли использовать…
Сообщать об отключении монитора при его переходе в спящий режим — это требование стандарта display port (идиотское). АМД давно забила на это требование. Nvidia — недавно: www.nvidia.com/object/nv-uefi-update-x64.html
Т.е. я могу запросить у производителя обновление видеобиоса с такими фиксами? У меня AMD, когда то мне по запросу для фастбута присылали обнову…

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

спасибо! не знал о таком удобстве.
Если у вас ide типа PyCharm приходится отключать. Там на эту комбинацию возврат, и не переназначается вроде.
У меня такая штука была на Маке в прошлом году — пропадали окна при отключении внешнего монитора, пофиксилось каким-то из апдейтов
У меня несколько иная проблема, окна никуда не перескакивают, но 1 раз из примерно 5 монитор подключенный по DP просто не включается. Либо его физически отключаешь и включаешь, либо перезагружаешься. Иначе остаётся один. Под виндой ловлю такое постоянно, под Linux пока не замечал, но и пользуюсь этой ОС значительно реже.
Расскажите какое преимущество нескольких физ. мониторов перед виртуальными.
Когда нужно, например, видеть сразу два окна.
1. Пишу отчет о проделанной работе — на первом окне браузер, на втором почтовик, я сразу там скрины делаю, сюда вставляю.
2. Смотришь на характеристики товара или сразу трех и одновременно печатаешь ответ клиенту.
3. Можно отдельным окном вытащить рядом консоль разработчика браузера, обновлять, тыкать по кнопочкам аяксовым и сразу видеть что там куда отправляется.
4. Кто видео монтирует, тем тоже удобно тут во всю ширину и высоту видеть кусочки фрагментов, а на втором мониторе сам результат.

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

Но я лично совмещаю и то и другое, на первом рабочем столе например редактор и браузер, а на втором аська и стратегия браузерная…
Это поведение настраивается на линуксе. Я бы от майкрософт потребовал исправление в течении 45 дней или возврат средств за ОС. Но я конечно с мелкомягкими-ушлёпками не работаю, на федоре лучше работается.
Не вижу у себя службу NVIDIA Update Service Deamon. Что-то другое используется вместо неё? То, что нашёл: NVIDIA Display Container LS, NVIDIA LocalSystem Container, NVIDIA NetworkService Container, NVIDIA Telemetry Container.
Столкнулся тоже с аналогичной проблемой на новом мониторе. Юзаю в основном Ubuntu, до этого много лет была одна конфигурация где основной моник был по DVI и второй по HDMI, никаких проблем не возникало, даже не знал про такое.
А тут новый моник ради работы FreeSync и игрулек под виндой, пришлось подключить по DisplayPort, и начались эти траблы, постоянно скачущие окна туда-сюда еще пол дела, но вот то что после пробуждения компа из спящего режима моник не всегда включался — это прям боль.
Софтово это дело поправить не получилось как ни пытался, а т.к. на монитор гарантии не было, решил разобраться что же там происходит в железе. В общем проблема кроется в том что мой конкретный монитор при любом чихе дергает сигнал HotPlugDetect (HPD), и если другой монитор дергает его только при включении и выключении кнопкой, то Acer VG270U дергает его даже при уходе/выходе в/из стендбай заставляя систему думать что я постоянно дергаю туда-сюда монитор.
Видимо в этом и кроется разница между теми у кого все нормально и не было проблем и кто страдает от этого, просто разные мониторы по разному себя ведут.
В целом тут можно поступить грубо, отрезать линию HPD от контроллера монитора и подтянуть ее к +3.3 вольтам, тогда видеокарта будет думать что монитор постоянно подключен и никуда не отключается. Единственное что будет глючить, это если например подключить выключенный монитор к работающему компу, а потом включить монитор — то скорее всего видюха не увидит его, нужно будет передергивать кабель.

Но раз уж разобрал монитор и докопался до сути проблемы, то сложно остановиться, и решил заколхозить чтоб все было хорошо в любых режимах, взял простейший микроконтроллер, завел ему на входы сигнал со светодиодов монитора, другой выход на пин HPD и написал логику работы так что при погасании индикаторов (монитор выключен) пин HPD притягивается к земле, а при включении соответственно поднимается и дается импульс для собственно определения хотплага.
Теперь при включении/отключении монитора кнопкой или по питанию — все штатно определяется и окна перестраиваются как нужно. А вот при уходе монитора в стендбай сигнал HPD не дергается и система не сходит с ума.

такой колхоз :)

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


  • если внешний монитор отключён, окна перескакивали с него на встроенный экран,
  • если снова включить внешний монитор, его окна возвращались на него обратно.

Так происходит на моём макбуке, и я вообще не задумываюсь, через что подключать внешний монитор — хоть через HDMI, хоть DisplayPort, хоть USB-C.


А вот у жены ноут на Win10, монитор подключён по USB-C—USB-C, и окна по любому чиху собираются на основном мониторе (поэтому назначил основным внешний монитор, но это костыль). Что можно сделать? Поможет, если подключить монитор через переходник DP–USB-C или HDMI–USB-C? (У ноута нет видео-портов, только USB). Не хочется зря покупать кабели для теста, если кому-то известно, сработает или нет.


Памагити. Благодарю.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации