Несколько лет уже наверное созревает идея реализации нескольких рабочих столов. Причем все на уровне приложения (пусть будет все тот же PANEL). Есть некоторые ограничения:
1) Функция свертывания окон (ф.18.23) работает для всех окон. Сворачивать окна по одному неэффективно как выяснилось практически, потому собственно функция и была введена.
2) Фон рабочего стола буден на всех окнах одинаковый.
3) Нестандартные приложения не подчиняющиеся общей логике могут вызывать "виртуальные" коллизии.
Вот как то так.
Если у кого есть свое видение то излагайте.
Виртуальные экраны (рабочие столы)
Сначала запилить композитинг, а потом можно будет впилить нормальные виртуальные рабочие столы, а не тупо ворочать окнами.
К слову о композитинге, из ядра уже можно дёргать графическое ускорение атишного драйвера?
К слову о композитинге, из ядра уже можно дёргать графическое ускорение атишного драйвера?
Насколько мне известно, рабочие версии ATI и Intel драйверов поддерживают аппаратные курсоры и смену режимов. Если и есть драйвер поддерживающий ускорение, то в массовое тестирование он еще не вышел. К тому же уповать на аппаратные возможности не стоит - в Linux все прекрасно работает и на Vesa драйвере.Nable wrote:К слову о композитинге, из ядра уже можно дёргать графическое ускорение атишного драйвера?
К тому же у меня ни одной ATI карточки нету. Только Nvidia и Intel, остальное noname Vesa.
Не понятно, что значит 3 пункт - нестандартные приложения будут показываться на всех экранах сразу? Так это не критично
Если приложение самопроизвольно меняет состояния - минимизировано или развернуто, то возможны коллизии. На панели его не будет, а окно будет отображаться. Вероятность не большая, но исключать нельзя.
Отличная идея, у меня на работе так, на одном всё с работой, на другом всё про ассемблер ...но вот везде разный фон, это уже слишком лишнее...ещё потом захотят разные иконки...затем вообще хочу чтобы второй стол был виртуальной машиной и там виндовс крутился...
Ну, можно запустить винду, если сильно захочется.
А можно ли полностью свопить всю занятую (основную+видео) память в свободную (расширеную) область и в очищеной свободной области загружать полностью новую систему? Далее переключение производить менянием блоков местами... Чтобы не было никаних "менеджеров", можно в памяти перед блоком генерировать какуюто "метку" с указанием длинны блока, тогда при загрузке ядро просматривает всю память на предмет наличия этих меток и далее по команде перегружает себя в "расширеную" память а из область с определённой меткой загружает данные в "основную" память и передаёт управление на адресс указаный в загруженой "метки". Приложение на "не активном" рабочем столе не будут работать "фоном", хотя, вспоминая работу PalmOS, недумаю что это "минус"...
Чисто идея, причём без достаточных знаний теории: насколько я знаю реальные размеры экрана может отличаться от видимой, например, вроде бы именно так в винде окна можно прятать за край экрана. Т.е. если реальный размер экрана сделать высотой в два экрана(всё равно в Колибри нельзя прятать окна за край экрана), то можно реализовать два стола. Причём пункт 3 срабатывать не будет(проги ведь будут разворачиватся в невидимый экран). Вот правда для видеокарт с маленькой памятью будет проблема.
Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!
Это требует не только видеопамяти, но и обычной.
А обычной зачем?
Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!
Так оно уж устроено.
Нет, ну без шуток))) И ещё. Реализации есть? Хотя бы на базе свернуть развернуть?(Кстати одна была. В старом Panel из релиза если на третью кнопку, те что возле меню, кликать, то свёрнутые окна развернуться и наоборот. Вот и два рабочих стола:))
Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!
Хм... интересный вопрос - а если сделать размер рабочего стола в несколько раз больше экрана, чтобы было место слева и справа, снизу и сверху. Но отображать на экране только середину стола и установить ограничения рабочей области в пределах видимого экрана минус высота панели задач (которая тоже устанавливает такие ограничения). Глязный хак, и должен скушать памяти немало, но вроде простой.
Из хаоса в космос
Who is online
Users browsing this forum: No registered users and 3 guests