summaryrefslogtreecommitdiff
path: root/bin/colourlist
diff options
context:
space:
mode:
authorDavid Wührer <def@gmx.at>2024-05-18 21:04:34 +0200
committerDavid Wührer <def@gmx.at>2024-05-18 21:04:34 +0200
commit77cfffee6177fb0421fa0fce15d6a1875bde4816 (patch)
tree251428cdd482ea50cfb019dbd3c3bafd79d2fd14 /bin/colourlist
parent75b23ce1ff0daab363725a2a5755ea80bbeaa68e (diff)
manuals, sum-down, radix
Diffstat (limited to 'bin/colourlist')
-rwxr-xr-xbin/colourlist26
1 files changed, 26 insertions, 0 deletions
diff --git a/bin/colourlist b/bin/colourlist
new file mode 100755
index 0000000..49b8442
--- /dev/null
+++ b/bin/colourlist
@@ -0,0 +1,26 @@
+#!/usr/bin/python3
+
+import tkinter
+from tkinter.constants import *
+
+window = tkinter.Tk ()
+window.wm_title ('X11 Colours')
+
+canvas = tkinter.Canvas (window)
+frame = tkinter.Frame (canvas)
+scrollbar = tkinter.Scrollbar (window, command=canvas.yview)
+canvas.configure (yscrollcommand=scrollbar.set)
+
+scrollbar.pack(fill=Y, expand=1, side=RIGHT)
+canvas.pack (fill=BOTH, expand=1, side=LEFT)
+canvas.create_window ((0,0), window=frame, anchor=NW)
+frame.bind ("<Configure>", lambda e: canvas.configure (scrollregion=canvas.bbox ('all')))
+
+with open ("/etc/X11/rgb.txt") as txt:
+ colours = txt.readlines ()
+
+for r,g,b,name in ((int(l[0]),int(l[1]),int(l[2]),l[3]) for l in (colour.rstrip ().split (maxsplit=3) for colour in colours[1:])):
+ # Each colour band should be weighted: Half red is not as bright as half green.
+ tkinter.Label (frame, text=f'{name} ({r+b+g})', bg=f'#{r:02x}{g:02x}{b:02x}',fg='black' if r+g+b > 381 else 'white').pack (fill=X, expand=1)
+
+window.mainloop ()