A idéia não é minha, é de um utilitário em um projeto em que trabalho. Na raiz do projeto tem um arquivo chamado “term.rb” que quando executado abre diversas abas no terminal com o projeto rodando, uma com os logs, outra com console do banco de dados, …
Mas o script não funcionava com o iTerm2 que é o terminal que eu gosto de usar no Mac, então eu fiz uma versão simplificada (o script original funciona no Mace no Linux), a minha versão simplificada serve par qualquer projeto Rails e com pequenas alterações outros projetos também, mas é especifico para o iTerm2, sei que é possível fazer com o Terminal.app do Mac e para o GnomeTerminal do linux.
O script ficou assim:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | # encoding: utf-8 require 'rubygems' require 'appscript' extend Appscript project_dir = File.expand_path(File.dirname(__FILE__)) @commands = [ ['App', "cd #{project_dir}; rails s"], ['Console', "cd #{project_dir}; rails c"], ['Logs', "cd #{project_dir}; tail -f log/development.log"] ] @term = app("iTerm") @term.activate @commands.each do |title,command| session = @term.terminals[1].make(:new => :session) session.name.set(title.to_s) session.exec(:command => "/bin/bash -l") session.write(:text => command) end |
Sei que a gem rb-appscript não é mais mantida e estou usando ela aqui, mas a idéia me agradou bastante e foi a forma mais fácil que consegui pensar de fazer isto.
Bom, fica a idéia …
O que vocês acham de uma gem que faz isto meio “independente de terminal” e só recebe como parâmetro um array de comandos como o usado acima? Acho que vou fazer isto hoje e posto o link aqui
Como faço para funcionar no linnux? Tem como você postar o arquivo original?
[Translate]
não posso passar o arquivo original, mas estou criando uma gem para facilitar a vida, publico ela até amanha, mas preciso de um tester
Vai funcionar no Gnome Terminal
[Translate]
Legal!! Pode contar cmg como tester!!!
Se precisar de alguma contribuição tbm só falar!!
Abs
[Translate]
Da uma olhada la no Github então, não escrevi testes e esta é só a versão inicial da gem,
https://github.com/urubatan/open_terms
Vou escrever alguns testes antes de escrever um post falando desta gem
[Translate]
Olá, já viu a gem consular, antiga terminitor?
Funciona em diversos terminais.
https://github.com/achiu/consular
[Translate]
não conhecia esta
Vou dar uma olhada …
[Translate]