From zenlines at gmail.com  Wed Sep 14 22:15:30 2011
From: zenlines at gmail.com (Brian Oney)
Date: Wed, 14 Sep 2011 22:15:30 +0200
Subject: [Rd] Revision of shell.exec?
In-Reply-To: <CAFDcVCRiTPc1f9q+KnsEAoD3SUtb1Za_4waCw1O0r_PbWQFQ+Q@mail.gmail.com>
References: <4E708194.8060406@gmail.com>
	<4E709447.10305@statistik.tu-dortmund.de>
	<CALh21i+JyvKJf=UGi2ENTXtB5rbbG-DZuwCYtGb97afG7Nguxg@mail.gmail.com>
	<4E70C350.6020506@gmail.com>
	<74357D3F-67CC-4D09-BBE9-C3988293317F@r-project.org>
	<CAFDcVCRiTPc1f9q+KnsEAoD3SUtb1Za_4waCw1O0r_PbWQFQ+Q@mail.gmail.com>
Message-ID: <4E710B62.10703@gmail.com>

Hi there,
new idea (at 10 at night). All the emails keep me thinking (btw thanks 
for all the feedback).
What does this do on linux?

getOption("pdfviewer")
### I got this idea from: getS3method("print","vignette")

On windows, (an advantage...) somebody wrote a little program "open.exe" 
that comes stock with an R-installation, which somehow accesses the file 
system to find the default program to for a certain file type. I am 
guessing this little beauty is the engine of "shell.exec".

(An honest) cheers,
Brian

On 9/14/2011 7:49 PM, Simon Urbanek wrote:
> On Sep 14, 2011, at 1:10 PM, Henrik Bengtsson wrote:
>
>> On Wed, Sep 14, 2011 at 8:35 AM, Simon Urbanek
>> <simon.urbanek at r-project.org>  wrote:
>>> On Sep 14, 2011, at 11:08 AM, Brian Oney wrote:
>>>
>>>> Hi Steve,
>>>>
>>>> a quick look at "browseURL" will tell you that indeed "system" or "shell.exec" (on a windows platform) is used to open up a URL.
>>>> The "open " part of the proposed function was written to work on a Mac. Because Mac is a unix platform, I assumed that the function "open" would be omnipresent on unix platforms, my mistake.
>>> Well, the problem is that "open" is unfortunately mapped to openvt on Linux systems which is a quite obscure anachronism. But since Linux is Linux there is no standard way to open a file, so it doesn't really matter ;) -- xdg-utils come closest to what one may call standard but on many systems they are not installed by default (in fact on none of the Linux machines I have around). For URLs R does the hard work to try to figure out what to do with them (it also does the same for PDFs), but you may end up opening things in a browser although that's not what you had in mind.
>>>
>>>
>>>> Well I guess, we know how to make to work on a mac.
>>>>
>>> Yes, "open" works very well on Macs and is extremely useful (I use it all the time - among other things you can use it with directories to browse them...) - it is still beyond me why other unices don't bother ...
>> Apple probably patented it.
>>
> I'm pretty sure it's at least as old as NeXT so that's way before the abuse of software patents ;) - but who knows ...
>
> Cheers,
> S
>
>
>
>> /Henrik
>>
>>> Cheers,
>>> Simon
>>>
>>>
>>>
>>>> I will make the transition to Linux and get back to this in a while, ok?
>>>>
>>>> Cheers,
>>>> Brian
>>>>
>>>>
>>>> On 9/14/2011 2:50 PM, Stephen Weston wrote:
>>>>> 2011/9/14 Uwe Ligges<ligges at statistik.tu-dortmund.de>:
>>>>>> On 14.09.2011 12:27, Brian Oney wrote:
>>>>>>> Hi List,
>>>>>>> I hope this is correct list to propose function extensions, sorry if not.
>>>>>>> I am preparing for a (hopefully painless) migration to linux. As far as
>>>>>>> I am aware of, the function "shell.exec" only comes with the windows
>>>>>>> version. I think this is a handy little function and would like to see
>>>>>>> my scripts work when I migrate.
>>>>>>>
>>>>>>> May I propose something (like the following)?
>>>>>>>
>>>>>>> open.file<- function(file) {
>>>>>>> if(.Platform$OS.type=="windows") {shell.exec(file)} else
>>>>>>> {system(paste("open ",file))}
>>>>>>> }
>>>>>>>
>>>>>>> Or just a small addition to the shell.exec function and no new named
>>>>>>> function.
>>>>>>> Hope the idea isn't received as "too stupid".
>>>>>> What is "open" supposed to do on a non-Windows machine? I do not have it on
>>>>>> the only Linux installation I looked at now, hence we obviously cannot
>>>>>> assume it exists on an arbitrary installation.
>>>>> I think the nearest equivalent for those running Gnome or KDE may be
>>>>> "xdg-open".  So there would probably need to be a new option for specifying
>>>>> the appropriate command.
>>>>>
>>>>> Personally, I am more inclined to use "system" for executing commands,
>>>>> and "browseURL" for opening documents.  "browseURL" even uses
>>>>> "xdg-open" in my R installation on my Linux machine.
>>>>>
>>>>> - Steve
>>>>>
>>>>>
>>>>>> Best,
>>>>>> Uwe Ligges
>>>>>>
>>>>>>
>>>>>>> Cheers,
>>>>>>> Brian
>>>>>>>
>>>>>>> ______________________________________________
>>>>>>> R-devel at r-project.org mailing list
>>>>>>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>>>>> ______________________________________________
>>>>>> R-devel at r-project.org mailing list
>>>>>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>>>>>
>>>> ______________________________________________
>>>> R-devel at r-project.org mailing list
>>>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>>>
>>>>
>>> ______________________________________________
>>> R-devel at r-project.org mailing list
>>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>>
>>



[Rd] Revision of shell.exec?
Brian Oney