Skip to main content

i3 project manager similar to tmuxinator

Project description

# i3minator

i3minator is a simple "workspace manager" for i3.
It allows to quickly manage workspaces defining windows and their layout.
The project is inspired by [tmuxinator](https://github.com/aziz/tmuxinator) and uses [i3-py](https://github.com/ziberna/i3-py).

# Install

i3minator can be installed with pip

```shell
$ sudo pip install i3minator
```

# Project description

All project file are stored in `~/.i3minator/` and are in yaml format.
An example:

```yaml
# /home/carlesso/.i3minator/default.yml

# The Name of the project
name: default

# If needes, where the project lives. If present, all terminal will be opened here
# and all commands are relative to this path.
root: ~/projects/my_project/

# The name of the workspace to open the project.
# If not present, current workspace is used
workspace_name: MyProject

# Chain of commands to populate workspace.
# Every element can be either a node (see below), or a command between:
# go_vertical, vertical, v: change split mode into vertical
# go_horizontal, horizontal, h: change split mode into vertical
# go_stacked, stacked: set the layout to stacked
#
# Example for a rails application:
window_chain:
- gvim
- console
- go_vertical
- server
- logs

# Nodes. Each node represent a window. The available parameters are:
# command: the command to execute
# terminal: whatever the command should be run in a terminal window
# timeout: A window can take a while to be placed, if your layout does not come as you want,
# inceremnt the timeout for slow windows. default: 0.1
nodes:
gvim:
terminal: false
command: gvim .
timeout: 0.3
console:
terminal: true
command: bundle exec rails c
server:
terminal: true
command: bundle exec rails s
logs:
terminal: true
command: tailf log/development.log
```

# List of commands

i3minator supports the following commands:

```
i3minator commands:
i3minator commands # Lists commands available in i3minator
i3minator copy [EXISTING] [NEW] # Copy an existing project to a new project and open it in your editor
i3minator edit [PROJECT] # Edit given project
i3minator delete [PROJECT] # Deletes given project
i3minator impolode # Delete all i3minator project, as well as the ~/.i3minator folder
i3minator list # List all i3minator projects
i3minator new [PROJECT] # Create a new project and open in your text editor
i3minator start [PROJECT] # Start a i3minator project
i3minator version # Display installed i3minator version
```

# Terminal and Editor

Both Terminal and Editor are read from shell's defaults:

```bash
echo $TERM
echo $SHELL
```

Right now has been tested only with xterm and zsh

# Timeouting node spawn
Some windows may take more time to be insert in the workspace. If you experience this, and yout layout get messed up, try to play with `timeout` value in the node.

# About
Author: Enrico Carlesso
License: [WTFPL](http://www.wtfpl.net/about/)

Thanks:

- [i3 window manager](http://i3wm.org/) and its author Michael Stapelberg
- [i3-py](https://github.com/ziberna/i3-py)and its author Jure Žiberna

i3minator was tested with Python 3.3.2

Dependencies:

- i3-wm
- i3-py
- Python

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

i3minator-0.0.4.tar.gz (5.3 kB view details)

Uploaded Source

File details

Details for the file i3minator-0.0.4.tar.gz.

File metadata

  • Download URL: i3minator-0.0.4.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for i3minator-0.0.4.tar.gz
Algorithm Hash digest
SHA256 6a52f6774806657e986a0678dc3519161c6a92d9aa6d244b8e5532251a96c64c
MD5 5163b299f24d2456c5a531e47e73b9e8
BLAKE2b-256 6f6c4f3e00b4c0003552f434280c3057f2835c70f460d7c14070798b54d6c0c1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page