https://github.com/toxblh/monic
https://github.com/toxblh/monic
Last synced: 10 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/toxblh/monic
- Owner: Toxblh
- Created: 2025-07-02T17:25:33.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-07-03T13:28:16.000Z (about 1 year ago)
- Last Synced: 2025-07-03T14:41:51.821Z (about 1 year ago)
- Language: Python
- Size: 222 KB
- Stars: 6
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Monitor Control π₯οΈ
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠ°ΠΌΠΈ ΡΠ΅ΡΠ΅Π· ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ ΡΡΠ΅ΠΉ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΏΠ»Π°Π²Π½ΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ.
## ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ:
- π Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΠΊΠΎΡΡΡΡ Ρ ΠΏΠ»Π°Π²Π½ΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠ΅ΠΉ
- π ΠΠΎΠ½ΡΡΠΎΠ»Ρ Π³ΡΠΎΠΌΠΊΠΎΡΡΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ
Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠΎΠ²
- π ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ² Π²Ρ
ΠΎΠ΄Π°
- πΊ ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ
ΠΌΠΎΠ½ΠΈΡΠΎΡΠΎΠ²
- π¨ Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΌ ΡΡΠ΅Π΅
## β¨ ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ
- π **Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΠΊΠΎΡΡΡΡ** Ρ ΠΏΠ»Π°Π²Π½ΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠ΅ΠΉ (0-100%)
- π **Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π³ΡΠΎΠΌΠΊΠΎΡΡΡΡ** Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ
Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠΎΠ² ΠΌΠΎΠ½ΠΈΡΠΎΡΠ°
- π **ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ² Π²Ρ
ΠΎΠ΄Π°** (HDMI, DisplayPort, USB-C)
- π¬ **ΠΠ»Π°Π²Π½Π°Ρ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ** ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΠΊΠΎΡΡΠΈ
- π **ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅** ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠ°Ρ
- πΊ **ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ
ΠΌΠΎΠ½ΠΈΡΠΎΡΠΎΠ²**
- π¨ **Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ** Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΌ ΡΡΠ΅Π΅
- π **ΠΡΡΡΡΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ** Π΄Π»Ρ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ
Π½Π°ΡΡΡΠΎΠ΅ΠΊ

