From: Ian M. <co...@dr...> - 2002-05-17 05:00:41
|
[DISCLAIMER: i'm rambling. i'm tired.] tim - 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 repository yet... IWMFoundation/ 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 IWMGraphics/ 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 good ones). 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 <ti...@li...> [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. -- @end Ian Mondragon - < copal @ dragonhelix . org > < h t t p : // d r a g o n h e l i x . o r g > |