This commit is contained in:
2026-01-05 10:57:27 +04:00
parent 842e1c94f2
commit cc03ff37c4
25 changed files with 373 additions and 114 deletions

108
.scripts/create_telegram_theme.py Executable file
View File

@@ -0,0 +1,108 @@
import json
import os
import sys
def create_pro_dark_theme():
if len(sys.argv) < 2:
print("Использование: python3 gen_telegram.py /путь/к/colors.json")
return
colors_path = os.path.expanduser(sys.argv[1])
if not os.path.exists(colors_path):
print(f"Файл '{colors_path}' не найден.")
return
try:
with open(colors_path, "r") as f:
wal = json.load(f)
c = wal["colors"]
bg = wal["special"]["background"]
fg = wal["special"]["foreground"]
# Настройки для максимальной темноты
real_bg = bg
darker_bg = c["color0"] # Самый темный из палитры
selection_bg = c["color8"] # Цвет для выделения (серый)
accent = c["color3"] # Основной акцент
# Генерация расширенной темы
theme_content = f"""
// Основное окно
windowBg: {real_bg};
windowFg: {fg};
windowBgOver: {selection_bg};
windowBgRipple: {darker_bg};
windowFgOver: {fg};
windowSubTextFg: {c['color7']};
windowBoldFg: {fg};
windowActiveTextFg: {accent};
// --- ВАШИ СООБЩЕНИЯ (Исходящие) ---
// Делаем их темными, почти как фон, но с заметной границей или чуть светлее
msgOutBg: {darker_bg};
msgOutBgSelected: {selection_bg};
msgOutTxtFg: {fg};
msgOutServiceFg: {accent};
msgOutShadow: #00000000;
// Входящие сообщения
msgInBg: {darker_bg};
msgInBgSelected: {selection_bg};
msgInTxtFg: {fg};
msgInShadow: #00000000;
// --- МЕНЮ И ВЫПАДАЮЩИЕ СПИСКИ ---
// Исправляем отсутствие выделения в меню
menuBg: {real_bg};
menuBgOver: {selection_bg};
menuBgRipple: {darker_bg};
menuFg: {fg};
menuFgOver: {c['color15']};
menuIconFg: {c['color7']};
menuIconFgOver: {accent};
// Списки (выбор в настройках, контакты)
listBgOver: {selection_bg};
listFgOver: {fg};
// Боковая панель (Список чатов)
dialogsBg: {real_bg};
dialogsBgOver: {selection_bg};
dialogsBgActive: {selection_bg};
dialogsNameFg: {fg};
dialogsTextFg: {c['color7']};
dialogsUnreadBg: {accent};
dialogsUnreadFg: {real_bg};
// Поле ввода
historyComposeAreaBg: {real_bg};
historyComposeIconFg: {c['color7']};
historyComposeIconFgOver: {accent};
// Скроллбар
scrollBarBg: {darker_bg}80;
scrollBarBgOver: {selection_bg};
// Кнопки
activeButtonBg: {accent};
activeButtonBgOver: {c['color12']};
activeButtonFg: {real_bg};
"""
output_path = os.path.expanduser(
"~/.config/colorschemes/telegram.tdesktop-theme"
)
with open(output_path, "w") as f:
f.write(theme_content)
print(f"Тема обновлена: {output_path}")
except Exception as e:
print(f"Ошибка: {e}")
if __name__ == "__main__":
create_pro_dark_theme()