Prompt
(layout updates) |
m (update a bit) |
||
Line 31: | Line 31: | ||
** http://ft.bewatermyfriend.org/comp/zsh/functions/prompt_ft_setup.html |
** http://ft.bewatermyfriend.org/comp/zsh/functions/prompt_ft_setup.html |
||
*** [http://bewatermyfriend.org/media/vcs_info0.png example of vcs_info] |
*** [http://bewatermyfriend.org/media/vcs_info0.png example of vcs_info] |
||
+ | ** note comment from screwtape: http://identi.ca/conversation/31704527#notice-31817077 |
||
* active group when not default |
* active group when not default |
||
+ | * UID=0 indication (technically simple, but I prefer a more obvious change for my root user prompt. I don't use it, but it wont hurt... right? :) |
||
+ | * username - this is not currently included for space reasons. I know my username because I'm seeing *my prompt*. I tend to leave the default prompt set for other users on the system (including root) |
||
+ | |||
== features suggested to me, but will NOT be implemented == |
== features suggested to me, but will NOT be implemented == |
||
− | note: some of these were clearly suggested in jest, whilst others are common in other prompt configs |
+ | note: some of these were clearly suggested in jest |
− | * UID=0 indication (technically simple, but I prefer a more obvious change for my root user prompt. |
+ | * http://www.facebook.com/#!/nemothorx?v=wall&story_fbid=121814377837169&ref=mf |
− | * username - this is not included mainly for space reasons. I know my username because I'm seeing *my prompt*. I tend to leave the default prompt set for other users on the system (including root) |
+ | ** Free disk, highest mem and CPU process, length of current prompt! -- Norgus (facebook) |
+ | ** current Dow, weather and TV listings -- Julian (facebook) |
||
Revision as of 11:37, 12 May 2010
|
As a commandline junkie, my prompt is important. It is a key element to my interface.
It needs to be both informative and terse (I can't stand 2line prompts for eg)
I have used ZSH as my shell of preference since roughly the turn of the century. (previously: bash). Part of the incentive to switch was the prompt interface features found in zsh that were not in bash at the time. (my memory has right-aligned-prompt as notable, but I'm sure there were more reasons than just that ;)
The prompt I use dates it's heritage back to an old dos (specifically: 4DOS) prompt that I setup in... 1994, for a guess.
Features currently implemented
- last job exit status (invisible when zero)
- host:path in network friendly (ish) format
- path shortening to last three components, plus subtle visual indication when this occurs (deliminating colon changes from host colour to directory colour)
- this shortening balances path context needs with space limitations. and is why the preceeding 'network friendly' format is "ish" :)
- path colourisation to indicate whether $PWD is RW or not (not usually means RO, but may also mean 'directory does not exist')
- count of background jobs (invisible if zero)
- ^ and $ reminder mnemonic for regex start/end line matching (I have a dyslexia about this!)
- live time and load average (load gets dynamic colourisation also, but is invisible below threshold (set to 0.3 for me)
- for values of "live" that = "20 second refresh"
- this refresh ensures that an abandoned prompt will keep-alive a remote shell over dodgy NAT :)
- current tty
featured under consideration
these have been suggested, but not yet implemented. Or maybe I wont implement them - but I haven't decided yet
- per-host auto-colourisation
- vcs_info (I would probably replace tty info with this, with a colourisation to help the glancing eye notice)
- active group when not default
- UID=0 indication (technically simple, but I prefer a more obvious change for my root user prompt. I don't use it, but it wont hurt... right? :)
- username - this is not currently included for space reasons. I know my username because I'm seeing *my prompt*. I tend to leave the default prompt set for other users on the system (including root)
features suggested to me, but will NOT be implemented
note: some of these were clearly suggested in jest
- http://www.facebook.com/#!/nemothorx?v=wall&story_fbid=121814377837169&ref=mf
- Free disk, highest mem and CPU process, length of current prompt! -- Norgus (facebook)
- current Dow, weather and TV listings -- Julian (facebook)
Configuration
here is my prompt config
http://wiki.thorx.net/~nemo/s/zsh_ps1.txt
warning: it's full of comments and code cruft, both from old revisions, and also future plans.