A PostScript-like API for the X Render Extension
Pivot writes: "Carl Worth and Keith Packard have started building a PostScript-like API for drawing using the X Render extension. There are two modules, called 'Xr' (the "rendering part") and 'Xc' (the "compositing part", which is a layer on top of Render which will eventually grow to a client-side Render emulator). The API supports only cubic Bezier splines, leaving other splines out of the library, similar to PostScript.
Check out the initial announcement on the Render mailing list, and some example shots. Shurely this will remind some of NeWS, cowritten by another well known character."
I can finally render all those beziers I have lying around in my closet...
I'm sorry.
Nice idea, though...
The more advanced the technology, the more open it is to primitive attack
Carl Worth and I have started building a postscript-like API for drawing
e code for this is in the 'spline' CVS module at keithp.com and is
using the Render extension (or a client-side Render emulator). Interested
parties are welcome to take a look at the current state of the API
in CVS at keithp.com (http://keithp.com has a pointer), the two modules
are called 'Xr' (the "rendering part") and 'Xc' (the "compositing part",
which is a layer on top of Render which will eventually grow a client-side
Render emulator).
We chatted with Lyle Ramshaw a couple of weeks ago and he suggested that we
implement only cubic Bezier splines and leave other kinds of splines out of
this library. Certainly that matches what Postscript does, and cubic
Bezier's have the nice property of being trivial to decompose into line
segments.
Filling figures bounded by a Bezier is quite easy; split the curve into
line segments and fill the resulting polygon.
Stroking these curves is somewhat more difficult. We knew that circular
pens were a bad idea; in Sharp mode, they generate lumpy lines while even
in AA mode they're computationally intractable to compute precisely.
For Sharp mode, the fix for the lumps is pretty easy -- use one of John
Hobby's pen polygons and you get a nice even stroke width along the spline.
What I hadn't realized before now is that polygonal pens solve the
computational problem as well -- instead of generating a new n-th order
polynomial describing the track of the edge of the figure, a polygonal pen
stitches translated pieces of the original path together to form the
boundary.
We know how to compute points along the spline, and certainly translating
them is easy enough, the only hard part is selecting which pieces of the
spline are glued together to form the final edges.
That part turned out to be confusing, but actually quite simple -- you move
counter-clockwise along the polygon when the counter-clockwise polygon edge
is clockwise from the spline and clockwise along the polygon when the
clockwise polygon edge is clockwise from the spline.
Another realization is that Hobby's pen polygons aren't interesting in the
anti-aliased case -- pen polygons are designed to generate the same number
of lit pixels on each scanline (and column) so that non-AA lines don't
appear lumpy, but in the AA case, we don't want to round the widths to the
nearest whole pixel like that. So, for AA splines, we just use a
symmetrical polygon with enough points to keep things looking smooth.
The final trick was to add the four points forming the start and end of
each edge of the stroke to the polygon. This preserves the precise width
of the face so that a cap or join can be applied smoothly.
Carl wrote a prototype of this algorithm, a sample of it's output
can be seen at http://keithp.com/~keithp/download/spline.png
Th
written in nickle with a C helper to do the actual drawing with Xr.
The sample uses colors to show the transition from one polygon vertex to
the next; there are 20 vertices forming a regular polygon along with the
four additional vertices from the spline ends. The colors of the polygon
progress counter clockwise through black, red, green, blue, yellow, cyan,
magenta and gray, as seen in the little sample polygon drawn at the start
of the spline.
Isn't this a little like combining X & NeXT? I'm probably off on my technology analogy, but even though DisplayPostScript is not based on X at all, wasn't the desing philosophy the same?
I hate to soap-box here, but it looks like the 10 things that would change the computing world may really do that. I always thought they'd be lucky if 7 of them held true.
---gralem
So what is this for? Would this be used to implement a Display Postscript widget or be used directly by drawing programs or something? What's the point?
This is yet another repeat story. Still interesting, though.
is it slashdotted already?
Like the Barenaked Ladies song "Its all been done".
Someone should simply merge the SVG graphics or PDF graphics format ala Quartz into the X11 Server.
Anyone know how easy/hard it would be to make Qt/KDE or Gtk/GNOME use this for the display of the whole desktop in the future? Is something like that one of the reasons they are doing it?
Does the x render extension work now? I can only find very little documentation on it. Isn't it supposed to provide true transparency and neato anti aliased fonts (I still don't know how to get anti aliased fonts working. Does gtk 1.2 support them?)
Anyway, Can i load up render and try these features out in the current X release or is this just the future...
Why is there still no alpha channeling? What about genie effect?
how much money would it take to get this code written?
If you use Linux, please help development of Autopac
It will be very interesting to see how the rendering and composting compares to Apple's Quartz in OS X. Quartz brought a lot of nice effects to OS X, but slowed down the responsiveness of the GUI, especially on older hardware. At the time there was no way of using GPU's to directly accelerate a Postscript-based engine. Quartz Extreme has partially got around this by sending parts of the process through OpenGL.
So how will this implementation get around the limitations of hardware acceleration and even in an 'unaccelerated' form how will it perform? Definitely one to watch methinks.
Unless its as good as OSX, its not worth it.
If you use Linux, please help development of Autopac
What the fuck this stuff's good for??? Well look what Apple did with OS X. They did the same, except they used a hack on PDF.
Well, this project is just a hack on their idea. It's called "bragging rights"... Unless there's a better reason.
1. X is bloated and should be replaced with something new and spiffy.
2. Why can't I have transparent windows with the background updated in real time? Lazy X developers.
3. Speaking of X, KDE is better than Gnome.
4. Speaking of KDE, Gnome is better.
5. I can't compile X.
There. Can we talk about new stuff this time?
Can you hear me, Major Tom? I'm not the man they think I am at home...
I hope the developers keith and the other guy respond to your post.
How exactly WILL it compare to Apples Quartz? Because thats all that really matters here. Will it compete with OSX or not?
The hardware limitation isnt a big deal, first of all OpenGL will work just fine, second why the hell would they go through all this work if its just a software hack? IF we want a software hack we can just use enlightenment which does alot of software effects or we can use KDE and use the little transparency hack effect.
If you use Linux, please help development of Autopac
This looks pretty cool. Is there any chance it will be ported to non-OS X platforms?
If they are thinking of taking this someplace serious, it could be interesting. People probably remember that OS X uses PDF to display items, and its inspiration (NeXTSTEP) used Postscript. This gives resolution-independent display, and highly accurate WYSIWYG possibilities (since you render to the printer just like you render to the screen).
GNUStep is a clone of NeXTSTEP, and uses some sort of similar rendering. I'm not clear on their status -- for a long time they were waiting for a Display Ghostscript (DGS) extension, so they could copy NeXTSTEP faithfully. Proprietary Postscript extensions for X have been around for a long time. Ultimately, it seemed like someone didn't want to wait around, and wrote a straight Xlib backend for GNUStep, with none of the vector-graphics properties. I think that backend has stuck, since it works, and DGS isn't the primary platform at this point. But I'm not sure.
This could be an alternative to DGS, or something to build ontop of, or maybe it's just people fooling around with another alternative that wouldn't be useful. Obviously, fonts and anti-aliasing and all that jazz is really essential for a complete rendering platform -- just doing splines is a long ways from that.
(If you can't get to gnustep.org, try gnustep.net -- it's good stuff, even if development has been slow over the years. Too bad FSF/GNU didn't back GNUStep instead of creating GNOME -- I don't know what was up with that)
There is actually a great reason why X isn't dead. Extensions are that reason. The entire X rendering model was designed with no intention of surviving any more than five years, the original creators figured that by then, people would have subplanted their rendering model with a completely different one. This is a great plan, and allows for unlimited flexibilty later on, unfortunately, their original design worked well enough that noone has really bothered to change it. It has aged quite well, but needs to be replaced with a new rendering engine in order to even catch up with what is going on in the Apple world. I personally would like a complete widget set on the server side, programmers, being lazy, would use the built in widgets, and all of the sudden X would have widgets that all looked and felt the same.
Mind you, I'm a pretty big fan of OS X, but that windowmanager in there is an abomination against mankind. With no virtual desktop support (except for third party kludges), windows constantly pile up, and digging through them is a pain. Hiding the icons for minimize, maximize and close until you mouse over the title bar is also something that Apple heavily recommends against in their style guide. The cheezy effects in OS X are nice for the first week, and afterwards, you just get sick of them, fortunatly you can turn most of them off.
The thing I hate most about Quartz (even more than it's bloat) is the widgets. I don't want semi-transparent, gigantic pulsating buttons to work with, I want simple, flat and slightly tinted buttons, like Java has, give me that, and I'll be an even more happy OS X user (oh, and speed Macromedia Flash up to a reasonable speed, Apple's are supposed to be good at graphics, remember?).
Does this (and display postscript in the X server) present a security risk? As I understand it, X under Linux runs SUID, enabling stuff like DRI to access the hardware directly. Would it be possible for someone to write malicious code that ran in this environment as root?
Sun did something similar in the Network Extendable Windowing System (NeWS). This was in the days of the OSF. The OSF decided that X and Motif were the way to go and left Sun out on a limb with what, IMHO, was a better system.
Why even talk about OSX if you dont like its best features? its eye candy and flash are what seperates it from linux.
If you use Linux, please help development of Autopac
it's amazing that a mathemetician (two actually, decasteljau and bezier) came up with bezier curves to assist designing automobiles. their power is so incredible, like in this instance, they are still very common today.
a nd_surfaces.html
e /software.html#BEZIER
the decasteljau algorithm for determining what points on a bezier curve are is quite simple. the bezier curve takes four input XY pairs (p0,1,2,and 3), which is why they're called cubic beziers, as opposed to the similar three pointed quadratic spline (like the directional arrows on some atlases). anyways, getting back to the algorithm:
;check distance between p0 and p3
;if distance>threshold, print values
;Compute p01. (p0+p1)/2
;Compute p12. (p1+p2)/2
;Compute p23. (p2+p3/2)
;Compute P012 (p01+p12)/2
;Compute P123 (p12+p23)/2
;Compute P0123. (P012+P123)/2
;call DeCasteljau (p0,p01,p012,p0123)
;call DeCasteljau (p0123,p123,p23,p3)
--
so basically, one generates two pairs (left and right) of points, and a recursive call is made with each.
.
the implications of such a simple yet elegant system in 3d beziers is amazing. this site has many resources : http://www.daimi.au.dk/~mbl/cgcourse/wiki/curves_
you may also want to check out
http://www-unix.oit.umass.edu/~verts/softwar
"bezeier madness", a beautiful bezier design program that 0wns windows paint.
http://siokaos.org/
I know that at least part of the design goal of GhostScript was to be a basis for replacing NeWS or Display PostScript, though people settled on X instead. Why reinvent the wheel now though? If you want a PostScript-like X extension, why not use GhostScript?
i forget to mention that the listed items are programmed by gnome developers and implemented the way that only gnome can use them through pkgconfig.
It seemed to me that NeWS was a good design--it added the obvious stuff to PostScript to use in a window system. It didn't take off because its implentation stunk and it wasn't free. But using Potsscript as the format seemed just fine. Any prob?
could someone in a clear and simple say how does this make the life of the developers easier? Why was is this done? I quess there was something that was previously harder to do?
Horrible trolling attempt (one of the worst I've seen), but I'll bite..
Yeah, cause they must have reverse engineered the whole PostScript spec.. it's not open or anything.. really...
Jeez, give me a break- they aren't going to get in any more trouble than someone would for implementing HTTP and HTML parsing in a product. Adobe WANTS people to use PostScript. Hence the whole open spec thing.
slashdot!=valid HTML
I believe that it was Sun that sawed the limb out from under themselves not the OSF. Kind of like IBM and the Microchannel bus.
Exactly! I think the rounded GUI of windows XP was a step back from 2k pro I don't like the way KDE and Gnome's defaut themes try to make things round, and I probably wouldn't like it in OSX, either. My idea of a UI is KDE's "Light style 3rd revision" flat, clean, fast, productive, and professional. The flat boxy UI is one of the things I like most about UNIX, it gives it an identity of it's own. It's a shame so many are trying to kill it.
Saying Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders.
There have been several attempts based on GhostScript to produce a real postscript API for X11.
That's good, as far as I'm concerned. The raw XRender interface is a bit primitive. Having a C-based API with PostScript-like drawing primitives will be really neat. That will make it much easier to get Macintosh-like screen-graphics without the mess and overhead associated with Display Postscript or Display PDF.
I think it's objective-c. Who writes apps in objective-c anymore?
I have never understood this obsession people have with NextStep (WindowMaker, GNUStep, Afterstep etc). Sure, it looked nice at the time - but it is time to MOVE ON people!
I'm so glad readin this, and I hope, that I'll hew nice readable screens on Linux. If you are using Latin2 character set, your application beacame ugly-look still, in nowadays. The use of ture-type fonts may help, but unfortunately, not all appplication can access these fonts, too. Other problem is about the printing issues. You may see nice fonts on the screen, bot you can't print them.
I'd lie to see a unified API fro rendering text&graphic on screen and printer, both.
that your an asshole.
Obviously you don't understand what he is trying to say and could care less. While this in itself isn't bad (I don't undertsand what he said completely and I don't feel particularly inclined to research it) the fact that you hang out on slashdot just to insult intelligent people who actually have something interesting to say is pretty sad. If you dislike "linuxfags" and intelligent people than why are you on slashdot, a site geared mostly towards "linuxfags" and intelligent people with interesting things to say)?
I'd like to think most of us come here to learn and share information , you obviously come here to insult those who come here for a legitament reason. Apparently you believe this makes you "cool" when in fact all it makes you is a STUPID geek as opposed to the majority (at least I hope) of us who are SMART geeks.
So basically what I'm trying to say is: people like you are useless to everyone. Please shoot yourself now, or at least get a new hobby. Thank you.
an open Source Qauartz?
Please wake me up from this cool dream
Don't Tread on OpenSource
I used to have a ton of virtual desktops when I used Linux. I was wondering how I could ever live without them! I am now mainly using XP (and NT. 2k before that) and I find the taskbar and alt-tab to be just as easy to use and just as fast and virtual desktops. I have developed some kind of system where I remember what stuff I just used (alt-tab) and then I go to the taskbar for the stuff that I still have running but haven't used for a while.
This is not "USE XP!", I am quite sure you can get it to work like this in KDE for example. I am just saying give MacOS X own system a chance for a while and stop thinking in terms of virtual desktops, you might end up liking it (or end up switching OS).
The biggest reason I used virtual desktops was the 10+ xterms I had to have up all the time. I obviously don't have many xterms in Windows. Does you guys who use MacOS X use a lot of terminals? I'm just curious about how much of the BSD part of MacOS X is used by people.
You can do just about anything you want (curve wise) with a cubic bezier curve. In fact, If I remember correctly, if you're clever you can even make a strait line.
GO GO CUBIC BEZIER CURVES!
recompile.org
If I'm not coding, I *may* have a terminal window open, just to muck around in now and then.
If I'm coding, I'll have between three and six terminals open, but I don't find the lack of virtual desktops unwieldy in OS X. I simply hide applications I'm not using with Command-H, and then click their icon in the dock to redisplay their windows. Works fine for me and keeps my desktop fairly uncluttered.
Great! now that I've got enough hardware to run postscript in real time, maybe its time to do this. Anyone else remember how slow a sparc station 1 was doing postscript? At least you had thouse cool round buttons. Too bad postscript has a real problem doing the shaded bar things that seem to be everywhere now.
For those looking for Virtual Desktops in OS X, look no further than Space.app, a GPL'd application that provides multiple desktops (configurable) and hotkeys to switch between 'em (also configurable). The concept of a "sticky" space is also supported.
As for easing the clutter on the desktop, if virtual desktops alone don't do it for you, check out Windowshade X - this brings back the functionality of being able to double-click on the title bar of a window and collapse the window to just the title bar, as in OS 9 (and most Linux WMs).
If you don't like the dock, get rid of it! As for the widgets, you'll be happy to know that the various buttons in OS X have been on Weight Watchers during Jaguar's development .. check out any of the screen caps at Think Secret to see the new buttons before Aug. 24th - while they aren't quite like the Java buttons, they are quite a bit slimmer and make the interface look quite a bit less like candy and more like a professional workstation.
Cheers!
Not to support the troll or anything, but, far as I know, if you're going to implement PS, you typically need to pay Adobe a licensing fee, even though the spec is open. This is partially why Apple went with a PDF-based display engine instead of a PS-based display engine, from what I've heard.
I also believe that this is part of the reason why Ghostscript has different types of licensing, though its been a while since I've checked into that. I do know, however, if you want to be 100% compatible with Adobe PS (and use their compatibility logo to say so), you'll be paying some kickback to Adobe.
Cheers.
why linger on X? please let us all move on to something good, reliable and that can be setup painlessly.
>>I personally would like a complete widget set on the server side, programmers, being lazy, would use the built in widgets, and all of the sudden X would have widgets that all looked and felt the same.
Uhuh. Do you realize the security implications of the drivel that you just emitted? If you want to play that game then you had better do two things:
1) scrap much of the X protocol and start over with one that's entirely based on security (probably at the expense of functionality)
2) find some non-lazy programmers or else they'll castrate the security you tried to build into 1).
I'd have expected a less stupid remark in light of the recent hullabaloo over stuffing events into privileged queues on M$ desktops.
Unfortunately, when I tried Space.app, it wasn't good enough to be useful. For some reason (limitations of the OSX windowing model perhaps?) it allocates windows by application; i.e., all of an application's windows go in the same workspace. Given that on OSX, only one instance of any application is running at any time, this means, for example, that all your Terminal windows must be on the same desktop. This is not good enough.
Actually, there is a fundamental difference between NeWS and what is being done in Render (and Carl and Keith's latest work).
t al ks/gettys_html/img0.htm
NeWS implemented postscript in a display server; Render is only implementing the imaging primitives in the X server (in this case, AA, alphablended trapezoids), leaving anything like Postscript (or pick your favorite other graphics library) to be implemented as a client side library.
If you think Postscript is a good extension language (which NeWS was based on), you need your head examined. And machines of that era could not rely solely on a Postscript imaging model (insufficient display bandwidth available for imaging applications). What is feasible today on 1000 mip machines for applications is quite different than the 1 mip machines of that era.
Now if you want an extension language in the X server, try something like Java: note that James Gosling saw the errors of his ways with that language.... It would make infinitely more sense than NeWS ever did.
And yes, lots of time was lost: the UNIX vendors fought with each other for years rather than helping X move on. See my Usenix invited talk.
http://www.usenix.org/events/usenix2000/invited
If you want to have something "better", either help the current efforts, or go write your own window system. Grousing about the current state of things when you aren't doing either isn't acceptable. Note that we have been learning from much research in the intervening time: Plan 9's window system is the basis for the render work; it has blazed the way for a much better imaging model with great simplicity and power.
But I never believed NeWS was the answer (then again, I'm biased).
Although he admits that he's biased, I'd like everyone to take a moment to recall the extent to which Jim Gettys profited personally, professionally, and financially from promoting X10r4 and X11 over NeWS.
The arguments he presents here are specious and uninformed, quite typical of everything he's ever had to say about the topic.
It's a lie that the Unix vendors wasted any time fighting over X vs. NeWS. Gettys (at Digital; remember Digital? This song's about Digital's pet tax writeoff^W^Wproject Athena at MIT) did a fantastic FUD run around all the innovations that NeWS had to offer.
So fantastic, in fact, that Sun's marketing believed it and tried to kill the project by refusing to fully open-source it (all of the Postscript code was free, just not the interpreter/rendering engine).
All sides behaved badly, but jg will always be remembered as the biggest (!) offender of all.
Who is the fucking dipshit moderator who modded the parent down as OVERRATED when it was at ZERO!?!?!
God Damn it, if I see one more post from HanzoSan about OSX, I'm going to puke.
I hate Bezier splines with a passion because they do not make intuitive sense. It makes more sense to use Catmull-Rom Splines where the control points fall on the line. It uses a simple parametric polynomial just like the Bezier, but unfortunately it lacks the subdivided-ness.
Look into it.
-- Making computers see, hear, and think... http://www.componica.com/
Technically, a big problem with PostScript is that documents are programs. This means you can run them, but doing anything else (text extraction, editing) is tough. Even a PostScript viewer is tough; look at the GhostScript mess. Plus there's a security issue. Compare HTML, which can be usefully postprocessed in many ways.
Because PostScript was flawed as a way to do anything other than print, Adobe came out with Acrobat as a way to ship documents around. Acrobat should have been unnecessary. And then there was the eBook format.
It's annoying that we don't have a good open format for documents. This helps give Microsoft Word its dominance. Word is the cornerstone of the Microsoft monopoly. (A few days ago, someone pointed out that Word Perfect format is now open, but that happened a decade or so too late.) By now, we should understand the problem well enough that we should have a single format, or at least related formats, which are displayable, editable, and printable.
I always have six, two local windows, the rest ssh'ing off to various places. I have them start on boot and always in the same order so clover-2 always brings me to my home server, and clover-6 to a local window, and I know what the other 4 are too. When I'm not using them I hit clover-H to hide them all which reduces the need for virtual desktops a lot (hide and hide others are very useful for dealing with clutter...but a giant display would be better).
At least I'm not an anonymous coward...
There were certainly wars over NeWS: SGI went with NeWS; and the subsequent GUI wars froze X development.
I programmed Forth extensively: I therefore have an informed opinion about postscript (arguably postscript is a bit less ugly the Forth, but both have fundamental flaws).... I have great respect for James Gosling's work on Java...
Sun's views on code/standards are well known: they like any they control. They tried this with NeWS by not making it available freely; it failed. The've been doing the same thing with Java, which has not succeeded the way it might have, due to this action.
It is also the case that I said little about NeWS at the time: your claim of other behavior is not borne out by reality. There was, however, tons of mud being thrown by the companies in all directions, but very little of it from me...
- Jim
But memory management? gcc (and hence Apple's compiler) has had automatic garbage collection for YEARS now. POC has had automatic garbage collection (both Boehm and automatic reference counting) for even longer. I understand that many people don't use automatic garbage collection. Yes, that's too bad (not that manual reference counting is THAT bad). But to say that "nobody seems to be working on that" is nothing but a bald-faced lie.
Like I said, it's unfortunate that nobody uses the garbage collection in gcc's Objective C implementation. Objective C will probably lose ground because of it. But people ARE working on this (actually to be accurate I should use the past tense -- people HAVE worked on this -- it is done, it is integrated into the compiler, it has been for years).
Really; can anyone name a single X app which they really like and which exploits the power of X?
No? I thought so.
Yet everyone has an opinion and an attitude -- but nobody has an app which makes the most of X and which is a money maker?
I know that they do exist; I have one, but I just want to find out if anyone else knows what to do with X.
No, RMS would disagree with being cited in the context of the wrong movement. RMS is a member of the Free Software movement which stands for very different ideas. The Free Software movement has no problem with commercial software, a lot of Free Software is commercial. The Free Software movement has a problem with proprietary software. You have not given enough detail about the terms under which NeWS was available to determine whether it would be considered Free Software or not.
Digital Citizen
Intresting development. I've written a version of
Java that uses swing for the AWT implementation.
It runs directly on top of XLib.
See http://janux.sf.net theres even a screen shot
of Netscape running in a JInternalFrame.
The next version Jdk1.4 will embed the VM inside
the X Server. This will provide the full Java2D api
to applications. Also I plan to support SVG rendering on the desktop.
I'm working on the graphics stack issues right now
Keiths work could prove very useful. Thanks for the article.
Michael Emmel
memmel2@yahoo.com
The PDF format is essentially PostScript with the ability to execute code removed, and a declarative syntax in its place (see http://www.rlg.org/preserv/diginews/diginews5-1.ht ml#feature2
for details).
The PDF file format is open, and many tools have been written to use it without involving Adobe.
- jon
Ganymede, a GPL'ed metadirectory for UNIX
why is this beeing marked off topic ? it gives real information how much xfree is beeing influenced by these gnome fags.
So Adobe requires that you pay a licensing fee for PS but not for PDF?
I was wondering why everyone was praising the GUI on OS X...like you say, it's nice for the first week or so, but the novelty wears off pretty quickly.
:
There are two main things I dislike
1) click-for-focus - I have been working on computers for over a decade and never had to do this (was able to configure focus-follows-mouse or it was already that way).
2) resolution dependance - what is all this talk of resolution independance? When I increase the size of the framebuffer, all the icons get smaller. That is resolution *dependant*, not *independant*. The icons should remain the same size, but become smoother. Using high-resolution displays means I'm squinting to see the text and icons, and I end up having to put up with a lower resolution and lower quality text and icons. Also, when you have more than one screen, and they are different resolutions, the mouse keeps getting stuck at the edge of the larger one where it doesn't join the smaller one; if they were resolution independant, the top and bottoms of both screens would match!
3) (yes, I know I said 2) The menu bar always at the top of the screen. I wasn't sure about this when I started using OS X, and I've now decided it's a pain in the butt. Ever used more than one screen on your Mac? Even though your app's main window is on the second screen, the menu's are still on the primary screen. How brain dead is that?
4) can't remote display - it doesn't work with other systems which is a pain. I know OroborOSX does a fair job (especially since it's free), but it doesn't work perfectly (try x2x with another machine running X), and cut & paste doesn't work with Mac windows (unlike Citrix which works fine with Mac windows).
No. Mac OS X's GUI is a pain in the butt to use. I would consider a different one, if the apps I have would use it. But is there really a choice?
The things (GUI/Window Manager/whatever they are) seem to have been going backwards in functionality. NeWS seemed to have it right IMO; but that was replaced by X which lost the resolution independance (but gained remote display).
Max.
I'll get my coat.
KMSMA (WWBD?)
Yep, that's my understanding of it. PDF is a truly open spec, whereas PS only seems to be. This is probably because you cannot *print* a PDF directly (i.e., no PDF printerss exist). So, Adobe gets licensing from printer manufacturers that want to provide Postscript capabilities in their printer. You need a Postscript compiler/interpreter within the firmware of the printer to be able to print Postscript documents ... and I imagine that if printer company X wants to say "our printer is a postscript printer" they'll have to pay Adobe!
From page 10 of the PostScript Language Reference Manual (2nd ed):
"[...]Adobe gives permission to anyone to [...] [w]rite software to interpret programs written in the PostScript language."
Those who sacrifice security to condemn liberty deserve to repeat history or something. - Benjamin Santayana
C++ sucks, I'll never like it as a language even if its powerful.
If you use Linux, please help development of Autopac
I distinctly recall hearing that one of the reasons Apple decided to use a PDF based display instead of a PS based display (ala NeXTStep) was for licensing reasons.
Just what we need, another goddamn programming language!! Why does everyone and his brother think they need to write their own programming language? Stupid! Now everyone who uses this software will have to download some obscure programming language just to run it.
just because Steve Jobs doesn't know that doesn't change it. An 8 1/2 x 11 inch sheet of paper doesn't change. If we want that kind of uniformity in video display we can always go back to 80X25 monochrome.
no i think ill go down on jobs one more time for the hell of it
YUM!
Billy you are next!
If you use Linux, please help development of Autopac
A vector graphics display API sure, but why postscript? Why not an open standard, like SVG?
OK, so you can dump your screen to your (postscript) printer. Would there be problems accurately converting SVG to postscript?
Why should the printer drive the display anyway - isn't the tail wagging the dog? Is the argument that technology should adapt to the device capable of producing the highest fidelity output?
Maybe it's also time for printers to start speaking SVG.
--Lawrence Lessig for Congress!
Yes, it is interesting to note James Gosling's software history. I was a HUGE fan of NeWS at the time. (That has been one of the three elegant things in computers I ever loved passionately, others being Modula-2 and Plan 9 /Inferno.
First he and others at Sun thought PostScript is an elegant interpretable general purpose language, why not send that to GUI clients to offload arbitrary GUI widgets -- or any code -- from servers? Just add input handling and host communication to PS. You also get better vector/pixel/font/colour model than the hackish X. Vector graphics NeWS windows and fonts could be arbitrarily scaled and still use all resolution you have, i.e. on printers.
They even built a nice event model as PS widget libraries, where stacked dictionaries were an elegant inheritance mechanism.
When NeWS failed as a distributed window system (I think because Adobe destroyed that clone of PS with anti-Sun politics and their own inferior and competing DisplayPS), Gosling became soft for complaints about non-conventionality of PS stack syntax. He threw away the PS syntax and ran away from the GUI wars dropping the graphics part, but kept the idea of distributing interpretable system modules as NeWS intermediate code. NeWS did PS -> pseudocode, now his new language, first called Oak and then Java, compiled to a similar pseudocode.
So sad. NeWS lost so much possibilities and elegance when it became Java, and gained nothing excpet a new language syntax (that I hate, like I hate C++).
Note that NeWS server application were language neutral so that no matter what language you wanted to use on the server, you just wrote your widgets as PS text (or precompiled pseudocode) to the clients at initialization and later on demand by the client when first needed.
Anssi Porttikivi / app@iki.fi
J Cherryh wrote "Life, it goes on, you know?" (erm, pardon, dont remember the name of the book, but can describe the cover)
(replying here because apparently uu.net is blacklisted here at work)
I want to say that the book was Cyteen, but it might have been Rimrunners.
Sorry for the long delay in replying.
What font do you use for your terminal windows? The default font give me hideous eyestrain after about twenty minutes; I'm still searching for terminal settings on OSX that I can use long-term.
I can't say I remember the quote...but it has been a while since I read those books, rimrunners in particular was a long time ago.
Please do, I know where my copy of Cyteen is.
I think it is the default, Courier 14.0 pt. On the TiBook LCD it doesn't give me eyestrain, but I do have a second set of glasses for "close up" work (focus to about 4 feet).
Well if you still can't find a set you like, you might think about shelling out $15 or $20, whatever it is for GLTerm which can use normal X fonts so you can use whatever you like on Linux/FreeBSD/SunOS/whatever. Or, you know, make it your first OSX program :-)