Skip to content
This repository

Manage complex screen sessions easily.

branch: master
README.md

Screeninator

Create an manage screen sessions easily. Inspired by Arthur Chiu's (Terminitor)

Installation

$ gem install screeninator

Then follow the instructions. You just have to drop a line in your ~/.bashrc file, similar to RVM if you've used that before:

if [[ -s $HOME/.screeninator/scripts/screeninator ]] ; then source $HOME/.screeninator/scripts/screeninator ; fi

Editor

Screeninator uses your shell's default editor for opening files. If you're not sure what that is type:

$ echo $EDITOR

For me that produces "mate -w" If you want to change your default editor simple put a line in ~/.bashrc that changes it. Mine looks like this:

export EDITOR='mate -w'

Usage

Create a project

$ screeninator open project_name

Create or edit your projects with this command. Your default editor ($EDITOR) is used to open the file. If this is a new project you will see this default config:

# ~/.screeninator/project_name.yml
# you can make as many tabs as you wish...

escape: tick
project_name: Screeninator
project_root: ~/code/rails_project
tabs:
  - shell: git pull
  - database: rails db
  - console: rails c
  - logs:
    - cd logs
    - tail -f development.log
  - ssh: ssh me@myhost

By default screen's escape key is C-a but I prefer to use ` instead. If you'd rather use C-a just remove the escape line altogether.

If a tab contains multiple commands, they will be 'joined' together with '&&'.

If you want to have your own default config, place it into $HOME/.screeninator/default.yml

Starting a project

$ start_project_name

This will fire up screen with all the tabs you configured.

Limitations

After you create a project, you will have to open a new shell window. This is because Screeninator adds an alias to bash to open screen with the project config.

Example

Sample

Other Commands

For a list of available commands:

$ screeninator help

Questions? Comments? Feature Request?

I would love to hear your feedback on this project! Send me a message!

For realtime feedback check out the #screeninator channel on irc.freenode.com

Note on Patches/Pull Requests

  • Fork the project.
  • Make your feature addition or bug fix.
  • Add tests for it. This is important so I don't break it in a future version unintentionally.
  • Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
  • Send me a pull request. Bonus points for topic branches.

Copyright

Copyright (c) 2010 Jon Druse. See LICENSE for details.

Something went wrong with that request. Please try again.