[DISCLAIMER: i'm rambling. i'm tired.]
i haven't actually committed one to paper/vim yet, but i can tell you what's
going on at the moment & why (hope that'll do :-)
i'm currently in the middle of a complete overhaul of the entire codebase for
several reasons, the first being the utilization of libwraster for image
handling. this neccessitated a major revamp of the entire client object, which
got hairy rather quickly. in doing so, i've been trying to resolve other
outstanding issues that have remained since iwm's initial days of being a direct
rewrite of aewm/alloywm.
one of the things i've tried to to thus far in the rewrite is to completely
isolate direct calls to X functions within object methods, so that porting IWM
can be made easier (which directly coincides with the IWMGraphics lib).
anyways, here's how the current layout is looking:
--- snip ---
NOTE: you'll notice that the class names have changed (i.e. prepended IWM) since
version 0.1.1, which is why i'm not checking anything into the sourceforge cvs
IWMWindowManager # main window manager object
IWMAtom # wraps X Atoms. you'll see why.
IWMScreen # the screen. what more can i say?
IWMTheme # theme object. pretty nifty.
IWMWindow # wrapper around X windows, with corresponding IWMImage
IWMButton # subclass of IWMWindow
IWMTitlebar # subclass of IWMWindow, contains buttons
IWMResizebar # subclass of IWMWindow
IWMClient # client, contains app window, titlebar, resizebar
IWMImage # image class, currently uses libwraster
--- snip ---
so - alot of work, and still some to be done. with eric working on the
bundle loading capability, the future is looking bright (especially since that
takes a load of work off of me <grin>).
i'm estimating that 2 or 3 more weeks will be needed for me to get 0.2.0 ready
for release, but please don't stone me to death if i take a little extra. as a
payoff for any developers, you won't cringe so hard when you look at the source
anymore. for the users (and that would be all of us), there will be not only
VISIBLE BUTTONS (hahahahha), but the inclusion of the IWMGraphics lib will make
it possible to set images into not only the titlebar/resizebar, but the buttons
as well...the layout of which (on the titlebar) will be entirely configurable
by the user. so you will be able to go wild with your desktop in at least *one*
way that most window managers won't allow you to.
after 0.2.0 is released, i'd like to see eric's IWMComponent classes take
their hold in IWM, which will allow us to load pretty much ANYTHING we want into
the window manager, whether it be docks for windowmaker dock apps, a menu
system similar to windowmaker's, a dock ala OS X, or simply a retarded tool to
print "WHOOPIE!" everytime a new IWMWindow is allocated along with the filepath
of the image associated with it. hell, we could have a bundle that makes all of
the unfocused titlebars *bleed*. it doesn't really matter because it's such a
broad spectrum feature (and therefore open to just as many rediculous ideas as
any questions on anything i said, let me know.
- ian mondragon
ps - just because i said it, i know someone's going to make that stupid bleeding
bundle. kinda like that xroach thing. but, BloodyTitlebars.iwm.
* Tim Harrison <tim@...> [05/16/02 11:07]:
> Ian, is there a development map for Interface? I'd like to compare and
> contrast with the LinuxSTEP dev map, and see if there are any places
> where I might want to either add or remove release goals.
Ian Mondragon - < copal @ dragonhelix . org >
< h t t p : // d r a g o n h e l i x . o r g >