a3d06007a75db564b951739cb6ad6369bacf116a
[profile.git] / opt / bin / ucolour
1 #!/bin/bash
2 #
3 # ucolour: Set urxvt (or terminal which understands the same escape sequences)
4 #          colours.
5 # Usage: ucolour option <colour> [option <colour> ...]
6 # Options: -b   Set background.
7 #          -B   Set highlight background.
8 #          -c   Set cursor.
9 #          -d   Set border.
10 #          -f   Set foreground.
11 #          -F   Set highlight foreground.
12 #          -m   Set mouse.
13 # Notes: Border defaults to background.
14 #
15
16 BG=
17 FG=
18 bg=
19 bd=
20 fg=
21 cu=
22 mo=
23 tmux_prefix=
24 while getopts ":B:F:b:c:d:f:m:" opt; do
25   case $opt in
26     B) BG=$OPTARG;;
27     F) FG=$OPTARG;;
28     b) bg=$OPTARG;;
29     c) cu=$OPTARG;;
30     d) bd=$OPTARG;;
31     f) fg=$OPTARG;;
32     m) mo=$OPTARG;;
33   esac
34 done
35 shift $((OPTIND-1))
36
37 [ -n "$bg" -a -z "$bd" ] && bd=$bg
38 if [ -z "$BG$FG$bd$bg$cu$fg$mo" ]; then
39   echo >&2 "Usage: ucolour option <colour> [option <colour> ...]"
40   echo >&2 "Options: -b   Set background."
41   echo >&2 "         -B   Set highlight background."
42   echo >&2 "         -c   Set cursor."
43   echo >&2 "         -d   Set border."
44   echo >&2 "         -f   Set foreground."
45   echo >&2 "         -F   Set highlight foreground."
46   echo >&2 "         -m   Set mouse."
47   echo >&2 "Notes: Border defaults to background."
48   exit 1
49 fi
50
51 [ -n "$TMUX" ] && tmux_prefix="\033Ptmux;\033"
52 [ -n "$BG" ] && echo -en "$tmux_prefix\033]17;$BG\007"
53 [ -n "$FG" ] && echo -en "$tmux_prefix\033]19;$FG\007"
54 [ -n "$bg" ] && echo -en "$tmux_prefix\033]11;$bg\007"
55 [ -n "$bd" ] && echo -en "$tmux_prefix\033]708;$bd\007"
56 [ -n "$cu" ] && echo -en "$tmux_prefix\033]12;$cu\007"
57 [ -n "$fg" ] && echo -en "$tmux_prefix\033]10;$fg\007"
58 [ -n "$mo" ] && echo -en "$tmux_prefix\033]13;$mo\007"
59 exit 0