Project

scide

0.0
No release in over 3 years
Low commit activity in last 3 years
GNU screen wrapper to open terminal tabs for projects with a .screenrc file.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

Runtime

~> 4.1.5
~> 0.8.6
~> 1.0.2
 Project Readme

scide

GNU Screen IDE.

The scide command wraps screen to automatically use .screenrc files in the current directory, in project directories, or automatically generated ones.

Version Build MIT License

  • Requirements
  • Usage
  • Installation
  • Options
  • Exit codes

Requirements

Usage

Assuming your project has a screen configuration at ~/src/my-project/.screenrc:

cd ~/src/my-project
scide

This will basically run the command screen -U -c .screenrc.

You can specify directory where your projects live:

cd ~
scide --projects ~/src my-project

You can do the same with the $SCIDE_PROJECTS environment variable, which you can put in your .bash_profile shell configuration file to avoid repeating yourself:

echo "export SCIDE_PROJECTS=~/src" >> ~/.bash_profile
scide my-project

For new projects, scide can run screen with an automatically generated configuration for you:

mkdir ~/src/new-project
cd ~/src/new-project
scide --auto

By default, this will open screen with a configuration that sources your own ~/.screenrc configuration and that has two tabs: one that opens your favorite $EDITOR, and one with a shell.

You can customize this default configuration by creating the file ~/.config/scide/.screenrc:

cat > $FILE <<- EOM
source \$HOME/.screenrc
screen -t editor 0
stuff "\$EDITOR\\012"
screen -t shell 1
select editor
EOM

Installation

With Homebrew:

brew tap alphahydrae/tools
brew install scide

With cURL:

PREFIX=/usr/local/bin \
  FROM=https://github.com/AlphaHydrae/scide/releases/download && \
  curl -sSL $FROM/v2.1.2/scide_v2.1.2.gz | gunzip -c > $PREFIX/scide && \
  chmod +x $PREFIX/scide

With Wget:

PREFIX=/usr/local/bin \
  FROM=https://github.com/AlphaHydrae/scide/releases/download && \
  wget -qO- $FROM/v2.1.2/scide_v2.1.2.gz | gunzip -c > $PREFIX/scide && \
  chmod +x $PREFIX/scide

Or download it yourself.

Options

General options:
  -h, --help     output usage information, then exit
  -v, --version  output current version, then exit

Scide options:
  -a, --auto            $SCIDE_AUTO=true       use an automatically generated .screenrc (see the -t, --default option)
  -d, --dry-run         $SCIDE_DRY_RUN=true    output the screen command that would be run, then exit
  -p, --projects <dir>  $SCIDE_PROJECTS=<dir>  also search for a .screenrc relative to the specified directory
  -t, --default <file>  $SCIDE_DEFAULT=<file>  use a custom default configuration (defaults to "~/.config/scide/.screenrc")

Screen options:
  -b, --bin <command>     $SCIDE_BIN=<bin>         use a custom screen binary (defaults to "screen")
  -s, --screen <options>  $SCIDE_SCREEN=<options>  use custom screen options (defaults to "-U")

Exit codes

Scide will exit with the following codes when known errors occur:

Code Description
100 The screen binary cannot be found
101 The specific screen binary is not executable
102 The .screenrc configuration file cannot be found
103 The .screenrc configuration file cannot be read due to file system permissions
104 The path specified as the first argument is neither a file nor a directory