little arrows

2 Jan 2004

I’ve set up my desktop at the moment so I have three machines on my desk - a FreeBSD box, a Mac OS X box, and a Windows XP box - all of which are controlled using a single keyboard and mouse from the mac, using osx2x. osx2x makes it feel like I have a single continuous desktop spanning all three machines.

A picture of a desk with 3 CRT monitors on it (well, 2 on the desk, and a third on stack of binders on a chair).

Nothing new here you might say, but I’ve discovered a small problem with this - I keep losing the mouse pointer! If I come back to my machine I have to work out on which monitor the cursor is on, and wiggling it only helps if I’m looking at the right area of the right monitor (that’s right as in correct ;).

So, I’ve modified osx2x today to place an arrow on the screen of the Mac indicating off which side the cursor is if it’s not on the Mac. You can see a screen shot of the effect on the link below. This works quite nicely. My aim now is to use this to do my input gathering trick. Until now the osx2x main window has had to be visible to collect mouse and key events, but how I have this arrow window visible, I can use that. It’s quite a nice effect - though I dare say a lot of people will hate it :)

Update: Cool - got that working, after a lot of time chasing down weirdness with various Cocoa bits. I kinda assumed I had a bug, but it was actually a (IMHO) daft default on NSWindow that caused me to spend an hour chasing my tail :) Anyway, this means that you can close the main window in osx2x whilst using it, and when controlling another machine it doesn’t show up, only the translucent arrow. Which is nice.

I guess I should do a 2.1 release, but I need to fix a bug that’s vexing me. Apple upgraded libssl and libcrypto between panther and jaguar, and thus a binary compiled on panther wont run on jaguar. The gcc linker will always link with the latest version rather than the generic version, so I can’t think of a nice solution off the top of my head. Suggestions welcome.

Link: http://www.dcs.gla.ac.uk/~michael/arrow.jpeg