diff --git a/scripts/.local/bin/floating b/scripts/.local/bin/floating
new file mode 100755
index 0000000000000000000000000000000000000000..f105e0c70d3c1a2dde7aa4df4c5458ac4b98ee75
--- /dev/null
+++ b/scripts/.local/bin/floating
@@ -0,0 +1,18 @@
+#!/usr/bin/env bash
+
+$@ &
+pid=$!
+
+swaymsg -t subscribe -m '[ "window" ]' \
+ | jq --unbuffered --argjson pid "$pid" '.container | select(.pid == $pid) | .id' \
+ | xargs -I '@' -- swaymsg '[ con_id=@ ] floating enable' &
+
+subscription=$!
+
+echo Going into wait state
+
+# Wait for our process to close
+tail --pid=$pid -f /dev/null
+
+echo Killing subscription
+kill $subscription