Sat, 31 Dec 2022 16:27:49 +0100
Updated copyright for 2023.
# -*- coding: utf-8 -*- # Copyright (c) 2020 - 2023 Detlev Offenbach <detlev@die-offenbachs.de> # """ Module implementing functions to work with ANSI escape sequences for colors. """ from PyQt6.QtGui import QBrush, QColor # ANSI Colors (see https://en.wikipedia.org/wiki/ANSI_escape_code) _AnsiColorSchemes = { "Windows 7": { 0: QBrush(QColor(0, 0, 0)), 1: QBrush(QColor(128, 0, 0)), 2: QBrush(QColor(0, 128, 0)), 3: QBrush(QColor(128, 128, 0)), 4: QBrush(QColor(0, 0, 128)), 5: QBrush(QColor(128, 0, 128)), 6: QBrush(QColor(0, 128, 128)), 7: QBrush(QColor(192, 192, 192)), }, "Windows 10": { 0: QBrush(QColor(12, 12, 12)), 1: QBrush(QColor(197, 15, 31)), 2: QBrush(QColor(19, 161, 14)), 3: QBrush(QColor(193, 156, 0)), 4: QBrush(QColor(0, 55, 218)), 5: QBrush(QColor(136, 23, 152)), 6: QBrush(QColor(58, 150, 221)), 7: QBrush(QColor(204, 204, 204)), }, "PuTTY": { 0: QBrush(QColor(0, 0, 0)), 1: QBrush(QColor(187, 0, 0)), 2: QBrush(QColor(0, 187, 0)), 3: QBrush(QColor(187, 187, 0)), 4: QBrush(QColor(0, 0, 187)), 5: QBrush(QColor(187, 0, 187)), 6: QBrush(QColor(0, 187, 187)), 7: QBrush(QColor(187, 187, 187)), }, "xterm": { 0: QBrush(QColor(0, 0, 0)), 1: QBrush(QColor(205, 0, 0)), 2: QBrush(QColor(0, 205, 0)), 3: QBrush(QColor(205, 205, 0)), 4: QBrush(QColor(0, 0, 238)), 5: QBrush(QColor(205, 0, 205)), 6: QBrush(QColor(0, 205, 205)), 7: QBrush(QColor(229, 229, 229)), }, "Ubuntu": { 0: QBrush(QColor(1, 1, 1)), 1: QBrush(QColor(222, 56, 43)), 2: QBrush(QColor(57, 181, 74)), 3: QBrush(QColor(255, 199, 6)), 4: QBrush(QColor(0, 11, 184)), 5: QBrush(QColor(118, 38, 113)), 6: QBrush(QColor(44, 181, 233)), 7: QBrush(QColor(204, 204, 204)), }, "Ubuntu (dark)": { 0: QBrush(QColor(96, 96, 96)), 1: QBrush(QColor(235, 58, 45)), 2: QBrush(QColor(57, 181, 74)), 3: QBrush(QColor(255, 199, 29)), 4: QBrush(QColor(25, 56, 230)), 5: QBrush(QColor(200, 64, 193)), 6: QBrush(QColor(48, 200, 255)), 7: QBrush(QColor(204, 204, 204)), }, "Breeze (dark)": { 0: QBrush(QColor(35, 38, 39)), 1: QBrush(QColor(237, 21, 21)), 2: QBrush(QColor(17, 209, 22)), 3: QBrush(QColor(246, 116, 0)), 4: QBrush(QColor(29, 153, 243)), 5: QBrush(QColor(155, 89, 182)), 6: QBrush(QColor(26, 188, 156)), 7: QBrush(QColor(252, 252, 252)), }, } def getAvailableColorSchemes(): """ Function to get a list of available color schemes. @return list containing the names of the supported color schemes @rtype list of str """ return list(_AnsiColorSchemes.keys()) def getColor(scheme, color): """ Function to get the brush for a given scheme and color. @param scheme name of the color scheme @type str @param color ANSI color code @type int @return brush for the given parameters or None in case of error @rtype QBrush or None """ try: return _AnsiColorSchemes[scheme][color] except KeyError: return None