mirror of
https://github.com/StepanovPlaton/dotfiles.git
synced 2026-04-03 20:30:46 +04:00
050125
This commit is contained in:
108
.scripts/create_telegram_theme.py
Executable file
108
.scripts/create_telegram_theme.py
Executable 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()
|
||||
Reference in New Issue
Block a user