delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2003/05/21/10:19:20

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
X-Authentication-Warning: slinky.cs.nyu.edu: pechtcha owned process doing -bs
Date: Wed, 21 May 2003 10:18:00 -0400 (EDT)
From: Igor Pechtchanski <pechtcha AT cs DOT nyu DOT edu>
Reply-To: cygwin AT cygwin DOT com
To: cygwin AT cygwin DOT com
Subject: Re: Setting default printer in startup scripts
In-Reply-To: <20030521091107.GF30676@cygbert.vinschen.de>
Message-ID: <Pine.GSO.4.44.0305211006120.26639-100000@slinky.cs.nyu.edu>
Importance: Normal
MIME-Version: 1.0

On Wed, 21 May 2003, Corinna Vinschen wrote:

> On Wed, May 21, 2003 at 10:00:01AM +0100, David Kilroy wrote:
> > # Define default printer
> > if [ $OS = Windows_NT ]; then
> >   PRINTER=`regtool get '\user\Software\Microsoft\Windows
> > NT\CurrentVersion\Windows\Device'|sed 's?\([^,]*\),.*?\1?g'`
> > else
> >   PRINTER=`regtool get
> > '\config\System\CurrentControlSet\Control\Print\Printers\Default'`
> > fi
> >
> > Note: I haven't tested the above much. It works on my NT box with a network
> > printer, and I've verified an ME box has the appropriate registry entry.
>
> The backslashes are somewhat dangerous since they get evaluated as
> special characters.  Why not use forward slashes instead?  regtool
> supports them as registry key separator.
>
> Corinna

Corinna,

The backslashes are dangerous unless quoted.  They seem to be properly
quoted in the above.  So, either way is fine.  The *result* of regtool,
however, may contain all kinds of characters (including spaces), and it's
*not* quoted.  I'm also a bit wary of using OS-specific variables, such
as, well, "$OS".  So, how about the following:

# Define default printer
OUR_OS="`uname -s`"
case "$OUR_OS" in
  CYGWIN_NT-*)
      PRINTER="`regtool get '\user\Software\Microsoft\Windows NT\CurrentVersion\Windows\Device'|sed 's/,.*$//'`"
      ;;
  CYGWIN_9?-*)
      PRINTER="`regtool get '\config\System\CurrentControlSet\Control\Print\Printers\Default'`"
      ;;
esac

I can also confirm that the first key exists (and works) on Win2k, and the
second key exists (and works) on Win98.

FWIW, I'd like to see this in the base-files package.  John?
	Igor
-- 
				http://cs.nyu.edu/~pechtcha/
      |\      _,,,---,,_		pechtcha AT cs DOT nyu DOT edu
ZZZzz /,`.-'`'    -.  ;-;;,_		igor AT watson DOT ibm DOT com
     |,4-  ) )-,_. ,\ (  `'-'		Igor Pechtchanski
    '---''(_/--'  `-'\_) fL	a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!

"I have since come to realize that being between your mentor and his route
to the bathroom is a major career booster."  -- Patrick Naughton


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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019