From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 105760 invoked by alias); 22 Aug 2019 16:21:48 -0000 Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Mail-Followup-To: cygwin@cygwin.com Received: (qmail 105683 invoked by uid 89); 22 Aug 2019 16:21:47 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 spammy= X-HELO: smtp-out-no.shaw.ca Received: from smtp-out-no.shaw.ca (HELO smtp-out-no.shaw.ca) (64.59.134.13) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 22 Aug 2019 16:21:45 +0000 Received: from [192.168.1.114] ([24.64.172.44]) by shaw.ca with ESMTP id 0pqKiGSsOsAGk0pqLiXCaz; Thu, 22 Aug 2019 10:21:45 -0600 From: Brian Inglis Subject: Re: looking for xcb and/or wxcopy? Reply-To: Brian.Inglis@SystematicSw.ab.ca To: cygwin@cygwin.com References: <5D5D9DF2.1050400@tlinx.org> <5D5E431A.2070902@tlinx.org> Openpgp: preference=signencrypt Message-ID: <46d4ac68-87cc-ff85-5098-188910c4fa90@SystematicSw.ab.ca> Date: Thu, 22 Aug 2019 18:03:00 -0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 MIME-Version: 1.0 In-Reply-To: <5D5E431A.2070902@tlinx.org> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-IsSubscribed: yes X-SW-Source: 2019-08/txt/msg00311.txt.bz2 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];\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. -- 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