[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Pnet-developers] Xsharp -> X11.NET

From: William Lahti
Subject: [Pnet-developers] Xsharp -> X11.NET
Date: Thu, 13 Oct 2005 10:38:42 -0400

Quite a few months ago Rich Baumann wrote about my comments on Xsharp. I also said I was interested in 
creating a general purpose X11 binding based on Xsharp.

Marc Haisenko wrote
> Well, I'm just a small contributor but like to share my opinion nevertheless.

> It seems to me that Xsharp was never meant to be used for something else but
> providing System.Drawing support on Xlib. This is why everything is internal
> which in this case is the correct way of doing things, IMHO.


> Turning Xsharp into a Xlib wrapper that can be used by third-party
> applications seemed a bit strange to me at first but if someone has the need
> and expertise in enhancing/improving Xsharp I think that would be a good

> thing.

A bit strange if I were to continue calling it Xsharp, but I'm not. The current
name for what I have on my box at home is X11.NET and instead of Xsharp.dll,
it's X11.dll

> But I don't understand why William doesn't want to subscribe to this list when
> he likes to discuss about this topic. I don't feel comfortable with having a
> Xsharp fork without coordinating with pnet which is (and will propably

> remain) the main user of Xsharp. It doesn't make sense to have two Xsharps.

I did end up subscribing a few months ago and only now got around to actually posting.
I would be happy to coordinate with the Pnet crew if you are interested in using the

X11.NET bindings. The two projects _can_ be entirely seperate. That's why I changed
the name. However it would be much more beneficial for X11.NET, Komodo and Pnet if

we worked together.

> Having a Xsharp in pnetlib and another one in a separate project would be an
> unnecessary waste of precious resources in my opinion.

Yes, development at both places is rather stupid. Which is why I'm contacting

the list now :)

> If he likes to make Xsharp a separate project (which does make sense if you'd
> like to be able to use it with Mono and dotGNU) then we must coordinate so
> that Xsharp can be moved from pnetlib to its own project without pnetlib

> breaking. Especially when subtle changes are made to Xsharp which could make
> System.Drawing.Xsharp misbehave.

I don't think we need to be so careful about Pnetlib breaking because my library
is not named Xsharp. Because of the name change, it should make the process easier

for you guys.

Obviously, I've already began X11.NET with the changes I wanted to make. Some of the

- Several low-level binding classes for RENDER, Damage, Composite, and XFIXES which

(closely) match the C API
- Picture class (represents a RENDER picture in managed space)
- Damage and DamageRecorder classes (allows use of DAMAGE extension)
- ServerRegion class (represents an XFIXES server region)

- Xlib is more complete now, with many more functions which are unused by Pnet's System.Drawing
- Widget offers X11 property manipulation (which is currently broken)
- new Visual class to properly support visuals

- Widget has an Opacity property which manipulates _NET_WM_WINDOW_OPACITY property. Broken
by consequence (property manipulation is still broken)
- Colors can store RGBA values
- A way of getting direct XEvents has been added both through class inheritance and

.NET events. This is provided alongside the traditional Xsharp functional override event system.
- Due to many changes Xlib.cs is statically distributed (ie is not used). This is

temporary, as I just need to merge the autogenerated stuff into my Xlib.cs and call it :)

X11.NET is currently included in the Portal bindings (a set of .NET bindings for various linux libs).

It will be seperating from Portal though, once I get a sourceforge for it. Portal is also available
on the Komodoware CVS repository ( for viewing,
for CVS checkout info).

I'm interested both in suggestions and sharing development with interested parties from Pnet.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]