Portál AbcLinuxu, 10. května 2025 08:27

Dotaz: dynamicka zmena virtual screen?

jose17 avatar 6.9.2009 22:18 jose17 | skóre: 44 | blog: Joseho_blog | Bratislava
dynamicka zmena virtual screen?
Přečteno: 408×
Odpovědět | Admin

zdravim,

trapi ma nasledovna vec. po pripojeni/odpojeni notebooku nie je problem spustit skript, ktory pomocou xrandr zapne/vypne vystup na 1 alebo 2 monitory (mozno by slo napisat aj udev rule), ale ako je to s virtual size? v xorg.conf nastavim Virtual 1280 1024, pretoze externy monitor ma vacsie rozlisenie, no ak mam aktivnu iba obrazovku laptopu, tak napr. nevidim spodny panel (pouzivam openbox). da sa teda Virtual zmen(s)it bez restartu X? dik, jose

Ja vim, on vi, ty nano!
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

7.9.2009 10:48 mkmm | skóre: 11
Rozbalit Rozbalit vše Re: dynamicka zmena virtual screen?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Resil jsem stejny problem. V xorg.conf se musi nastavit vetsi Virtual, ve kterem x je souctem sirek obou monitoru a y je vyska vetsiho monitoru. Kdyz mam rozliseni notebooku 1280x800 a externiho monitoru 1680x1050, tak Virtual bude 2960x1050:
Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        Monitor    "Monitor0"
        DefaultColorDepth 24
        SubSection "Display"
                Depth     24
                Modes "1280x800" "1024x768" "800x600" "640x480"
                Virtual 2960 1050
        EndSubSection
EndSection
Zapinani a vypinani resim dvema skripty:
# zapnuti obou monitoru (mode se zjisti napr. programem gtf)
xrandr --newmode "1680x1050_60.00"  147.14  1680 1784 1968 2256  1050 1051 1054 1087  -HSync +Vsync
xrandr --addmode VGA "1680x1050_60.00"
xrandr --output LVDS --mode 1280x800 --dpi 96 --output VGA --mode 1680x1050_60.00 --dpi 96 --right-of LVD

# vypnuti externiho
xrandr --output LVDS --mode 1280x800 --dpi 96 --output VGA --off
jose17 avatar 7.9.2009 11:43 jose17 | skóre: 44 | blog: Joseho_blog | Bratislava
Rozbalit Rozbalit vše Re: dynamicka zmena virtual screen?

iste, toto chapem. problem je ale prave rozdiel vysky (teda y) vacsieho a mensieho rozlisenia. potom totiz dole (alebo hore) vznika priestor, do ktoreho sice moze vstupovat kurzor mysi alebo je tam mozne umiestnit okno, ale uzivatel nic nevidi. cize to potom vyzera takto:

|-------Virtual-Screen-------------------------| 
| /---laptop---\ /-----externy monitor-------\ |
| |            | |                           | |
| |            | |                           | |
| |            | |                           | |
| |            | |                           | |
| \------------/ |                           | |
|                |                           | |
|  tu nic        |                           | |
|   nevidiet     |                           | |
|                |                           | |
|                \---------------------------/ |
|----------------------------------------------|
Ja vim, on vi, ty nano!
Josef Kufner avatar 7.9.2009 12:04 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: dynamicka zmena virtual screen?
S tím by se měl window manager už nějak vyrovnat.
Hello world ! Segmentation fault (core dumped)
7.9.2009 12:27 Radovan Garabík
Rozbalit Rozbalit vše Re: dynamicka zmena virtual screen?
xmonad sa s tým vyrovná krásne... ale s kurzorom myši je vždy trocha problém.
jose17 avatar 7.9.2009 12:45 jose17 | skóre: 44 | blog: Joseho_blog | Bratislava
Rozbalit Rozbalit vše Re: dynamicka zmena virtual screen?

 

xmonad sa s tým vyrovná krásne... ale s kurzorom myši je vždy trocha problém.

openbox mi tiez zrovna umiestnuje okna do tej neviditelnej oblasti, ale ta mys obcas zamrzi (panel mam dole a tak ju musim casto "hladat")

 

Ja vim, on vi, ty nano!
jose17 avatar 7.9.2009 13:39 jose17 | skóre: 44 | blog: Joseho_blog | Bratislava
Rozbalit Rozbalit vše Re: dynamicka zmena virtual screen?

 

S tím by se měl window manager už nějak vyrovnat.

urcite to nema byt uloha X?

 

Ja vim, on vi, ty nano!
Josef Kufner avatar 7.9.2009 14:04 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: dynamicka zmena virtual screen?
S tím umisťováním oken určitě ne – X dávají window manageru vše co potřebuje. Ale s tím kursorem myši už by to asi měl hlídat X server. Založí někdo bug? ;-)
Hello world ! Segmentation fault (core dumped)
jose17 avatar 7.9.2009 14:11 jose17 | skóre: 44 | blog: Joseho_blog | Bratislava
Rozbalit Rozbalit vše Re: dynamicka zmena virtual screen?

 

Založí někdo bug? ;-)

pri rychlosti vyvoja Xorg bude vyrieseny tak za 100+n rokov

 

