Page 1 of 1

Виртуальные экраны (рабочие столы)

Posted: Thu May 10, 2012 6:27 pm
by Mario
Несколько лет уже наверное созревает идея реализации нескольких рабочих столов. Причем все на уровне приложения (пусть будет все тот же PANEL). Есть некоторые ограничения:
1) Функция свертывания окон (ф.18.23) работает для всех окон. Сворачивать окна по одному неэффективно как выяснилось практически, потому собственно функция и была введена.
2) Фон рабочего стола буден на всех окнах одинаковый.
3) Нестандартные приложения не подчиняющиеся общей логике могут вызывать "виртуальные" коллизии.
Вот как то так.

Если у кого есть свое видение то излагайте.

Re: Виртуальные экраны (рабочие столы)

Posted: Thu May 10, 2012 6:49 pm
by Nable
Сначала запилить композитинг, а потом можно будет впилить нормальные виртуальные рабочие столы, а не тупо ворочать окнами.
К слову о композитинге, из ядра уже можно дёргать графическое ускорение атишного драйвера?

Re: Виртуальные экраны (рабочие столы)

Posted: Thu May 10, 2012 6:57 pm
by Mario
Nable wrote:К слову о композитинге, из ядра уже можно дёргать графическое ускорение атишного драйвера?
Насколько мне известно, рабочие версии ATI и Intel драйверов поддерживают аппаратные курсоры и смену режимов. Если и есть драйвер поддерживающий ускорение, то в массовое тестирование он еще не вышел. К тому же уповать на аппаратные возможности не стоит - в Linux все прекрасно работает и на Vesa драйвере.

К тому же у меня ни одной ATI карточки нету. Только Nvidia и Intel, остальное noname Vesa.

Re: Виртуальные экраны (рабочие столы)

Posted: Thu May 10, 2012 8:46 pm
by XVilka
Не понятно, что значит 3 пункт - нестандартные приложения будут показываться на всех экранах сразу? Так это не критично

Re: Виртуальные экраны (рабочие столы)

Posted: Thu May 10, 2012 8:54 pm
by Mario
Если приложение самопроизвольно меняет состояния - минимизировано или развернуто, то возможны коллизии. На панели его не будет, а окно будет отображаться. Вероятность не большая, но исключать нельзя.

Re: Виртуальные экраны (рабочие столы)

Posted: Thu May 10, 2012 9:29 pm
by popovpa
Отличная идея, у меня на работе так, на одном всё с работой, на другом всё про ассемблер :)...но вот везде разный фон, это уже слишком лишнее...ещё потом захотят разные иконки...затем вообще хочу чтобы второй стол был виртуальной машиной и там виндовс крутился...

Re: Виртуальные экраны (рабочие столы)

Posted: Thu May 10, 2012 9:34 pm
by SoUrcerer
Ну, можно запустить винду, если сильно захочется.

Re: Виртуальные экраны (рабочие столы)

Posted: Thu Aug 23, 2012 8:56 am
by Sergey_vl
А можно ли полностью свопить всю занятую (основную+видео) память в свободную (расширеную) область и в очищеной свободной области загружать полностью новую систему? Далее переключение производить менянием блоков местами... Чтобы не было никаних "менеджеров", можно в памяти перед блоком генерировать какуюто "метку" с указанием длинны блока, тогда при загрузке ядро просматривает всю память на предмет наличия этих меток и далее по команде перегружает себя в "расширеную" память а из область с определённой меткой загружает данные в "основную" память и передаёт управление на адресс указаный в загруженой "метки". Приложение на "не активном" рабочем столе не будут работать "фоном", хотя, вспоминая работу PalmOS, недумаю что это "минус"...

Re: Виртуальные экраны (рабочие столы)

Posted: Wed Nov 28, 2012 10:43 pm
by GerdtR
Чисто идея, причём без достаточных знаний теории: насколько я знаю реальные размеры экрана может отличаться от видимой, например, вроде бы именно так в винде окна можно прятать за край экрана. Т.е. если реальный размер экрана сделать высотой в два экрана(всё равно в Колибри нельзя прятать окна за край экрана), то можно реализовать два стола. Причём пункт 3 срабатывать не будет(проги ведь будут разворачиватся в невидимый экран). Вот правда для видеокарт с маленькой памятью будет проблема.

Re: Виртуальные экраны (рабочие столы)

Posted: Wed Nov 28, 2012 10:50 pm
by SoUrcerer
Это требует не только видеопамяти, но и обычной.

Re: Виртуальные экраны (рабочие столы)

Posted: Wed Nov 28, 2012 10:52 pm
by GerdtR
А обычной зачем?

Re: Виртуальные экраны (рабочие столы)

Posted: Wed Nov 28, 2012 10:56 pm
by SoUrcerer
Так оно уж устроено. :)

Re: Виртуальные экраны (рабочие столы)

Posted: Wed Nov 28, 2012 11:01 pm
by GerdtR
Нет, ну без шуток))) И ещё. Реализации есть? Хотя бы на базе свернуть развернуть?(Кстати одна была. В старом Panel из релиза если на третью кнопку, те что возле меню, кликать, то свёрнутые окна развернуться и наоборот. Вот и два рабочих стола:))

Re: Виртуальные экраны (рабочие столы)

Posted: Wed Nov 28, 2012 11:05 pm
by Leency
Хм... интересный вопрос - а если сделать размер рабочего стола в несколько раз больше экрана, чтобы было место слева и справа, снизу и сверху. Но отображать на экране только середину стола и установить ограничения рабочей области в пределах видимого экрана минус высота панели задач (которая тоже устанавливает такие ограничения). Глязный хак, и должен скушать памяти немало, но вроде простой.