Welcome, guest | Sign In | My Account | Store | Cart

This is just a simple colour bar and combined greyscale generator for standard text mode Python...

It relies on the _magic_ of the ANSI Escape sequences to work and does mess with the terminal colours but restores the colours back to the defaults...

See the code for the machines tested on. It might need the colours adjusting for some terminals but I am sure that is not beyond the average coder...

Written so that anyone can see how it works.

To hide the cursor the command "tput" is assumed to be available, if not, try "setterm -cursor off" and "setterm -cursor on" instead...

Enjoy...

Bazza, G0LCU...

Python, 89 lines
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# Colour_Bar.py
#
# Linux, (UNIX?), only. Issued as Public Domain and you may do with this as you please...
#
# This is a useful bit of simple code to generate, (in a default, 80 x 24 text window), half
# of the window with a colourbar and the other half with a greyscale. A simple piece of
# testgear of yesteryear that would be of full use inside a Console as opposed to a Terminal...
#
# To hide the cursor it assumes the "tput" command is available...
# If not then try "setterm -cursor off" in its place, see below...
#
# IMPORTANT NOTE:- The Esc sequence colours generated do NOT conform entirely to ISO 6429 standards.
# On exiting the whole window is reset back to its orginal state and cleared with a simple
# (C) line and another line printed as proof...
# A bonus section is added printing the ANSI and (NON) ISO colours, IF, available. Just scroll up and
# down to see these colours and attributes and then press Ctrl-C to finally quit.
#
# To run, type from the any version of the Python prompt......
#
# >>> exec(open("/full/path/to/Colour_Bar.py").read())<CR>
#
# ......and away you go! ;o)
#
# Tested on default Terminals in PCLinuxOS 2009 using Python 2.5.2 and 3.2.2, Debian 6.0.0 using
# Python 2.6.6, 2.7.1 and 3.1.3 and Mac OSX 10.7.5 using Python 2.5.6, 2.6.7 and 2.7.1...
#
# $VER: Colour_Bar.py_Version_0.00.10_(C)2012_B.Walker_G0LCU.
#
# Written in such a way so that anyone can see and understand how it works...
#
# Enjoy finding simple solutions to often very difficult problems...

# Ensure this works on _any_ Version of Python...
import os
import sys
if sys.version[0]=="3": raw_input=input

# Do a simple clear screen, and ensure white on black.
for n in range(0,32,1): print("\033[0;37;40m                                                                                ")
print("\033[0;0f")

print("$VER: Colour_Bar.py_Version_0.00.10_Public_Domain_2012_B.Walker_G0LCU.\n")
print("A colour bar and greyscale generator for standard text mode Python.\n")

raw_input("Press <CR> to display and <CR> again to continue:- ")

# Print 12 lines of colour bars...
for n in range(0,12,1):
	print("\033[0;97;107m          \033[0;93;103m          \033[0;36;46m          \033[0;32;42m          \033[0;35;45m          \033[0;31;41m          \033[0;44;44m          \033[0m")
# Print 11 lines of grey scales...
for n in range(0,11,1):
	print("\033[0;30;40m                    \033[0;90;100m                    \033[0;37;47m                    \033[0;97;107m                    ")
# The last grey scale line pseudo-hiding the cursor by shifting it to the light grey section...
print("\033[0;30;40m                    \033[0;90;100m                    \033[0;37;47m                    \033[0;0f")

# Hide and restore the cursor as required.
n=os.system("tput civis")
raw_input("\033[0;0f\033[0;90;100m")
n=os.system("tput cnorm")

# Do a simple clear screen again...
# ...and reset the cursor towards the top left hand corner...
for n in range(0,32,1): print("\033[0m                                                                                ")
print("\033[0;0f")

print("$VER: Colour_Bar.py_Version_0.00.10_Public_Domain_2012_B.Walker_G0LCU.\n")
print("Finally a colour listing for your reference for your Terminal emulator.\n")
print("Just scroll up and down to view...\n")
raw_input("Press <CR> to continue:- ")

print("\nANSI standard...")
print("Various _font_ modes and et cetera...")
for d in range(0,10,1): print("\\033["+str(d)+"m = \033[%dmColour display...\033[0m" % d)

print("\nANSI AND ISO 6429 standard colours...")
print("Foreground colours...")
for d in range(30,38,1): print("\\033["+str(d)+"m = \033[%dmColour display...\033[0m" % d)
print("\nBackground colours...")
for d in range(40,48,1): print("\\033["+str(d)+"m = \033[%dmColour display...\033[0m" % d)

print("\nNON-ANSI and NON-ISO 6429 standard colours...")
print("High intensity foreground colours...")
for d in range(90,98,1): print("\\033["+str(d)+"m = \033[%dmColour display...\033[0m" % d)
print("\nHigh intensity background colours...")
for d in range(100,108,1): print("\\033["+str(d)+"m = \033[%dmColour display...\033[0m" % d)

print("\nPress Ctrl-C to quit...")

while 1: pass