warpdotdev / Warp

Warp is a modern, Rust-based terminal with AI built in so you and your team can build great software, faster.
https://warp.dev
Other
21.33k stars 372 forks source link

After issuing a clear screen command (CTRL+L) while using the switch user command (su -), the switch user prompt appears at the bottom of the screen #5169

Open rameshsahoo111 opened 3 months ago

rameshsahoo111 commented 3 months ago

Dupe Check

Describe the bug

After issuing a clear screen command (CTRL+L) while using the switch user command (su -), the switch user prompt appears at the bottom of the screen.

Mac Version: v0.2024.07.16.08.02.stable_03

Normal User Prompt

image

After switching to the root user and issuing clear screen command

image

To reproduce

Expected behavior

switch user prompt must appear in the top of the screen

Screenshots

Normal User Prompt

image

After switching to the root user and issuing clear screen command

image

Operating system

MacOS

Operating system and version

Apple M1 pro - Mac OS 14.5 (23F79)

Shell Version

$ /opt/local/bin/bash --version GNU bash, version 5.2.26(1)-release (aarch64-apple-darwin23.2.0)

Current Warp version

No response

Regression

No, this bug or issue has existed throughout my experience using Warp

Recent working Warp date

No response

Additional context

No response

Does this block you from using Warp daily?

No

Is this a Warp specific issue? (i.e. does it happen in Terminal, iTerm, Kitty, etc.)

Yes, this I confirmed this only happens in Warp, not other terminals.

Warp Internal (ignore): linear-label:b9d78064-c89e-4973-b153-5178a31ee54e

None

rameshsahoo111 commented 3 months ago

The issue issue appeared after using the default bash version provided by MAC. $ bash --version GNU bash, version 3.2.57(1)-release (arm64-apple-darwin23)

acarl005 commented 3 months ago

Hi @rameshsahoo111 thanks for reaching out. The standard "clear" behavior is a little wonky with Warp. You might use cmd-k instead. That tends to work better with Warp's grid model for now.

rameshsahoo111 commented 3 months ago

Hi @acarl005 thanks for your reply. CMD+k works however when I run sudo su - or su -, it creates a single for all sub-commands executed in the su - shell. I believe this defeats purpose of warp isolated command blocks for each command where all other command outputs have their own isolated block without using sudo/su. Can we improve this?

acarl005 commented 3 months ago

Actually that will happen even if you don't press cmd+k. This is something you have to configure in the "subshell" page of our settings. You can get the details here. TL;DR you would add the command sudo su - to this page (don't forget to press Enter after typing the command).

Screenshot 2024-07-24 at 10 59 02
dannyneira commented 3 months ago

@rameshsahoo111 as Andy mentioned, the subshell method is the best way to enable Warp features in the sudo su. This way when you run clear or press CTRL-L it will show the input properly.

rameshsahoo111 commented 3 months ago

Hello @acarl005 @dannyneira , after adding sudo su - in subshell, I still don't get isolated command blocks.

dannyneira commented 3 months ago

@rameshsahoo111 You should warpify the subshell with CTRL-i once you're in sudo su -, which will enable the Warp features.

You can try adding the automatic warpify line to the sudo su profile and it should happen automatically.

# For zsh subshells, add to ~/.zshrc.
printf '\eP$f{"hook": "SourcedRcFileForWarp", "value": { "shell": "zsh"}}\x9c'

# For bash subshells, add to ~/.bashrc or ~/.bash_profile.
printf '\eP$f{"hook": "SourcedRcFileForWarp", "value": { "shell": "bash"}}\x9c'

# For fish subshells, add to ~/.config/fish/config.fish.
if status is-interactive
  printf '\eP$f{"hook": "SourcedRcFileForWarp", "value": { "shell": "fish"}}\x9c'
end

https://github.com/user-attachments/assets/0aa128ab-1590-41ed-a74d-bafa0aa2caa2