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