Hi Jeremy, Keep in mind that all of this is with Xvnc not X11.app as the server through this reply. mzs On Fri, 17 Oct 2008, Jeremy Huddleston - jeremyhu@apple.com wrote:
If the AppleWM extension is not present, then we don't have a way of knowing when we gain focus or when you do a copy. This might be possible once we change the implementation to work with things like:
By gain focus you mean X11.app gains focus, right? By do a copy you mean some one does Edit -> Copy or the keyboard shortcut, right?
as well as knowing when we leave or enter X11.app, so we can proxy to/from Pasteboard.
I see no problem with pbproxy making the X11 selection match the contents of the Pasteboard whenever the PB changes regardless of if it is the frontmost app or not. If it is not possible for a background app in OSX to watch the PB then the alternative would be for it to do the PB -> X11sel upon getting a SIGUSR2. Then I would have two commands in my .twmrc (just like I do now) one from PB -> X (USR2) and the other X -> PB (USR1). That might even be a neat feature for X11.app (implemented through apllewm instead of signals though), the worthless Edit -> Paste could be enabled to do the PB -> X only when a user wanted it (that might warrant a different menu item text though). I personally like how I need to do the Edit -> Copy to be able to paste something from an X11 program into an OSX one. I sometimes annoys me that after I do an Edit -> Copy in some OSX app I paste an unexpected gigantic blob of text into my xterm window sitting at the bash prompt ;)
You should be able to SIGHUP it to reload prefs (that's how quartz-wm was, and I think that code survived to pbproxy, but I'm not 100% certain of that... if not, I'll put that in later).
Cool, just like a daemon. It would be nice to have an arg to pbproxy to specify an alternative config file, with an item in there to specify a new name it could exec itself into so killall would only effect one in case some one was running say 2 Xvnc sessions and one instance of X11.app all with their own pbproxy. mzs