https://github.com/olegegoism/symo
SyMo system monitoring and power management application with a tray icon.
https://github.com/olegegoism/symo
app application cpu disk keyboard linux linux-app log logging monitoring network os power ram real-time startup-app system system-monitoring ubuntu work
Last synced: 10 days ago
JSON representation
SyMo system monitoring and power management application with a tray icon.
- Host: GitHub
- URL: https://github.com/olegegoism/symo
- Owner: OlegEgoism
- Created: 2025-05-12T17:47:03.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-09-13T19:32:27.000Z (10 months ago)
- Last Synced: 2025-09-13T21:28:08.797Z (10 months ago)
- Topics: app, application, cpu, disk, keyboard, linux, linux-app, log, logging, monitoring, network, os, power, ram, real-time, startup-app, system, system-monitoring, ubuntu, work
- Language: Python
- Homepage:
- Size: 3.07 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# SyMo ([RU](README_RU.md))

SyMo is a lightweight GTK Linux tray app for monitoring system metrics, controlling power actions, and sending notifications to Telegram/Discord.
## Minimal Project Description
- Tray monitor for Linux desktop (CPU/RAM/Swap/Disk/Network/Uptime).
- Quick power actions: shutdown, reboot, lock, timer.
- Notifications from Discord, Telegram.
## Features
- Live system monitoring:
- CPU load and temperature;
- RAM and swap usage;
- disk usage;
- network speed (download/upload);
- uptime;
- keyboard and mouse activity counters.
- Configurable tray menu:
- show/hide menu items;
- reorder menu items by drag-and-drop in Settings.
- Per-metric graph windows (CPU, RAM, Swap, Disk, Network, Keyboard, Mouse).
- Interactive controls in graph windows:
- mouse wheel: horizontal zoom;
- left mouse button drag: horizontal pan;
- mouse hover: tooltip near cursor with timestamp and metric values for the nearest point.
- Power controls:
- shutdown;
- reboot;
- lock screen;
- delayed execution with scheduler/timer.
- Notifications:
- Telegram bot integration;
- Discord webhook integration.
- Telegram bot commands:
- `/status` — current system status;
- `/screenshot` — take a desktop screenshot and send it to Telegram.
- Multi-language interface.
## Supported UI Languages
- 🇷🇺 Russian (`ru`)
- 🇬🇧 English (`en`)
- 🇨🇳 Chinese (`cn`)
- 🇩🇪 German (`de`)
- 🇮🇹 Italian (`it`)
- 🇪🇸 Spanish (`es`)
- 🇹🇷 Turkish (`tr`)
- 🇫🇷 French (`fr`)
## Repository Structure
```text
SyMo/
├─ app.py # thin launcher
├─ app_core/ # core application logic
│ ├─ app.py # runtime, tray, menu, graphs, updates
│ ├─ dialogs.py # settings dialog
│ ├─ power_control.py # power commands and timers
│ ├─ system_usage.py # system metrics collection
│ ├─ click_tracker.py # keyboard/mouse counters
│ ├─ localization.py # i18n helpers
│ ├─ language.py # translation dictionaries
│ ├─ constants.py # constants and config/log paths
│ └─ logging_utils.py # log rotation helpers
├─ notifications/
│ ├─ telegram.py # Telegram notifier + command polling
│ └─ discord.py # Discord webhook notifier
├─ tests/ # pytest suites
├─ build.sh # Nuitka build (standalone + onefile)
├─ uninstall-symo.sh # removes artifacts/desktop files/binaries
├─ requirements.txt
├─ logo.png
├─ img.png
└─ README.md
```
## Requirements
- Linux desktop environment with GTK3 + AppIndicator (or Ayatana AppIndicator).
- Python 3.10+ (recommended).
### Python dependencies
```bash
pip install -r requirements.txt
```
### Run in Development Mode
```bash
python3 app.py
```
### Install dependencies (dev)
```bash
sudo apt update
sudo apt install -y \
python3-gi python3-gi-cairo gir1.2-gtk-3.0 gir1.2-appindicator3-0.1 \
gnome-shell-extension-appindicator \
build-essential libgirepository1.0-dev gir1.2-glib-2.0 \
gobject-introspection pkg-config libcairo2-dev \
gnome-screenshot scrot grim imagemagick
pip install -r requirements.txt
```
### Install as desktop application
Run:
```bash
chmod +x build.sh
./build.sh
```
Check output:
```bash
ls -la SyMo-bundle
```
## Uninstall
```bash
chmod +x uninstall-symo.sh
./uninstall-symo.sh
```
## Tests
```bash
pytest -q
```
## Contact
- Author: [OlegEgoism](https://github.com/OlegEgoism)
- Repository:
- Telegram: [@OlegEgoism](https://t.me/OlegEgoism)
- Email: olegpustovalov220@gmail.com

## Video on YouTube:
[](https://youtube.com/shorts/X1tlQ4XuLSM?feature=share)
[](https://youtu.be/zvdoo9JA88k)