## π Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ
- **ΠΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°**: Linux Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ X11/Wayland
- **Python**: 3.7+
- **ΠΠΎΠ½ΠΈΡΠΎΡ**: ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° DDC/CI ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°
- **Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ ΡΡΠ΅ΠΉ**: GNOME, KDE, ΠΈΠ»ΠΈ Π΄ΡΡΠ³Π°Ρ DE Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ system tray
## ΠΡΡΡΡΡΠΉ ΡΡΠ°ΡΡ Π½Π° Alt Linux
```
git clone https://github.com/toxblh/Monic.git
cd Monic
./install.sh
# Π‘ΡΠ°Π²ΠΈΠΌ pip
sudo apt-get install pip
# Π Π²ΡΠ΄Π°ΡΠΌ Π΄ΠΎΡΡΡΠΏ Π½Π° ΡΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΈΠ½ΠΎΠΉ i2c
sudo mkdir -p /etc/modules-load.d; echo i2c-dev | sudo tee /etc/modules-load.d/i2c-dev.conf
sudo groupadd i2c
sudo chown :i2c /dev/i2c-*
sudo usermod -aG i2c $USER
echo 'KERNEL=="i2c-[0-9]*", GROUP="i2c"' | sudo tee -a /etc/udev/rules.d/10-i2c.rules
sudo udevadm control --reload-rules
sudo udevadm trigger
# ΠΠ΅ΡΠ²ΡΠΉ Π·Π°ΠΏΡΡΠΊ Ρ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ (Π΄ΠΎΠ»Π³ΠΈΠΉ), Π΄Π°Π»Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ· ΠΌΠ΅Π½Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
~/.local/share/monitor-control/run_monitor_control.sh
```
## π οΈ Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
### 1. ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ
```bash
git clone https://github.com/toxblh/Monic.git
cd Monic
```
### 2. Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ
```bash
pip install -r requirements.txt
```
### 3. ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΌΠΎΠ½ΠΈΡΠΎΡΠ°
Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ DDC/CI Π²ΠΊΠ»ΡΡΠ΅Π½ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ
Π²Π°ΡΠ΅Π³ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠ°:
- ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ Π² ΠΌΠ΅Π½Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠ°
- ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ ΡΠ°Π·Π΄Π΅Π» "ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ" ΠΈΠ»ΠΈ "Advanced"
- ΠΠΊΠ»ΡΡΠΈΡΠ΅ "DDC/CI" ΠΈΠ»ΠΈ "DDC Command Interface"
## π ΠΠ°ΠΏΡΡΠΊ
### Π‘ΠΏΠΎΡΠΎΠ± 1: Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΊΠ°ΠΊ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ)
```bash
# Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π² ΡΠΈΡΡΠ΅ΠΌΡ
./install.sh
# ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Π² ΠΌΠ΅Π½Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
# ΠΠΎΠΈΡΠΊ: "Monitor Control"
```
### Π‘ΠΏΠΎΡΠΎΠ± 2: ΠΠ°ΠΏΡΡΠΊ ΠΈΠ· Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ
```bash
# ΠΡΡΠΌΠΎΠΉ Π·Π°ΠΏΡΡΠΊ
python3 monitor_control.py
# ΠΠ»ΠΈ ΡΠ΅ΡΠ΅Π· ΡΠΊΡΠΈΠΏΡ Π·Π°ΠΏΡΡΠΊΠ°
./run_monitor_control.sh
```
ΠΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ²ΠΈΡΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΌ ΡΡΠ΅Π΅. Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ ΠΏΠΎ ΠΈΠΊΠΎΠ½ΠΊΠ΅ Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΌΠ΅Π½Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ.
## ποΈ Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅
ΠΡΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡΠ»ΠΎ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ ΡΠ΅ΡΠ΅Π· `install.sh`:
```bash
./uninstall.sh
```
## π ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅
### Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΠΊΠΎΡΡΡΡ
- π **0%** - ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΡΡΠΊΠΎΡΡΡ
- π **25%** - ΠΠΈΠ·ΠΊΠ°Ρ ΡΡΠΊΠΎΡΡΡ
- π **50%** - Π‘ΡΠ΅Π΄Π½ΡΡ ΡΡΠΊΠΎΡΡΡ
- π **75%** - ΠΡΡΠΎΠΊΠ°Ρ ΡΡΠΊΠΎΡΡΡ
- π **100%** - ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΡΡΠΊΠΎΡΡΡ
### Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π³ΡΠΎΠΌΠΊΠΎΡΡΡΡ
- π **0%** - ΠΠ΅Π·Π·Π²ΡΡΠ½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ
- π **25%** - Π’ΠΈΡ
ΠΎ
- π **50%** - Π‘ΡΠ΅Π΄Π½ΡΡ Π³ΡΠΎΠΌΠΊΠΎΡΡΡ
- π **100%** - ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ Π³ΡΠΎΠΌΠΊΠΎΡΡΡ
### ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ²
- **DP-1** - DisplayPort 1
- **HDMI-1** - HDMI ΠΏΠΎΡΡ 1
- **HDMI-2** - HDMI ΠΏΠΎΡΡ 2
- **Type-C** - USB-C (Π΅ΡΠ»ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ)
## βοΈ ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ Π² ΡΠ°ΠΉΠ»Π΅ `monitor_control.py`:
```python
# ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ
ANIMATION_DURATION_MS = 400 # ΠΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ (ΠΌΡ)
ANIMATION_STEPS = 40 # ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π³ΠΎΠ² Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ
# ΠΠ²ΡΠΎΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅
UPDATE_INTERVAL_MS = 10000 # ΠΠ½ΡΠ΅ΡΠ²Π°Π» ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ (10 ΡΠ΅ΠΊ)
```
## π§ ΠΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ°
### ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ
- **`main()`** - Π’ΠΎΡΠΊΠ° Π²Ρ
ΠΎΠ΄Π° ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
- **`BrightnessAnimator`** - ΠΠ»Π°ΡΡ Π΄Π»Ρ ΠΏΠ»Π°Π²Π½ΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΡΡΠΊΠΎΡΡΠΈ
- **`scan_monitors()`** - Π‘ΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΎΠ²
- **`create_monitor_menus()`** - Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ
- **`update_brightness_display()`** - ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ UI
### ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ
- **DDC/CI** (Display Data Channel Command Interface)
- **VCP** (Virtual Control Panel) ΠΊΠΎΠ΄Ρ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ
## π Π‘ΡΡΡΠΊΡΡΡΠ° ΡΠ°ΠΉΠ»ΠΎΠ²
```
Monic/
βββ monitor_control.py # ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
βββ requirements.txt # Python Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ
βββ README.md # ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ
βββ icon.png # ΠΠΊΠΎΠ½ΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
βββ monitor-control.desktop # Desktop ΡΠ°ΠΉΠ» (Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ)
βββ run_monitor_control.sh # Π‘ΠΊΡΠΈΠΏΡ Π·Π°ΠΏΡΡΠΊΠ°
βββ install.sh # Π‘ΠΊΡΠΈΠΏΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΡ
βββ uninstall.sh # Π‘ΠΊΡΠΈΠΏΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ
```
## π§ Π’Π΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π΄Π΅ΡΠ°Π»ΠΈ
### Desktop Integration
- ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ ΠΊΠ°ΠΊ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ
- ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ ΠΌΠ΅Π½Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΡΠΎΠ»Π°
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
desktop-ΡΠ°ΠΉΠ»ΠΎΠ²
### ΠΠ½ΠΈΠΌΠ°ΡΠΈΡ
- ΠΠ»Π°Π²Π½Π°Ρ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΠΊΠΎΡΡΠΈ Π·Π° 400ms
- 40 ΡΠ°Π³ΠΎΠ² Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Π΄Π»Ρ Π³Π»Π°Π΄ΠΊΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π°
- ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈΠΊΠΎΠ½ΠΊΠΈ Π² ΡΡΠ΅Π΅ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ
### ΠΠ²ΡΠΎΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅
- ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΊΠ°ΠΆΠ΄ΡΠ΅ 10 ΡΠ΅ΠΊΡΠ½Π΄
- ΠΠ΅Π±Π°ΡΠ½ΡΠΈΠ½Π³ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΡ ΡΠ°ΡΡΡΡ
ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ
- ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠ΅ ΠΌΠ΅ΠΆΠΏΠΎΡΠΎΡΠ½ΡΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ UI
## π Π£ΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ
### ΠΠΎΠ½ΠΈΡΠΎΡΡ Π½Π΅ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½Ρ
1. ΠΡΠΎΠ²Π΅ΡΡΡΠ΅, ΡΡΠΎ DDC/CI Π²ΠΊΠ»ΡΡΠ΅Π½ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ
ΠΌΠΎΠ½ΠΈΡΠΎΡΠ°
2. Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΠΊΠ°Π±Π΅Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΄Π°Π½Π½ΡΡ
(Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π²ΠΈΠ΄Π΅ΠΎ)
3. ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΠΎΡΡ (DisplayPort ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π»ΡΡΡΠ΅ HDMI)
### ΠΡΠΈΠ±ΠΊΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠΉ
```bash
# ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² Π³ΡΡΠΏΠΏΡ i2c
sudo usermod -a -G i2c $USER
# ΠΠ΅ΡΠ΅Π»ΠΎΠ³ΠΈΠ½ΡΡΠ΅ΡΡ ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
```
### Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ ΡΡΠ΅ΠΉ Π½Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ
- Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π²Π°ΡΠ° DE ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ system tray
- ΠΠ»Ρ GNOME ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ "AppIndicator Support"
## π ΠΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ:
- β
Π£ΡΠΏΠ΅ΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ
- β ΠΡΠΈΠ±ΠΊΠΈ ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ
- π Π‘ΡΠ°ΡΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ
- π¬ ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ
## π€ ΠΠΊΠ»Π°Π΄ Π² ΠΏΡΠΎΠ΅ΠΊΡ
1. Π‘Π΄Π΅Π»Π°ΠΉΡΠ΅ Fork ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ
2. Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π²Π΅ΡΠΊΡ Π΄Π»Ρ Π½ΠΎΠ²ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ (`git checkout -b feature/amazing-feature`)
3. Π‘Π΄Π΅Π»Π°ΠΉΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ (`git commit -m 'Add amazing feature'`)
4. ΠΡΠΏΡΠ°Π²ΡΡΠ΅ Π² Π²Π΅ΡΠΊΡ (`git push origin feature/amazing-feature`)
5. ΠΡΠΊΡΠΎΠΉΡΠ΅ Pull Request
## π ΠΠΈΡΠ΅Π½Π·ΠΈΡ
ΠΡΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ MIT. Π‘ΠΌ. ΡΠ°ΠΉΠ» `LICENSE` Π΄Π»Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠ΅ΠΉ.
## π ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΠ½ΠΎΡΡΠΈ
- [monitorcontrol](https://github.com/newAM/monitorcontrol) - ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠ°ΠΌΠΈ
- [PyQt6](https://www.riverbankcomputing.com/software/pyqt/) - GUI ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ
- [DDC/CI ΡΡΠ°Π½Π΄Π°ΡΡ](https://en.wikipedia.org/wiki/Display_Data_Channel) - ΠΡΠΎΡΠΎΠΊΠΎΠ» ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠ°ΠΌΠΈ
## π ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ°
ΠΡΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ:
1. ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΠ°Π·Π΄Π΅Π» "Π£ΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ"
2. Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Issue Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠΌ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ
3. ΠΡΠΈΠ»ΠΎΠΆΠΈΡΠ΅ Π»ΠΎΠ³ΠΈ ΠΈΠ· ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ
---
**ΠΠ΅ΡΡΠΈΡ**: 1.0.0
**ΠΠ²ΡΠΎΡ**: toxblh