[PR #854] [CLOSED] feat(linux): улучшения трея - статус-кружок, уведомления, автозапуск, диалог обновления #67

Closed
opened 2026-07-19 11:34:34 +03:00 by mirror-bot · 0 comments

📋 Pull Request Information

Original PR: https://github.com/Flowseal/tg-ws-proxy/pull/854
Author: @f4rceful
Created: 5/15/2026
Status: ❌ Closed

Base: main ← Head: feat/linux-tray-improvements


📝 Commits (10+)

  • 417befc feat: add status dot infrastructure to tray icon
  • f8f363e feat: add status dot on tray icon and crash notification
  • b336537 feat: add live tooltip with speed and DC ping
  • 3031ee8 refactor: simplify balloon notification
  • 9c798b5 feat: improve crash notification and fix speed counter on restart
  • 612455b feat: add status dot, notify-send and live tooltip for Linux
  • f23ed0a fix: open tg:// URL via xdg-open on Linux with clipboard fallback
  • 2b45bb4 fix: use notify-send instead of tkinter dialog for clipboard fallback
  • b17eba4 refactor: replace tkinter dialogs with notify-send and zenity on Linux
  • 2f96d86 fix: pass app icon to zenity --window-icon

📊 Changes

8 files changed (+492 additions, -41 deletions)

View changed files

➕ assets/dot_error.png (+0 -0)
➕ assets/dot_idle.png (+0 -0)
➕ assets/dot_ok.png (+0 -0)
📝 docs/README.linux.md (+14 -0)
📝 docs/TrayConfig.md (+1 -1)
📝 linux.py (+350 -37)
📝 packaging/linux.spec (+1 -2)
📝 utils/tray_common.py (+126 -1)

📄 Description

Портировал улучшения из #829 на Linux и добавил несколько Linux-специфичных вещей, которых не хватало

Что добавил

  • Статус-точка на иконке трея - красная/жёлтая/зелёная через StatusManager, обновляется каждую секунду
    image

  • Уведомления через notify-send при падении прокси - отдельные сообщения для "порт занят" и общего краша
    Снимок экрана от 2026-05-15 23-01-36
    Снимок экрана от 2026-05-15 23-01-40
    Снимок экрана от 2026-05-15 23-01-44
    Снимок экрана от 2026-05-15 23-01-27

  • Открытие ссылки в Telegram через xdg-open вместо просто копирования в буфер; буфер - только как fallback

  • Замена tkinter-диалогов: _show_info/_show_error → notify-send, _ask_yes_no → zenity --question с иконкой приложения (если zenity не установлен — fallback на notify-send)

  • Автозапуск через XDG .desktop файл в ~/.config/autostart/ — управляется чекбоксом в настройках

  • Диалог обновления на CTK с кнопками "Страница" / "Закрыть"

  • Фикс скролла в настройках на Linux/Wayland - CTK не задаёт yscrollincrement для Linux, из-за чего одно движение колёсика листало всё до конца


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/Flowseal/tg-ws-proxy/pull/854 **Author:** [@f4rceful](https://github.com/f4rceful) **Created:** 5/15/2026 **Status:** ❌ Closed **Base:** `main` ← **Head:** `feat/linux-tray-improvements` --- ### 📝 Commits (10+) - [`417befc`](https://github.com/Flowseal/tg-ws-proxy/commit/417befc6fda78cb5944c4be63f97bc0ecbed7787) feat: add status dot infrastructure to tray icon - [`f8f363e`](https://github.com/Flowseal/tg-ws-proxy/commit/f8f363e6b24d2bf1ce6b87b96d5284c15411b836) feat: add status dot on tray icon and crash notification - [`b336537`](https://github.com/Flowseal/tg-ws-proxy/commit/b336537ff8ed095582d91db05126e258f59547d9) feat: add live tooltip with speed and DC ping - [`3031ee8`](https://github.com/Flowseal/tg-ws-proxy/commit/3031ee8d70d27a25b875b66332eee8ddd27c40d4) refactor: simplify balloon notification - [`9c798b5`](https://github.com/Flowseal/tg-ws-proxy/commit/9c798b56752ece968ce54c073a9ebd2e36960edd) feat: improve crash notification and fix speed counter on restart - [`612455b`](https://github.com/Flowseal/tg-ws-proxy/commit/612455b79ff9b592afda09ca3c6406f2c1499b9b) feat: add status dot, notify-send and live tooltip for Linux - [`f23ed0a`](https://github.com/Flowseal/tg-ws-proxy/commit/f23ed0a2f96c17b6e962e17b1d25b65cb73279b6) fix: open tg:// URL via xdg-open on Linux with clipboard fallback - [`2b45bb4`](https://github.com/Flowseal/tg-ws-proxy/commit/2b45bb48b96acd7e1085edd351f4009ca08ad628) fix: use notify-send instead of tkinter dialog for clipboard fallback - [`b17eba4`](https://github.com/Flowseal/tg-ws-proxy/commit/b17eba436004424c054021e32ddfe05c1b5d2b2b) refactor: replace tkinter dialogs with notify-send and zenity on Linux - [`2f96d86`](https://github.com/Flowseal/tg-ws-proxy/commit/2f96d86612aaeb7b314f1897f978e11feaaa3f72) fix: pass app icon to zenity --window-icon ### 📊 Changes **8 files changed** (+492 additions, -41 deletions) <details> <summary>View changed files</summary> ➕ `assets/dot_error.png` (+0 -0) ➕ `assets/dot_idle.png` (+0 -0) ➕ `assets/dot_ok.png` (+0 -0) 📝 `docs/README.linux.md` (+14 -0) 📝 `docs/TrayConfig.md` (+1 -1) 📝 `linux.py` (+350 -37) 📝 `packaging/linux.spec` (+1 -2) 📝 `utils/tray_common.py` (+126 -1) </details> ### 📄 Description Портировал улучшения из #829 на Linux и добавил несколько Linux-специфичных вещей, которых не хватало ## Что добавил - **Статус-точка на иконке трея** - красная/жёлтая/зелёная через `StatusManager`, обновляется каждую секунду <img width="273" height="41" alt="image" src="https://github.com/user-attachments/assets/7afa0946-b290-4370-963d-d9f4e2c3795d" /> - **Уведомления через `notify-send`** при падении прокси - отдельные сообщения для "порт занят" и общего краша <img width="617" height="191" alt="Снимок экрана от 2026-05-15 23-01-36" src="https://github.com/user-attachments/assets/cedd5c16-adcd-4b0c-b3d0-517655044e00" /> <img width="617" height="191" alt="Снимок экрана от 2026-05-15 23-01-40" src="https://github.com/user-attachments/assets/36b4193e-8b48-485a-ba4c-958896137bab" /> <img width="617" height="191" alt="Снимок экрана от 2026-05-15 23-01-44" src="https://github.com/user-attachments/assets/c287ae24-3846-44f5-9ef9-06f38156ec3d" /> <img width="617" height="191" alt="Снимок экрана от 2026-05-15 23-01-27" src="https://github.com/user-attachments/assets/0ddd2c8e-8a83-4ac0-b5c9-83dcf76ee1f8" /> - **Открытие ссылки в Telegram через `xdg-open`** вместо просто копирования в буфер; буфер - только как fallback - **Замена tkinter-диалогов**: `_show_info`/`_show_error` → `notify-send`, `_ask_yes_no` → `zenity --question` с иконкой приложения (если zenity не установлен — fallback на notify-send) - **Автозапуск** через XDG `.desktop` файл в `~/.config/autostart/` — управляется чекбоксом в настройках - **Диалог обновления** на CTK с кнопками "Страница" / "Закрыть" - **Фикс скролла в настройках на Linux/Wayland** - CTK не задаёт `yscrollincrement` для Linux, из-за чего одно движение колёсика листало всё до конца --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
mirror-bot added the pull-request label 2026-07-19 11:34:34 +03:00
mirror-bot changed title from [PR #854] [CLOSED] feat(linux): улучшения трея - статус-кружок, уведомления, автозапуск, диалог обновления to [PR #854] feat(linux): улучшения трея - статус-кружок, уведомления, автозапуск, диалог обновления 2026-07-20 04:10:51 +03:00
mirror-bot changed title from [PR #854] feat(linux): улучшения трея - статус-кружок, уведомления, автозапуск, диалог обновления to [PR #854] [CLOSED] feat(linux): улучшения трея - статус-кружок, уведомления, автозапуск, диалог обновления 2026-07-20 23:14:51 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Utilities/tg-ws-proxy#67