ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I've been playing around with bash variables like PROMPT_COMMAND and PS1, trying to get the command being executed to be displayed as the Konsole window title. The problem is, both of the above parameters are printed after the command is finished. If I'm running a program that doesn't finish straight away, I'd like the window title to display some info about it. Can this be done?
Distribution: Solaris 11.4, Oracle Linux, Mint, Debian/WSL
Posts: 9,789
Rep:
This seems to me the expected behaviour.
Your prompt command is retrieving the last command stored in history, but at the time it is retrieved, the command just executed is not yet there.
What you really want is a way for the shell to know the next command to come, which obviously it cannot guess.
You could achieve that by using a wrapper around the real commands.
Distribution: Solaris 11.4, Oracle Linux, Mint, Debian/WSL
Posts: 9,789
Rep:
You should call the wrapper instead of the command, passing it the real command to execute.
One way to achieve that would be to have a custom directory in the PATH, where all commands requiring a feedback present as a link to a shell script that set the window title, clear the PATH prefix and call the real command.
The script itself would be something like this, assuming it is in /wrapper/<commands>
Distribution: Solaris 11.4, Oracle Linux, Mint, Debian/WSL
Posts: 9,789
Rep:
You'll need to patch the shell for that, and the tricky part would be to make sure only the topmost command is catch, and not all the internal sub commands.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.