Ja vim, on vi, ty nano!
7.9.2009 14:06 michal | skóre: 24 | blog: Blog
Rozbalit Rozbalit vše Re: dynamicka zmena virtual screen?

Podle mě jo, windows manager by se měl jen starat u umístění oken (maximalizaci). V každém případě na Windows je to vyřešené podle mě o něco lépe, tam se pod obrazovku ze shora zajet nedá.

7.9.2009 14:39 Ash | skóre: 53
Rozbalit Rozbalit vše Re: dynamicka zmena virtual screen?
na Windows je to vyřešené podle mě o něco lépe, tam se pod obrazovku ze shora zajet nedá

Ani když si nastavíte virtuální plochu větší než zobrazovanou? Jinak mně výřez z virtuální plochy myš vždy následoval (na Linuxu) tak nevím, možná to jde někde nastavit.
7.9.2009 15:08 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: dynamicka zmena virtual screen?

Xka nativně podporovávala panning (funkce Virtual... ), pak to nějakou dobu nefungovalo a údajně to již zase přidali zpět.

Např. v eeebuntu 3.0 se musí pro panning volat speciální utilitka, která to do Xek přidává.

Nezná někdo detaily?

jose17 avatar 7.9.2009 15:13 jose17 | skóre: 44 | blog: Joseho_blog | Bratislava
Rozbalit Rozbalit vše Re: dynamicka zmena virtual screen?

panning na mensom displeji je podla mna horsia vec ako neviditelna oblast. skusal som parkrat a fakt som si nezvykol..

Ja vim, on vi, ty nano!
7.9.2009 15:58 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: dynamicka zmena virtual screen?

Pro delší použití naprosto souhlasím. Nicméně docela užitečné je to při připojení netbooku na prezentační projektor s vyšším rozlišením - tam je běžné mít obě plochy přes sebe a zároveň dodržet vyšší rozlišení externího zobrazovače. Obvykle má člověk při prezentaci obraz projektoru za sebou, takže potřebuje koukat na displej netbooku. A minimálně ubuntu 9.04/eeebuntu 3.0 bez dalšího přiohýbání nic takového neumí.

Josef Kufner avatar 7.9.2009 16:15 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: dynamicka zmena virtual screen?
V takových případech je lepší do projektoru pustit nižší rozlišení, protože posouvat si výřez během prezentace je poněkud nepohodlné...
Hello world ! Segmentation fault (core dumped)
7.9.2009 16:38 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: dynamicka zmena virtual screen?

Jenomže na netbooku to znamená rozlišení 800x600 (1024x600 projektory 4:3 neumí), což je nereálné omezení. Při prezentaci se posouvání nepotřebuje, tam člověk jen přepíná slidy. Ale spuštění prezentace, příp. otevření pomocných aplikací (stránku v browseru) před/mezi prezentacemi bez přístupu k celému UI nelze. A přepínat rozlišení mezi prezentacemi je také nereálné, protože obvykle moderuje neajtík. To posouvání je automatické, nějak mi nevadí. V dodávaných ovladačích k eeePC pro winXP toto konkrétně funguje OK. (narozdíl od jiným věcí :) ).

7.9.2009 17:15 Ash | skóre: 53
Rozbalit Rozbalit vše Re: dynamicka zmena virtual screen?
Ono by asi mělo fungovat to, že když se nějaká app dá na fullscreen, tak to chytne tu viditelnou oblast, takže na rozlišení v tu chvíli až tak nezáleží. Nějaký čas mi to nefungovalo, ale teď už myslím ano.
7.9.2009 20:27 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: dynamicka zmena virtual screen?

Obě screeny začínají v bodě 0,0, mají různou velikost a na jedné je potřeba využít celou plochu a na druhé stále umožnit zobrazení celé aplikace.

11.9.2009 23:25 Ash | skóre: 53
Rozbalit Rozbalit vše Re: dynamicka zmena virtual screen?
Měl jsem na mysli že když se dá aplikace na fullscreen (typicky prezentace, browser) tak zabírá (měla by zabírat) jen viditelnou oblast a nehrozí že by kus nebyl vidět nebo se musel posouvat. Ale to je jedno, asi víte co potřebujete, tohle byl jen postřeh.
Josef Kufner avatar 7.9.2009 17:02 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: dynamicka zmena virtual screen?
Ale jak jsem si zrovna pohrál s xrandr, tak by mohlo být zajímavější použít --scale a zmešit si obraz na notebooku, aby se mu vešel na displej...
Hello world ! Segmentation fault (core dumped)
7.9.2009 20:28 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: dynamicka zmena virtual screen?

Zajímavé, díky za tip.

jose17 avatar 11.9.2009 22:36 jose17 | skóre: 44 | blog: Joseho_blog | Bratislava
Rozbalit Rozbalit vše Re: dynamicka zmena virtual screen?
Odpovědět | | Sbalit | Link | Blokovat | Admin

 workaround pomocou xwarppointer:

difference_in_vertical_resolutions=132; x_resolution=1024; while sleep 0.4; do xwarppointer get | ( read x y; if [ $x -lt ${x_resolution} -a $y -lt ${difference_in_vertical_resolutions} ]; then xwarppointer abspos $x ${difference_in_vertical_resolutions}; fi); done

Ja vim, on vi, ty nano!

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.