Hi On Mon, Apr 23, 2012 at 02:24:54PM -0400, Benjamin Poirier wrote: > On 2012/04/22 06:24, Nicholas Marriott wrote: > > Applied, thanks! > > > > You're welcome. BTW, I came to fix this bug because I was looking for a > way to keep the tmux buffer 0 synchronized with the X clipboard with a > binding like this > > bind [ copy-mode \; run "tmux show-buffer | xclip -i -selection clipboard" > > This does not work because copy-mode "returns" immediately. I thought of > these other approaches but I'd like to get your opinion on the matter:
You can use xterm and turn on the set-clipboard option. > 1) add command sequences and a 'run-shell' to copy mode and then rebind > what leads to 'copy-selection' Well, either command sequences and a run-shell, or just a "copy, pipe and exit" command in copy-mode. > 2) add a "synchronous" copy-mode option. I want synchronous if-shell/run-shell so if you can do that, sure ;-). > 3) add explicit x clipboard handling to tmux like for example vim has. I'm unlikely to add a dependency on X11, so the other options are probably better. > > I'm already aware of approaches like this > https://wiki.archlinux.org/index.php/Tmux#ICCCM_Selection_Integration > > Thanks, > -Benjamin > > > > > On Fri, Apr 20, 2012 at 10:37:03AM -0400, Benjamin Poirier wrote: > > > Changes cmd_print to return an offset that does not include the trailing > > > '\0' when the command has no arguments. > > > > > > --- > > > > > > One effect of this is that it allows bind-key to work with command > > > sequences that contain commands with no arguments. For example, the > > > following bind for R does not work without this patch: > > > bind R send-prefix \; display-message "done 1" > > > bind S send-prefix -2 \; display-message "done 2" > > > > > > Index: cmd.c > > > =================================================================== > > > --- cmd.c (revision 2775) > > > +++ cmd.c (working copy) > > > @@ -303,11 +303,10 @@ cmd_print(struct cmd *cmd, char *buf, size_t len) > > > if (off < len) { > > > used = args_print(cmd->args, buf + off, len - off); > > > if (used == 0) > > > - buf[off - 1] = '\0'; > > > - else { > > > + off--; > > > + else > > > off += used; > > > - buf[off] = '\0'; > > > - } > > > + buf[off] = '\0'; > > > } > > > return (off); > > > } ------------------------------------------------------------------------------ For Developers, A Lot Can Happen In A Second. Boundary is the first to Know...and Tell You. Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! http://p.sf.net/sfu/Boundary-d2dvs2 _______________________________________________ tmux-users mailing list tmux-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/tmux-users