TIP#1888: Windows 10 s více displeji připojenými přes DisplayPort a problémy s obnovením oken

Když jsem si po mnoha letech pořídil nový herní stroj, tak došlo i k přepojení dvojice displejů – ten menší je na DVI-HDMI, ten větší je ale nově přes DisplayPort. Fungovalo to skvělo do okamžiku, kdy se displej/displeje uspal/y nebo počítač hibernoval a byl znovu zapnut.

Po probuzení displeje či počítače se zcela a úplně rozhodilo rozmístění oken (nikoliv rozmístění ikon). Za normálních okolností mám na velkém displej vedle sebe půl na půl dvakrát Chrome (pracovní a soukromé) a ještě otevřené tři další Chrome co nevyplňují celou obrazovku. Jsou různě rozložené po ploše a zůstávají otevřené, ale minimalizované nebo schované za dvojící oněch hlavních pracovních prostorů (365tipů, Vinograf a Kolotipy aktuálně).

Už asi deset let zdokumentovaný problém s Windows (nejenom Windows 10) je, že když v této konfiguraci (DisplayPort hraje důležitou roli) dojde k uspání displeje/počítače (či třeba i vytažení kabelu či vypnutí displeje) tak Windows přemístí vše otevřené na jiný displej a zcela vše rozhodí. Když usnou oba, tak vše přemístí na jakýsi „virtuální displej“ kde to také všechno zcela rozhodí.

TIP: Pokud se vám rozhazují pozice ikon, tak mrkněte do Jak udržet pozice/rozložení ikon na ploše při změnách rozlišení a připojování externích monitorů?

Dá se tomu částečně předcházet při hibernaci/uspání tím, že minimalizujete všechna okna.

Dá se tomu částečně předcházet tím, že vypnete uspávání displejů při nečinnosti. Což je poněkud opruz, proč by to mělo svítit, když na tom nikdo nepracuje.

Nakonec jsem ale v záplavě různých navrhovaných řešení (včetně některých aplikací co to mají pomoci řešit a neřeší) jedno, které zachová v pohodě ona dvě půl-na-půl okna a většinou zachová i ostatní okna (většinou, protože občas se to přeci jen rozhodí).

Řešení vyžaduje abyste si našli v Registry HKLM\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration a tam klíč SIMULATED a položky ActiveSize.cx a ActiveSize.cy – ty budou nastaveny na 1024×768 – což je taky důvod, proč po uspání/vypnutí se vše „zdrcne“.

Nastavte je na velikost vašeho největšího displeje – v mém případě tedy nastavit 3840×2160.

Budou v nějaké vnořené části pod SIMULATED (v mém případě 00/00). Změnit pak ještě můžete stejným způsobem PrimSurfSize.cx a PrimSurfSize.cy (bude nejspíš ve dvou místech zatímco první jenom v jednom) Při vyplňování si přepněte z šestnáctkové na desítkovou soustavu.

Není ani nutný restart, projeví se to hned po uložení.

Dobrá zpráva je, že někdy na konci dubna Microsoft oznámil, že pracuje na řešení přímo na úrovní operačního systému. Při trošce štěstí by se to mohlo objevit už v Windows 10 version 21H2, tedy v druhé polovině roku 2021.

Do té doby zkuste výše uvedené řešení v registry, které funguje částečně – stejně občas některé okno bude po probuzení rozhozené. Nebo vyzkoušejte něco z následujících aplikací:

Osobně ale dávám stále přednost změně v Registry a občasným komplikacím.

PS: Fotka v záhlaví je ilustrační, tohle doma nemám.