Source

dotfiles /

Filename Size Date modified Message
.config
docs
fonts
geany/filedefs
187 B
4.5 KB
1.2 KB
1.3 KB
381 B
2.1 KB
175 B
2.2 KB

Stuff worth explaining

.bash_prompt

This file provides prompt_command function that is executed by the shell just before displaying PS1 (which the function sets). The result is a colored shell prompt.

Note that the clock is not real-time. It updates after your shell command finishes (e.g. after you press enter). That's sufficient if you want to know how long your db backup took, for example.

Exit codes

https://bitbucket.org/engored/dotfiles/raw/tip/docs/prompt-exit.png

Virtualenv

https://bitbucket.org/engored/dotfiles/raw/tip/docs/prompt-venv.png

Mercurial prompt

There are two implementations of mercurial prompt: using a separate mercurial extension hg-prompt, and a fallback implementation in pure bash.

The screenshot shows the former in action:

https://bitbucket.org/engored/dotfiles/raw/tip/docs/prompt-hg.png

Pure bash implementation currently lags behind in features.

Git prompt

https://bitbucket.org/engored/dotfiles/raw/tip/docs/prompt-git.png

Root prompt

https://bitbucket.org/engored/dotfiles/raw/tip/docs/prompt-root.png

Mercurial and Git support is disabled for root, thus two colored dashes.

.bash_aliases

This file contains aliases. Currently, the only alias that is not exactly self-explanatory is whatsopen. In short, it's an alternative to sockstat from FreeBSD. It shows listening (TCP) applications, like netstat -ntlp, but with a handy difference. It additionally shows users, so instead of this:

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:5984          0.0.0.0:*               LISTEN      30617/beam.smp

you get this:

COMMAND     PID    USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
beam.smp  30617 couchdb   16u  IPv4 7652760      0t0  TCP 127.0.0.1:5984 (LISTEN)

See? It's much easier to guess what beam.smp is when you know couchdb owns it. And it's much, much easier to understand what python2 is doing there when its owner is my-django-site-user or something.