Общо показвания

август 31, 2006

Какво ново на десктопа?

Както много хора вече са запознати, аз следя последните глезотии от света на "модерния" десктоп. Увлечението ми по Епъл и техния Aqua интерфейс е вече пословично.

Но да не празнословя: новостите.

Най-напред искам да се похваля с това, че направих първите си крачки в създаването на декорации (теми) за GTK2. Не че е някакво особено постижение, но смятам че резултата е доста добър. Първо направих декорациите, а едва след това се сетих че трябва да кръстя темата. И то когато вече трябваше да я кача в Gnome Look, та името доста тъпо излезе, но какво да се прави. Кръстих я ClearGlossy. Общо взето темата е базирана на предишни мои промени върху Glossy P темата. На първо място е премахнат GtkEntry стила използван от оригиналната тема защото е УЖАСЕН, направих го така, че да се очертава в синьо (ха ха - аква) когато е активен. За новата тема комбинирах clearlooks енджина с pixmap енджина. Клиърлукс е така написан че по-добре се справя с изчертаването на някои уиджети. С други моето мнение е че pixpams се справя по-добре. Добавих осветяване на активния текстов уиджет (не само на GtkEntry ) така че край на несигурността в кое поле сме точно когато прозореца ни има повече от едно текстови полета (например всички прозорци на gaim са така - с поне две текстови полета) промених също така начина по който изглеждат подпрозорците (така наречените tabs) и промених менютата така че да се осветява текста в бяло когато е в състояние PRELIGHT. В момента работя над начин да променя рамките (frames) тъй като не харесвам "ръбати" неща.
Другото което направих е да пусна тема за compiz която да се съчетава добре с GTK2 темата ми.
За съжаление работата по GTK2 темата е много тежка. Не познавам добре уиджетите, не познавам добре свойствата им и като цяло изчитам тонове теми за да видя еди си кое как бих могъл да манипулирам за да получа желания резултат. В момента например пиша в текстово поле(Drivel) но очевидно не е обикновено такова ( не спада към GtkText* && GtkEdiatble* ) и не е очертано макар да е активното поле. Ще ми се да познавах някого който по-добре да разбира тези неща. Някой от разработчиците на GTK например. Най-нужно ми е в момента да разбера мога ли от тема да манипулирам отстоянията на уиджетите един от друг - ако да - супер, ще нагодя просто картинките и всичко ще е 6. Ако не - лошо:) Опитах да манипулирам и бутоните с pixmaps енджина но не беше добра идея. Макар да ги докарах много добре (с borders манипулатора става лесно) като форма се оказа че от прекалено много уиджети се наследяват - например от *List.GtkButton* и така нататък, налага се специално внимание да се обръща и задължително да се изключи Gimp.* от теминга защото просто там е пълно мазало, за скролбар се аплайва правилото за бутони на заглавие на лист и тн, поначало повечето теми имат проблем с Gimp и неправилното изчертаване на уиджетите там. Може би ако се понапъна и се науча да напиша един енджин на основата на Cairo би било по-лесно. Само че пак ще трябва да изуча подробно GTK което ще отнеме МНОГО време, а аз чак толкова свободно нямам, да не говорим колко време ще се дебъгва и тн, просто се надявам някой да напише нещо хубаво и подобно на аква по-скоро.....Определено с pixmaps да се постигне този изглед и най-вече усещането е безкрайно трудно, клонящо към невъзможно, смея да твърдя че моята тема за сега като че ли най-близо стига до идеите на аква, това активните полета да са очертани, да са приятни и заоблени повечето уиджети и тн. От години следя развитието на подобен род теми и така смятам. Иначе Baghira за KDE е доста добра. жалко че няма нещо подобно за GTK.
И като тръгнахме от Аква... dock. Този прословут инструмент на Mac OSX който никой който не е ползвал MAC OS не знае какво точно и как върши. От към външен вид поне го докарахме май? Engage се опит но безкрайно сложния процес на компилация, почти пълната липса на интеграция в дистрибуциите и като цяло няколкото ми неугледни опита да го подкарам ме накараха да мисля че това НЕ е решението. CairoDock или както в последствие бе прекръстен - Gnome dock. Все още неработоспособен. Като за красота е супер но продължава да бъде един обикновен стартербар какъвто беше и gDesklet аплета. Новата играчка която се включва в SUSE се нарича Kiba. Киба е базирана на нов физичен енджин и общо взето прекалено подскача и тя СЪЩО е просто един стартер бар. Доработена е (новината в compiz.net) но днешния ми опит да я компилирам от сорса в CVS се оказа неуспешен. Всъщност се компилира но не работи както трябва (възможно е причината да е в AIGLX) но не е само това. продължава да й липсва функционалност отвъд стартер. Да се надяваме че скоро ще имаме нещо смислено и разработено не само красиво но и функционално.
Продължават неуспешните ми опити за компилация на compiz && cgwd от CVS. И двете се компилират и И ДВЕТЕ не работят както трябва. Мисля че още много път ще извървят преди да станат "универсални" тоест да вървят еднакво добре под Xgl и под Aiglx. До тогава - да страдат дечицата.

