51.5-354 updates

This commit is contained in:
buenosairesam
2025-12-19 23:38:21 -03:00
parent 0dde9f1f54
commit 2307e9c5b2
12 changed files with 1320 additions and 38 deletions

View File

@@ -1,26 +1,85 @@
# Deskmeter
# Deskmeter GNOME Integration
Deskmeter is a productivity tool to measure how much time you spend doing stuff in your computer.
More precisely how much time passes while a given workspace is active.
Display your current deskmeter task in the GNOME panel or in a standalone window.
## Quick Start
### Task Window (No logout required)
```bash
# Run the task window with auto port detection
python3 task_window.py
# Make it always-on-top and visible on all workspaces
wmctrl -r "Deskmeter Task" -b add,above,sticky
```
### GNOME Extension (Requires logout)
Extension is already installed and enabled. Just log out and back in to activate it.
```bash
# Check status
gnome-extensions list --enabled | grep deskmeter
# View logs after login
journalctl --user -u org.gnome.Shell@wayland.service -f | grep deskmeter
```
## Features
-**Auto port detection** - Finds dmweb on ports 10001 or 10000
-**Workspace change detection** - Updates when you switch workspaces
-**Error handling** - Won't crash GNOME Shell if something fails
-**Minimal UI** - Clean display without window decorations
## Requirements
- MongoDB
- wmctrl
- Flask
- GNOME Shell 49+ (Wayland or X11)
- Python 3 with GTK4 (`python3-gi`)
- dmweb running on port 10000 or 10001
- wmctrl (for workspace detection and window properties)
install those first, also wmctrl doesn't work on wayland, until an equivalent is found. you have to switch to XORG.
## Documentation
## Define Workspace Labels
See [docs/](docs/) directory for detailed documentation:
edit the desktops variable in `dmmain.py` to your needs, first is workspace 1, second 2 and so on
- **[READY_TO_TEST.md](docs/READY_TO_TEST.md)** - Complete testing guide (START HERE)
- **[TASK_WINDOW_README.md](docs/TASK_WINDOW_README.md)** - Task window usage and configuration
- **[INSTALL_STATUS.md](docs/INSTALL_STATUS.md)** - Extension installation and troubleshooting
- **[PORT_DETECTION_README.md](docs/PORT_DETECTION_README.md)** - How auto port detection works
## How to run
## Project Structure
leave the dmmain.py running in the background, use the dmapp flask application to see the data.
the homepage shows current day result,
`/calendar` shows the current month with week totals
`/calendar/<month_number>` shows the select month of current year with week totals
`/calendar/<month_number>` shows the select month of current year with week totals
```
dm-gnomeext/
├── task_window.py # Standalone GTK window app
├── run_task_window.sh # Helper script for window
├── gnome-extension/ # Extension source
│ └── deskmeter-indicator@local/
│ ├── extension.js
│ ├── metadata.json
│ └── stylesheet.css
├── docs/ # Documentation
└── README.md # This file
```
adapt `deskmeter.sh` and `dmapp.sh` to your needs. I put those in my home directory. Add starting the mongo service
## Quick Commands
```bash
# Test task window
python3 task_window.py
# Test API
curl http://localhost:10001/api/current_task
# Check extension status
gnome-extensions list --enabled | grep deskmeter
# Make window always-on-top
wmctrl -r "Deskmeter Task" -b add,above,sticky
```
## Support
For troubleshooting and detailed information, see the [docs/](docs/) directory.