Własny WindowManager, eksperyment

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
Razi
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 150
Rejestracja: 20 paź 2007, 16:23
Płeć: Mężczyzna
Wersja Ubuntu: 11.04
Środowisko graficzne: KDE Plasma
Kontakt:

Własny WindowManager, eksperyment

Post autor: Razi »

Mam przygotowany projekt, na razie czysto teoretyczny, menedżera okien.

Nie będzie to nic specjalnie użytecznego, raczej eksperyment i zabawa (tak, wiem, o Linuksie to samo Linus mówił xD). Przeglądając źródła TinyWM (tak, przejrzałem całe 50 linijek) pomyślałem że od technicznej strony to nie będzie aż tak trudne (sądziłem że na start będą potrzebne tysiące linii).

Jednak do rzeczy. Chcę zrobić menedżer inny niż reszta. To ma być raczej "nakładka" na okna, podobna do obecnych tillingujących, jednak oparta na OpenGL i płynnych animacjach. Nie będzie opierać się bezpośrednio na tych oknach, a za pośrednictwem tej nakładki właśnie. Ma to pozwolić na m.in. płynne skalowanie graficzne okien i działanie na ich zeskalowanych wersjach: nakładka przyjmuje zdarzenie myszki, sprawdza które to okno, oblicza pozycję kursora w tym oknie i przesyła mu zdarzenie z właściwymi współrzędnymi zdarzenia. Nie ma być tradycyjnego paska zadań, tylko zmniejszone okna (ewentualnie z ikonkami), które po najechaniu się zwiększają, bez tradycyjnych belek itd. Nieco wzorowane na Metro UI, ale mające obsługiwać normalne aplikacje, a nie tylko te napisane od nowa.

Czy przy obecnym xserverze jest to możliwe do wykonania?
Czy zna ktoś jakiś prosty menedżer okien/kompozycji (Compositing window manager, coś w stylu compiza, ale dużo prostszego niż ten kombajn), na którym mógłbym się podszkolić?
Merkator
Piegowaty Guziec
Piegowaty Guziec
Posty: 3
Rejestracja: 26 mar 2011, 15:25
Płeć: Mężczyzna
Wersja Ubuntu: 11.04
Środowisko graficzne: Openbox
Architektura: x86
Kontakt:

Re: Własny WindowManager, eksperyment

Post autor: Merkator »

Wysoko postawiona poprzeczka. Może coś a la Gnome 3 + Mutter. Osobiście co do tego to jestem zielony, ale jak przeglądam strony twórców to coraz więcej nowych projektów na tym powstaje. Nie wiem, jak integracja Muttera i OpenGL.
Relatywnie lepiej sprawa ma się z KDE. Tam zamiast pisać nakładkę wystarczy dodać activities + jakiś prosty dodatek tworzący duże ikony + integracja z popularnymi programami. No cóż, Microsoft z milionami zielonych dał radę ( kiepsko, ale jednak), ale a nóż polak potrafi.

Chyba, że chcesz coś na tinyWMie. Ma wersje w pythonie.
Awatar użytkownika
NoName_1990
Sędziwy Jeż
Sędziwy Jeż
Posty: 59
Rejestracja: 28 lut 2007, 18:01
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Inne
Architektura: x86

Re: Własny WindowManager, eksperyment

Post autor: NoName_1990 »

Razi pisze:Czy przy obecnym xserverze jest to możliwe do wykonania?
Raczej tak, ale pewny nie jestem. Jak już sprawdzisz to daj znać, bo jestem ciekaw.
Razi pisze:Czy zna ktoś jakiś prosty menedżer okien/kompozycji (Compositing window manager, coś w stylu compiza, ale dużo prostszego niż ten kombajn), na którym mógłbym się podszkolić?
https://wiki.archlinux.org/index.php/Xcompmgr i wszystkie forki (dcompmgr, compton)
Xcompmgr is a simple composite manager, capable of rendering drop shadows and, with the use of the transset utility, primitive window transparency. Designed solely as a proof-of-concept, xcompmgr is a lightweight alternative to Compiz Fusion and similar composite managers.
http://en.wikipedia.org/wiki/AIGLX
https://wiki.archlinux.org/index.php/AIGLX
AIGLX is a project that aims to enable GL-accelerated effects on a standard desktop.
https://wiki.archlinux.org/index.php/Cairo_Compmgr
Cairo Composite Manager is a versatile and extensible composite manager which uses cairo for rendering.
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 4 gości