Showing posts with label étoilé. Show all posts
Showing posts with label étoilé. Show all posts

Sunday, September 09, 2007

Cairo backend

Just a quick note: Fred Kiefer fixed the last issue I had (bad text clipping / smearing) with the Cairo backend... so, no more little glitches, it's really usable now !

Tuesday, September 04, 2007

Dock

Looks like it didn't take long for Yen-ju to play with the Cairo backend and partial transparency :)


Etoile Dock...


Shiny. (yes, too much like OS X)

GNUstep Cairo backend

After some effort, I finally managed to find a solution to the annoying scrolling bug in the Cairo backend... There's still some little graphic glitches appearing sometimes -- it looks like some clipping/refresh issues -- but overall it's nearly there :)

GNUstep Cairo Backend


For the intrepid, the code is committed on the gnustep trunk. The above screenshot shows the Etoile desktop (with the new compositing manager) and the work-in-progress Narcissus theme, running with the Cairo backend.

Sunday, September 02, 2007

AlpenStep '07

DSC_0424


I was at AlpenStep this weekend, you can check some pictures.

It was a very cool event, thanks in particular to gerold's organisation. The location, in a small swiss village, was really nice -- I can say that some fresh air after beeing in london is good !

DSC_0305


It was also a small-scale event -- only 7 persons (though gurkan came but left saturday before lunch :-/), which made it a very intensive event as well: lots of discussion, lots of coding too. Fred Kiefer was probably the busiest person in the room, as everybody wanted to ask him questions/advices... ;-)

Riccardo Mottola gave a nice GAP demonstration, and during the weekend he and Nikolaus Schaller were busy working on SimpleWebKit:

DSC_0404


Nikolaus also made a cool presentation of QuantumSTEP running on the OpenMoko platform :)

DSC_0318


The OpenMoko device is actually fairly nice, very high-res screen, and some interesting hardware to tinker with.

DSC_0246


Quentin was working on ContainerKit for Etoile, a very interesting way of specifying UI using a generic data model (so you can switch representations on the fly for instance), also allowing very nice introspection features with inspectors generated on the fly. I tried to convaince him to introduce some Magritte-like magic, i.e. adding metadatas to your model...

Quentin and I also made a presention of Etoile, describing the various components/frameworks/applications, and how everything is supposed to fit...


DSC_0429


Finally, I can only be admirative of gerold organisation skills... to the point were he got us a GNUstep cake:

DSC_0320


Which was delicious !

In short, looking forward for AlpenStep'08 ! (and Fosdem'08 before...)

Cairo/GNUstep

I was at AlpenStep this weekend (photos will follow..) which was quite cool. I teamed with Fred Kiefer (the GNUstep gui maintainer) to try to iron out some of the quirks of the Cairo backend. The main problem (recopy of surfaces is not always done well, which impact scrolling) is still here, although we improved some things, and it looks now like it should be solvable with a bit more work. We also added 32 bit surface support when choosing x11 visuals : a cool side-effect is that you can then use directly the alpha channel on the window :) and thus draw semi-transparent windows.





David will like that ;-) -- he's working at the moment on Etoile's compositing manager...

In the above screenshot, I simply fill the view with NSCompositeClear (so it's just transparent), and then composite an image on it, with 0.8 transparency. You can then see that parts of the window are fully solid, while some are completely transparent, and others partially transparent.

Friday, March 16, 2007

GNUstep participates in Google Summer of Code 2007

The GNUstep project just announced that it was accepted in the Google Summer of Code 2007 :

GNUstep provides a cross-platform solution for Objective-C/OpenStep/Cocoa developers. This year, it offers various projects for SoC, such as adding new classes from Mac OSX 10.4, enhancing text system, porting WebKit to GNUstep, improve GNUstep on MS Windows platform, etc. It is a great chance for students to learn programming in many aspects.



read more | digg story


It's an excellent news ! we tried to be accepted first two years ago if I remember, and last year we were in but under the GNU umbrella... and no projects were accepted. Beeing accepted as a separate organisation should help us, hopefully !

Beside, any progresses on GNUstep will be immediately useful for Étoilé :-)

If you are a student, it's definitely worth a look -- GNUstep is one of the best OO api available here, and a fun place to hack.

update: Squeak is also in ! :-) great news too...

Thursday, May 11, 2006

RTFD

