Commit Graph

63 Commits

Author SHA1 Message Date
Brian Ashworth 75e7bd24cc swaybg: one instance for all outputs
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.
2019-04-04 20:08:21 +03:00
M Stoeckl 1211a81aad Replace wlr_log with sway_log
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.
2019-01-21 12:59:42 +01:00
emersion 808d0e1c51
swaybg: use wl_surface_damage_buffer 2019-01-17 11:14:36 +01:00
emersion 000b313985
swaybg: use output names instead of output indexes 2019-01-17 11:13:10 +01:00
Ryan Dwyer 32ba8154b8 Sway clients: Exit gracefully when compositor is unavailable 2018-10-15 21:57:59 +10:00
Brian Ashworth 9ea99a5d36 swaybg: fix increasingly smaller bg on hotplug
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.
2018-09-23 15:17:36 -04:00
Brian Ashworth 43d1ffc9dd Allow a fallback color to be specified for swaybg
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.
2018-08-08 15:37:06 -04:00
minus c73a40555f swaybar/bg: Fix crash on DPMS off
When turning off displays via DPMS, swaybar and swaybg still tried to
render, but did not get a valid buffer, causing them to crash.
2018-07-14 00:04:02 +02:00
emersion 63b4bf5000
Update for swaywm/wlroots#1126 2018-07-09 22:54:30 +01:00
emersion a3ecfcfc2c
swaybg: remove assertions with side-effects 2018-05-07 17:26:21 +01:00
Drew DeVault b32bf595ae Initial swaylock port 2018-04-04 18:47:48 -04:00
Drew DeVault a28730edee Move swaybg background rendering into common/
swaylock will use it too
2018-04-04 18:47:48 -04:00
Drew DeVault 294a33458f
Merge pull request #1710 from emersion/swaybg-empty-input-region
swaybg: set an empty input region
2018-04-03 18:57:02 -04:00
emersion 6929124cef
swaybg: rename w{width,height} to buffer_{width,height} 2018-04-03 16:56:12 -04:00
emersion 9b4f8637a9
swaybg: add HiDPI support 2018-04-03 16:47:06 -04:00
emersion 1382b66217
swaybg: set an empty input region 2018-04-03 15:23:51 -04:00
Drew DeVault 6907a2f2cf Set exclusive zone to -1 for swaybg 2018-03-30 18:29:43 -04:00
Drew DeVault d39bda76c4 Address review comments 2018-03-28 14:43:23 -04:00
Drew DeVault 653853062f Refactor configure/ack configure/commit flow 2018-03-28 14:25:19 -04:00
Drew DeVault 17e39f6291 s/scaling_mode/background_mode/g
Since it now includes SOLID_COLOR this is a more appropriate name.
2018-03-28 14:25:19 -04:00
Drew DeVault f018d30fe4 Implement image backgrounds 2018-03-28 14:25:19 -04:00
Drew DeVault 632bb948b7 Add solid-color rendering to swaybg 2018-03-28 14:25:19 -04:00
Drew DeVault eccf0b2598 Add client protocols and swaybg skeleton 2018-03-28 14:25:19 -04:00
Linus Heckemann d06ec90a9d swaybg: check that background can be loaded 2017-07-03 22:02:49 +01:00
Drew DeVault b2226ac655 Add client support for HiDPI
This adds HiDPI support to swaybar, swaybg, and swaylock.
2016-09-05 11:36:48 -04:00
Zandr Martin 98aa59fdda
implement solid color rendering for swaybg 2016-07-30 18:50:13 -05:00
Drew DeVault 6d971af5c3 Turn swaybg into a shell surface 2016-07-17 11:55:05 -04:00
David Eklov 6d94f77457 Revert "swaybg: Make swaybg a shell surface"
This reverts commit 99bda4afe2.

It turned out that code to handle swaybg as shell surface was broken so we don't
want to make swaybg a shell surface until this has been fixed.
2016-07-14 17:15:31 -05:00
David Eklov 99bda4afe2 swaybg: Make swaybg a shell surface 2016-07-04 21:59:47 -05:00
Mikkel Oscar Lyderik 5e253fdd9a Correctly exit sway on errors.
Calling `exit` in sway_terminate prevents sway from correctly shutting
down (freeing data, cleanly terminating the ipc server, etc.).

A better way is to exit straight away if the failure occurs before
`wlc_run` and use sway_abort as usual if it occur when wlc is running.
2016-02-26 09:42:21 +01:00
progandy 21014e606b make gdk-pixbuf dependency really optional 2015-12-20 17:37:52 +01:00
Drew DeVault d2e9c68640 Copy+paste swaybg code to swaylock for testing 2015-12-10 08:18:48 -05:00
Drew DeVault 067ac6cfa7 Discover swaylock extension in registry 2015-12-10 08:05:27 -05:00
Drew DeVault 080a263785 Refactor gdk pixbuf code into shared client lib 2015-12-10 07:57:46 -05:00
Drew DeVault 155f5d2d3e Style enforcement 2015-12-08 07:10:17 -05:00
progandy 3fdf4f811f swaybg: load more image formats with gdk-pixbuf2
travis: added gdk-pixbuf2 dependency
2015-12-07 23:31:44 +01:00
Drew DeVault 60e76cf932 Add swaybar basics
This should make the bar open and appear as the panel, once sway
supports panels. Right now it crashes sway!
2015-11-29 10:58:18 -05:00
Christoph Gysin 3ba33321de Use macros for exit values 2015-11-28 23:50:10 +02:00
Drew DeVault e0cb8284fb Rearrange logging headers
Ref #270
2015-11-28 08:49:02 -05:00
Drew DeVault 9b62a98f3e Style fixes in swaybg
CONTRIBUTING.md's code example is sourced from this file, so I updated
it as well.
2015-11-27 16:16:54 -05:00
Drew DeVault 5ae359279b Fix build warnings 2015-11-27 09:42:24 -05:00
Drew DeVault d1012c497b Style enforcement 2015-11-27 08:59:21 -05:00
Drew DeVault f8f0bcd4d3 Don't use the _t postfix on non-typedef structures 2015-11-27 08:52:59 -05:00
Christoph Gysin be3fae148b swaybg: implement scaling mode "fit" 2015-11-25 22:32:02 +02:00
Christoph Gysin 8630bc3752 swaybg: implement scaling mode "tile" 2015-11-25 22:31:39 +02:00
Christoph Gysin 621062f18d swaybg: implement scaling mode "center" 2015-11-25 22:31:35 +02:00
Christoph Gysin 81a87ec7a7 swaybg: implement scaling mode "fill" 2015-11-25 22:29:49 +02:00
Christoph Gysin 904983c375 swaybg: implement scaling mode "stretch" 2015-11-25 21:36:48 +02:00
Christoph Gysin 504ac84cbc swaybg: check for exact number of arguments 2015-11-25 21:00:23 +02:00
Christoph Gysin 78c2e29328 swaybg: make argv const 2015-11-25 21:00:23 +02:00