[as-devel] Introducing Me...

Sasha_Vasko@osca.state.mo.us
Mon, 12 Jul 1999 09:48:07 -0500





Hi

Wellcome to our little team :)
I'm Sasha Vasko and I like Pink Floyd too ;)
Where Ethan is mostly working on main AfterStep code and Wharf - I'm
concentrating on
image processing (libasimage) and modules - mostly Pager, and recently some
 WinList fixes and asetroot overhauling.
There was also some development done on configuration stuff lately.
Ethan wrote some code to use XML for configuration - but I can't bring him to
finish it up ;)
and I wrote code to read/write existing format of configuration.Regardless I'm
pretty
open minded as to what will make it into the final version - if users will voice
support for XML
and it will prove to be advantageous - then so be it.

Accordingly I'll tell you more about status of that:
1. New Configuration code (currently used format)
The main code is located in lib/parser.c with header in include/parser.h.
it was designed to read/write config files accoirding to supplied syntax
definition.
Reader takes  file or memory buffer on imput and produces FreeStorage on output.
Writer takes FreeStorage on input and produces plain text in memory buffer or
file on
output.
It is designed to handle nested constructs, comments and special config options,
marked as
#DELETED# to preserve commented out options on writing.
Module specific code that defines Syntax and converts FreeStorage to/from Module
specific
data structure is located in libasConfig in src/Config, with header
include/confdefs.h

Main Parser code is complete and only needs Writer to be fixed to handle nested
constructs.
So far it was implemented only for Pager, asetroot, MyStyles and Base config.
Everything else is still on TODO list, and I was planning to do it when I finish
with
Pager/asetroot.

The idea behind this whole thing was to provide single interface for config
reading writing for
modules and ASCP and other AfterStep config tools.

I was also fantasizing about adding some sort of self configuration facility to
each
interface element visible on screen - but I'm not sure if it is a good thing to
do.

If you have any questions  about it  - feel free to ask.

1. libasimage  contains all the code for image loading from files, resizing and
shading/tinting,
MyStyles manipulation stuff, baloon code and code for gradients/color
allocation.
IMHO it needs the following stuff:
 - improved gradients - right now if you have short color range and large area
to fill -
   gradient will be rather coarse.
- improved scaling code - to average pixel values vs. just duplicating pixels
- balloons converted to use parser to read config.
- code fore ForePixmaps in my styles and possibly (with Ethan's permissions )
  text rotation stuff, as discussed a few month ago.

2. asetroot completed and now sets X property with all the available root
backgrounds
information, so it can be used by other modules/progs like Pager. It may need
some time to weed out all the bugs thou.

3. Pager needs to be changed :
- background code removed and everything else changed to use X property set up
by
asetroot.
- window movement code rewritten - I has not tuched it in any on my major
rewrites of
Pager.

4. WinList needs  to attend to some code cleaning facility as it is overly
complicated
right now  (IMHO).

5. all the modules needs to be converted to use new module code in libafterstep
( lib/module.c ) introduced in my latest patch, in order to eliminate duplicated
code.

6. Wharf should not be touched with a ten feet pole :) as it is extremely
complicated
at the moment and any cleanups attempted will cause functionality being broken.
Besides it is rather optimal right now.

>  Well, since that worked, I guess I should perhaps introduce myself.
>As you may have guessed, my name is Steven Baker, and I'm a geek.  I
>wanted to join AfterStep development to have something to focus my
>efforts on, as well as test out some new ideas, and to help my Xlib
>programming skills (which are quite limited, currently).  As with
>everything I use, I have a huge wishlist tucked away safely in my
>homedir that is available for posting if someone requests it.
>  I know C well, and am still trying to sit down and finish learning
>C++, but I have no need to right now.  Without breaking out the large

ther are some ideas brooding about libas++ , and we have a Juergen Sawinski
ready to contribute into it. But I don't think it makes sense to go any further
then just wrapper around existing C code, to sipmplify development of new
modules.

>wishlist, I'll mention that the specific points that I would like to
>focus some effort on is configuration and cleaning up the source tree
>and code (in that order :)).
>  I would like to start discussing the configuration stuff right away,
>with whoever's interested, so I'll prepare some notes and probably have
>a post available for tomorrow.

I'm interested. Take a look at parser and we can go from there. Or we can talk
about transition to XML .

>  Well, that's the end of my introduction rant.  You can now return to
>your regularly scheduled programming (no pun intended).

>-Steven

Sasha