.\" Generated by scdoc 1.11.4 .\" Complete documentation for this program is not available as a GNU info page .ie \n(.g .ds Aq \(aq .el .ds Aq ' .nh .ad l .\" Begin generated content: .TH "awww-img" "1" "2026-03-24" .PP .SH NAME awww-img .PP .SH SYNOPSIS \fBawww img\fR [OPTIONS] .PP .SH OPTIONS .PP \fB-a\fR,\fB--all\fR .RS 4 Send this command to all active \fBawww-daemon\fR namespaces.\& .PP .RE \fB-f\fR, \fB--filter\fR .RS 4 Filter to use when scaling images .PP Available options are: .PP \fINearest\fR | \fIBilinear\fR | \fICatmullRom\fR | \fIMitchell\fR | \fILanczos3\fR .PP These are offered by the fast_image_resize crate (https://docs.\&rs/fast_image_resize/2.\&5.\&0/fast_image_resize/).\& \fINearest\fR is what I recommend for pixel art stuff, and ONLY for pixel art stuff.\& It is also the fastest filter.\& .PP For non pixel art stuff, I would usually recommend one of the last three, though some experimentation will be necessary to see which one you like best.\& .PP Note you can also pass the flag \fB--no-resize\fR, explained below.\& In which case the \fB--filter\fR flag will have no effect.\& .PP Default is Lanczos3.\& .PP .RE \fB-n\fR,\fB--namespace\fR .RS 4 Which wayland namespace to send this command to.\& .PP You can specify this option multiple times to send commands to multiple namespaces at once: \fBawww img -n -n \fR.\& .PP This affects the name of the \fBawww-daemon\fR socket we will use to communicate with.\& Specifically, our socket name is \fI${WAYLAND_DISPLAY}-awww-daemon.\&.\&socket\fR.\& .PP Some compositors can have several different wallpapers per output.\& This allows you to differentiate between them.\& Most users will probably not have to set anything in this option.\& .PP .RE \fB--no-resize\fR .RS 4 Do not resize the image.\& Equivalent to \fB--resize\fR \fIno\fR.\& .PP If this is set, the image won'\&t be resized, and will be centralized in the middle of the screen instead.\& If it is smaller than the screen'\&s size, it will be padded with the value of \fB--fill_color\fR, below.\& .PP .RE \fB--resize\fR .RS 4 Whether to resize the image and the method by which to resize it.\& .PP Possible values: .RS 4 .PD 0 .IP \(bu 4 \fIno\fR: Do not resize the image .IP \(bu 4 \fIcrop\fR: Resize the image to fill the whole screen, cropping out parts that don'\&t fit .IP \(bu 4 \fIfit\fR: Resize the image to fit inside the screen, preserving the original aspect ratio .IP \(bu 4 \fIstretch\fR: Resize the image to fit inside the screen, without preserving the original aspect ratio .PD .PP .RE Default is \fIcrop\fR.\& .PP .RE \fB--fill-color\fR .RS 4 Which color to fill the padding with when not resizing.\& .PP Default is \fI000000\fR.\& .PP .RE \fB-o\fR, \fB--outputs\fR .RS 4 Comma separated list of outputs to display the image at.\& Use \fBawww query\fR to know which outputs are currently being used.\& .PP If it isn'\&t set, the image is displayed on all outputs.\& .PP .RE \fB-t\fR, \fB--transition-type\fR .RS 4 [Environment Variable $AWWW_TRANSITION] .PP Sets the type of transition.\& Default is \fIsimple\fR, that fades into the new image.\& .PP Possible transitions are: .PP .RE .TS allbox;c c c c c c c c c c c c c c. T{ \fInone\fR T} T{ \fIsimple\fR T} T{ \fIfade\fR T} T{ \fIleft\fR T} T{ \fIright\fR T} T{ \fItop\fR T} T{ \fIbottom\fR T} T{ \fIwipe\fR T} T{ \fIwave\fR T} T{ \fIgrow\fR T} T{ \fIcenter\fR T} T{ \fIany\fR T} T{ \fIouter\fR T} T{ \fIrandom\fR T} .TE .sp 1 .RS 4 \fInone\fR will complete the transition instantly.\& .PP \fIfade\fR is like \fIsimple\fR but uses bezier curves while fading the image, its a more polished looking version of \fIsimple\fR with less artifacts .PP The \fIleft\fR, \fIright\fR, \fItop\fR and \fIbottom\fR options make the transition happen from that position to its opposite in the screen.\& .PP \fIwipe\fR is similar to \fIleft\fR but allows you to specify the angle for transition with the \fB--transition-angle\fR flag.\& .PP \fIwave\fR is similar to \fIwipe\fR but the sweeping line is wavy.\& You can control the "waviness" with \fB--transition-wave\fR.\& .PP \fIgrow\fR causes a growing circle to transition across the screen and allows changing the circle'\&s center position with the \fB--transition-pos\fR flag.\& .PP \fIcenter\fR is an alias to \fIgrow\fR with position set to center of screen.\& .PP \fIany\fR is an alias to \fIgrow\fR with position set to a random point on screen.\& .PP \fIouter\fR is the same as grow but the circle shrinks instead of growing.\& .PP Finally, \fIrandom\fR will select a transition effect at random .PP .RE \fB--transition-step\fR <0-255> .RS 4 [Environment Variable $AWWW_TRANSITION_STEP] .PP How fast the transition approaches the new image.\& .PP The transition logic works by adding or subtracting from the current rgb values until the old image transforms in the new one.\& This controls by how much we add or subtract.\& .PP For example, if pixel A is 000010, and we need it to transition to pixel B, which is 000020, if \fBtransition-step\fR is 2, then in one frame pixel A will turn to 000012, in the next frame to 000014, and so on.\& .PP Larger values will make the transition faster, but more abrupt.\& A value of 255 will always switch to the new image immediately.\& .PP Default is 90.\& If \fBtransition-type\fR is \fIsimple\fR, default is 2.\& .PP .RE \fB--transition-duration\fR .RS 4 [Environment Variable $AWWW_TRANSITION_DURATION] .PP How long the transition takes to complete, in seconds.\& .PP Note this doesn'\&t work with the \fIsimple\fR transition.\& .PP Default is 3.\& .PP .RE \fB--transition-fps\fR .RS 4 [Environment Variable: $AWWW_TRANSITION_FPS] .PP Frame rate for the transition effect.\& .PP Note there is no point in setting this to a value smaller than what your monitor supports.\& .PP Also note this is different from the transition-step.\& That one controls by how much we approach the new image every frame.\& .PP Default is 30.\& .PP .RE \fB--transition-angle\fR .RS 4 [Environment Variable: AWWW_TRANSITION_ANGLE] .PP This is used for the \fIwipe\fR and \fIwave\fR transitions.\& It controls the angle of the wipe.\& .PP Note that the angle is in degrees, where '\&0'\& is right to left and '\&90'\& is top to bottom, and '\&270'\& bottom to top .PP Default is 45.\& .PP .RE \fB--transition-pos\fR .RS 4 [Environment Variable: AWWW_TRANSITION_POS] .PP This is only used for the \fIgrow\fR and \fIouter\fR transitions.\& It controls the center of circle (default is \fIcenter\fR).\& .PP Position values can be given in both percentage values and pixel values: float values are interpreted as percentages and integer values as pixel values.\& Eg.\&: 0.\&5,0.\&5 means 50% of the screen width and 50% of the screen height, while 200,400 means 200 pixels from the left and 400 pixels from the bottom.\& .PP The value can also be an alias which will set the position accordingly: .RE .TS allbox;c c c c c c c c c. T{ \fIcenter\fR T} T{ \fItop\fR T} T{ \fIleft\fR T} T{ \fIright\fR T} T{ \fIbottom\fR T} T{ \fItop-left\fR T} T{ \fItop-right\fR T} T{ \fIbottom-left\fR T} T{ \fIbottom-right\fR T} .TE .sp 1 .RS 4 Default is \fIcenter\fR.\& .PP .RE \fB--invert-y\fR .RS 4 [Environment Variable: AWWW_INVERT_Y] .PP inverts the y position sent in \fBtransition_pos\fR flag .PP .RE \fB--transition-bezier\fR .RS 4 [Environment Variable: AWWW_TRANSITION_BEZIER] .PP Bezier curve to use for the transition animation.\& https://cubic-bezier.\&com is a good website to get these values from.\& .PP eg: 0.\&0,0.\&0,1.\&0,1.\&0 for linear animation .PP Default is .\&54,0,.\&34,.\&99 .PP .RE \fB--transition-wave\fR .RS 4 [Environment Variable: AWWW_TRANSITION_WAVE] .PP Currently only used for \fIwave\fR transition to control the width and height of each wave.\& .PP Default is : 20,20 .PP .RE \fB-h\fR, \fB--help\fR .RS 4 Print help (see a summary with '\&-h'\&) .PP .RE .SH DESCRIPTION Sends an image (or animated gif) for the daemon to display.\& You can also use \fB-\fR to read from stdin instead.\& .PP .SH ABOUT THE CACHE .PP The images sent will be cached at \fI$XDG_CACHE_HOME/awww\fR or \fI$HOME/.\&cache/awww\fR if $XDG_CACHE_HOME does not exist.\& In this directory, we create another directory corresponding to \fBawww\fRs current version number.\& In there, we have files that cache the last displayed image and animation frames for animated wallpapers.\& There is one file per output.\& .PP As mentioned, the cache will keep preprocessed versions of animations.\& So, if you load a large \fBgif\fR, you would only have to pay the price for its processing the first time.\& If you constantly load large \fBgif\fRs, this could cause the cache to get very big.\& You can simply run \fBawww clean-cache\fR if this happens.\& .PP .SH SEE ALSO \fBawww-clear-cache\fR(1) \fBawww-daemon\fR(1) \fBawww-query\fR(1)