devmode - Wrapper for GNU screen to manage multiple screenrc files
This documentation refers to devmode version 0.0.5.
devmode <task> OPTIONS: <task> The name of a screen config found in the ~/.devmode/ directory -k --kill Kill the task -l --list List all running devmode tasks -a --all Makes --list show even non-running sessions -e --exists Only run screen if a devmode file exists by that name -x --multiconnect Connect to session with out disconnecting existing session -c --create Creates a missing devmode task -d --chdir Parse the config and change directory to the last chdir command found in there. -f --force-title Try harder to set the terminal title -t --template=name Uses this template name for creating the missing task. The default template is rc other templates can be stored in the $HOME/.devmode/templates/ directory -p --protect Run a surrounding screen session to protect the intended session from ssh-agent being lost when logging out of the of box. (experimental 256 colours doesn't work is sub screen) -s --server=str Use a remote server to connect to and run devmode. The server may include username@ to login with a particular user. -S --short Don't show "Devmode" in the title bar -A --auto=str Allows a BASH command line completion mode helper mode to run -T --test Don't run any external commands --VERSION Prints the version information --help Prints this help information --man Prints the full documentation for devmode
devmode makes managing screen sessions simpler by managing session names and configuration files.
devmode
devmode configuration files are stored in the $HOME/.devmode/ directory. Templates for creating new configuration files can be placed in the directory $HOME/.devmode/template/, the default template creates a session that always opens to the directory that devmode was run from, it is aimed at working with perl packages.
_devmode() { local cur prev opts COMPREPLY=() cur="${COMP_WORDS[COMP_CWORD]}" prev="${COMP_WORDS[COMP_CWORD-1]}" opts="--task -t --kill -k --list --ls -l --all -a --exists -e --multiconnect -x --create -c --chdir -d --reconnect -r --force_title -force-title -f --title_bar -title-bar -b --protect -p --short -S --server -s --auto -A --current -C --pre_cmd -pre-cmd --pre --post_cmd -post-cmd --post --test -T --verbose -v --man --help --VERSION" if [[ ${cur} == -* && ${COMP_CWORD} -eq 1 ]]; then COMPREPLY=($(compgen -W "${opts}" -- ${cur})) elif [[ ${prev} == -s* ]]; then local hosts=$(devmode --auto ssh) COMPREPLY=($(compgen -W "${hosts}" -- ${cur})) else local sonames=$(devmode --auto full --current ${COMP_CWORD} ${COMP_WORDS[@]}) COMPREPLY=($(compgen -W "${sonames}" -- ${cur})) fi } complete -F _devmode devmode
The <Cdevmode> program uses 3 different types of configuration files:
Stored in ~/.devmode/[name] are standard GNU Screen files.
~/.devmode/[name]
Each mode file can have a C,~/.devmode[mode].rc> to change default configuration. It is stored in YAML format.
Stored in`/.devmode.rc sets global defaults. It is stored in YAML format.
`/.devmode.rc
There are no known bugs in this module.
Please report problems to Ivan Wills (ivan.wills@gmail.com)
Patches are welcome.
Shannon Wynter - (http://fremnet.net/contact) (original) Ivan Wills - (ivan.wills@gmail.com)
Copyright (c) 2007 Shannon Wynter, 2007-2013 Ivan Wills. All rights reserved.
To install App::devmode, copy and paste the appropriate command in to your terminal.
cpanm
cpanm App::devmode
CPAN shell
perl -MCPAN -e shell install App::devmode
For more information on module installation, please visit the detailed CPAN module installation guide.