Заключение: бъдещето е светло. Ясно не бих казал. От ред хат се заиграват с някакви теоретични възможности на cairo за къстъм изчертаване на уиджетите на GTK. Хубаво ама нищо не изтече като алфа да му се не види. Знам че те не обичат да копират нищо, но толкова много хора харесват вида на Aqua интерфейса... все пак щеше да е хубаво...Поне малко да се доближим. Не знам защо но все още мисля че има какво да вземем от юзър икспириънса под мак ос. Например - не мога да влача някоя икона или текст, да активирам scale плъгина на comipz да избера прозорец и да пусна в новия активен прозорец влаченото. Аз просто не мога да активирам скейл. Не мога да понасям тасклиста, но нямам алтернатива в момента (все пак не го използвам) не мога да накарам панела да не стартира едно и също приложение два пъти (например evolution). И нямам интегрирано наистина добре направено IDE. Днес свалих за да изпробвам SlickEdit, само като ме посрещна грозния първобитен интерфейс и се отказах, аз така мога да си ползвам и vim. Особено тези изскачащи хелпове и подсказки мале мале....
Другото което може би забравих да спомена е alta. Но сега нямам време да обяснявам какво е това. Само ще кажа че ни е рано за това. Защото ЗА СЕГА всички ефекти се управляват от Window managera. В момента в който имаме нещо което няма нужда от него то просто не знае за scale zoom и тн. Няма и от къде да знае. Всички сте виждали ефектите под макос. Мисля че е време да помислим за ефекти на ниво туулкит. Но сме толкова млади... на по-малко от година. Aiglx && Xgl ...те са още бебета. А потребителя иска ли иска... може би все пак ще се науча да пиша енджин с Cairo.....

август 10, 2006

Candies...

Recently I've been blogging about the XGL and AIGLX and Compiz and stuffs. And here we are now - there:)

Compiz on AIGLX working perfectly well, on a moderate ( not really slow but not really fast ) graphics adapter - Intel 855GM. I've been using it from the last night but it feels like I've been doing it all my life. The animations are awesome. They are fast enough to not stop your work but slow enough so you can actually see it. It makes your desktop more vivid, more physical.

So if you have not yet tried metacity with compositing enabled or compiz (regardless of your hardware - if you're Ati or Nvidia owner you use XGL, if you have Intel integrated - you use AIGLX) now is the right time. Before you are forced to:) Why am I saying that? Because I think it is so good for the user to have eye-candy it will become part of every window manager. Just like it is on Mac OS X. You get it by default.

I should not be me if I hide the downsides. Compiz is not yet mature enough. It lacks some functionality you might got used with. For example the new windows overlap the current one. Though it is new in metacity (present from 2.12 i think) It cannot be made to show the control buttons on the left side ( and it really irritates me) and it is not themable yet (at least not the official one, compiz-quinn is, but i could not find a version of it to run on AIGLX). But don't let this disappoint you. It is really fast, it takes less CPU than the previous release of metacity (from April 2006 - AIGLX repo) - actually it works just like there is no compositing made ( CPU under 1%, and up to 5% with video playback using XVideo) . So go on and give it a shot.

One more thing for the fedora users. Be warned - the new rebuild of metacity is not working with the Xorg (AIGLX) 1.1.1. I couldn't find the reason, I'm waiting for a reply in fedora forums. Maybe someone will answer. Actually it works with no problem but without compositing. Once activated I only see blue screen. It used to work before the update. So if you are currently using metacity with composite enabled have in mind it might breaks on 855GMs. But compiz work for sure.

That is for now. I'll update this once I find out what the problem with metacity is and why the heck the compiz package comes without libscale so the Exposé-like function is missing from this build.... I really dislike that!

update

short description of the steps i took in order to make the scale plugin available on the aiglx's compiz package was posted yesterday on fedora forums. I'll paste it here too, hoping someone will make use of it as I did.


Preface: As my knowledge to AutoTools is little to none, be advised this may not be the best way to achieve this, but it is working. At least if you use the i386 architecture and you are using the aiglx repo package for compiz installation.

As you might noticed already the changelog of the package says:
* Thu Jul 20 2006 Kristian Høgsberg - 0.0.13-0.7.20060720git
- Drop scale plugin from snapshot.
I don't know what the reason for this was, I'm not intending to ask Kristian, as I think he has more valuable things to do than to reply my questions. The thing here is I really like that plugin and I want to use it despite what the packager of compiz thinks about it. At the end of the day it's all about the freedom of choice, right. That is this software about!

So, how do I get this plugin, when I'm not really a rpm build guru or developer or anything. The first thing I noticed was the error: libscale.so not found (when starting compiz from the command line) So i think, what if I add it? And that's exactly what I did. But also I have to find it. Since it was dropped from the source (meaning plugins/scale.c has been deleted from the source the package is build from and Makefile.in has been modified to not seek for this file) I had no choice but to patch the Makefile.in and to add scale.c from the CVS repository. Surprisingly it worked. Please note that I used the file from cvs not from git. Which might be a mistake, I'm not really sure, as I said I'm no developer - just a regular user. As a result the ./configure && make produced all the necessary files, including libscale.so (located in plugins/.lib/ ) Then I just copied that file in /usr/lib/compiz (as root) and it worked.

here is a description of the exact steps(I presume you already have installed the i386 package for compiz from AIGLX repo) :
download the src rpm from the AIGLX repo.
unpack it (do not install it, just unpack in a temp dir)
unpack the compiz source inside the rpm package
patch with the provided in the rpm patches.
use cvs to obtain the compiz source
in the source tree of compiz from aiglx patch the plugins/Makefile.in with the Makefile.in found in compiz's cvs tree (plugins/Makefile.in) or you can just copy the CVS file over the aiglx one.
configure and make
su to superuser (root)
copy plugins/.lib/libscale.so to /usr/lib/compiz
use gconftool or gset-compiz to activate the plugin.

I think it is possible to redistribute the produced file (libscale.so) to your friends - It should work on all i386 with the same package installed (compiz-0.0.13-0.12.20060721git.fc5.aiglx)

So it is possible to have the scale plugin.