Well, I was idly thinking that I could move the HTML parsing code of HelpViewer in a GNUstep TextConverter bundle (so that *any* application using text would be automagically able to load html... or at leas the particular HelpViewer brand ;-), so I looked into the RTF TextConverter to see how that worked. It's fairly simple in fact :-)

But reading the code, I also realized that adding RTFD support (RTFD are basically RTF documents + Images) would be trivial. I am actually fairly surprised nobody did that before, particularly as I remember numerous complaint about its non-existence :-/

So, I modified the RTF parser to deal with the \NeXTGraphic tag, and it seem to work well -- at least reading RTFD documents that come from Mac OS X. Though, the actual grammar I used for dealing with it is pretty crude, so I wouldn't be surprised if some documents do not work (likely old NeXT documents... OS X documents produced by TextEdit seem fairly consistent with what I did). Anyway now the basic support is done, tweaking the grammar won't be difficult if it's needed.

Here is a screenshot showing two documents opened in Ink.app (and obviously no modifications were needed in Ink.app...):







It's committed on the gnustep repository, so you can try it by updating and reinstalling the RTF TextConverter bundle.

I'm thinking I'll perhaps commit my actual HelpViewer version (as it can use rtf files) without waiting for the html parser to be finished... plus "commit early commit often" is a good idea ;-) (which I don't follow enough...)

We could write a simple Text editor dealing with links, etc. as well. Oh well we'll see.. :-)

Wednesday, May 10, 2006

It doesn't hurt...

Things move quickly with etoile, so here's another screenshot... note that the shadows are ok now with xcompmgr and Azalea+EtoileMenu, that the menu items aren't displaced anymore, and that the info panel was updated (yeah, yeah, it doesn't improve the experience, but it's nice to have ^_^). Saso even added a small animation when you click on the etoile logo in the middle... pfff! ;-)

Anyway, time to work on helpviewer.





Sunday, May 07, 2006

Etoile screenshot

Just for fun.. Here is a current screenshot of etoile, showing the EtoileMenuServer, Azalea (the windowmanager), Nesedah (the theme) and HelpViewer... Things start to work together ;-) [note that the shadow should not/will not appear under the helpviewer menu item...]

Wednesday, May 03, 2006

Helpviewer and Help System in GNUstep

I -- finally !! -- started reworking on helpviewer lately -- as the last official version (0.3) doesn't work properly with gnustep (due to changes in GSHTMLParser...). The first goal was to have something working again -- that was fairly easy, by replacing GSHTMLParser by GSXMLParser. Though, it meant that you couldn't use single tags like "br", as you (obviously) need to close them in xml.

I then decided to more or less deprecate the hold "help" xmlish document format and its custom tags, and implement an xhtml parser instead, and while I was here, by using NSXMLParser rather than GSXMLParser.

Exit "intelligent" tags that deal with figures or references, but on the other hand we can reuse html documents -- eg it's probably easier to write documents now than it was with the previous custom xml tags, as you should be able to use standard html editor... or if you want to write your documents by hand, well, html is a slightly more known format anyway !

As we remove "dynamic" behavior, we need to have document completely generated beforehand; eg it will be the document creator application's duty (or the writer) to generate proper references, etc. And yes I somehow plan to write such an editor, but in the meantime you'll be able to easily write/convert your existing html documentation anyway ;-)

Though I'm not entirely fixed -- some of those dynamic behaviour could be coded as specific div tags after all...

Anyway, the importance for the help is to be displayed in the same, standard way. So basically at the moment it's a bit like if helpviewer would provide its own css style to display documentation, that you can't change.

Another feature that need to be added is a proper search function using indexation (LuceneKit, here we are !). Didn't do anything about that yet, but I will probably write a command line tool that take a help document, generate an index and put the index in the document..

So.. apart from ditching the old xml format to use more common html tags name, what changed ? Well, the structure of the help document changed quite a bit too :-)

Before, a help document was basically a bundle (==a folder) containing .xlp files (xml files using the previous syntax) and other resources (images). One file was mandatory, "main.xlp", that was loaded by default; other files were loaded following links written in main.xlp.

Now, it's different :-)

A help document is still a bundle, obviously -- what better way to distribute a help file : you can have various resources in various languages, all in the same place !

