summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* man: fix background color input formatManuel Stoeckl2022-07-031-1/+1
|
* Replace xdg_output with wl_output v4Simon Ser2022-06-033-102/+57
|
* build: stop using sh for scdocSimon Ser2022-03-111-7/+6
|
* build: stop using join_pathsSimon Ser2022-03-111-8/+7
|
* readme: drop mention of xdg-shell requirementSimon Ser2022-03-101-1/+0
| | | | We don't actually need xdg-shell support.
* Check wl_display_roundtrip return valueSimon Ser2022-03-101-1/+4
| | | | References: https://github.com/swaywm/swaybg/issues/35
* build: bump version to 1.1.1Simon Ser2022-03-101-1/+1
|
* Fix memory leak when using image tile modeManuel Stoeckl2022-03-051-0/+1
| | | | | | | cairo_pattern_t and cairo_surface_t are both reference counted; before this change, `pattern` being leaked kept alive an extra reference to the image to which it referred, thereby leaking the image as well.
* build: set check arg in run_command callSimon Ser2022-03-051-2/+2
| | | | | | | | | Fixes the following Meson warning: WARNING: You should add the boolean check kwarg to the run_command call. It currently defaults to false, but it will default to true in future releases of meson. See also: https://github.com/mesonbuild/meson/issues/9300
* Add editorconfigJason Nader2021-11-191-0/+22
|
* Only render a new frame when the buffer size changesManuel Stoeckl2021-10-011-1/+25
| | | | | | | | | | | The contents of the buffer associated to an output depend only on the output config (which does not change at runtime), and the buffer dimensions. When the compositor changes the output scale, it often sends a configure event which exactly compensates for the scale change, so that the size of the buffer needed for the surface remains the same. Thus no new frame needs to be rendered.
* build: bump to v1.1Simon Ser2021-07-191-1/+1
|
* build: mark build-time deps as nativeSimon Ser2021-07-191-5/+5
|
* build: find wayland-scanner with pkg-configSimon Ser2021-07-191-9/+5
|
* build: use add_project_arguments instead of configuration_dataSimon Ser2021-07-193-8/+5
| | | | No need to include config.h anymore.
* build: don't align dep equal signsSimon Ser2021-07-191-2/+2
|
* readme: mark git dep as optionalSimon Ser2021-07-191-1/+1
|
* readme: append / to dirname in compilation instructionsSimon Ser2021-07-191-3/+3
| | | | | Makes it more obvious that build/ is a directory, not a sub-command.
* readme: cleanup dep listSimon Ser2021-07-191-4/+2
|
* readme: update PGP keySimon Ser2021-07-191-1/+1
|
* ci: add .build.ymlSimon Ser2021-07-191-0/+17
|
* Load images on every frame renderManuel Stoeckl2021-07-191-16/+39
| | | | | | | | | | | | | | This change keeps the full-size cairo_surface_t objects unloaded until they are needed to produce buffers for the outputs' surfaces. This can slow down background rendering when output scales or sizes change, or when a new output is created; in exchange, it significantly reduces the amount of memory that swaybg must retain while it is not rendering something. To reduce peak memory usage, dirty outputs are redrawn drawn in batches grouped by which image they use. This ensures at most one image is loaded at a time.
* Create/destroy a new shm buffer per frameManuel Stoeckl2021-07-193-60/+13
| | | | | | | | | Caching these actually increased memory usage after startup; compositors like Sway tend to release the buffer on receipt (since they have already copied the shm buffer to an OpenGL equivalent) so the shm buffer is no longer needed after being used. Outputs (when not in nested mode) are generally only configured/drawn once, so there is no point in caching data for the future.
* Deduplicate loads of the same image fileManuel Stoeckl2021-07-191-14/+64
| | | | | This reduces memory usage and startup time when different configs load the same image.
* React only to most recent configure eventManuel Stoeckl2021-06-221-4/+19
| | | | | | | When outputs are dynamically resized, as can happen when sway is run nested with its wayland or x11 backend, layer shell programs receive a stream of configure events. In such cases, only rendering a frame for the last configure event avoids wasted computation.
* cairo: Replace <cairo/cairo.h> by <cairo.h>Issam E. Maghni2021-05-107-10/+10
| | | | Same as https://github.com/swaywm/sway/pull/6262
* Fix typoElyes HAOUAS2021-04-121-1/+1
| | | | Signed-off-by: Elyes HAOUAS <ehaouas@noos.fr>
* Made the link in the manpage redirect to the swaybg project instead of sway.Seppe Soete2019-08-091-1/+1
|
* readme: fix url to the releasesLuca Weiss2019-05-041-1/+1
|
* Default to all outputs when no output specifiedCaleb Bassi2019-04-261-14/+4
| | | | | | | Before, `--output "*"` had to be specified on the cli before any appearance options if trying to configure all outputs. However, the manpage states that all outputs would be used by default if none were specified.
* meson: drop unused libxkbcommonJan Beich2019-04-262-3/+0
|
* Split swaybg into a standalone projectDrew DeVault2019-04-2516-26/+1091
|
* swaybg: add manpageSimon Ser2019-04-131-0/+44
|
* swaybg: one instance for all outputsBrian Ashworth2019-04-041-127/+325
| | | | | | | | | This makes it so there will only be one swaybg instance running instead of one per output. swaybg's cli has been changed to a xrandr like interface, where you select an output and then change properties for that output and then select another output and repeat. This also makes it so swaybg is only killed and respawned when a background changes or when reloading.
* Removed unused wlroots dependency for sway(bg|bar|msg|nag)M Stoeckl2019-01-211-3/+1
| | | | Also remove direct libm dependency where unused.
* Replace wlr_log with sway_logM Stoeckl2019-01-211-7/+7
| | | | | | | | | | | | | This commit mostly duplicates the wlr_log functions, although with a sway_* prefix. (This is very similar to PR #2009.) However, the logging function no longer needs to be replaceable, so sway_log_init's second argument is used to set the exit callback for sway_abort. wlr_log_init is still invoked in sway/main.c This commit makes it easier to remove the wlroots dependency for the helper programs swaymsg, swaybg, swaybar, and swaynag.
* meson: remove rpath optionsemersion2019-01-181-1/+0
|
* swaybg: use wl_surface_damage_bufferemersion2019-01-171-2/+2
|
* swaybg: use output names instead of output indexesemersion2019-01-171-33/+108
|
* Sway clients: Exit gracefully when compositor is unavailableRyan Dwyer2018-10-151-1/+6
|
* Add support for installing binaries with DT_RPATHArkadiusz Hiler2018-09-301-0/+1
| | | | | | | | | | | | | | It's better to use DT_RPATH dynamic section of the elf binary to store the paths of libraries to load instead of overwriting LD_LIBRARY_PATH for the whole environment, causing surprises. This solution is much more transparent and perfectly suitable for running contained installations of wayland/wlroots/sway. The code unsetting the LD_LIBRARY_PATH/LD_PRELOAD was also deleted as it's a placebo security at best - we should trust the execution path that leads us to running sway, and it's way too late to care about those variables since we already started executing our compositor, thus we would be compromised anyway.
* swaybg: fix increasingly smaller bg on hotplugBrian Ashworth2018-09-231-0/+4
| | | | | | | | | | | | | | | | render_background_image alters the scale that cairo uses. Depending on the image mode, resolution, and image size, this may cause the surface to be rendered increasingly smaller. By calling cairo_save and cairo_restore, any changes to the cairo settings by the function are not kept as a side effect. The surface that swaybg uses is also now cleared before rendering a frame. This is needed to avoid artifacts on resolution or scale changes with certain combinations of image modes, resolutions, and image sizes. This was also part of the increasingly smaller background visual since it made it so it was not obvious the region being rendered to was smaller and caused an increasing number of smaller images to be appear for each hotplug.
* Allow a fallback color to be specified for swaybgBrian Ashworth2018-08-081-1/+12
| | | | | | This allows for a color to be set when the wallpaper does not fill the entire output. If specified, the fallback color is also used when the image path is inaccessible.
* swaybar/bg: Fix crash on DPMS offminus2018-07-141-0/+3
| | | | | When turning off displays via DPMS, swaybar and swaybg still tried to render, but did not get a valid buffer, causing them to crash.
* Update for swaywm/wlroots#1126emersion2018-07-091-3/+3
|
* swaybg: remove assertions with side-effectsemersion2018-05-071-5/+8
|
* Revert "Install swaybar and swaybg under /usr/lib/sway"Rostislav Pehlivanov2018-05-061-2/+1
| | | | This reverts commit f2c209c299889ad965ac995049704b1c46176c6d.
* Revert "Make the LIBDIR path configurable"Rostislav Pehlivanov2018-05-061-1/+1
| | | | This reverts commit 1670b46bf6e56d37e69ab0fa32c6799e83397020.
* Revert "Meson: Replace option `instlibdir` with `libexecdir`"Rostislav Pehlivanov2018-05-061-1/+1
| | | | This reverts commit 830c4ef74c00dbe448da46cdbc576178abc5728e.
* Meson: Replace option `instlibdir` with `libexecdir`Nicolas Braud-Santoni2018-05-051-1/+1
| | | | | Derive a value from it, called `rundir` rather than writing join_paths(libexecdir, 'sway') all over the place.