51.5-354 updates
This commit is contained in:
91
README.md
91
README.md
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user