Set a different wallpaper for the background of each Sway workspace - packaged for debian
Find a file
Gergő Sályi 71dc725ec7 Create shm slot pools per output instead of using one in the global state
This allows the release of graphics memory per output when an output is
destroyed, unlike when we had only one shm slot pool that cannot shrink

Hopefully this will help with a claimed leak of graphics memory:
https://github.com/gergo-salyi/multibg-sway/issues/2
2023-08-31 17:35:35 +02:00
src Create shm slot pools per output instead of using one in the global state 2023-08-31 17:35:35 +02:00
.gitignore Initial commit 2023-04-07 17:25:48 +02:00
.gitmodules Update dependencies, rm fast_image_resize submod. 2023-05-05 08:26:41 +02:00
Cargo.lock cargo update 2023-08-31 14:45:02 +02:00
Cargo.toml Update dependencies, rm fast_image_resize submod. 2023-05-05 08:26:41 +02:00
CHANGELOG.md Update dependencies, rm fast_image_resize submod. 2023-05-05 08:26:41 +02:00
LICENSE-APACHE Initial commit 2023-04-07 17:25:48 +02:00
LICENSE-MIT Initial commit 2023-04-07 17:25:48 +02:00
PKGBUILD Update PKGBUILD to 0.1.3 release 2023-05-05 08:31:00 +02:00
README.md Update readme and --help that resizing was added 2023-04-27 00:59:51 +02:00

multibg-sway

Set a different wallpaper for the background of each Sway workspace

Usage

$ multibg-sway <WALLPAPER_DIR>

Wallpapers should be arranged in the following directory structure:

wallpaper_dir/output/workspace_name.{jpg|png|...}

Eg.

~/my_wallpapers/HDMI-A-1/1.jpg

In more detail:

  • wallpaper_dir: A directory, this will be the argument for the multibg-sway command

  • output: A directory with the same name as a sway output eg. eDP-1, HDMI-A-1

    • If one has multiple outputs with the same resolution this can be a symlink to the directory of the other output.

    • To get the name of current outputs from sway one may run:

      $ swaymsg -t get_outputs
      
  • workspace_name: The name of the sway workspace, by sway defaults: 1, 2, 3, ..., 10

    • Can be a manually defined workspace name (eg. in sway config), but renaming workspaces while multibg-sway is running is not supported currently
    • Can define a fallback wallpaper with the special name: _default
    • Can be a symlink to use a wallpaper image for multiple workspaces

Wallpaper images are now automatically resized at startup to fill the output. Still it is better to have wallpaper images the same resolution as the output, which automatically avoids resizing operations and decreases startup time.

Example

For one having a laptop with a built-in display eDP-1 and an external monitor HDMI-A-1, wallpapers can be arranged such as:

~/my_wallpapers
    ├─ eDP-1
    │    ├─ _default.jpg
    │    ├─ 1.jpg
    │    ├─ 2.png
    │    └─ browser.jpg
    └─ HDMI-A-1
         ├─ 1.jpg
         └─ 3.png

Then start multibg_sway:

$ multibg-sway ~/my_wallpapers

It is recommended to edit the wallpaper images in a dedicated image editor. Nevertheless the contrast and brightness might be adjusted here:

$ multibg-sway --contrast=-25 --brightness=-60 ~/my_wallpapers

In case of errors multibg-sway logs to stderr and tries to continue. One may wish to redirect stderr if multibg-sway is being run as a daemon.

Installation

Alternatives