After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 162646 - Getting started guide to attract more contributors
Getting started guide to attract more contributors
Status: RESOLVED FIXED
Product: metacity
Classification: Other
Component: general
trunk
Other Linux
: Low enhancement
: ---
Assigned To: Metacity maintainers list
Metacity maintainers list
Depends on:
Blocks:
 
 
Reported: 2004-12-31 22:10 UTC by Elijah Newren
Modified: 2005-01-02 22:03 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
basic getting started pointers (14.72 KB, text/plain)
2004-12-31 22:11 UTC, Elijah Newren
Details
New HACKING file (10.51 KB, text/plain)
2005-01-02 07:15 UTC, Elijah Newren
Details
New doc/code-overview.txt file (7.58 KB, text/plain)
2005-01-02 07:16 UTC, Elijah Newren
Details

Description Elijah Newren 2004-12-31 22:10:38 UTC
So, I had this crazy idea of writing up a short guide on the things that would
have helped me get started into hacking metacity more quickly.  I'm not sure if
others will find it useful, but I figured it couldn't hurt to at least type it
up and get some feedback (though, after how long it took...).

So, what do you think?  Would it be worthwhile to save this file in cvs, say as
doc/getting-started-pointers.txt and reference it from the HACKING file?  (Or,
perhaps merged with the HACKING file?)
Comment 1 Elijah Newren 2004-12-31 22:11:25 UTC
Created attachment 35335 [details]
basic getting started pointers
Comment 2 Elijah Newren 2004-12-31 22:14:14 UTC
Also, note that at the end where I provide basic pointers, I tried to even
include some sections that I'm not familiar with (e.g. session management,
themes, xinerama).  I tried to do some quick research there but I'm still
somewhat unsure of what I put in those sections.
Comment 3 Havoc Pennington 2005-01-01 04:23:29 UTC
Great idea, though I doubt we'll get hundreds more helpers maybe we'll get one
or two ;-)

I would say ideally merge with HACKING, maybe separating the relevant content
out of HACKING into doc/code-overview.txt or something with this new material.
But if you want to go ahead and commit what you have and then mention it in
HACKING that's better than where we stand now.

Some lame comments:

 - the ICCCM is usually available in RPM or DEB format, e.g. 
   /usr/share/doc/xorg-x11-doc-6.8.1/ICCCM/icccm.PS.gz
   on my system, I think Debian has a package called "xbooks" or something 
   like that. Well, they had that back in the day, I'm sure it's changed name.

 - "This is largely because X tends to have several structs
   defined that use common names already" really it's just because I'm 
   enough of a dweeb to use namespaces even in application code. ;-)
   But yeah namespaces solve that problem. The point is I guess, 
   if someone adds new code they should namespace it even if there's
   no actual collision with Xlib.

 - "known as \"multiscreen\" and \"xinerama\""
   I wouldn't glom those into one thing without explanation, since people 
   may not be familiar with X screens vs. Xinerama and the difference.
   The simplest way to explain it is that each MetaScreen is a root window
   (root node in the tree of windows). With Xinerama, a single root window
   appears to span multiple monitors. The pointer and keyboard are shared
   between all root windows for a given display.

 - maybe mention that the huge list of things in MetaWindow is exactly the 
   list we would rather not make larger, since it uses memory per-window ;-)

This is really awesome, thanks.
Comment 4 Elijah Newren 2005-01-02 07:15:36 UTC
Created attachment 35353 [details]
New HACKING file
Comment 5 Elijah Newren 2005-01-02 07:16:34 UTC
Created attachment 35354 [details]
New doc/code-overview.txt file
Comment 6 Elijah Newren 2005-01-02 07:17:43 UTC
Thanks for the explanation of multiscreen vs xinerama.  I didn't know that
myself either.  :-)  I worked that and your other suggested changes in as well.

I merged this new file and the old HACKING file.  Then I split out
doc/code-overview.txt from this.  I'm not completely sure what you had in mind
for the split between HACKING and doc/code-overview.txt, so I attached the two
files so you can take a look.
Comment 7 Havoc Pennington 2005-01-02 17:44:04 UTC
I'm not sure what I had in mind either, but the way you did it seems very nice.
;-)
Comment 8 Elijah Newren 2005-01-02 22:03:58 UTC
committed.