public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: Brian Inglis <Brian.Inglis@Shaw.ca>
To: cygwin@cygwin.com
Subject: Re: looking for xcb and/or wxcopy?
Date: Thu, 22 Aug 2019 16:21:00 -0000	[thread overview]
Message-ID: <471a3016-13a2-cc28-4265-8e2061883f63@Shaw.ca> (raw)
In-Reply-To: <5D5E431A.2070902@tlinx.org>

On 2019-08-22 01:24, L A Walsh wrote:
> On 2019/08/21 15:21, Hans-Bernhard Bröker wrote:
>> So have you run cygcheck on the packages that are supposed to contain
>> them?  "cygcheck -p wxcopy" tells me that the former are part of the
>> WindowMaker package.
>>   
> Yes...but i started with xcb.  When I saw it missing, I didn't bother
> to test the next one
> 
> Not sure where it would have come from  weird.
> Thanks for the clarification!

It doesn't help that now libxcb1 is the "X Protocol C-Language Bindings (core
runtime)".

There is /dev/clipboard and packages xclip, xclipboard, xwinclip.

There are escape sequences you can generate to get/set X term cut buffers; see:

https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h2-Operating-System-Commands

and scroll down to 5 2:

...
Operating System Commands

OSC Ps ; Pt BEL {\E]Ps;Pt\a}

OSC Ps ; Pt ST  {\E]Ps;Pt\E\\ - string terminator used with string data args}
...
            Ps = 5 2  -> Manipulate Selection Data.  These controls may
          be disabled using the allowWindowOps resource.  The parameter
          Pt is parsed as
               Pc ; Pd

{\E]52;Pc;Pd\a}
{\E]52;Pc;Pd\E\\}

          The first, Pc, may contain zero or more characters from the
          set c , p , q , s , 0 , 1 , 2 , 3 , 4 , 5 , 6 , and 7 .  It is
          used to construct a list of selection parameters for clip-
          board, primary, secondary, select, or cut buffers 0 through 7
          respectively, in the order given.  If the parameter is empty,
          xterm uses s 0 , to specify the configurable primary/clipboard
          selection and cut buffer 0.

          The second parameter, Pd, gives the selection data.  Normally
          this is a string encoded in base64 (RFC-4648).  The data
          becomes the new selection, which is then available for pasting
          by other applications.

          If the second parameter is a ? , xterm replies to the host
          with the selection data encoded using the same protocol.  It
          uses the first selection found by asking successively for each
          item from the list of selection parameters.

          If the second parameter is neither a base64 string nor ? ,
          then the selection is cleared.
...

Use the first command format to get the buffer contents, response is the same as
the second command format, which returns the buffer contents in base 64 encoded
format:
	\E]52;[cpqs0-7];?\a
	\E]52;[cpqs0-7];<b64...>\E\\

For security, mintty requires config entry AllowSetSelection=true to enable
this; others may also have added guards.

I have found it useful to wrap these kinds of commands in bash shell functions,
and use bash "read -p prompt [-d delim] [-[nN] nchars] [-t timeout] response"
when there are responses, to send the escape sequence as a prompt, using what
they call ANSI escape quoting $'\...' for the prompt string, and read the
response, decoding it with shell substitutions: ${response#...} ${response%...},
displaying it with cat -A <<< "$response".
If no unique terminator ends the response so you can use the -d delim, you can
use -N n with a large enough size for any likely response (maybe 4K or higher
for buffers) and -t 1 to return the response after a second.
YMMV

-- 
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada

This email may be disturbing to some readers as it contains
too much technical detail. Reader discretion is advised.

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

  reply	other threads:[~2019-08-22 16:21 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-21 19:50 looking for xcp " L A Walsh
2019-08-22  6:29 ` Hans-Bernhard Bröker
2019-08-22 10:42   ` L A Walsh
2019-08-22 16:21     ` Brian Inglis [this message]
2019-08-22 18:03     ` looking for xcb " Brian Inglis

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=471a3016-13a2-cc28-4265-8e2061883f63@Shaw.ca \
    --to=brian.inglis@shaw.ca \
    --cc=cygwin@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).