Compiz Porting

| 6 Comments

I'm really starting to get the hang of this plugin porting stuff. I've got ports of the awesome wall and snap plugins from beryl available for compiz git. I started out with a straight port, pulling things from beryl-core into the plugin where possible to make things work. I've now started actually changing the plugins to avoid this. This is all great practice for writing a replacement dbus plugin.

On that note, does anyone know of a program that provides a dbus interface and doesn't use the glib or Qt bindings? I need one that uses the straight C API.

6 Comments

The X server and sample config client both use the low-level C API.

Hello

The VLC D-bus interface (only in svn trunk) and the mechanism to have only one VLC running are done with the C API of dbus from dbus/dbus.h

http://trac.videolan.org/vlc/browser/trunk/modules/control/dbus.c
http://trac.videolan.org/vlc/browser/trunk/modules/control/dbus.h
http://trac.videolan.org/vlc/browser/trunk/src/libvlc-common.c

hth,

Xtophe

Awesome, that is exactly what I was looking for. It even does introspection. That's the main reason I'm redoing compiz's dbus plugin. :)

Thanks.

Hi,
I've seen your post on the Ubuntu planet, and it made me wonder about something:
Beryl's code is under the GPL license.
Compiz's code is under the MIT license.

So how can you port code (plugins) that are under the GPL to a software (Compiz) under the MIT license?
Do you let your code under the GPL license?
Then, according to the GPLv2, can they mix?

Thanks!
Quentin

Also see "Using the DBUS C API":

http://www.matthew.ath.cx/misc/dbus

Quentin: The core of compiz is MIT, like you say. The advantage of this is that you can write plugins using any license you want, even something closed source.

William: Thanks, that looks really helpful.

Leave a comment

About this Entry

This page contains a single entry by Travis Watkins published on February 23, 2007 1:49 AM.

Hello Planet Ubuntu was the previous entry in this blog.

Fun with introspection is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.