Slashdot Mirror


Afterstep 2.0 Beta Includes XML Graphics System

vaevictus writes "Afterstep just released its 2.0 Beta 1, after a long merge from its development branch. One of the most interesting new features is an XML-based graphics system, where any picture for any part of the WM can be a simple chunk of XML, which can do transformations, scaling, gradients and some other nice graphics mods. I've personally used this to cut my 1600x1200 image size from a 2.4mb PNG to a total of about 37kb. This leads to some very compact themes. If you're not familiar, AfterStep is one of the older WMs out there still in active development; all of you WindowMaker fans should check out the WM your WM branched off of, so long ago."

24 of 214 comments (clear)

  1. Already testing it now.. by Shivaji+Maharaj · · Score: 4, Interesting

    Looks pretty slick. But the window movement is bit shaky and the screen jitters sometimes.

    --
    We do not have a history of profitable operations. Our future SCOsource licensing revenue is uncertain.
    1. Re:Already testing it now.. by killthiskid · · Score: 4, Interesting

      So I have a question... when I hear XML and graphics, and I instantly think SVG... does this format have anything to do with XML? Is it compatiable? Is there an XSL transformation you can do to turn it into SVG?

    2. Re:Already testing it now.. by sashav · · Score: 5, Informative

      No, its not compatible with SVG, and actually has different goal. Afterstep's XML images merely provides interface to powerfull functionality of libAfterImage, including image overlaying, scaling, tiling, cropping, and so on. It has many uses, such as compiling complex icons from simplier clipart, creating scaled down thumbnails, changing colors of images to match that of colorscheme, and so on.
      It is very usefull in different fields, such as web design, where you can create a script that generates all of the website's images from some clipart ( including text rendering ).
      Note that AfterStep does not need to keep multiple copies of the same image for different pourposes, which is what KDE does with its icon themes, etc.

      --
      Property of AfterStep Window Manager.
  2. mirror, maybe muahhaa by digitalsushi · · Score: 4, Funny

    i got some nice downloads off it, but here's a mirror.

    echo "http://digitalXuXhi.com/aX2/www.afterXtep.org/"|s ed s/X/s/g

    why'm i being a tool? cause only the people who want to visit will paste. mirrors take 10x the bandwidth with a link. so, if anyone translates my url into a link that gets modded over 1, i'll just remove the mirror :D buwahahaaaa

    --
    slashdot: where everyone yells sarcastic metaphors to themselves to understand the issue
  3. Windowmaker + AS by flikx · · Score: 4, Interesting

    Seriously folks, it's about time WindowMaker merges back with AfterStep. Dividing the great AS WM is the sole reason why KDE and GNOME dominate at this point.

    If the WindowMaker project rejoined AfterStep, AfterStep could actually become a viable window manager on it's own terms. As opposed to relying on the publicity of the GNUStep project, and WindowMaker for support in the first place.

    --
    One future, two choices. Oppose them or let them destroy us.
    1. Re:Windowmaker + AS by homer_ca · · Score: 3, Informative

      Afterstep was a fork of fvwm2 (a very old school window manager; think Redhat 4.2 and earlier). Both Windowmaker and Afterstep are recreations of the Nextstep GUI. When I tried AS (admittedly years ago), it still showed its clunky fvwm2 roots. All configs were in text files including the Wharf (called Icon Dock in Next). The dock on the Next had draggable icons which was pretty cool for its time (first came out in 1989), and WM had that too, so it was a closer imitation of the Nextstep GUI. Correct me if I'm wrong, but I think the AS Wharf supports drag and drop for launching files, but not for application icons.

    2. Re:Windowmaker + AS by sashav · · Score: 5, Informative

      AfterStep 2.0 is a complete from scratch reimplementation, Its much more flexible then WM, its graphics subsistem is much more advanced and powerfull, resource management is better ( consider the fact that AS now compresses images in memory - something no other desktop environment could do).
      It was redesigned to be compliant with new window management specs, and as different from WM it is actually being developed right now.

      --
      Property of AfterStep Window Manager.
  4. XML Image format? by Anonymous Coward · · Score: 3, Funny

    You mean something like this?

    <picture width="100" height="100">
    <pixel>
    <element x="0" y="0">
    <component name="red" value="10" />
    <component name="green" value="255" />
    <component name="blue" value="10" />
    </element> ......
    </pixel>
    </picture>

    1. Re:XML Image format? by zulux · · Score: 5, Funny

      No.... like this!

      </picture type=jpeg>
      <data encoding=32_bit_little _endian_binary_written_in_an_acsii_string_in=32_li ttle_endian>
      1010101100101001010000111010101010100010001010101 0101010001010101......
      </data>
      </picture>

      --

      Moneyed corporations, non-working 'poor' and criminal prisoners are turning productive citizens into tax-slaves.

    2. Re:XML Image format? by vaevictus · · Score: 5, Informative

      Actually you're not too far off...
      take a 17KB greyscale tile (defenseless elsie, in this case), and load it with this chunk of xml:

      <composite op=tint>
      <gradient width=$xroot.width height=$xroot.height colors="BaseDark BaseLight" angle=45/>
      <img tile=1 tint="#7Fffffff" src="tiles/DefenselessElsie"/>
      </composite>

      an d you've got a beautiful 1600x1200 image with a gradient that passes through the entire background , not just a single tile. It will also pull the colors for this gradient out of your current colorscheme, unless you would like to change some simple xml around.

      --
      There *is* a program I enjoy using on windows... It's called FDISK.
    3. Re:XML Image format? by fedor · · Score: 3, Funny

      Nah...this one is at least compatible with my very own all-purpose, bloatless, but XML-compliant DTD :

      <data>
      <![CDATA[
      begin 644 xmlgif.gz
      M'XL(".[).C\``V)L82YG:68``;`&3_E'248X-V $P`;@`\```````____+```
      M```P`;@```+^C(^IR^T/HYRTV HNSWKS[#X;B2);FB:;JRK;N"\?R3-?VC>?Z
      MSO?^#PP*A\2B \8A,*I?,IO,)C4JGU*KUBLUJM]RN]PL.B\?DLID%:*1):\3Z
      M'4FW`W,Z8'YORQ5U1O_0]V>P!YB0YW97*'@VLM@X"`E!>%@8J 0<9N)'I1S>8
      M6-D9&DK(>"%WZ?F6B#KYZ09*NFJWY[I`*BH* 9XF+B>>J-VF7RHGWNKOK6,JG
      M>LP:.:K+B]JI^\G,^U!\C&U 875E]'1UG/`J*J*RF78X=W6[>O.UMF;>H[N[@
      M#!\_3VE+?F \K&9E:S^09RS>+X#J##"G8*YCM&[U]N9Z-@P41G\#^,;7R;4+H
      MB-;";QGIU?N740U)0R57FE2)L:*?C6:LR?/H*>6?:>`H2G@ H$^:ZD<)DTK0(
      M,B"ZGT5S_6(FKA]+G:V"7@3442$?6+^P#K UV=1C6HTLYE?U`]NR,M&JG<FNK
      M@RW<L7/KVKV+-Z_>O7S[^ OT[X:A<P(17#"Z,.&)7;?T.)WZ<L^C-EDTA6]:(
      MTFE,7Y<[ =]L:#QBE0(X]V^WH<ILYK:8OVT3VRF/IUGU/*3K8E;9NL[M[>Y CM
      M.SCPX,2+&S^./+GRY<R)#`==(=9B#-(O/6_.X3HYAU\Q4 >].#3N,QG2]XR)O
      M4]W;8+#=GKQW2[P):ZGG"8-O<*6D=]#^ :4X[)Y\(J.E#%'SZ`9C03ORYEXI6
      M_WT68`<*O03-:,U,9)1 23%GDSUL=>AA9A)JHIYH^FPSE$H8,*C:6@PN&***$
      M!F9(%' AUD,B;0/'ALR!K,?Z6VRSU"5F2>O[YZ-9/2/Z8EW9,XN7DDZ=) 2665
      M5EZ)999:;FG*"SM&%%Z7&MQRXW0?BACE?FG!,5AIK0# U)8A@2(4>1%E9YPN>
      M8BF2YVWG(1F,*IRQV5]YX!%)S';.*% @&?12M4I6-#4G&(:5&V090-C,NF92-
      M+_)FE5E+5C%@9I,]J M^,F1U$H*`N4B;G@S7B)U62LB99&183%EI@JD5:6&)0
      M&-ZD (I@)IJ3^4IZ34K@ALF=ZM46IF[4*JSBP3FMBI<RN&A.//*':3: V*?LKA
      MJ%0XZNE"R_I*HZGU9<HC9>;":5^HQMJK:)I'T)F;- W=V2UZ]`,O"D+E(925G
      MN01[)5ITX=Y+F+Y<,B+QQ#59C''& &F_,<<<>-U=QHB7$N=^83HF6'GV"A*P,
      MRUM)3#+$%K"'HK; KD?JO>7H::AO/DA'4\YXT(^H/,.4(BLC.8:X:,$^`LF,S
      M2X P^@2Y^]T5FM:3!.LH*IL["]%J[X1B[*;N!M8AVR0;W(*V\X*8+ =[?O_OKJ
      MH:HF(^NZ_/BX,G2@YBK$KBN>"K>KJ@[,]=[^I3K LL.2:U^"CQ<K^S!_>&A;1
      M-HUZQWUMM=F&6S>\4%?Z,K8(M3 @UMK%"F$35;D/S]MU1ISNIV@#)7O+KKH?E
      MN5"`,\$O3M3T2 =6WN3HMTE=K7_TG\?CZ+:1T)P>F8O"4G^%R#=EOO+V7CW^<
      M G:[+@T]^^>:?CW[Z57:O,_0LBID!F0]#CNMR[(=YXCAM:E*ANW USE#/\\2EI
      M`_19>J3FO*&)*S:],%N=5H2HVSW-2"1)'1=VU S7F):Y>6;.6I3(HB^<M@UHB
      M[!WNFE5"@5TA<\+#7:=.][53 =6V!PCM4CD#CPLF-BW3;^1W5\J<[$TH$6#43
      M%K#`L<`/+4N 'I4L;K98'%-]!ZUPX:J'^$+=VH"OFIT%3VYS^3)?%8X'J5CT<
      M7^M<>*'87=%=GR/C"`LDNC.U,(Z^<^.?PF"];`40>9NY$5>2 UXZU!<UH#>/=
      M(:17R+,1,%ZU45^3'`DE2$IRDI2LI"4OZ9O _"0B3SOD;6C@9.)\)#47H01HH
      MX_+"(FE0(FD\)0U*54,9LH LSKO32B2AD.!,Y;FOWJR4L<0C,(I[.C+4,00A?
      MURNQJ;"8: YG?]%H5)+"`[7/,K*8UKXG-;&ISF]SLIC=OH,G<?1,(L^GE.!T V
      M/#_QXWOGM"4KDRF;=KXRBH%4G0_E>0+!B0UE'B0F/D?$-& JNQIS_/.8'SZ,Y
      M@OYS7&9:)P^5%VH#A4)T9!.=@D0KBM&,: G2C'!V()]G9433,+*3@;&!!#KBH
      M/9%41N_46P8OM5+JT!.+ RCQ83*G'JQK-$G5OO*DD9BK,WO74ITJZXZQ::3Q_
      M$A6AT7Q *3J*BU*5*4:H^N"A5>7?5K&IUJUSMJE>_"M:PBG6L9"VK6<^*U K2J
      A=:UL;:M;WPK7N,IUKG2MJUWOBE>[%@``.Z[]*V6P!@``
      `
      end.

      ]]>
      </data>

      --
      :wq!
    4. Re:XML Image format? by csbruce · · Score: 3, Interesting

      <element x="0" y="0">
      <component name="red" value="10" /> ...


      Yep, the standard XML-bloat joke. Here is the serious solution: binary encoding. I have done some testing by defining a simple demonstration XML image format as:

      <XmlDemoImage version="1.1.0">
      <Header>
      <Width>x</Width>
      <Height>y</Height>
      <SampleType>byte</SampleType>
      </Header>
      <Scanline row="i"> <!-- optional attr: filter="diff" -->
      <RgbSamples>r g b r g b ...</RgbSamples>
      </Scanline> ...
      </XmlDemoImage>

      If we can avoid the bizarre and hugely self-defeating but all-too-common urge to way-overstructure the pixel representation and use raw binary encoding especially for the dense arrays of numbers, the representation and performance is essentially equivalent to that of PNG format itself (though for some images, BZIP2 compression is significantly better). Here is a study of the issue. On an Athlon-XP1800+ Linux box, I get a raw (Binary)XML reading speed of 188 MB/sec for an uncompressed image. W3C is holding a workshop on binary XML encoding in September, so it may finally be prepared to humour such radical efficiency with XML.

  5. Not being familiar with this... by I'm+a+racist. · · Score: 5, Insightful
    I've got a few questions.
    • Does the typical "XML bloat" become an issue?
    • And, is there much gained by using XML over some/any other scheme?
    • Is it very sensitive to errors, like most XML applications? If one XML file/tag gets corrupted, is the whole windowing system fucked until someone goes in on the command-line to fix it?
    • Overall, is it a good thing or a bad thing?
    --


    Down with Saudi Arabia!!!
    1. Re:Not being familiar with this... by code_martial · · Score: 3, Informative
      • Does the typical "XML bloat" become an issue?

      It shouldn't. Since the XML is used here only as a configuration file, it's going to be interpreted only once while loading the theme. It might be that this slows down theme switching a bit but I'm skeptical. Metacity themese switch quite fast and they're all XML based.
      • And, is there much gained by using XML over some/any other scheme?

      The end user doesn't gain much since the XML is anyway hidden from him but it's much easier for someone to tweak a pre-existing theme to suit his purpose if it is written in XML. This screenshot (136 kB), for example, shows a mod of Metacity's Metabox theme. I could do it because the config file (seen in the maximized terminal) was not too difficult to understand and I didn't have to learn new syntax rules for manipulating it.
      • Is it very sensitive to errors, like most XML applications? If one XML file/tag gets corrupted, is the whole windowing system fucked until someone goes in on the command-line to fix it?

      Depends on the interpreting application. XML is no more difficult to screw than any other format. This includes breaking well-formedness of the document.
      • Overall, is it a good thing or a bad thing?

      For me it's OK. As long as I get to tweak things to my preferences without much ado, it doesn't matter.
  6. The good news by The+Bungi · · Score: 5, Funny
    I've personally used this to cut my 1600x1200 image size from a 2.4mb png to a total of about 37kb.

    That's the good news. The bad news is the WM now eats up 300MB of memory, instead of 30.

  7. SVG? by SynKKnyS · · Score: 4, Insightful

    Why don't they use SVG (Scalable Vector Graphics)? It would be neat to use a SVG editor to produce a theme.

  8. Boo advancement!!! by Admiral+Llama · · Score: 3, Funny

    Dang, Afterstep might be becoming too advanced for my tastes. Time to switch to TWM!

    On a more serious note, 8 years ago I used Afterstep. It was the easiest thing to hack through the config files and make it do what ever I wanted to with a minimum of fuss, real estate, processor time, or color space allocation (a big thing on a Sun Classic sporting only a CG3).

    Between then an now I've lived with Enlightenment, Window Maker, Gnome, KDE and OSX, yet for my work box I still use Afterstep. Maybe it's because it has a minimal number of doodads to distract me from doing actual work?

  9. wait, this sounds familiar... by CoughDropAddict · · Score: 4, Insightful

    One of the most interesting new features is an XML-based graphics system, where any picture for any part of the WM can be a simple chunk of XML, which can do transformations, scaling, gradients and some other nice graphics mods.

    Oh, you mean like SVG?

    I guess this could be justified if it were significantly lighter-weight than SVG. Otherwise, why not reuse?

  10. Y DIY? by JB72 · · Score: 4, Funny

    I'd like to write more on the topic but I'm currently busy trying to compile my own light-bulb. I'll have a beta ready in less than two years, or sooner if I can get some more help from the open source community.

    Linux rox!

    ps - don't tell anyone I actually spend 90% my free time in Windows playing embarrassing adolescent video games.

  11. Why switch from WindowMaker? by ikekrull · · Score: 4, Interesting

    So what does AfterStep do that WindowMaker doesn't? Its not very clear from the website.

    WindowMaker CVS has antialiased fonts, and with a little bit of work on icons and tile backgrounds, my desktop looks great.

    The menu editor/prefs utility is easy to use, the clip's desktop switching is perfect for what I want, theres nothing obvious about AfterStep that would make me want to switch back.

    WindowMaker + GNOME apps/libs + ROX-Filer make up my ideal GUI environment.

    As far as I know, theyre both written in C, as opposed to Objective-C for GNUStep, they both attempt to mimic some or all aspects of NeXTSTEP, and WindowMaker was created because the Afterstep crew was too anal about incorporating features that did not appear in the original NeXT system.

    So now theyre adding features to Afterstep - dumping the whole idea behind what AfterStep was - 'Its strictly a clone of NeXTSTEP', and somehow this is a step (STEP?) forward?

    So why switch from WindowMaker, when AfterStep is clearly just playing catch-up now?

    That being said, there are a few rough edges in Window Maker, so perhaps competition from AfterStep will smooth them out.

    --
    I gots ta ding a ding dang my dang a long ling long
    1. Re:Why switch from WindowMaker? by sashav · · Score: 5, Informative

      Its not just the text antialiasing, although AfterStep 2 can antialias both TTF fonts and good old X bitmap fonts. AfterSTep has a very powerfull graphics engine with things like in-memory image compression, high quality image rendering with dithering, high quality and fast scaling, 15 ways to overlay image on top of each other (similar to GIMP) Hue Saturation Value manipulation, etc. Note that all of it is very fast and memory efficient.

      Now AfterStep's desktop model is much more flexible then Window Maker's

      Menu editor/prefs thingy is probably the only absent thing in AS 2, but I'm working on it.

      Originally AS was anal about being too NeXT strict, which prompted creation of WM, and if you'd look into possibilities of WM's titlebar and frame decoration configuration, and compare it to AfterStep - you'll see enough advantage in AS.

      both written in C, but let me tell ya, that you don't want to be messing around with WM's codebase - it sucks.

      AfterSTep does not plays catch up - in 2.0 version we have several things that no other desktop environment has - XML images, Menus adjusting to use pattern, Colorschemes, to name just few.

      --
      Property of AfterStep Window Manager.
    2. Re:Why switch from WindowMaker? by sashav · · Score: 3, Interesting

      Dude, Image manipulation code in AS 2.0 being as advanced as it is is much smaller then in older versions, and is actually much smaller then venerable ImLib.

      Saving few KB of png files is not an issue. Issue is when you need to convert all your icons from one colorscheme to another. I can do it with one click - can you ?

      there are no new dependancies. built in xml parser takes like 50 lines of code ( as it does not do much of traditional XML bloat parsing )

      Making prefs menu is not as easy as you think, and before you can do that - you need to fix all other basic parts of the system. Which we done. And now we can implement prefs menu, that will blow you away.

      --
      Property of AfterStep Window Manager.
  12. Hrm by lvdrproject · · Score: 3, Interesting
    Hm, well, i'm a big Window Maker fan, myself. The whole *Step thing intrigues me, though, be it AfterStep, GNUStep, WinStep, or whatever. I just like the way the system works. However....

    I realise that Window Maker and the like are pretty much designed to be "minimalist", but they seem to be lagging very far behind KDE and GNOME in terms of interface design. For example, just looking at the AfterStep screen-shots on the site (before it gets Slashdotted, heh), i'm liking the way the system is designed, in general, but it looks hideous. The graphics used in the interface are jagged, the window frames and buttons are almost industrial in their simplicity and lack of creativity, and the icons still look like really bad GIFs. And, like i said, i'm a fan of Window Maker, and prefer it over any other window-manager, but it's guilty of this too. They all look like something you might see running on a Commodore or an Amiga.

    I know that they're constantly being improved and updated, and i realise the importance of laying down a proper foundation before you go around making things look nice and anti-aliased and all that jazz, but i think a lot of the reason GNOME and KDE each have such a huge following is because they're very pleasant to look at. I think WM and AfterStep and the like could benefit very much from trying to add in a little "eye candy" here and there. You don't need any gimmicks, but i really don't think it would negate the intended minimalism of the system if there were just "themes" and icons and what-not of the same calibre as those you might find looking at Nautilus or Konqueror.

    Regardless of all that, Window Maker will remain my favourite window-manager, and i'll continue to recommend it to those looking for a good UNIX interface. And the whole XML graphics thing sounds really neat, also. Just wish they were "up there", in terms of what i mentioned, with GNOME and KDE. :/

  13. Re:Afterstep site... by sashav · · Score: 5, Informative

    We don't have too many ppl working on AS.
    I mean I do all the development, clipart design, support, and pretty much everything else.
    I don't have no time whatsoever to work on web site, and it was rather dead for quite a while, and only recently got revived by Remmy. One of the purposes of releasing this beta was to attract more ppl to the project, and get some help.

    You can take a look at my devel site on SourceForge:
    http://afterstep.sf.net
    and screenshots on
    http://afterstep.sf.net/afterstep20beta/

    --
    Property of AfterStep Window Manager.