PDA

View Full Version : This WEEK in CompComm


SmSpillaz
April 28th, 2007, 01:40 PM
Hello all! I am documenting weekly changes in the builds of CompComm, a *new* project from the Compiz-Extra and Beryl.

This will live here until an official blog is put up,

This WEEK in CompComm for April 28, Episode 1

Background

Well the new project has brought a number of things. New plugins, New backends and a new community! There is so much more than meets the eye in the gitweb.opencompositing.org repository. Things that have been promised to be done are being done. Be ready for you world to be rocked! ;-)

New Stuff

Plugins

Well, there are a number of new plugins that have been introduced thanks to the merge. I will give screenshots of each in action

Ring switcher

As can be seen, the ring switcher has been completely re-written. As usual for all people who used Beryl, <Super>-<Tab> will change windows accordingly. The big change is that the plugin is no no longer based on the original switcher plugin but instead is based on the Scale plugin. This brings a much more natural timestep where the windows actually bounce inwards when rotated around. The next improvement is that the windows also zoom into place, much like the way it was done with Scale. Note, to see the window titles, you must enable the text plugin, which is found in the '/plugins/beryl-premerge' directory on git://git.opencompositing.org/compcomm

http://img341.imageshack.us/img341/2800/ringcw0.png[/url:d77da]
Rotate around your windows and see far more than the original switcher

WinRules

I won't be posting a screenshot for this plugin as it would not demonstrate much. This plugin essentially allows you to set specific rules for each window such as "Always on top" or "Sticky." It generally mimic's KWins abilities in window management

Extra WM Functions

This provides more functions that WinRules does not yet cover, such as "Set window fullscreen" and toggle whether you want that window to be redirected (Or eye-candy-ified) or static. This generally improves the performance of some windows. Note that if the window is un-redirected, then Compiz (The core to CompComm) will no longer be able to control it. This means that you will not be able to move the window or resize it, No effects will be applied and a decoration will not be drawn on the un-redirected window

FirePaint

You have to see it to believe it. This feature has been requested for so long and now it is possible

