]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
profile/systemd-osc-context: fold emitting cwd= field into __systemd_osc_context_common
authorRasmus Villemoes <rv@rasmusvillemoes.dk>
Tue, 21 Jul 2026 08:32:27 +0000 (10:32 +0200)
committerRasmus Villemoes <rv@rasmusvillemoes.dk>
Tue, 21 Jul 2026 09:06:30 +0000 (11:06 +0200)
Now that the %s specifier used to embed the common fields in the output appears
immediately before the cwd= field, we can just emit that cwd= field as part of
the common fields.

profile.d/80-systemd-osc-context.sh

index 8eff01cee7da69a5d4cbc27400720e90d0b25855..6b4aa348cfffc994e46e5f73156d75e65f7a6f57 100644 (file)
@@ -53,6 +53,7 @@ __systemd_osc_context_common() {
         printf ";machineid=%.36s" "$(</etc/machine-id)"
     fi
     printf ";user=%.255s;hostname=%.255s;bootid=%.36s;pid=%.20s" "$USER" "$HOSTNAME" "$(</proc/sys/kernel/random/boot_id)" "$$"
+    printf ";cwd=%.255s" "$(__systemd_osc_context_escape "$PWD")"
 }
 
 __systemd_osc_context_precmdline() {
@@ -75,7 +76,7 @@ __systemd_osc_context_precmdline() {
     fi
 
     # Create or update the shell session
-    printf "\033]3008;start=%.64s;type=shell%s;cwd=%.255s\033\\" "$systemd_osc_context_shell_id" "$(__systemd_osc_context_common)" "$(__systemd_osc_context_escape "$PWD")"
+    printf "\033]3008;start=%.64s;type=shell%s\033\\" "$systemd_osc_context_shell_id" "$(__systemd_osc_context_common)"
 
     # Prepare cmd id for next command
     read -r systemd_osc_context_cmd_id </proc/sys/kernel/random/uuid
@@ -85,7 +86,7 @@ __systemd_osc_context_ps0() {
     # Skip if PROMPT_COMMAND= is cleared manually or by other profiles.
     [ -n "${systemd_osc_context_cmd_id:-}" ] || return
 
-    printf "\033]3008;start=%.64s;type=command%s;cwd=%.255s\033\\" "$systemd_osc_context_cmd_id" "$(__systemd_osc_context_common)" "$(__systemd_osc_context_escape "$PWD")"
+    printf "\033]3008;start=%.64s;type=command%s\033\\" "$systemd_osc_context_cmd_id" "$(__systemd_osc_context_common)"
 }
 
 if [ -n "${BASH_VERSION:-}" ]; then