You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The config file is located at `~/.config/hypr/hyprpaper.conf`. It is not
92
37
required.
93
38
94
-
### List of Dispatchers
95
-
96
-
| Dispatcher | Description | Params |
97
-
| --- | --- | --- |
98
-
|`preload`| Preloads an image into memory. |`/home/me/amogus.png`|
99
-
|`wallpaper`| Applies `preload`ed images to your monitor(s). |`monitor_name, /home/me/amogus.png`|
100
-
|`unload`| Removes `preload`ed images from memory. |`/home/me/amogus.png`\|`all`\|`unused`|
101
-
|`reload`| Sets/changes wallpapers without having to `preload` them, effectively automating the process of: `unload`->`preload`->set `wallpaper`. |`/home/me/amogus.png`|
39
+
### Setting wallpapers
102
40
103
-
### The `preload` and `wallpaper` Keywords
104
-
105
-
Configuration is done using `preload`, which _loads_ an image into memory.
106
-
107
-
> [!WARNING]
108
-
> Note that all image paths must be absolute (or start with `~`).
109
-
110
-
The `wallpaper` keyword is then used to apply the preloaded image to your monitor(s):
41
+
Wallpapers are set as anonymous special categories. Monitor can be left empty for a fallback.
111
42
112
43
```ini
113
-
preload = /home/me/amongus.png
114
-
wallpaper = monitor, /home/me/amongus.png
115
-
```
44
+
wallpaper {
45
+
monitor = DP-3
46
+
file = ~/myFile.jxl
47
+
fit_mode = cover
48
+
}
116
49
117
-
> [!NOTE]
118
-
> You can check names and other info for your monitors using `hyprctl monitors`.
50
+
wallpaper {
51
+
monitor = DP-2
52
+
file = ~/myFile2.jxl
53
+
fit_mode = cover
54
+
}
119
55
120
-
The `monitor` argument can be left empty to set a wallpaper for all monitors that don't already have one set.
121
-
122
-
```ini
123
-
wallpaper = , /home/me/amongus.png
56
+
# ...
124
57
```
125
58
126
-
You can also refer to a monitor by its description by prefixing `desc:` followed by the monitor's description without the (PORT) at the end.
127
-
128
-
You may add `contain:` or `tile:` before the file path in `wallpaper =` to set the mode to either contain or tile, respectively, instead of cover:
129
-
130
-
```ini
131
-
wallpaper = monitor, contain:/home/me/amongus.png
132
-
```
133
-
134
-
### The `unload` Keyword
135
-
136
-
You can use `unload` to unload preloaded images.
137
-
You can also specify `unload all` to unload all images or `unload unused` to unload images that aren't being used.
138
-
139
-
### The `reload` Keyword
140
-
141
-
The `reload` keyword allows you to set or change wallpapers without
142
-
having to preload them.
143
-
For example, you could have a completely empty hyprpaper config (with [IPC](#ipc) enabled!), and run the below command to quickly set your wallpaper (this example sets the wallpaper for
144
-
all monitors):
145
-
146
-
```sh
147
-
hyprctl hyprpaper reload ,"~/amogus.png"
148
-
```
149
-
150
-
Running this command again with a new wallpaper would effectively swap
151
-
the wallpaper with the new one, automating the whole preload, set,
152
-
unload old sequence.
153
-
154
-
> [!WARNING]
155
-
> `Monitor Specificity`
156
-
> Once a monitor has a wallpaper set specifically (e.g., `hyprctl hyprpaper reload "DP-1,~/amogus.png"`),
157
-
> it won't be affected by the wildcard (`hyprctl hyprpaper reload ,"~/amogus.png"`).
158
-
159
-
#### Using `reload` to Randomize Your Wallpaper
160
-
161
-
You can also use this simple `reload` functionality to randomize your wallpaper. Using a simple script like so would do it very easily:
162
-
163
-
```bash
164
-
#!/usr/bin/env bash
165
-
166
-
WALLPAPER_DIR="$HOME/wallpapers/"
167
-
CURRENT_WALL=$(hyprctl hyprpaper listloaded)
168
-
169
-
# Get a random wallpaper that is not the current one
0 commit comments