Date: Tue, 07 Dec 2004 17:30:18 -0700 From: Danny MacMillan <flowers@users.sourceforge.net> To: Mark Jayson Alvarez <jay2xra@yahoo.com> Cc: freebsd-questions@freebsd.org Subject: Re: This is a cool shell prompt question Message-ID: <20041208003018.GA834@procyon.nekulturny.org> In-Reply-To: <20041124092452.34756.qmail@web51603.mail.yahoo.com> References: <20041124092452.34756.qmail@web51603.mail.yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Nov 24, 2004 at 02:24:51AM -0700, Mark Jayson Alvarez wrote: > Good day! > I'm just wondrin if its possible for me to run > applications at boot time but on another terminal. I > find it cool to have a huge digital clock (grdc) > running on background so that I can just shift to > another terminal whenever I want to know the time. > Actually, all I really want is a clock that is > continuously ticking whatever I may be doing(in > terminal window). I've already learned how to set my > prompt to multiple lines and also displaying my > current working directory. But now, I want it even > more informative displaying a ticking digital clock in > my shell prompt like the one i'm seeing in my kde > system tray right now. > Is it possible?. Thanks. This is a job for GNU Screen! Actually, this is the least of screen's abilities, but it does give you exactly what you want (plus more!) and it doesn't depend on what shell or other program you are running in the terminal. 1. Install GNU Screen ( /usr/ports/misc/screen ) 2. Create ~/.screenrc containing the following: # Delta applied to /usr/local/etc/screenrc startup_message off escape ^\\\ defscrollback 2048 hardstatus on hardstatus alwayslastline hardstatus string "%{.bW}%-w%{.rW}%n %t%{-}%+w %=%{..G} %H %{..Y} %Y/%m/%d %0c:%s " nethack on msgwait 1 msgminwait 1 Most of this is optional; these are the settings I use. The most important thing for the ticking clock are the hardstatus lines; the longest has almost certainly wrapped. 3. Now when you log in, your first command should be something like: screen -S main -xRR ( man screen for alternative approaches ) Now use your computer as you ordinarily would. You'll have to 'exit' twice to log out; the first exits screen and the second exits the spawning shell. Or, you can: 4. Run screen automagically in every interactive shell. How exactly to do this depends on your shell and other configuration; I do it by putting the following at the very end of my .zshrc ( I use the Z Shell, and have no .zlogin or .zlogout ): if [ ! $TERM = "screen" ]; then exec screen -S main -xRR fi Now screen is login-shelly; it runs automagically in every terminal session and you will automagically be logged out when screen exits. There are implications to having it run this way (take note of the 'exec' above). Anyway, there are heaps of information available regarding screen, google for 'gnu screen' to find it. -- Danny
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20041208003018.GA834>