How to determine a terminal’s background color?
There’s an xterm control sequence for this: \e]11;?\a (\e and \a are the ESC and BEL characters, respectively.) Xterm-compatible terminals should reply with the same sequence, with the question mark replaced by an X11 color name, e.g. rgb:0000/0000/0000 for black.