But the organisation inside is different. The document can still be segmented in multiple files (now html files), but the structure of the document simply reflect the actual content of the bundle -- eg helpviewer will simply show you the files and directories contained in the bundle. Directories act as a way of having different parts in a document, as they contain other html files. You can (actually it's mandatory for the moment, although I will support /not/ having an index.plist) use an index.plist to choose which file/directory is displayed in helpviewer, and with which name, and in which order. The index.plist file contains a simple ascii plist containing a list of key values, where keys are the filenames and values are the displayed names.

Of course, you can still use links in the html documents too, but the actual structure of the document doesn't depend on that.

One nice thing with it is that you are not at all tied to html documents -- in fact, the first thing I implemented was an "txt" document and later on a "rtf" document (a shame rtfd doesn't work). And anyway I find this new structure much cleaner and simpler...

So... what's the plan now ? Well, I ported nearly all the previously existing functionalities to the new parser (links, etc), so once it's done and usable, I will commit a 0.4 version on the étoilé repository; then it will be nice to add proper support for search/indexing using LuceneKit. After that... well, what would be good to do, is to modify gnustep to have NSHelpManager directly use something like helpviewer -- eg, instead of using helpviewer as a separate application, you'll find the same functionalities of helpviewer, directly in a NSHelpPanel, so that help acts as "private" to an application, like it did on openstep. Probably the good approach would be to modify gnustep to easily support bundles to implement this kind of additional behavior (actually, very similar to GSAppKitUserBundles, but.. I don't know, something perhaps slightly more formalized..), and code such a bundle :-)

After all that, I'd like to rework on my "semantic" editor, and extend it to a nice document (and help) writer. We'll see...

Tuesday, March 14, 2006

Camaelon Themes

I am quite impressed that even without any specific documentation explaining how to do a theme, people are willing to create them:

two new themes for Camaelon recently appeared... Check here for a list.

Very cool.

Friday, November 25, 2005

Shiny screenshot

Well, I spent the evening fixing the ubuntu I broke.. (bad r300 driver, bad..) but then I used the occasion to pass my hoary into a dapper, and in the end (X freezed with it..) to a breezy. And finally everything works fine, _again_ ... pfiew.. (and the synaptic driver decided to work too, yeah). Well, dapper is by definition unstable, so that's my fault. Anyway, I used the occasion to try the composition features of X, and as we apprently lack good screenshots in the GNUstep world, here a shiny one:



Surprisingly with my non-accelerated ati radeon the shadows don't slow particularly the display, so I'm keeping them -- incredible how they add a proper "finished" feeling...

Now I'm just waiting for the next X release (cvs compilation of xorg froze the powerbook) to have this damn ati radeon *accelerated*, because Alex Malmberg GNUstep OpenGL backend is neat (woosh windows disappear in spinning), but.. er... unusable without a 3D acceleration, of course :-/

Thursday, November 10, 2005

Structured Edition



I have been playing since a week or so with the Text System on Cocoa/GNUstep... it's not immediately easy to understand, but it's really nice and powerful :-)
It handles automatically lots of things, you can redefine many things too (create specific layout manager to change the way the text is displayed, eg, to "flow" around an image, etc.)..

For instance, you're supposed to work with NSTextStorage, which contains the content you're editing, and which is supposedly an attributed string (a string plus related attributes -- fonts, links, attachments, etc), and you edit it via a NSTextView. But what if you want MORE than edit an attributed string ? like, say, edit some structured content ?

Well in fact,the answer is to create a subclass of NSTextStorage that will answer the base methods (just four) of NSTextStorage -- it's in fact a class cluster. So the idea is simply to have on one side your structured document (in my case, a simple array of "Section" objects, containing (optionally) a title and a content), and to have a NSTextStorage that will actually serve as a gateway between the text system (which expect a simple NSAttributedString) and your own structured model... Pretty cool :-) and that way you benefit of all the niceties of the text system..

The above screenshot is my current editor (which btw I wrote under Cocoa, and recompiled this evening on GNUstep), the button is there to define a selected text as a title.

Thursday, October 20, 2005

Nokia 770

I received today my new shiny toy, the Nokia 770:



I put online some pictures of it..

