On Sun, Mar 22, 2009 at 10:09 AM, Antoine Martin <[email protected]> wrote:
> Hi,
>
> I've successfully used xpra 0.0.5 (and now 0.0.6 on which these patches
> are based) on that other OS using the new TCP mode.
> (it may be possible to use ssh mode with plink - I haven't tried that)
> You will obviously need to install python, pygtk, etc...

Dude, awesome.

I'd be curious whether plink works -- subprocess interaction is a real
pain on windows, but maybe the gtk folks made it work already...

> First patch moves some common stuff out of lowlevel (should be pretty
> uncontroversial)

Fair enough; lowlevel has been begging to get split up for ages
anyway. I want to think a little about the best way to do it.

Some of it wasn't necessary here, though -- it turns out that the
client wasn't actually using that lowlevel event listener stuff, that
was just dead leftover code, so I went ahead and killed that.

> The second one is just annoying: "Due to limitations in the winsock
> API..." , see:
> http://faq.pygtk.org/index.py?req=all#20.20
> so this patch re-creates a new listener (for both read and write) when
> there are pending writes and re-creates the read-only listener when
> not... it's not pretty, but it works and it only does anything when
> running on Windows, on Linux the behaviour should be completely unchanged.

I just committed a change that unconditionally uses only one IO
watcher, and therefore should be win32 compatible (and also adds a
watch for IO_HUP as noted in that faq entry)... but I haven't tested
it on win32 :-). Does it work?

(In general, I want to avoid having different code paths for different
platforms when possible; it's just more chances for bugs to creep in,
and makes testing harder.)

> Next, we can't import some of the keyboard related stuff from lowlevel
> into wimpiggy/keys.py so we load it (and use it) only on non "win*"
> platforms. We probably need to do something to replace its
> functionality, but since I don't really understand this part... maybe
> later. Or maybe when this whole area gets revamped?

Do modifier keys work for you over xpra+win32 with this patch? (I mean
things like alt+<something>, control+<something>)

> We currently ignore sendClientMessage from lowlevel on windows.

Why is this necessary? I don't see the client calling sendClientMessage...

> We remove an unused import from client.py and disable the new clipboard
> (bummer!) as it uses some lowlevel X calls... (will try a better
> approach for that later)

I killed the unused import as well.

> Finally, we obviously can't compile the pyrex/X stuff, so we need to
> take this out when building on windows (building on windows will need
> some more work so just build it on Linux and copy over for now)

You probably can if you install win32 X libraries, but that's perhaps
a bit much to ask of people.

----

Anyway, so I've committed the easy parts. I (we) need to think a bit
more about how to fit the rest in right -- because sprinkling 'if
sys.platform.startswith("win")' everywhere is great for
experimentation, but just not maintainable in the long run :-). It'd
also be good to know how plink works out -- I'm somewhat reluctant to
release an official win32 port with only insecure tcp support. ("With
great user laziness comes great developer responsibility.")

Thanks again,
-- Nathaniel

_______________________________________________
Parti-discuss mailing list
[email protected]
http://lists.partiwm.org/cgi-bin/mailman/listinfo/parti-discuss

Reply via email to