This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

retry: Problem transfering X11 cut/copy buffer to windows and back

-------- Original Message --------
Subject: 	Problem transfering X11 cut/copy buffer to windows and back
Date: 	Sun, 25 Aug 2019 11:51:18 -0700

Starting a few days ago, after an update to cygwin,
I'm finding it impossible to transfer
my xselection from cygwin X to any Win application or vice versa.

I've tried multpile Windows apps (Windows 7 SP1 x64)
and multiple X apps and no go.

I first noticed it in gvim -- which I run on my linux box
and display via 'X' locally.

The only thing I noticed w/X,u has been a checkmarked value about
Clipboard may use primary selection (which is checked, though I tried both

My cygwin start script is the same as it has been since
Mar23, 2018 and is below.

Having to write things out ot files is royal pain, so any ideas
would be very appreciated.

Thanks much!


Had my cygcheck.out attached, but if this gets through
perhaps such isn't allowed?
# (c) LA Walsh 2004-2014, licenced under GPLv2
#export DISPLAY=:0
#export XAPPLRESDIR=/usr/X11R6/lib/X11/app-defaults
#export XCMSDB=/usr/X11R6/lib/X11/Xcms.txt
#export XKEYSYMDB=/usr/X11R6/lib/X11/XKeysymDB
#export XNLSPATH=/usr/X11R6/lib/X11/locale

# see cygwin Xwin for more option examples
# relevant ops:
# -multiwindow = use windows manage; not w/(-rootless|-fullscreen)
# -clipboard = use built-in version (integrated w/windows)
# -unixkill = Enable Ctrl-Alt-BS as X-server shutdown cmnd
# -nowinkill = Disable Alt+F4 as a server shutdown key combination.
# -trayicon = (default) windows tray icon enabled
#set -x
export LIBGL_USE_WGL=1
mount -c /
export PATH=/bin:$(/bin/cygpath "$USERPROFILE")/bin:$PATH #ensure our
bin is 1st
shopt -s expand_aliases extglob
alias my=declare int=my\ -i  sub=function array=my\ -a
alias xset=$(type -P xset);
alias notify=$(type -P notifu)

my DPI_Px='FontDPI/LogPixels' proc_reg='/proc/registry'
my pixels_key="$HKLM/$MsWinNT/CurrentVersion/$DPI_Px"
my pixels_path="$proc_reg/$pixels_key"

export DISPLAY="${DISPLAY:-":0"}"

sub xup {
  local stat
  read -t .1 stat <<<$(xset q >&/dev/null; echo $?)   &&
        return $stat

Xwin_pids() {
  ( cd /proc  && for exe in [0-9]*/exename; do
      read ln<"$exe"
      ((${#ln})) && [[ $ln =~ Xwin ]] && printf "%d %s\n" "${i%/*}" "$ln"

Xwin_running() {
  my nam; int pid
  read pid nam< <(Xwin_pids)
  return $((!pid))

kill_Xwin() {
  array sigs=(TERM TERM KILL) # try 2 TERMs then KILL upto maxsigs
  int pd; my pg
  int maxsigs=3 lastsig=${#sigs[*]}
  while ((maxsigs)) && read pd pg; do
    ((pd)) && kill -${sigs[--maxsigs>lastsig ? lastsig : maxsigs]} $pd
    sleep 1
  done < <(Xwin_pids)

tidy_old_Xwin() {
  rm -fr /tmp/.X11-unix

function ord() { printf "%d" "'$1" ; }

sub get_dpi {
  my dw=""; read -d '' dw< <(<"$pixels_path" cat)
  int dpi=$(ord "$dw")
  # check for insane values
  ((dpi<50||dpi>>400)) && dpi=107
  printf ${1:+-v $1} "%d\n" $dpi

sub get_fontpath {
  printf "%s"

sub start_XWin {
  my fontpath=$(get_fontpath)
  int dpi=$(get_dpi)
  cmd="/bin/run /bin/XWin  ${dpi:+-dpi $dpi}   -listen tcp +iglx -wgl
-compositealpha -compositewm -lesspointer -clipboard  -ac -unixkill
-nowinkill -multiwindow -wm -ardelay 150 -arinterval 30 +bs
-nomultimonitors -noreset -fp \"$fontpath\" "
  echo cmd="$cmd"

sub start_syslogd {
  cygrunsrv -n -O -S syslogd

sub start_cygserver {
  cygrunsrv -n -O -S -d messagebus cygserver

sub start_msgbus {
  cygrunsrv -n -O -S -d syslogd messagebus

sub start_sess_dbus {
  /bin/run /bin/dbus-launch --exit_with_session ~/.Xsession

sub _in {
  local x=${1:?};shift
  for ((;$#>0;)); do [[ $x == $1 ]] && return 0;shift; done
  return 1

int tries=3

if Xwin_running && xup; then
  notify /t info /m "Xserver already running and ready" /d 5000
  #echo "No Xserver detected"

  while ((1)); do
    sleep 1
    for ((i=0;i<5;++i)); do
      xup && break 2
      sleep 1

    if ((--tries<=0)); then
      m="^GEXITING: Timeout Waiting for Xserver Startup!!"
      echo "$m"
      notify /t error /m "$m"
      exit 1;
  #start_dbus || { m="^GError Starting Dbus"; echo "$m"; notify /t error
/m "$m"; }

# vim: ts=2:sw=2

Problem reports:
Unsubscribe info:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]