[url=http://imageshack.us:d77da]http://img168.imageshack.us/img168/7800/firepaintpn0.png[/url:d77da]

Yes, can you believe it? I can. This plugin essentially uses the code for the particle subsystem built into animation. It then reads the position of the cursor so that you can actually draw fire on screen. Right now the fire does not burn off and stays there until you press <Shift>-<Super>c for clear and then it suddenly goes up in a poof of smoke. It can be retrieved from git like this: git clone [url="git://git.opencompositing.org/compcomm/plugins/firepaint"]git://git.opencompositing.org/compcomm/ ... /firepaint (http://imageshack.us:d77da). I can't say any more. This is the star of the show.

Compiz-Scheme

The final plugin that you should be introduced to today is racarr's compiz-scheme plugin. Now, you probably thinking "What scheme==schema?!?! Gconf? NOES!."

Its far different. Compiz scheme is a plugin scripting language that allows you to use very specific rules to control how Compiz control windows. Its all code right now and may seem a little complicated but will hopefully get a GUI through the new LibBS settings manager (Oops, did I say something?) Anyways, here is a snippit from racarr's post on the mailing list

This is something basic:

[quote:d77da]
#Following snippet gives you transparent dropdown menus.
(window-rule #Define a window rule
(make-rule #Make a rule passed in
(set-opacity-when # Set opacity of a window when
(window-is dropdownp) # The window is a dropdown menu
0.75))) # Set to 0.75
[/quote:d77da]

But it can be extended further.

[quote:d77da]
#Following snippet shades maximized windows when you grab them.
(grab-rule # Define a window grab rule.
(make-rule # Make a rule passed to grab-rule
(if (maximizedp w) # If window maximized.
(toggle-shaded w)))) #Shade window
[/quote:d77da]

For those who don't know, the (#) symbol means a 'comment' or a bit of code that is ignored by the compiz-scheme interpreter.

That concludes the new plugins section. Now onto NEW FEATURES!
New features

Yes, its the moment you've all been waiting for. The devolpers have said "Give it more time" for a while now but LibBS is now in the git.opencompositing.org repository. LibBS, for those who dont know is a brand new settings management system that was imposed by Beryl as LibBerylSettings a while back. LibBS is far more advanced though and can handle settings backends such as GConf, Flat File, and KConfig for us KDE users. LibBS is a huge step forward in development as it makes addressing settings as easy as pie!. But how will we address these settings? Well, that brings us to the next feature which is...

LibBS settings manager

Yes, we can now use something different. Something different than painstakingly editing GConf keys. Something different than tediously editing settings files by hand. Its not perfect and definitely not the final design but_it_is something else thats slightly easier to use....

[url=http://imageshack.us:d77da]http://img100.imageshack.us/img100/7629/libbsqm7.png[/url:d77da]

Here is a screenshot. Bear in mind that this is far from what the final version will look like. Also, it is just a technical preview and many things still do not work in the settings-manager. For example, when sliding slidebars, the numbers and settings do not change.

Final Words

Well, thats the end of This Week in CompComm. I hope you enjoyed reading this and learning tons about the new features that have come about. Bear in mind that most of this stuff is still a a technical preview and is buggy and might not work. However, during this time of the merge when there is much bickering, fighting and tough decision making going on, it is important for the users to realize that work is being done. The developers are trying their hardest to get this merge underway. So lets put our hands together for the Devs!

See you next time on This Week in CompComm in 2 weeks as I will be away.

"Another TWiCC is in the Can!"

DarknessssenkraD
April 28th, 2007, 08:54 PM
Wow I can't wait to try this things :cry: ...
I have tried to install compcomm but no succes.... I think I'm gonna wait a little more until it is more stable...
FirePaint looks fun.... damn....

SmSpillaz
April 29th, 2007, 01:38 AM
Darkmaster : Use git to install compcomm.

You'll need a working git installation of Compiz. If you dont know how to get it use this in a terminal if you are using ubuntu

[code:653f7]sudo apt-get install git-core && git clone git://git.freedesktop.org/git/X11/app/compiz[/code:653f7]

Then to get any additional components from the CompComm do this

git clone git://git.opencompositing.org/compcomm/(Insert utility here)

Where the utility is found on gitweb.opencompositing.org. There will appear to be a bunch of paths there such as /plugin/firepaint.

So If you wanted firepaint, you would type this into a terminal git clone git://git.opencompositing.org/compcomm/ ... firepaint. (git://git.opencompositing.org/compcomm/plugin/firepaint.)

Note that compcomm isnt near stable yet as it has just come out of the blacksmith. You'll see a lot of change within the next two months. If you dont want to stay on the bleeding edge then just use compiz-0.5 for now which can be gotten from compiz.org

adamk
April 29th, 2007, 01:44 AM
Darkmaster : Use git to install compcomm.

You'll need a working git installation of Compiz. If you dont know how to get it use this in a terminal if you are using ubuntu

[code:edd04]sudo apt-get install git-core && git clone git://git.freedesktop.org/git/X11/app/compiz[/code:edd04]


I think that should be git clone git://anongit.freedesktop.org/xorg/app/compiz right?

Adam

SmSpillaz
April 29th, 2007, 05:50 AM
Thx. Its git clone git://git.freedesktop.org/xorg/app/compiz

ianni67
April 29th, 2007, 10:18 AM
I know that - by posting here - I'm breaking the continuity of this thread but just wanted to say THANK YOU for this thread. WE REALLY APPRECIATE, on this forum, that finally some information is being ported here from the ML. :-)

SmSpillaz
April 29th, 2007, 01:29 PM
Well, I got this from git logs, but...

The ML isnt a closed off area for developers. You can subscribe to any one of them

The link to subscribe to the compiz ML is on the Compiz.org website.

The link to the CompComm ML can be found here www.rock3d.org (http://www.rock3d.org)

You dont want the link for the Web ML right now. Trust me. Its full of flames about zealotry and forum decisions ;-).

What I suggest with ML's is that you use GMail with Firefox. Gmail is based on AJAX and Big ML threads can be viewed as conversations or like forums posts. Its pretty cool.

ML's are a bit different though. If you want to post a new topic you need to send an email to that ML (For example compiz@lists.freedesktop.org) If you want to reply to a topic then you just hit reply. Quoting someone is tricky but Gmail makes it pretty easy ;-)

PS. The git logs can be found here gitweb.opencompositing.org

ianni67
April 29th, 2007, 01:58 PM
You're right, SmSpillaz. I'm actually registered to the ML since a couple of days.
There's a lot of interesting information but most of the discussions were initiated some weeks ago and it's not easy to follow them. Much better to have a forum, which you can read from the beginning in order to understand reasons and issues being discussed.
Also, there are lots of "common users" who are *right now* making their almost-final decisions about red/blue pills: Vista or Linux?
I don't want to start a flame here, but in several cases, their decision will be affected by the ability to have fancy eye-candies on their desktop. I completely agree that compiz and beryl where to be somehow "merged" (yes I know this is not the correct term, pardon me) but it's a matter of fact that before this "merging" operation beryl was almost perfectly working on a number of systems, attracting lots of young (and not only young) users towards linux.
Currently, due to the *strong, effective and extremely valuable* effort of the developers towards opencompositing, beryl is currently less supported. And this is producing negative efforts.
Let me explain this in other words: lots of users are *right now* tempted to leave microsoft because Vista has a number of drawbacks. If they can find an alternative they will join the alternative, otherwise they will stick to windows until their difficulties with vista will reduce, or until they will get used to those difficulties. Therefore, we have some sort of temporal constraint: when this particular moment will elapse, it will never come again.
I know. Some of our friends, here, might say "Who cares? let those lactants stick to microsoft."
Well, I'm a teacher. I care.

What can we do here? We can give support to people who want to try Beryl or Compiz now, and work with a reasonably stable and pleasant environment, until the developers will come out with an acceptable version of Opencompositing. This way we can receive all those users who want to give opensource a chance, but don't want to loose eyecandies.

But ML is too technical, too confusing for those who are not expert, and people come here looking for help and answers to simple questions. They google aroung and land here.

Let's print here all the information we can to help them.

Sorry for my LONG post. Please tell me if you want me to cut it.

Jupiter
April 29th, 2007, 03:24 PM
Not too long at all. You make very good points about the ML and
about helping beryl users. I have hoped myself for the past few
weeks that regular beryl users would not be reading the ML. Let's
hope that SmSpillaz will continue to post these updates for all to
see, as it is informative to the users and yet it doesn't show the
animosity or flamewar's that occur on the mailing list. As most of
us know, the ML is a completely different beast than the forums
and we should continue the comity and respect for each other
that is not present in the ML beast. My belief is that we should be
allowed to say anything EXCEPT personal attacks. On another note,
I also think it is important that we continue to help beryl users. We
should try and keep the open issues "unanswered post" to a minimum.
I do see a need for MORE people helping others. I see post that are
viewed umpteen times and not have a response. That sucks. I know
there are a lot more Linux knowledgeable people around here than I.
Yet I think they sometimes don't bother to take the time to help
others simply because they think the answer is easy to find. If that is
the case then at least give them a hint. Guide them to the wiki or inform
them to do a proper search. Any useful answer is better than none.
Anyway, thanks for the post SmSpillaz...LOL

adamk
April 29th, 2007, 03:35 PM
I don't want to start a flame here, but in several cases, their decision will be affected by the ability to have fancy eye-candies on their desktop. I completely agree that compiz and beryl where to be somehow "merged" (yes I know this is not the correct term, pardon me) but it's a matter of fact that before this "merging" operation beryl was almost perfectly working on a number of systems, attracting lots of young (and not only young) users towards linux.
Currently, due to the *strong, effective and extremely valuable* effort of the developers towards opencompositing, beryl is currently less supported. And this is producing negative efforts.


I've been on the beryl forums for a few months now, and I really don't see this...

Beryl 0.2.1 is still beryl 0.2.1. Either it runs on your system, or it doesn't. Whether it was installed before the merger began or after it began makes no difference. It's the same codebase, either way.

In addition, the developers have never been very involved in troubleshooting or solving users problems, at least for the last three months that I've been posting on the beryl forums and hanging out on IRC. Maybe the mailing lists are different, and maybe it was different a year ago, but I'm doubtful.

The only increase in problems that I've seen lately has to do with the fact that the Feisty packagers chose not to include a beryl-xgl binary in the beryl-core package in the universe repo, but that can't really be laid at the feet of the beryl developers.

Adam

Jupiter
April 29th, 2007, 04:12 PM
Beryl 0.2.1 is still beryl 0.2.1. Either it runs on your system, or it doesn't. Whether it was installed before the merger began or after it began makes no difference. It's the same codebase, either way.

In addition, the developers have never been very involved in troubleshooting or solving users problems, at least for the last three months that I've been posting on the beryl forums and hanging out on IRC. Maybe the mailing lists are different, and maybe it was different a year ago, but I'm doubtful.

The only increase in problems that I've seen lately has to do with the fact that the Feisty packagers chose not to include a beryl-xgl binary in the beryl-core package in the universe repo, but that can't really be laid at the feet of the beryl developers.

Adam


Adam is absolutely correct in that the devs do dev work, NOT support. I can't stress
this enough...WE need to support the user base. We need more people to step up to
the plate the way Adam has in helping people solve their problem. Many of us have
been around since day one and it saddens me to know that a lot of us seldom help
anyone. I consider myself a Linux noob and yet i do my best to help other's. Weather
it is guiding them to the wiki or give them a link to a thread i read. I know from reading
that there is a lot more knowledgeable Linux people here, and they need to help others.

Yes i am harping on this a lot. I feel it really needs to be said and acted on.

ianni67
April 29th, 2007, 04:51 PM
Yes Adam, you're right but I was definitely *not* attacking developers, who are doing a great job since the beginning.

No please, don't let me be misunderstood: what I meant is that - for example - there are some issues with the most recent versions of beryl (i.e. coming from git repositories) and ubuntu feisty, which do not appear with edgy eft. This means that feisty is not currently much supported, which is somewhat strange since this is a regular ubuntu release and - after all - when edgy came out, it was almost immediately supported.
This of course happens because devs are busy with merging and this is *ok and right and good*, but still somewhat annoying for those who are recently moving to feisty and cannot be happy with beryl.
Also, I used to upgrade beryl very often thanks to some repackagers (like trevino) who promptly built .deb packages from svn (now git) repositories, and managed an apt repository.
This is not available anymore for me, since I moved to feisty.
Since it seems that noone is currently doing the same job as trevino, I must say that there is less support for newest versions of Ubuntu than there was before.

Also, I cannot understand why I still have some issues with windows animation which I did not have with Edgy. And other users have different problems, and ask for help.

I found you extremely collaborative and helping and so are a few other friends on the forum.
Let's try and organize this help and attract more "advanced users" who can help.
This is what I really meant.

As regards myself, I'm quite much present with my boring questions on this forum: I suppose that those questions - as long as they get a response, perhaps even by myself, will attract users who are googling for solutions. If I can help, I will.

adamk
April 29th, 2007, 05:01 PM
Yes Adam, you're right but I was definitely *not* attacking developers, who are doing a great job since the beginning.

No please, don't let me be misunderstood: what I meant is that - for example - there are some issues with the most recent versions of beryl (i.e. coming from git repositories) and ubuntu feisty, which do not appear with edgy eft. This means that feisty is not currently much supported, which is somewhat strange since this is a regular ubuntu release and - after all - when edgy came out, it was almost immediately supported.
This of course happens because devs are busy with merging and this is *ok and right and good*, but still somewhat annoying for those who are recently moving to feisty and cannot be happy with beryl.
Also, I used to upgrade beryl very often thanks to some repackagers (like trevino) who promptly built .deb packages from svn (now git) repositories, and managed an apt repository.
This is not available anymore for me, since I moved to feisty.
Since it seems that noone is currently doing the same job as trevino, I must say that there is less support for newest versions of Ubuntu than there was before.


I'm sorry, but users should never expect there to be a binary repository containing regular builds of development code, which is exactly what git contains. Development code is going to be usntable, and even unusable, for extended periods of time. Users should be using the binary releases that are provided by their distribution and are built from stable source code releases. 0.2.1 happens to be the latest stable release (though, arguably, some might say it's not as stable as previous versions). Unfortunately, as I mentioned, there are clearly problems with the official Feisty build for 0.2.1 (namely beryl-xgl not being available), but for that we should be talking about/to the Feisty package maintainer.

Adam

ianni67
April 29th, 2007, 05:13 PM
Well, I suppose this is not the right thread to discuss this, but... if the official package maintainer for feisty is not doing the best job, we might want to help our friends providing the correct packages, at least for this time ;-)