i3bgwin/README.md

47 lines
1.4 KiB
Markdown
Raw Normal View History

2019-12-15 00:43:40 -05:00
# `i3bgwin` [![](https://github.com/quantum5/i3bgwin/workflows/build/badge.svg)](https://github.com/quantum5/i3bgwin/actions)
2019-12-15 00:11:24 -05:00
i3 does not implement specific support for windows with the `_NET_WM_WINDOW_TYPE_DESKTOP` hint,
and as such do not render those windows in the background behind all other windows.
This makes it difficult to do things like displaying information in the background.
`i3bgwin` provides a way to run any application in the background behind all other windows,
provided that they support embedding into another window, e.g. `urxvt -embed <window>` or
`xterm -into <window>`.
2019-12-15 00:39:33 -05:00
## Usage
```sh
$ i3bgwin command...
```
`i3bgwin` will replace `{windowid}` with the X11 window ID that the child process should embed
into.
For example, to run `urxvt` inside, do `i3bgwin urxvt -embed {windowid}`, and to run `xterm`,
do `i3bgwin xterm -into {windowid}`.
## Demo
![Demo of i3bgwin with the visualizer Cava](./screenshots/cava-demo.png)
2019-12-15 22:01:32 -05:00
Here, we run [Cava](https://github.com/karlstav/cava) inside `rxvt` on the i3 background window.
2019-12-15 00:39:33 -05:00
The command used is:
```sh
$ i3bgwin rxvt -depth 32 -bg '[00]black' --color6 '[50]cyan' +sb -embed {windowid} -e cava
```
## Building
With `gcc` and X11 development files (`libx11-dev` and `libxext-dev` on Debian/Ubuntu) installed,
simply build with
```sh
$ make
```
`i3bgwin` will be created in the current directory. You can copy it anywhere you wish.