diff --git a/README.md b/README.md index 8452dcb6..086dc006 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,9 @@ -
+    
+
 -
+
 
 [SwayFX is also available on the Fedora copr](https://copr.fedorainfracloud.org/coprs/swayfx/swayfx/)
 
+[Join our Discord](https://discord.gg/qsSx397rkh)
+
 ## New Configuration Options
 
 + Window blur:
diff --git a/assets/swayfx_mascot.png b/assets/swayfx_legacy_mascot_1066x600.png
similarity index 100%
rename from assets/swayfx_mascot.png
rename to assets/swayfx_legacy_mascot_1066x600.png
diff --git a/assets/swayfx_mascot.jpg b/assets/swayfx_mascot.jpg
new file mode 100644
index 00000000..da90fb5b
Binary files /dev/null and b/assets/swayfx_mascot.jpg differ
diff --git a/assets/swayfx_mascot_1366x768.png b/assets/swayfx_mascot_1366x768.png
new file mode 100644
index 00000000..778d3bcf
Binary files /dev/null and b/assets/swayfx_mascot_1366x768.png differ
diff --git a/assets/swayfx_mascot_1920x1080.png b/assets/swayfx_mascot_1920x1080.png
new file mode 100644
index 00000000..25df92c9
Binary files /dev/null and b/assets/swayfx_mascot_1920x1080.png differ
diff --git a/assets/swayfx_mascot_3840x2160.png b/assets/swayfx_mascot_3840x2160.png
new file mode 100644
index 00000000..9e5192f8
Binary files /dev/null and b/assets/swayfx_mascot_3840x2160.png differ
diff --git a/assets/swayfx_mascot_4096x4096.png b/assets/swayfx_mascot_4096x4096.png
new file mode 100644
index 00000000..3cf5355a
Binary files /dev/null and b/assets/swayfx_mascot_4096x4096.png differ
diff --git a/assets/swayfx_screenshot.jpg b/assets/swayfx_screenshot.jpg
index 016641cd..7e904898 100644
Binary files a/assets/swayfx_screenshot.jpg and b/assets/swayfx_screenshot.jpg differ
diff --git a/sway/desktop/render.c b/sway/desktop/render.c
index edc80288..afaf4ede 100644
--- a/sway/desktop/render.c
+++ b/sway/desktop/render.c
@@ -359,7 +359,9 @@ static void render_surface_iterator(struct sway_output *output,
 		}
 
 		if (has_alpha) {
-			bool should_optimize_blur = view ? !container_is_floating(view->container) || config->blur_xray : false;
+			bool should_optimize_blur = view ?
+				!container_is_floating_or_child(view->container) || config->blur_xray
+				: false;
 			render_blur(should_optimize_blur, output, output_damage, &dst_box, &opaque_region,
 					deco_data.corner_radius, deco_data.has_titlebar);
 		}
@@ -734,7 +736,7 @@ static void render_saved_view(struct sway_view *view, struct sway_output *output
 				pixman_region32_init(&opaque_region);
 				pixman_region32_union_rect(&opaque_region, &opaque_region, 0, 0, 0, 0);
 
-				bool should_optimize_blur = !container_is_floating(view->container) || config->blur_xray;
+				bool should_optimize_blur = !container_is_floating_or_child(view->container) || config->blur_xray;
 				render_blur(should_optimize_blur, output, damage, &dst_box, &opaque_region,
 						deco_data.corner_radius, deco_data.has_titlebar);
 
diff --git a/sway/tree/root.c b/sway/tree/root.c
index 2c1b96b8..9df6f002 100644
--- a/sway/tree/root.c
+++ b/sway/tree/root.c
@@ -58,12 +58,16 @@ void root_destroy(struct sway_root *root) {
 /* Set minimized state from scratchpad container `show` state */
 static void root_scratchpad_set_minimize(struct sway_container *con, bool minimize) {
 	if (con->view) {
-		struct wlr_foreign_toplevel_handle_v1 *foreign_toplevel = con->view->foreign_toplevel;
-
+#if HAVE_XWAYLAND
 		if (wlr_surface_is_xwayland_surface(con->view->surface)) {
-			struct wlr_xwayland_surface *xsurface = wlr_xwayland_surface_from_wlr_surface(con->view->surface);
+			struct wlr_xwayland_surface *xsurface
+				= wlr_xwayland_surface_from_wlr_surface(con->view->surface);
 			wlr_xwayland_surface_set_minimized(xsurface, minimize);
-		} else if (foreign_toplevel) {
+			return;
+		}
+#endif
+		struct wlr_foreign_toplevel_handle_v1 *foreign_toplevel = NULL;
+		if ((foreign_toplevel = con->view->foreign_toplevel)) {
 			wlr_foreign_toplevel_handle_v1_set_minimized(foreign_toplevel, minimize);
 		}
 	}
-
+
 
 [SwayFX is also available on the Fedora copr](https://copr.fedorainfracloud.org/coprs/swayfx/swayfx/)
 
+[Join our Discord](https://discord.gg/qsSx397rkh)
+
 ## New Configuration Options
 
 + Window blur:
diff --git a/assets/swayfx_mascot.png b/assets/swayfx_legacy_mascot_1066x600.png
similarity index 100%
rename from assets/swayfx_mascot.png
rename to assets/swayfx_legacy_mascot_1066x600.png
diff --git a/assets/swayfx_mascot.jpg b/assets/swayfx_mascot.jpg
new file mode 100644
index 00000000..da90fb5b
Binary files /dev/null and b/assets/swayfx_mascot.jpg differ
diff --git a/assets/swayfx_mascot_1366x768.png b/assets/swayfx_mascot_1366x768.png
new file mode 100644
index 00000000..778d3bcf
Binary files /dev/null and b/assets/swayfx_mascot_1366x768.png differ
diff --git a/assets/swayfx_mascot_1920x1080.png b/assets/swayfx_mascot_1920x1080.png
new file mode 100644
index 00000000..25df92c9
Binary files /dev/null and b/assets/swayfx_mascot_1920x1080.png differ
diff --git a/assets/swayfx_mascot_3840x2160.png b/assets/swayfx_mascot_3840x2160.png
new file mode 100644
index 00000000..9e5192f8
Binary files /dev/null and b/assets/swayfx_mascot_3840x2160.png differ
diff --git a/assets/swayfx_mascot_4096x4096.png b/assets/swayfx_mascot_4096x4096.png
new file mode 100644
index 00000000..3cf5355a
Binary files /dev/null and b/assets/swayfx_mascot_4096x4096.png differ
diff --git a/assets/swayfx_screenshot.jpg b/assets/swayfx_screenshot.jpg
index 016641cd..7e904898 100644
Binary files a/assets/swayfx_screenshot.jpg and b/assets/swayfx_screenshot.jpg differ
diff --git a/sway/desktop/render.c b/sway/desktop/render.c
index edc80288..afaf4ede 100644
--- a/sway/desktop/render.c
+++ b/sway/desktop/render.c
@@ -359,7 +359,9 @@ static void render_surface_iterator(struct sway_output *output,
 		}
 
 		if (has_alpha) {
-			bool should_optimize_blur = view ? !container_is_floating(view->container) || config->blur_xray : false;
+			bool should_optimize_blur = view ?
+				!container_is_floating_or_child(view->container) || config->blur_xray
+				: false;
 			render_blur(should_optimize_blur, output, output_damage, &dst_box, &opaque_region,
 					deco_data.corner_radius, deco_data.has_titlebar);
 		}
@@ -734,7 +736,7 @@ static void render_saved_view(struct sway_view *view, struct sway_output *output
 				pixman_region32_init(&opaque_region);
 				pixman_region32_union_rect(&opaque_region, &opaque_region, 0, 0, 0, 0);
 
-				bool should_optimize_blur = !container_is_floating(view->container) || config->blur_xray;
+				bool should_optimize_blur = !container_is_floating_or_child(view->container) || config->blur_xray;
 				render_blur(should_optimize_blur, output, damage, &dst_box, &opaque_region,
 						deco_data.corner_radius, deco_data.has_titlebar);
 
diff --git a/sway/tree/root.c b/sway/tree/root.c
index 2c1b96b8..9df6f002 100644
--- a/sway/tree/root.c
+++ b/sway/tree/root.c
@@ -58,12 +58,16 @@ void root_destroy(struct sway_root *root) {
 /* Set minimized state from scratchpad container `show` state */
 static void root_scratchpad_set_minimize(struct sway_container *con, bool minimize) {
 	if (con->view) {
-		struct wlr_foreign_toplevel_handle_v1 *foreign_toplevel = con->view->foreign_toplevel;
-
+#if HAVE_XWAYLAND
 		if (wlr_surface_is_xwayland_surface(con->view->surface)) {
-			struct wlr_xwayland_surface *xsurface = wlr_xwayland_surface_from_wlr_surface(con->view->surface);
+			struct wlr_xwayland_surface *xsurface
+				= wlr_xwayland_surface_from_wlr_surface(con->view->surface);
 			wlr_xwayland_surface_set_minimized(xsurface, minimize);
-		} else if (foreign_toplevel) {
+			return;
+		}
+#endif
+		struct wlr_foreign_toplevel_handle_v1 *foreign_toplevel = NULL;
+		if ((foreign_toplevel = con->view->foreign_toplevel)) {
 			wlr_foreign_toplevel_handle_v1_set_minimized(foreign_toplevel, minimize);
 		}
 	}