setwidth: configuração automática de options("width") em terminal
Olá! Problema: Quando o R está sendo usado em emulador de terminal, a opção "width" não é atualizada automaticamente quando o terminal é redimensionado. Solução: Capturar o sinal SIGWINCH (que avisa ao aplicativo que o terminal foi redimensionado) e modificar o valor de options("width"). Estou lançando a versão para teste do pacote setwidth com a implementação da solução mencionada: http://www.lepem.ufc.br/jaa/setwidth_0.9-0.tar.gz Para testar, basta instalar o pacote R CMD INSTALL setwidth_0.9-0.tar.gz e, no R, digitar library(setwidth) Ao ser carregado o pacote, fica habilitada a captura do sinal SIGWINCH. Não há nenhuma função em R visível para o usuário. Agradeço relatos de bug e comentários. -- Jakson Alves de Aquino Universidade Federal do Ceará Departamento de Ciências Sociais www.lepem.ufc.br/aquino.php
Jakson,
A idéia é boa, vai ser bastante útil!
Contudo, não está instalando.
Testei apenas sob inux LMDE 64 sob XFCe.
Veja as tentativas abaixo:
1- Como su no prompt do terminal:
jcfaria_lmde prog_r_packages # R CMD INSTALL setwidth_0.9-0.tar.gz
* installing to library ‘/usr/local/lib64/R/library’
* installing *source* package ‘setwidth’ ...
Error : Invalid DESCRIPTION file
Package name and namespace differ.
See the information on DESCRIPTION files in section 'Creating R
packages' of the 'Writing R Extensions' manual.
ERROR: installing package DESCRIPTION failed for package ‘setwidth’
* removing ‘/usr/local/lib64/R/library/setwidth’
2- Em uma sessão do R:
jcfaria_lmde prog_r_packages # R
R Under development (unstable) (2011-08-09 r56694)
Copyright (C) 2011 The R Foundation for Statistical Computing
ISBN 3-900051-07-0
Platform: x86_64-unknown-linux-gnu (64-bit)
R é um software livre e vem sem GARANTIA ALGUMA.
Você pode redistribuí-lo sob certas circunstâncias.
Digite 'license()' ou 'licence()' para detalhes de distribuição.
R é um projeto colaborativo com muitos contribuidores.
Digite 'contributors()' para obter mais informações e
'citation()' para saber como citar o R ou pacotes do R em publicações.
Digite 'demo()' para demonstrações, 'help()' para o sistema on-line de ajuda,
ou 'help.start()' para abrir o sistema de ajuda em HTML no seu navegador.
Digite 'q()' para sair do R.
> install.packages('setwidth_0.9-0.tar.gz', repos=NULL)
* installing *source* package ‘setwidth’ ...
Error : Invalid DESCRIPTION file
Package name and namespace differ.
See the information on DESCRIPTION files in section 'Creating R
packages' of the 'Writing R Extensions' manual.
ERROR: installing package DESCRIPTION failed for package ‘setwidth’
* removing ‘/usr/local/lib64/R/library/setwidth’
Mensagens de aviso perdidas:
In install.packages("setwidth_0.9-0.tar.gz", repos = NULL) :
installation of package ‘setwidth_0.9-0.tar.gz’ had non-zero exit status
>
Ab,
--
///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\
Jose Claudio Faria
Estatistica - Prof. Pleno
UESC/DCET/Brasil
joseclaudio.faria at gmail.com
///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\
Em 30 de novembro de 2011 10:21, Jakson Alves de Aquino
<jalvesaq@gmail.com> escreveu:
> Olá!
>
> Problema: Quando o R está sendo usado em emulador de terminal, a opção
> "width" não é atualizada automaticamente quando o terminal é
> redimensionado.
>
> Solução: Capturar o sinal SIGWINCH (que avisa ao aplicativo que o
> terminal foi redimensionado) e modificar o valor de options("width").
>
> Estou lançando a versão para teste do pacote setwidth com a
> implementação da solução mencionada:
> http://www.lepem.ufc.br/jaa/setwidth_0.9-0.tar.gz
>
> Para testar, basta instalar o pacote
>
> R CMD INSTALL setwidth_0.9-0.tar.gz
>
> e, no R, digitar
>
> library(setwidth)
>
> Ao ser carregado o pacote, fica habilitada a captura do sinal
> SIGWINCH. Não há nenhuma função em R visível para o usuário.
>
> Agradeço relatos de bug e comentários.
>
> --
> Jakson Alves de Aquino
> Universidade Federal do Ceará
> Departamento de Ciências Sociais
> www.lepem.ufc.br/aquino.php
> _______________________________________________
> R-br mailing list
> R-br@listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
2011/11/30 Jose Claudio Faria <joseclaudio.faria@gmail.com>:
A idéia é boa, vai ser bastante útil! Contudo, não está instalando. Testei apenas sob inux LMDE 64 sob XFCe.
Veja as tentativas abaixo:
1- Como su no prompt do terminal: jcfaria_lmde prog_r_packages # R CMD INSTALL setwidth_0.9-0.tar.gz * installing to library ‘/usr/local/lib64/R/library’ * installing *source* package ‘setwidth’ ... Error : Invalid DESCRIPTION file
Package name and namespace differ.
O arquivo NAMESPACE foi criado automaticamente pelo R e, aqui, o pacote está instalando. Você poderia testar com o R 2.14? Parece que você está usando uma versão de agosto. Obrigado, -- Jakson
2011/11/30 Jose Claudio Faria <joseclaudio.faria@gmail.com>:
A idéia é boa, vai ser bastante útil! Contudo, não está instalando. Testei apenas sob inux LMDE 64 sob XFCe.
Veja as tentativas abaixo:
1- Como su no prompt do terminal: jcfaria_lmde prog_r_packages # R CMD INSTALL setwidth_0.9-0.tar.gz * installing to library ‘/usr/local/lib64/R/library’ * installing *source* package ‘setwidth’ ... Error : Invalid DESCRIPTION file
Package name and namespace differ.
Preparei uma nova versão com um arquivo NAMESPACE vazio. Pelo que li na documentação, o arquivo NAMESPACE agora é obrigatório e, se não existir, será criado um pelo R. Entretanto, esse arquivo criado automaticamente parece não funcionar com versões anteriores do R. http://www.lepem.ufc.br/jaa/setwidth_0.9-2.tar.gz -- Jakson
ao inves do NAMESPACE vazio, use: exportPattern("^[[:alpha:]]+") como unica linha no arquivo... assim vc nao vai precisar mexer com isso de novo no R-2.15.x (a criacao automatica eh apenas para o R-2.14.x, enqto os desenvolvedores acostumam-se com a necessidade do NAMESPACE). b
2011/11/30 Benilton Carvalho <beniltoncarvalho@gmail.com>:
ao inves do NAMESPACE vazio, use:
exportPattern("^[[:alpha:]]+")
como unica linha no arquivo... assim vc nao vai precisar mexer com isso de novo no R-2.15.x (a criacao automatica eh apenas para o R-2.14.x, enqto os desenvolvedores acostumam-se com a necessidade do NAMESPACE).
Mas o pacote não tem nenhuma função em R. Tem apenas uma biblioteca escrita em C, carregada pelo .onLoad(). Acho que não preciso exportar nenhum nome... -- Jakson
b _______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
entendi... confesso q nao fui olhar o conteudo do pacote... =/ Entao, o importante eh nao depender da criacao automatica do NAMESPACE. b 2011/11/30 Jakson Alves de Aquino <jalvesaq@gmail.com>:
2011/11/30 Benilton Carvalho <beniltoncarvalho@gmail.com>:
ao inves do NAMESPACE vazio, use:
exportPattern("^[[:alpha:]]+")
como unica linha no arquivo... assim vc nao vai precisar mexer com isso de novo no R-2.15.x (a criacao automatica eh apenas para o R-2.14.x, enqto os desenvolvedores acostumam-se com a necessidade do NAMESPACE).
Mas o pacote não tem nenhuma função em R. Tem apenas uma biblioteca escrita em C, carregada pelo .onLoad(). Acho que não preciso exportar nenhum nome...
-- Jakson
b _______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
Jakson acredito que esta implementação mereça ser um feature do R, não um pacote a mais. []s Leonard de Assis assis <dot> leonard <at> gmail <dot> com Em 30/11/2011 11:21, Jakson Alves de Aquino escreveu:
Olá!
Problema: Quando o R está sendo usado em emulador de terminal, a opção "width" não é atualizada automaticamente quando o terminal é redimensionado.
Solução: Capturar o sinal SIGWINCH (que avisa ao aplicativo que o terminal foi redimensionado) e modificar o valor de options("width").
Estou lançando a versão para teste do pacote setwidth com a implementação da solução mencionada: http://www.lepem.ufc.br/jaa/setwidth_0.9-0.tar.gz
Para testar, basta instalar o pacote
R CMD INSTALL setwidth_0.9-0.tar.gz
e, no R, digitar
library(setwidth)
Ao ser carregado o pacote, fica habilitada a captura do sinal SIGWINCH. Não há nenhuma função em R visível para o usuário.
Agradeço relatos de bug e comentários.
2011/11/30 Leonard de Assis <assis.leonard@gmail.com>:
acredito que esta implementação mereça ser um feature do R, não um pacote a mais.
Concordo. Quando estiver funcionando sem problemas podemos sugerir ao R Core Team. Mas, se eles não aceitarem, teremos pelo menos o pacote. Até+, Jakson
Jakson parabéns. Eu uso o Linux Ubuntu 10.04 e instalei aqui. Abs Em 30 de novembro de 2011 12:19, Jakson Alves de Aquino <jalvesaq@gmail.com>escreveu:
2011/11/30 Leonard de Assis <assis.leonard@gmail.com>:
acredito que esta implementação mereça ser um feature do R, não um pacote a mais.
Concordo. Quando estiver funcionando sem problemas podemos sugerir ao R Core Team. Mas, se eles não aceitarem, teremos pelo menos o pacote.
Até+,
Jakson _______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
-- Guilherme Moraes Ferraudo Jaboticabal/Campinas - SP http://lattes.cnpq.br/2096118558794430
Uma vez funcionando da forma q vc espera, vc pode baixar o fonte do R e aplicar o patch na regiao apropriada e submeter o diff... (note que a implementacao atual funciona como esperado no Windows, entao se o seu complemento nao afetar outras tarefas, imagino que sera' simples assim). b
2011/11/30 Benilton Carvalho <beniltoncarvalho@gmail.com>:
Uma vez funcionando da forma q vc espera, vc pode baixar o fonte do R e aplicar o patch na regiao apropriada e submeter o diff... (note que a implementacao atual funciona como esperado no Windows, entao se o seu complemento nao afetar outras tarefas, imagino que sera' simples assim).
Eu ainda não testei o que acontece se o terminal for redimensionado enquanto o R está executando uma operação demorada. Vou esperar até o final do ano... -- Jakson
participantes (5)
-
Benilton Carvalho -
Guilherme Moraes Ferraudo -
Jakson Alves de Aquino -
Jose Claudio Faria -
Leonard de Assis