Victor G. Figueroa | 2 Aug 22:31
Picon
Favicon

Getting Started

I would like to learn about the Y window system.  Where do I start?  Do you have any design or source code documentation?    
 
Victor 


Victor G. Figueroa
Albuquerque, NM

Start your day with Yahoo! - make it your home page
Tom Freiberger | 2 Aug 23:58
Picon
Favicon

Re: Getting Started

Victor G. Figueroa wrote:
> I would like to learn about the Y window system.  Where do I start?  Do 
> you have any design or source code documentation?    

I too am interested in this project and would like to contribute.  I was 
looking through the code and saw a minimal amount of comments.  I was 
also wondering if there was some more technically detailed design 
documentation that was not on the site.

-- Tom Freiberger

David McBride | 3 Aug 00:30

Re: Getting Started

Tom Freiberger wrote:

> I was 
> also wondering if there was some more technically detailed design 
> documentation that was not on the site.

You may find 
http://www.doc.ic.ac.uk/~ajf/Teaching/Projects/Distinguished03/MarkThomas.pdf 
useful.

Cheers,
David
--

-- 
David McBride <dwm <at> y-windows.org>

Phil | 3 Aug 00:51

Re: Getting Started

Tom Freiberger wrote:
> Victor G. Figueroa wrote:
> 
>> I would like to learn about the Y window system.  Where do I start?  
>> Do you have any design or source code documentation?    
> 
> I too am interested in this project and would like to contribute.  I was 
> looking through the code and saw a minimal amount of comments. 

IIRC, 'minimal' is fairly generous.  We've tried to keep each function 
small enough to comprehend without much explanation, which works so long 
as you have a detailed-enough architecture document.  Unfortunately we 
probably don't.  Should you feel like writing one, the tools and 
techniques on this page might help:

http://www.ida.liu.se/~vaden/cgdi/

> I was 
> also wondering if there was some more technically detailed design 
> documentation that was not on the site.

Not that I know of.  All Mark's docs are on his website, I haven't 
documented anything because I've not yet finished anything, and I'm 
pretty sure Andy's not hiding anything either.

If you want some easy work you can use a profiler to find the hottest 
functions and try to make them colder, or you could just pick a spot at 
random and try to make it in some way better (more secure, more robust, 
faster or all 3).

Good luck.

Dustin Norlander | 7 Aug 04:16
Picon
Gravatar

My Branch

Hi all,

I have been hacking on Y for a little while now and I thought I would
publish my branch.  Check it out, you guys might argue with some of my
design decisions, I'd like to hear (constructive)opinions.

I put up a wiki, which mainly pertains to my branch--but also has a
few tutorials that should help people who want to help out.
the wiki is at:

http://www.dustinnorlander.com/Y/ywiki/

to get my branch do:

$ tla register-archive http://www.dustinnorlander.com/arch/
$ tla get dustinn <at> gmail.com--2005/Y--dustin

Here is a brief list of my patches:

--New Pixel Buffer----

This is based on code originally written by Sebastian Faubel. It is
provides support for pixel buffers with different colorspaces. A color
space can be created with arbitrary bits per sample and bytes per
pixel. There are a few predefined colorspaces such as rgb, rgba,
alpha-channel, and rgba-premultiplied.

Note: I updated the sdl driver code, but I have not touched the
framebuffer driver. As such the frame buffer driver is likely broken.
Also SDL does not currently handle premultiplied alphas, so
pixelbuffers of that colorspace are converted to regular rgba.

---New Widgets----

A few new widgets and improvements of some of the existing ones.
Mainly I implemented appropriate hierarchy for the widgets, as in,
togglebutton inheirits from button which inherits from widget, ect. I
followed the gtk inheritance when I thought it made sense.

Note: The YButton hierarchy looks like:

Object
   +---Widget
           +---YContainer
                    +---YBin
                          +---YButton

The YContainer and YBin don't actually do anything, I put those in to
be like gtk, those might be deleted at a later date. I chose to do
this because it should make converting gtk widgets to Y easier (i.e.
not reinventing the wheel--saving time) and could possibly eventually
make it easier to port gtk apps to Y.

List of the new/updated widgets:

