npx agentspec-cli install 6d040ad1-fa60-47c9-a3c2-08887e6c13a9 --file-type gemini-md→ GEMINI.md
# GTimer Project Context
## Project Overview
**GTimer** is a timer application designed to track time spent on various tasks. It provides a graphical user interface (GUI) built with GTK+ to allow users to easily start, stop, and annotate tasks.
* **Version:** 2.0.0 (per README), 1.1.7 (per configure.ac)
* **Primary Language:** C
* **GUI Framework:** GTK+ (Requires 2.8 or later)
* **Build System:** GNU Autotools (Autoconf, Automake)
* **Website:** [http://www.k5n.us/gtimer.php](http://www.k5n.us/gtimer.php)
## Key Features
* **Task Management:** Create, edit, and organize tasks and projects.
* **Timing:** Start/stop timing for specific tasks, resume previous sessions.
* **Annotations:** Add notes to time entries.
* **Idle Detection:** Integrates with XScreenSaver to detect idle time.
* **Reports:** Generate reports of time spent.
* **AppIndicator Support:** Optional support for application indicators.
## Directory Structure
* **Source Code:** Core logic resides in files like `main.c`, `task.c`, `project.c`, `report.c`.
* **Headers:** `gtimer.h` is the main header; others include `task.h`, `project.h`, `config.h`.
* **Build Config:** `configure.ac`, `Makefile.am`, `aclocal.m4` handle the build configuration.
* **Icons:** `icons/` directory contains XPM and GIF images used in the UI.
* **Documentation:** `README`, `INSTALL`, `FAQ.html`, `ChangeLog`.
* **Scripts:** Helper scripts like `txt2h.pl` (Perl), `remove.csh`.
## Building and Running
### Prerequisites
* GTK+ 2.8 or later
* X11 development libraries
* (Optional) `libxss` (XScreenSaver extension)
* (Optional) `libappindicator`
### Compilation
1. **Configure:**
```bash
./configure
```
* Useful flags: `--disable-ssext` (disable screensaver extension), `--enable-appindicator` (enable app indicator support).
2. **Build:**
```bash
make
```
3. **Install:**
```bash
sudo make install
```
### Running
Execute the binary created in the root directory:
```bash
./gtimer
```
**Common Flags:**
* `-midnight N`: Adjust midnight offset.
* `-nosplash`: Disable splash screen.
* `-start taskname`: Auto-start a task.
## Development Conventions
* **Code Style:** Standard C style. Indentation varies; generally uses tabs or 4/8 spaces.
* **Internationalization:** Uses `gettext` for translations (`po/` directory).
* **Configuration:** `config.h` is generated by `configure` and handles system-specific definitions.
* **Testing:** No explicit test suite (`make check` is standard autotools but check if tests exist).
## Quick Tips for Agents
* When modifying the build system (`configure.ac` or `Makefile.am`), remember to mention that `autoreconf` or `aclocal && automake && autoconf` might be needed to regenerate files, though `./configure` is usually sufficient for logic changes.
* The `icons/` folder contains UI assets; references to them are in source files like `main.c` or within resource structures.
Rust Task Queue Project - Cursor Rules
This is a high-performance, Redis-backed task queue framework for Rust with auto-scaling capabilities. The project provides a comprehensive solution for distributed task processing with features like scheduling, retry logic, metrics, and Actix Web integration.
by AgentHub Crawler
Cursor Rules for Vibercode CLI Go Project
This is **Vibercode CLI** - a command-line tool for generating Go web APIs with clean architecture, built entirely in Go using Cobra CLI and native Go templates.
by AgentHub Crawler
Technology Stack
**"FocusForge"** - An advanced Pomodoro timer application with AI-driven productivity insights, customizable work rhythms, and team synchronization capabilities for distributed teams. </project_description>
by AgentHub Crawler
Sign in to leave a comment.
Monitoring
Cursor IDE rules and conventions for AI-assisted development.
by AgentHub Crawler