Blog
Linux Ports
Date: 2/12/2008
The Linux ports of my apps have recently become very unstable on current distros. I suspect that the rules for using xlib have changed or something. But xlib was never really thread safe anyway so I've decided to stop avoiding the inevitable rewrite to XCB and just get on with it. My apps aren't about to stop being threaded.

So yes, the XCB re-write is happening right now. I expect that it will take a few months before anything really comes of it, but rest assured that something good is happening in Memecode's Linux world.

In a year or 3 there will most likely be a similar post about the eventual rewrite of the Mac ports to cocoa and Objective C++. (I'm not really looking forward to that either, I hate big re-writes).
Comments:
fret
03/12/2008 9:40am
Woohoo... got my first empty window up and running.
fret
09/12/2008 3:18am
Currently working in getting Pango fonts to draw something. Doesn't look like it's easy to use Xft from within XCB. The "done" thing is to use Pango and Cairo.

Anyway I've got a font loading and I'm working on measuring the size of text... then I get to work out how to draw it on the screen.
fret
11/12/2008 12:55am
So I have some basic text drawing working. However I had to re-install cairo with "--enable-xcb". Which most likely will mean that I have to embed cairo into Lgi with xcb built in, because the system provide cairo won't have xcb support by default.

*sigh*

Xcb by itself seems a lot less mainstream than I thought it was.
fret
11/12/2008 11:48pm
Success: I got a button working enough to be clicked on. That meant implementing child windows, fixing some GDisplayString painting issues, implementing mouse in/out events. Also windows now get OnPosChange events. Some basic keyboard and mouse events are working.
fret
16/12/2008 3:02am
Progress: I'm working on getting the IDE to show it's main window correctly and that now works. Which means a ton of window painting stuff was fixed. Surface origins and clipping, virtual sub-view painting, image display, memory bitmaps etc.

There is little to no interaction yet, can't click on much etc. But that won't be too much more work. I think it's coming along really nicely. And the good thing about this work is that it doesn't have this kuldgy object hiding stuff left over from when I was using Qt. Yes, I still had x???? objects lying around that we're re implementations of Qt objects. But thats all gone now, and the implementation is built straight into the native Lgi G???? objects. On top of that it's using a nice threadsafe backend and modern API's that should mean it'll be well positioned to run fast and well on current distros. And a lot of the weird bugs in the xlib version are just gone. Like window's not showing up in the right place sometimes.
Ken
16/12/2008 8:45pm
Bravo! -- Can't wait for a functional new version of InScribe (assuming that's one of the future outcomes) for linux! Wine does well at bridging the Win32 gap but I'd MUCH rather have the Linux supported version.
Keep up the good work!

Cplus
23/12/2008 2:32pm
Matthew,

Running iScribe on my newly setup Core 2 Laptop, all DDR3 with SSD hard drive under Vista Home Premium.

The only nagging problem is how to make it the default email, which was easy under XP.

Does anyone know how to do this?
Cplus
23/12/2008 7:02pm
The more I look at this problem, the less feasible a solution appears.

Vista has over 1000 registry keys pointing to email, mostly focused on Windows Mail, and until some 3rd party develops an app permitting free choice of email client, setting iscribe or most other email clients as the default does not seem possible.

Apparently some players have provided this for their clients such as gmail and yahoo.
fret
23/12/2008 11:19pm
Cplus: After reading up on how to do it, I've re-written the registry stuff so that Scribe can be set as the default client on Vista. So the next build of v2 should work for you. (At least in that regard).
Cplus
24/12/2008 12:40am
Thank you, fret.

It will take more than MS harassment to make me give up my iscribe, but it will certainly be better for me as the default client.

When there are drivers available for my setup, I would like to add Belenix or Nexenta and get a little more distance from the volish clutches.
fret
24/12/2008 4:38am
Cplus: The fixed build is online as v2.00 beta8. Let me know how it goes.

Linux: Did a whole heap today:
- Fixed clicking on most windows
- Fixed menus so they appear in the right position
- Fixed sending events to windows
- Fixed mouse positioning while capturing the mouse
- Fixed translating mouse co-ords from screen<->view space
- Fixed the LgiCloseApp() method to quit the message loop cleanly

Hmmm smell that progress.
Cplus
24/12/2008 4:46pm

It works flawlessly.

It wasn't even necessary to reboot.

Thank you very much.

Clark
 
Reply
From:
Email (optional): (Will be HTML encoded to evade harvesting)
Message:
 
Remember username and/or email in a cookie.
Notify me of new posts in this thread via email.
BBcode:
[q]text[/q]
[url=link]description[/url]
[img]url_to_image[/img]
[pre]some_code[/pre]
[b]bold_text[/b]