Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/justbuchanan/i3scripts
My scripts for enhancing i3wm
https://github.com/justbuchanan/i3scripts
i3wm linux python tiling-window-manager
Last synced: 6 days ago
JSON representation
My scripts for enhancing i3wm
- Host: GitHub
- URL: https://github.com/justbuchanan/i3scripts
- Owner: justbuchanan
- License: other
- Created: 2017-04-14T08:49:10.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2024-09-23T19:24:05.000Z (5 months ago)
- Last Synced: 2025-02-08T14:05:41.778Z (13 days ago)
- Topics: i3wm, linux, python, tiling-window-manager
- Language: Python
- Size: 67.4 KB
- Stars: 163
- Watchers: 5
- Forks: 46
- Open Issues: 8
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
# i3 Scripts
This repo contains a few scripts I've put together for [i3](https://github.com/i3/i3).
Below are the highlights, but see the script files themselves for more detailed info and instructions.
Note that they function independently, so you can try out one in your workflow without committing to using the rest.## autorename_workspaces.py
This script dynamically updates the i3 bar to show icons for running programs next to the workspace names.
It does this by listening for i3 window events and updating the workspace's "name".In addition to showing program icons, it also (optionally) renumbers i3 workspaces in ascending order.
This makes it easier to navigate.Here's a [demo](https://gfycat.com/AfraidAmusingCoyote).
## new_workspace.py
Opens a new workspace on the current monitor, using the first available number.
## rename_workspace.py
Presents a small modal window with a text box that allows for renaming the current workspace.
## i3splat.py
This module provides a compact way to specify layouts for i3wm and launch the corresponding programs.
Create a `Workspace` object containing the containers and apps you want, then call `launch()`.
The specified layout will be loaded into i3, then the individual apps are launched in their places.
See the file itself for more detailed documentation.Here's an example program:
```python
from i3splat import *mydir = "~/src"
ws = Workspace("code", [
(0.5, chrome(["stackoverflow.com"])),
(0.5, Container(SPLITV, [
(0.7, Container(TABBED, [
(0.5, urxvt(wdir=mydir, command="vim file.txt")),
(0.5, sublime([mydir])),
])),
(0.3, urxvt(wdir=mydir)),
])
)])
ws.launch()
```