diff --git a/.github/workflows/AUR_publish.yml b/.github/workflows/AUR_publish.yml deleted file mode 100644 index 2b768c5a..00000000 --- a/.github/workflows/AUR_publish.yml +++ /dev/null @@ -1,56 +0,0 @@ -name: Package for the AUR - -on: - release: - types: [published] - - # Allows you to run this workflow manually from the Actions tab - workflow_dispatch: -jobs: - aur-publish-stable: - runs-on: ubuntu-latest - steps: - - name: Check out sources - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - name: Publish AUR Stable package - uses: ulises-jeremias/github-actions-aur-publish@v1 - with: - pkgname: swayfx - pkgbuild: ./build-scripts/aur/PKGBUILD - assets: | - ./build-scripts/aur/sway-portals.conf - ./build-scripts/aur/50-systemd-user.conf - ./build-scripts/aur/sway.install - commit_username: ${{ secrets.AUR_USERNAME }} - commit_email: ${{ secrets.AUR_EMAIL }} - ssh_private_key: ${{ secrets.AUR_SSH_PRIVATE_KEY }} - commit_message: Update AUR package - ssh_keyscan_types: rsa,dsa,ecdsa,ed25519 - update_pkgver: false - - aur-publish-git: - runs-on: ubuntu-latest - steps: - - name: Check out sources - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - name: Publish AUR -git package - uses: ulises-jeremias/github-actions-aur-publish@v1 - with: - pkgname: swayfx-git - pkgbuild: ./build-scripts/aur-git/PKGBUILD - assets: | - ./build-scripts/aur/sway-portals.conf - ./build-scripts/aur-git/50-systemd-user.conf - ./build-scripts/aur-git/sway.install - commit_username: ${{ secrets.AUR_USERNAME }} - commit_email: ${{ secrets.AUR_EMAIL }} - ssh_private_key: ${{ secrets.AUR_SSH_PRIVATE_KEY }} - commit_message: Update AUR package - ssh_keyscan_types: rsa,dsa,ecdsa,ed25519 - update_pkgver: false diff --git a/README.md b/README.md index 4e2919a1..cc7f02d2 100644 --- a/README.md +++ b/README.md @@ -38,17 +38,17 @@ Sway is an incredible window manager, and certainly one of the most well establi - `blur_xray enable|disable`: this will set floating windows to blur based on the background, not the windows below. You probably want to set this to `disable` :) - `blur_passes ` - `blur_radius ` - - `blur_noise ` (**Note**: git only, percentage of noise to add) - - `blur_brightness ` (**Note**: git only, percentage of original brightness to adjust) - - `blur_contrast ` (**Note**: git only, percentage of original contrast to adjust) - - `blur_saturation ` (**Note**: git only, percentage of original saturation to adjust) + - `blur_noise ` + - `blur_brightness ` + - `blur_contrast ` + - `blur_saturation ` + Corner radius: `corner_radius ` + Window shadows: - `shadows enable|disable` - `shadows_on_csd enable|disable` (**Note**: The shadow might not fit some windows) - `shadow_blur_radius ` - `shadow_color ex, #0000007F` - - `shadow_offset ` (**Note**: git only) + - `shadow_offset ` - `shadow_inactive_color ex, #0000007F` + LayerShell effects (to blur panels / notifications etc): - `layer_effects ` diff --git a/flake.nix b/flake.nix index 21314d67..ab9a3871 100644 --- a/flake.nix +++ b/flake.nix @@ -14,7 +14,7 @@ let mkPackage = pkgs: { swayfx-unwrapped = - (pkgs.swayfx-unwrapped.override { wlroots_0_16 = pkgs.wlroots_0_17; }).overrideAttrs + (pkgs.swayfx-unwrapped.override { wlroots = pkgs.wlroots_0_17; }).overrideAttrs (old: { version = "0.4.0-git"; src = pkgs.lib.cleanSource ./.; diff --git a/meson.build b/meson.build index 2ab72e13..d5086804 100644 --- a/meson.build +++ b/meson.build @@ -1,7 +1,7 @@ project( 'sway', 'c', - version: '0.3.3', + version: '0.4', license: 'MIT', meson_version: '>=0.60.0', default_options: [ diff --git a/sway/desktop/render.c b/sway/desktop/render.c index 6ba51ce8..2a29844a 100644 --- a/sway/desktop/render.c +++ b/sway/desktop/render.c @@ -1604,9 +1604,6 @@ void output_render(struct fx_render_context *ctx) { struct sway_output *output = ctx->output; pixman_region32_t *damage = ctx->output_damage; - pixman_region32_t transformed_damage; - pixman_region32_init(&transformed_damage); - struct fx_effect_framebuffers *effect_fbos = ctx->pass->fx_effect_framebuffers; struct sway_workspace *workspace = output->current.active_workspace; @@ -1621,7 +1618,7 @@ void output_render(struct fx_render_context *ctx) { if (!pixman_region32_not_empty(damage)) { // Output isn't damaged but needs buffer swap - goto renderer_end; + return; } if (debug.damage == DAMAGE_HIGHLIGHT) { @@ -1632,6 +1629,9 @@ void output_render(struct fx_render_context *ctx) { }, }); } + + pixman_region32_t transformed_damage; + pixman_region32_init(&transformed_damage); pixman_region32_copy(&transformed_damage, damage); transform_output_damage(&transformed_damage, wlr_output); @@ -1727,17 +1727,9 @@ void output_render(struct fx_render_context *ctx) { // copy the surrounding content where the blur would display artifacts // and draw it above the artifacts - // ensure that the damage isn't expanding past the output's size - int32_t damage_width = damage->extents.x2 - damage->extents.x1; - int32_t damage_height = damage->extents.y2 - damage->extents.y1; - if (damage_width > output_width || damage_height > output_height) { - pixman_region32_intersect_rect(damage, damage, - 0, 0, output_width, output_height); - } else { - // Expand the original damage to compensate for surrounding - // blurred views to avoid sharp edges between damage regions - wlr_region_expand(damage, damage, config_get_blur_size()); - } + // Expand the original damage to compensate for surrounding + // blurred views to avoid sharp edges between damage regions + wlr_region_expand(damage, damage, config_get_blur_size()); pixman_region32_t extended_damage; pixman_region32_init(&extended_damage); @@ -1755,6 +1747,10 @@ void output_render(struct fx_render_context *ctx) { pixman_region32_union(damage, damage, &extended_damage); pixman_region32_fini(&extended_damage); + // Copy the new extended damage into the transformed damage + pixman_region32_copy(&transformed_damage, damage); + transform_output_damage(&transformed_damage, wlr_output); + // Capture the padding pixels before blur for later use fx_renderer_read_to_buffer(ctx->pass, &effect_fbos->blur_padding_region, effect_fbos->blur_saved_pixels_buffer, diff --git a/sway/server.c b/sway/server.c index e7b5d796..5a0ac0a5 100644 --- a/sway/server.c +++ b/sway/server.c @@ -209,11 +209,6 @@ bool server_init(struct sway_server *server) { return false; } - if (!server->backend) { - sway_log(SWAY_ERROR, "Unable to create backend"); - return false; - } - server->renderer = fx_renderer_create(server->backend); if (!server->renderer) { sway_log(SWAY_ERROR, "Failed to create fx_renderer");