https://github.com/quantum5/i3bgwin
Emulate support for desktop windows (that run behind other windows) on i3
https://github.com/quantum5/i3bgwin
Last synced: 12 months ago
JSON representation
Emulate support for desktop windows (that run behind other windows) on i3
- Host: GitHub
- URL: https://github.com/quantum5/i3bgwin
- Owner: quantum5
- License: gpl-3.0
- Created: 2019-12-15T05:11:23.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2019-12-18T06:46:01.000Z (over 6 years ago)
- Last Synced: 2025-03-26T16:38:25.377Z (about 1 year ago)
- Language: C
- Size: 1.8 MB
- Stars: 7
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# `i3bgwin` [](https://github.com/quantum5/i3bgwin/actions)
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 ` or
`xterm -into `.
## 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

Here, we run [Cava](https://github.com/karlstav/cava) inside `rxvt` on the i3 background window.
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.