[windows] альтернативный window manager
Вышеупомянутый shell replacement не в счёт, конечно (ими я и сам баловался когда-то). Или автором имелось в виду именно оно?
/me умеет пользоваться гуглом. А разрабы оконных менеджеров в свою очередь не любят хвастаться своими достижениями или их отсутствием, предпочитая выкладывать скриншоты, по которым можно судить только о дизайне, но не о функциональности. Так что узнать так просто о поддержке требуемых фич не получается. Это во-первых. А во-вторых, между window manager и desktop environment есть некоторые отличия, ты же мне вместо первого предложил список вторых. Справедливости ради надо заметить, что часто desktop environment несет с собой в поставке еще и оригинальный window manager, но не всегда.
А они вообще разве существуют?ну если есть поддержка в winapi, то по идее должна быть и прога, которая ее юзает, даже если самим майкрософтовцам и влом ее писать. Есть же проги, полностью поддерживающие фичи NTFS, несмотря на то, что среди майкрософтовских средств такую функциональность невозможно найти.
window manager в винду вшит и его невозможно никак заменить. Можно заменить shell, то есть explorer.exe как выше уже было предложено, но менеджер окон насколько мне известно еще никому заменить не удавалось.
window manager в винду вшит и его невозможно никак заменитьдостаточно перехватывать пачку системных вызовов и добавить свою функциональность. Я не требую ничего того, чего нельзя сделать через winapi, только сейчас для использования этих фич необходима поддержка самих программ, где бы использовались соотвествующие вызвовы. Если же переопределить рисование окошек, добавив кнопки для активизации этих функций, добавить апплет для глобального управления свойствами и отображением, то все будет хорошо. Работающий пример: нвидевые дрова на видиху позволяют на произвольное окно вешать свойство прозрачности и управляют этим свойством, только неудобно.
update: я подумал, что ты мог перепутать window manager и windowing system.
Вот скажи: можно ли чисто теоретически написать программу, которая сделает в винде тайловый интерфейс?
Вот скажи: можно ли чисто теоретически написать программу, которая сделает в винде тайловый интерфейс?можно. правда ей придется работать в привелегированном режиме и перехватывать обработку сообщений, делать dll-injection.
Эта прога просто будет перехватывать WM_RESIZE, WM_POSCHANGING, создание окон, запихивая их в табличку и при ресайзе одного окна будет автоматом ресайзить остальные. Другой вариант - запихать клиентские окна в собственные фреймы.
Только чистый тайловый интерфейс очень не удобен, так как многие виндовые программы юзают всплывающие окна и диалоги.
кстати, по поводу практики - посмотри на поведение виндового magnifier - видимо есть какие-то специфичные api опции для подобного отображения, тогда можно просто перехватывать создания окон и создавать их с теми же опциями. Кстати, я был бы рад, если бы мне дали ссылку на такую методику.
Ты учти, что в целях защиты от копирования в проге может быть тонна защит против dll-injection и перехвата winapi.
Только чистый тайловый интерфейс очень не удобен, так как многие виндовые программы юзают всплывающие окна и диалоги.
Ну так если окно дочернее (то есть в случае explorera не показывается в таскбаре то для него не надо создавать отдельный фрейм\вкладку в существующем фрейме, а показывать его так как эта прогамма и ожидает - поверх нее. Так и делает, например, ION.
Однако, чем меня больше всего бесит виндовый интерфейс - тем, что при этом ресайз или перемещение родительского окна сделать не удастся, пока не закончишь работу с дочерним. Поэтому я считаю, что способ, которым работает ION с окнами намного удобнее нативного виндового.
Ну magnifier может тупо делать что-то типа скриншота и увеличивать. Наверное, не совсем скриншота конечно, но с неким объектом, в котором уже нет разделения какая часть экрана какому приложению принадлежит и какие элементы управления на нем расположены.
magnifier откусывает кусок экрана сверху, снизу, справа или слева. От оставшегося, я думаю, тоже можно откусить кусок и так далее. Если ко всему этому приделать грамотный интерфейс, то получится тайловый оконный менеджер. К сожалению, поверхностный поиск в гугле ничего не дает, надо искать дальше.
А, ну так умеет делать даже миранда.... и вроде qip и icq тоже. Только тайловый менеджер должен еще уметь ресайзить и перемещать окна приложений. Это думаешь реально?
Это думаешь реально?думаю, что реально. Там перехватывать от силы десяток сообщений, в том числе создание окна и ресайз. Но это при условии, что можно вот так "откусить кусочек экрана". Потому что я так и не понял, как именно это получается
Вообще говоря, я только один раз видел нештатные окошки на винде.
---
...Я работаю антинаучным аферистом...
Когда-то WindowBlinds нёс в себе черты window manager'а, даже sticky-кнопки кажется были...
А почему бы тебе не начать свой?
Если что-нибудь интересненькое без форумской помощи найдёшь, напиши потом сюдаhttp://zagruzim.info/519-actual-window-manager-5.0.html
там вместе с кряком. функциональности не много, всего того, чего требовал я там нету, но хоть что-то, а лучше я не нашел. Смущает только необходимость крякать, что наводит на мысли о возможном нестабильном и неэтичном поведении программы.
Оставить комментарий
yroslavasako
Ищу альтернативный менеджер окон под винду, который бы более полно использовал возможности WinAPI, в частности layers и desktop context, не помешали бы и дополнительные фичи вроде sticky кнопочки.