YButton
YCheckbox
YToggleButton
YRadioButton
YRadioGroup

----Build System Additions----

Support for inheritance, as well as dynamically generated getters and
setters in the client library..

-Dustin Norlander

Andrew Suffield | 7 Aug 23:57
Picon
Favicon

Re: My Branch

On Sat, Aug 06, 2005 at 10:16:06PM -0400, Dustin Norlander wrote:
> --New Pixel Buffer----
> 
> This is based on code originally written by Sebastian Faubel. It is
> provides support for pixel buffers with different colorspaces. A color
> space can be created with arbitrary bits per sample and bytes per
> pixel. There are a few predefined colorspaces such as rgb, rgba,
> alpha-channel, and rgba-premultiplied.
> 
> Note: I updated the sdl driver code, but I have not touched the
> framebuffer driver.

The fbcon driver was mostly proof-of-concept. The current
implementation is pretty much worthless; to be useful it must be done
over differently. Don't worry about it.

> ---New Widgets----
> 
> A few new widgets and improvements of some of the existing ones.

It's been in need of doing, but the theming engine needs a good
reaming too, and that'll be easier while there aren't so many widgets
around.

> Mainly I implemented appropriate hierarchy for the widgets, as in,
> togglebutton inheirits from button which inherits from widget, ect. I
> followed the gtk inheritance when I thought it made sense.
> 
> Note: The YButton hierarchy looks like:
> 
> Object
>    +---Widget
>            +---YContainer
>                     +---YBin
>                           +---YButton
> 
> The YContainer and YBin don't actually do anything, I put those in to
> be like gtk, those might be deleted at a later date.

I would leave stuff like this out until there's a good reason to put
it in.

> ----Build System Additions----
> 
> Support for inheritance, as well as dynamically generated getters and
> setters in the client library..

Now what does this mean? Have you been making yclpp even more evil
than it already is? It's quite monstrous already.

--

-- 
  .''`.  ** Debian GNU/Linux ** | Andrew Suffield
 : :' :  http://www.debian.org/ |
 `. `'                          |
   `-             -><-          |
Dustin Norlander | 14 Aug 20:19
Picon
Gravatar

Re: My Branch

> > ---New Widgets----
> >
> > A few new widgets and improvements of some of the existing ones.
> 
> It's been in need of doing, but the theming engine needs a good
> reaming too, and that'll be easier while there aren't so many widgets
> around.
> 

I agree that the theming needs reworking.  I have some ideas, but
right now I am focusing on getting cairo lib integrated.

> > The YContainer and YBin don't actually do anything, I put those in to
> > be like gtk, those might be deleted at a later date.
> 
> I would leave stuff like this out until there's a good reason to put
> it in.
> 

Yeah, you're right..  I came to that realization while I was working,
but decided to just leave it alone rather then pull it out..  I
probably will end up removing tose unnecessary classes when I have
some time.

> 
> Now what does this mean? Have you been making yclpp even more evil
> than it already is? It's quite monstrous already.

Heh, yeah,  its slightly more evil now.  While I was working on
widgets I noticed that inheritance beyond objects and widgets hadn't
been implemented in the build scripts--while I was at it I added
getters and setters..  Could probably use a bit of re-working, but
hey, it works..

Thanks for the comments,

Dustin

William Lahti | 16 Aug 05:29
Picon

Fwd: My Branch

sent to dustin accidentally: forwarding to list

---------- Forwarded message ----------
From: William Lahti <xfurious <at> gmail.com >
Date: Aug 15, 2005 11:27 PM
Subject: Re: [Y-devel] My Branch
To: Dustin Norlander <dustinn <at> gmail.com>



On 8/14/05, Dustin Norlander <dustinn <at> gmail.com > wrote:
> > ---New Widgets----
> >
> > A few new widgets and improvements of some of the existing ones.
>
> It's been in need of doing, but the theming engine needs a good
> reaming too, and that'll be easier while there aren't so many widgets
> around.
>

I agree that the theming needs reworking.  I have some ideas, but
right now I am focusing on getting cairo lib integrated.

Good time for that now that Cairo's API is frozen: I've been working on integrate it in my projects also... jeez it'll be ubiquitous in no time.



Gmane