# i3a
i3a is a set of scripts used for automation of i3 and sway window manager
layouts.
## Automation list
### i3a-master-stack
Provides automatic master-stack layout, which is known from e.g. DWM. The
following kinds of the layout are possible:
- master-stack area with DWM-like stack (stack windows are split)
- master-stack area with i3-like stack (stack windows are actual stack)
To use, run `i3a-master-stack` with selected options (`i3a-master-stack
--help` for details). One way to run it automatically is via a systemd
user service.
1. Create the following file in _~/.config/systemd/user/i3a-master-stack_:
```
[Unit]
Description=i3a-master-stack
[Service]
ExecStart=%h/.local/bin/i3a-master-stack --stack=dwm --stack-size=35
Restart=on-failure
```
2. Add the following entry to your i3 or sway configuration file:
```
exec "systemctl --user restart i3a-master-stack.service"
```
### i3a-swap
Swap currently focused window between master and stack areas from
i3a-master-stack (technically it doesn't require running i3-master-stack).
To use it, add the following binding to your i3 or sway configuration file:
```
bindsym $mod+f exec i3a-swap
```
### i3a-swallow
Provides automatic "swallowing": when a program runs a child process, the
parent is automatically hidden (moved to the scratchpad), which looks like if
it was replaced, or "swallowed" by the child window. It is especially useful
for graphical programs (video player, document viewer etc.) run from the
terminal.
Provides a means of filtering both parent programs which can be swallowed and
child programs which can trigger swallowing.
To use it, run `i3a-swallow` with selected options. One way to run it
automatically is via a systemd user service.
1. Create the following file in _~/.config/systemd/user/i3a-swallow_:
```
[Unit]
Description=i3a-swallow
[Service]
ExecStart=%h/.local/bin/i3a-swallow
Restart=on-failure
```
2. Add the following entry to your i3 or sway configuration file:
```
exec "systemctl --user restart i3a-swallow.service"
```
### i3a-move-to-empty
Moves currently focused container to the first empty workspace. Keep in mind
that this script relies on numbering of the workspaces.
To use it, add the following binding to your i3 or sway configuration file:
```
bindsym $mod+w exec i3a-move-to-empty
```
### i3a-resize-compass
Extension of `resize` command. Currently focused window will automatically
grow or shrink in a direction passed to i3a-resize-compass.
```
bindsym $mod+Up exec i3a-resize-compass up 2ppt
bindsym $mod+Down exec i3a-resize-compass down 2ppt
bindsym $mod+Right exec i3a-resize-compass right 2ppt
bindsym $mod+Left exec i3a-resize-compass left 2ppt
```
### i3a-cycle-focus
Change the currently focused window up or down, cycling the tiled windows
within the current workspace.
```
bindsym $mod+j exec i3a-cycle-focus down
bindsym $mod+k exec i3a-cycle-focus up
```
### i3a-scale-cycle
**sway-specific**
Changes output's scale factor to the next or previous one on a given list.
Current scale factor is then printed for each requested output (or all
available outputs if none was explicitly set).
`-f, --scale-factors` is a comma-separated list of factors which i3a-scale
will cycle so it must be escaped in configuration file:
```
bindsym $mod+s exec "i3a-scale-cycle -f 1.0,1.5,2.0 -o HDMI-1 -o HDMI-2 --next"
```
## Installation
- [PyPI](https://pypi.org/project/i3a/)
- [AUR](https://aur.archlinux.org/packages/i3a/) (Arch Linux - unofficial)
Raw data
{
"_id": null,
"home_page": "https://git.goral.net.pl/i3a.git",
"name": "i3a",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.7",
"maintainer_email": null,
"keywords": null,
"author": "Michal Goral",
"author_email": "dev@goral.net.pl",
"download_url": "https://files.pythonhosted.org/packages/c0/28/1518568ca2bf0736f08ce8549b181b580ebbb1030b2cb2a1d0dabe23d368/i3a-2.3.0.tar.gz",
"platform": null,
"description": "# i3a\n\ni3a is a set of scripts used for automation of i3 and sway window manager\nlayouts.\n\n## Automation list\n\n### i3a-master-stack\n\nProvides automatic master-stack layout, which is known from e.g. DWM. The\nfollowing kinds of the layout are possible:\n\n- master-stack area with DWM-like stack (stack windows are split)\n- master-stack area with i3-like stack (stack windows are actual stack)\n\nTo use, run `i3a-master-stack` with selected options (`i3a-master-stack\n--help` for details). One way to run it automatically is via a systemd\nuser service.\n\n1. Create the following file in _~/.config/systemd/user/i3a-master-stack_:\n\n```\n[Unit]\nDescription=i3a-master-stack\n\n[Service]\nExecStart=%h/.local/bin/i3a-master-stack --stack=dwm --stack-size=35\nRestart=on-failure\n```\n\n2. Add the following entry to your i3 or sway configuration file:\n\n```\nexec \"systemctl --user restart i3a-master-stack.service\"\n```\n\n### i3a-swap\n\nSwap currently focused window between master and stack areas from\ni3a-master-stack (technically it doesn't require running i3-master-stack).\n\nTo use it, add the following binding to your i3 or sway configuration file:\n\n```\nbindsym $mod+f exec i3a-swap\n```\n\n### i3a-swallow\n\nProvides automatic \"swallowing\": when a program runs a child process, the\nparent is automatically hidden (moved to the scratchpad), which looks like if\nit was replaced, or \"swallowed\" by the child window. It is especially useful\nfor graphical programs (video player, document viewer etc.) run from the\nterminal.\n\nProvides a means of filtering both parent programs which can be swallowed and\nchild programs which can trigger swallowing.\n\nTo use it, run `i3a-swallow` with selected options. One way to run it\nautomatically is via a systemd user service.\n\n1. Create the following file in _~/.config/systemd/user/i3a-swallow_:\n\n```\n[Unit]\nDescription=i3a-swallow\n\n[Service]\nExecStart=%h/.local/bin/i3a-swallow\nRestart=on-failure\n```\n\n2. Add the following entry to your i3 or sway configuration file:\n\n```\nexec \"systemctl --user restart i3a-swallow.service\"\n```\n\n### i3a-move-to-empty\n\nMoves currently focused container to the first empty workspace. Keep in mind\nthat this script relies on numbering of the workspaces.\n\nTo use it, add the following binding to your i3 or sway configuration file:\n\n```\nbindsym $mod+w exec i3a-move-to-empty\n```\n\n### i3a-resize-compass\n\nExtension of `resize` command. Currently focused window will automatically\ngrow or shrink in a direction passed to i3a-resize-compass.\n\n```\nbindsym $mod+Up exec i3a-resize-compass up 2ppt\nbindsym $mod+Down exec i3a-resize-compass down 2ppt\nbindsym $mod+Right exec i3a-resize-compass right 2ppt\nbindsym $mod+Left exec i3a-resize-compass left 2ppt\n```\n\n### i3a-cycle-focus\n\nChange the currently focused window up or down, cycling the tiled windows\nwithin the current workspace.\n\n```\nbindsym $mod+j exec i3a-cycle-focus down\nbindsym $mod+k exec i3a-cycle-focus up \n```\n\n### i3a-scale-cycle\n\n**sway-specific**\n\nChanges output's scale factor to the next or previous one on a given list.\nCurrent scale factor is then printed for each requested output (or all\navailable outputs if none was explicitly set).\n\n`-f, --scale-factors` is a comma-separated list of factors which i3a-scale\nwill cycle so it must be escaped in configuration file:\n\n```\nbindsym $mod+s exec \"i3a-scale-cycle -f 1.0,1.5,2.0 -o HDMI-1 -o HDMI-2 --next\"\n```\n\n## Installation\n\n- [PyPI](https://pypi.org/project/i3a/)\n- [AUR](https://aur.archlinux.org/packages/i3a/) (Arch Linux - unofficial)\n",
"bugtrack_url": null,
"license": "GPL-3.0-or-later",
"summary": "Automatic manager for i3 tiling",
"version": "2.3.0",
"project_urls": {
"Homepage": "https://git.goral.net.pl/i3a.git",
"Repository": "https://git.goral.net.pl/i3a.git"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "0eb6e01afb682a618ae091872d2110f1da565a3ffbd04153d630c8baaf7571f9",
"md5": "3fa96f12fbdba942eaec49d865ce63ae",
"sha256": "60c629f11f6fa9b3321857f2907d77f5434bdabb748c74f68f239404a8726663"
},
"downloads": -1,
"filename": "i3a-2.3.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3fa96f12fbdba942eaec49d865ce63ae",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.7",
"size": 24486,
"upload_time": "2024-12-08T14:27:15",
"upload_time_iso_8601": "2024-12-08T14:27:15.983105Z",
"url": "https://files.pythonhosted.org/packages/0e/b6/e01afb682a618ae091872d2110f1da565a3ffbd04153d630c8baaf7571f9/i3a-2.3.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c0281518568ca2bf0736f08ce8549b181b580ebbb1030b2cb2a1d0dabe23d368",
"md5": "732aa86094bb1ce8e13826f1c90a4311",
"sha256": "6c029bb7637c01a4abf011391e78ff8d767070c991e2a48a2865c3d3285e291e"
},
"downloads": -1,
"filename": "i3a-2.3.0.tar.gz",
"has_sig": false,
"md5_digest": "732aa86094bb1ce8e13826f1c90a4311",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.7",
"size": 22132,
"upload_time": "2024-12-08T14:27:17",
"upload_time_iso_8601": "2024-12-08T14:27:17.873685Z",
"url": "https://files.pythonhosted.org/packages/c0/28/1518568ca2bf0736f08ce8549b181b580ebbb1030b2cb2a1d0dabe23d368/i3a-2.3.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-08 14:27:17",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "i3a"
}