aboutsummaryrefslogtreecommitdiffstats
path: root/hyprsunset_qt
AgeCommit message (Collapse)AuthorFilesLines
26 hoursfix: send User-Agent to avoid Cloudflare 403 on sun APIDanilo M.1-1/+6
sunrise-sunset.org sits behind Cloudflare, which rejects the default Python-urllib User-Agent with 403 (error 1010). Send a normal UA in _http_get so fetch_sun and geolocate get through. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
26 hoursdocs: GPLv2 license, README, attributionDanilo M.7-0/+28
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
26 hoursfeat: PyQt6 main window and entry pointDanilo M.2-0/+257
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
26 hoursfeat: field validation helpersDanilo M.1-0/+15
Add validation functions for config parameters: valid_time() for HH:MM format (0-23:0-59), valid_temperature() for Kelvin range 1000-20000, and valid_gamma() for gamma range 0.0-2.0. These are used by the UI before saving config changes. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
26 hoursfeat: daemon status, restart, live previewDanilo M.1-0/+45
Add daemon.py module to control hyprsunset daemon via subprocess: - is_running() checks daemon status using pgrep - live_preview() pushes temperature/gamma/identity to running daemon via hyprctl - restart() kills existing daemon and launches new detached process All subprocess calls are mocked in tests; no real processes are touched. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
27 hoursfeat: geolocate and sunrise-sunset fetchDanilo M.1-0/+22
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
27 hoursfeat: sun UTC-to-local conversion and cacheDanilo M.1-0/+31
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
27 hoursfeat: app settings INIDanilo M.1-0/+53
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
27 hoursfeat: read/write hyprsunset.confDanilo M.1-0/+17
Add read_config() and write_config() functions for managing hyprsunset configuration files. Implements file I/O operations with automatic parent directory creation and CONFIG_PATH default to ~/.config/hypr/hyprsunset.conf. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
27 hoursfeat: serialize profiles with day/night taggingDanilo M.1-0/+44
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
27 hoursfeat: parse hyprsunset.conf profilesDanilo M.1-0/+40
Implement minimal config parser with Profile dataclass and parse_config function. Regex-based parsing of hyprsunset.conf format with support for time, identity, temperature, and gamma fields. Foundation for later tasks (serialize, read/write, validation). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
28 hourschore: project scaffoldingDanilo M.1-0/+3
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>