First impressions:


  • it's light ! yet it doesn't feel "crap" :-)

  • the form factor is surprisingly nice (even if coming from a newton I wouldn't mind a (physically) bigger screen)

  • applications are a bit slow to start. Hopefully things will improve -- even if as it is it's ok, I wouldn't mind instantaneous starts ;-)

  • redrawing is a bit slow too :-/ is it because of X or gnome.. ?

  • the screen is absolutely gorgeous !! really beautiful and luminous :-) (the pictures I took don't completely do it justice)

  • playing movie is ok (there's a trailer for ice age 2 on the machine), but could be improved..

  • lack of pppoe configuration for wifi VPN (or if there is, it's not obvious, but well, I just got it, so I perhaps overlooked something)

  • installing a package is easy :-)

  • The UI is quite good, as a PDA UI -- definitely better than PocketPC (well, duh..), obviously less good than the newton, but hey, it's not too bad..



So well, overall, I'm quite pleased -- the device is indeed very, very cool. Things can be improved, but it's already quite nice. The UI is ok, even if what I would like to do is (obviously ?) install GNUstep on it, and then modify GNUstep to blend on the Maemo platform (with a possible replacing of maemo in an improbable future). Anyway, as it is running linux, it seems an ideal platform for me -- both for experimenting with etoile/gnustep on a PDA (see a previous post about that, and see what I posted about the newton for what I think is good on a PDA...) and as a good client for the system I'm working on at uni...

I'm not sure if there's a market for a "web tablet" device, but I don't think that the Nokia 770 will only be a "web tablet" anyway :-) -- there's already ports of doom, abiword, the GPE pim stuff, etc.

Nokia has a winner in the linux community I think :-) -- which means that you can expect lots of software for the Nokia, and it already started... It also look like an excellent device for ebooks, administrators (as an X/VNC/ssh terminal), etc.

Tuesday, October 11, 2005

Yeah

Just finished (completely, as in "theoretically nothing to add") the paper I was working on for wscg.. (they don't even have a LaTeX template, only a Word one (!!), and it is rather ugly imho..)

Hopefully I'll have some more free time now to work on camaelon and étoilé ;-)

Talking about étoilé, Quentin created a blog ! Étoilé dev will use it to rant about the project :-) -- hopefully it will become an interesting news place..

Friday, September 02, 2005

PDA, Dynabook and Etoile

I started to think how Etoile could possibly works on -- and take advantage of -- a PDA or Tablet platform...

With the help of Jesse Ross I wrote this page
on the Etoile's wiki; another related page I wrote is one about the Dynabook

Thoughts ?

Wednesday, August 03, 2005

update...

Well, quite a lot of things to do this week... in the end I didn't have time to work on camaelon last weekend (well, I worked on the glyph bug) but camaelon 2 release is still planned soon, along with other étoilé's components (hopefully this weekend ? finally ?) .. I need to fix the display glyph bugs in -gui first..

Else, I'm preparing the GNUstep talk I'm giving at the UKUUG 2005 Linux Technical Conference this saturday at the university of swansea, I'll try to make a cool demo of gorm, showing the power of building apps with components .. ;-)

On other topics.. my bag was stolen this afternoon *on my desk*, in the lab, when I went to lunch for half an hour... quite a few things inside, like, my passport, my keys, my newton... that really, really sucks. damn. This in a building supposedly with secured access..

Friday, July 29, 2005

Camaelon's release

Ok, finally arrived home... quite a lot of things to do next week at the lab, so I'll try if I can to release a public version of Camaelon tomorrow (even if you can already grab it from the étoilé's cvs in Bundles/Camaelon, of course !)

Friday, July 15, 2005

Camaelon 2 ?

I committed a few things on the cvs today and yesterday... here's a screenshot of the current results with the theme Nesedah:



Just grab Camaelon from etoile's cvs, get Nesedah.theme 0.3 and follow the readme :-)

What's missing before an official Camaelon 2.0 release ? well... there's always something missing... for example I'd like to refactorise GSDrawFunctions to use instance methods instead of class methods, so you could change themes on the fly very easily. But I think that can wait for a 2.1 :-)

Appart from that, well, there's a couple of problems apparently with NSMatrix, some wrong text color with cells in general (actually this one is a gnustep bug), and you shouldn't use gnustep to manage the windows with camaelon enabled for now. The menu aren't themed properly (the menu items are, but the menu itself isn't really themed), etc. Nothing very complex overall, so hopefully I'll fix that in the next few days before leaving to France.

Friday, June 24, 2005

Camaelon..

Just to show a screenshot of the StepTalk palette + StepTalkClass inspector + the calculator with Camaelon enabled :-)
(ok, there's one additional thing though -- the popup to select the return type of the method...)



Shiny, no ?